/**
 * App shell layout — footer sits directly under content at every viewport size.
 * Avoids flex + min-height: 100vh gap that grows as the window gets shorter/narrower.
 */

body.onduty-app-page,
body.onduty-app-page #page,
body.onduty-app-page #content,
body.onduty-app-page main#content,
body.onduty-app-page .site-content,
body.onduty-app-page .site-content .ast-container {
	min-height: 0 !important;
	height: auto !important;
}

body.onduty-app-page #page {
	display: block !important;
}

body.onduty-app-page #content,
body.onduty-app-page main#content,
body.onduty-app-page .site-content,
body.onduty-app-page .site-content .ast-container {
	flex: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

body.onduty-app-page .onduty-app-footer {
	display: none !important;
	margin-top: 0 !important;
}

body.page-template-on-duty-php #onduty-wizard,
body.page-template-on-duty-php .wizard-section {
	min-height: 0 !important;
	height: auto !important;
}

/* Auth / HR pages keep centered shells without stretching #page. */
body.onduty-app-page .onduty-login-standalone.onduty-app-shell,
body.onduty-app-page .onduty-register-standalone.onduty-app-shell,
body.onduty-app-page .onduty-password-reset-standalone.onduty-app-shell,
body.page-id-1060 .onduty-hr-standalone.onduty-app-shell {
	min-height: min(720px, calc(100vh - var(--od-header-height, 88px)));
	min-height: min(720px, calc(100dvh - var(--od-header-height, 88px)));
}

/* Welcome heading — profile + register (bold, dark text only) */
.welcome-wrapper > h2.od-app-welcome-heading,
.login-register-wrapper h2.od-app-welcome-heading,
h2.od-app-welcome-heading.wizard-register-title {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 1.25rem;
	padding: 0;
	font-weight: 700 !important;
	font-size: clamp(1.625rem, 3.5vw, 2.25rem) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em;
	text-align: center;
	color: #1a1d24 !important;
	background: none !important;
	border-radius: 0;
	box-shadow: none;
	position: relative;
	z-index: 9;
}

html.onduty-theme-dark .welcome-wrapper > h2.od-app-welcome-heading,
html.onduty-theme-dark .login-register-wrapper h2.od-app-welcome-heading,
html.onduty-theme-dark h2.od-app-welcome-heading.wizard-register-title {
	color: #fafbfc !important;
}

html.onduty-theme-light .welcome-wrapper > h2.od-app-welcome-heading,
html.onduty-theme-light .login-register-wrapper h2.od-app-welcome-heading,
html.onduty-theme-light h2.od-app-welcome-heading.wizard-register-title {
	color: #1a1d24 !important;
}

.welcome-wrapper > h2.od-app-welcome-heading .od-i18n,
.login-register-wrapper h2.od-app-welcome-heading .od-i18n,
h2.od-app-welcome-heading.wizard-register-title .od-i18n {
	color: inherit !important;
	font-weight: inherit !important;
}

@media only screen and (max-width: 767px) {
	.welcome-wrapper > h2.od-app-welcome-heading,
	.login-register-wrapper h2.od-app-welcome-heading,
	h2.od-app-welcome-heading.wizard-register-title {
		font-size: 1.5rem !important;
	}
}
