/**
 * Theme contrast fixes — header, mobile nav, wizard (loads after global-style + dark-mode).
 * Uses CSS variables so light/dark mode text stays readable everywhere.
 */

/* ── Header shell (both themes) ───────────────────────────────── */

html.onduty-theme-dark .custom-header,
html.onduty-theme-light .custom-header,
html.onduty-theme-dark .custom-header .container,
html.onduty-theme-light .custom-header .container,
html.onduty-theme-dark .mobile-menu-panel,
html.onduty-theme-light .mobile-menu-panel {
	background-color: var(--od-bg-elevated) !important;
}

/* ── Nav links: desktop + mobile slide-out ───────────────────── */

html.onduty-theme-dark .menu-col-wrapper nav .menu li a,
html.onduty-theme-dark .menu-col-wrapper .main-menu ul li a,
html.onduty-theme-dark .mobile-menu-panel .main-menu ul li a,
html.onduty-theme-dark .main-menu ul li a,
html.onduty-theme-light .menu-col-wrapper nav .menu li a,
html.onduty-theme-light .menu-col-wrapper .main-menu ul li a,
html.onduty-theme-light .mobile-menu-panel .main-menu ul li a,
html.onduty-theme-light .main-menu ul li a {
	color: var(--od-header-link) !important;
	opacity: 1 !important;
}

html.onduty-theme-dark .menu-col-wrapper nav .menu li a:hover,
html.onduty-theme-dark .menu-col-wrapper .main-menu ul li a:hover,
html.onduty-theme-dark .mobile-menu-panel .main-menu ul li a:hover,
html.onduty-theme-dark .main-menu ul li a:hover,
html.onduty-theme-light .menu-col-wrapper nav .menu li a:hover,
html.onduty-theme-light .menu-col-wrapper .main-menu ul li a:hover,
html.onduty-theme-light .mobile-menu-panel .main-menu ul li a:hover,
html.onduty-theme-light .main-menu ul li a:hover {
	color: var(--od-brand-blue) !important;
	border-bottom-color: var(--od-brand-blue) !important;
}

/* ── Logo / brand ────────────────────────────────────────────── */

html.onduty-theme-dark .logo-col a,
html.onduty-theme-dark .onduty-header-brand,
html.onduty-theme-dark .onduty-header-brand:hover,
html.onduty-theme-dark .onduty-header-brand__name,
html.onduty-theme-light .logo-col a,
html.onduty-theme-light .onduty-header-brand,
html.onduty-theme-light .onduty-header-brand:hover,
html.onduty-theme-light .onduty-header-brand__name {
	color: var(--od-header-link) !important;
}

/* ── Language switcher ───────────────────────────────────────── */

html.onduty-theme-dark .header-lang-toggle,
html.onduty-theme-dark .header-lang-option,
html.onduty-theme-light .header-lang-toggle,
html.onduty-theme-light .header-lang-option {
	color: var(--od-header-link) !important;
}

html.onduty-theme-dark .header-lang-arrow,
html.onduty-theme-light .header-lang-arrow {
	border-top-color: var(--od-header-link) !important;
}

html.onduty-theme-dark .custom-header .header-lang-switcher .header-lang-dropdown,
html.onduty-theme-light .custom-header .header-lang-switcher .header-lang-dropdown,
html.onduty-theme-dark .mobile-menu-panel .header-lang-switcher .header-lang-dropdown,
html.onduty-theme-light .mobile-menu-panel .header-lang-switcher .header-lang-dropdown {
	background-color: var(--od-bg-elevated) !important;
}

html.onduty-theme-light .header-lang-option:hover {
	color: var(--od-brand-blue) !important;
}

/* ── Mobile menu toggle + panel (both themes) ────────────────── */

html.onduty-theme-light .mobile-menu-toggle {
	background: rgba(0, 102, 221, 0.06);
	border-color: rgba(0, 102, 221, 0.18);
}

html.onduty-theme-light .mobile-menu-toggle span {
	background: var(--od-brand-blue) !important;
}

/* Login / CTA buttons: white text on gradient bg in both themes */
html.onduty-theme-light .login-col a:not(.header-profile-bttn),
html.onduty-theme-dark .login-col a:not(.header-profile-bttn),
html.onduty-theme-light .mobile-login-col a:not(.header-profile-bttn),
html.onduty-theme-dark .mobile-login-col a:not(.header-profile-bttn),
html.onduty-theme-light .login-col a.header-profile-bttn,
html.onduty-theme-dark .login-col a.header-profile-bttn,
html.onduty-theme-light .login-col a.header-login-bttn,
html.onduty-theme-dark .login-col a.header-login-bttn,
html.onduty-theme-light .mobile-login-col a.header-profile-bttn,
html.onduty-theme-dark .mobile-login-col a.header-profile-bttn,
html.onduty-theme-light .mobile-login-col a.header-login-bttn,
html.onduty-theme-dark .mobile-login-col a.header-login-bttn,
html.onduty-theme-light .wizard-btn-wrapper a.next-btn,
html.onduty-theme-dark .wizard-btn-wrapper a.next-btn,
html.onduty-theme-light .wizard-step .wizard-btn-wrapper a,
html.onduty-theme-dark .wizard-step .wizard-btn-wrapper a,
html.onduty-theme-light a.next-btn,
html.onduty-theme-dark a.next-btn,
html.onduty-theme-light button.next-btn,
html.onduty-theme-dark button.next-btn,
html.onduty-theme-light .next-btn,
html.onduty-theme-dark .next-btn,
html.onduty-theme-light .login-btn,
html.onduty-theme-dark .login-btn,
html.onduty-theme-light .register-btn,
html.onduty-theme-dark .register-btn,
html.onduty-theme-light button.login-btn.next-btn,
html.onduty-theme-dark button.login-btn.next-btn,
html.onduty-theme-light button.register-btn.next-btn,
html.onduty-theme-dark button.register-btn.next-btn,
html.onduty-theme-light .field-btn-wrapper .next-btn,
html.onduty-theme-dark .field-btn-wrapper .next-btn,
html.onduty-theme-light .field-btn-wrapper .login-btn,
html.onduty-theme-dark .field-btn-wrapper .login-btn,
html.onduty-theme-light .field-btn-wrapper .register-btn,
html.onduty-theme-dark .field-btn-wrapper .register-btn {
	color: #ffffff !important;
}

/* Spans inside primary buttons must stay white (overrides .wizard-step span) */
html.onduty-theme-light .header-profile-bttn span,
html.onduty-theme-light .header-login-bttn span,
html.onduty-theme-dark .header-profile-bttn span,
html.onduty-theme-dark .header-login-bttn span,
html.onduty-theme-light .next-btn span,
html.onduty-theme-light .login-btn span,
html.onduty-theme-light .register-btn span,
html.onduty-theme-light .wizard-btn-wrapper a span,
html.onduty-theme-light .wizard-step .next-btn span,
html.onduty-theme-light .wizard-step .login-btn span,
html.onduty-theme-light .wizard-step .register-btn span,
html.onduty-theme-dark .next-btn span,
html.onduty-theme-dark .login-btn span,
html.onduty-theme-dark .register-btn span,
html.onduty-theme-dark .wizard-btn-wrapper a span,
html.onduty-theme-dark .wizard-step .next-btn span,
html.onduty-theme-dark .wizard-step .login-btn span,
html.onduty-theme-dark .wizard-step .register-btn span {
	color: #ffffff !important;
}

/* Back/restart button text in both themes (overrides .wizard-step span) */
html.onduty-theme-light .wizard-step a.back-btn,
html.onduty-theme-light .wizard-step a.back-btn span,
html.onduty-theme-light .wizard-step a.restart-btn,
html.onduty-theme-light .wizard-step a.restart-btn span {
	color: #1a1d24 !important;
}
html.onduty-theme-dark .wizard-step a.back-btn,
html.onduty-theme-dark .wizard-step a.back-btn span,
html.onduty-theme-dark .wizard-step a.restart-btn,
html.onduty-theme-dark .wizard-step a.restart-btn span {
	color: #c9c9c9 !important;
}

html.onduty-theme-light .mobile-menu-panel .main-menu ul li a {
	border-bottom-color: rgba(0, 0, 0, 0.06) !important;
}

html.onduty-theme-light .mobile-social-wrapper {
	border-top-color: rgba(0, 0, 0, 0.08) !important;
}

html.onduty-theme-light .mobile-menu-panel {
	box-shadow: -6px 0 24px rgba(0, 0, 0, 0.12);
}

/* ── Wizard & content text (hardcoded grays in style.css) ────── */

html.onduty-theme-dark p.candidate-text,
html.onduty-theme-light p.candidate-text {
	color: var(--od-text-muted) !important;
}

html.onduty-theme-dark .candidate-col h2,
html.onduty-theme-light .candidate-col h2 {
	color: var(--od-brand-blue) !important;
}

/* Inline-highlight helpers (replace hardcoded inline styles) */
.od-brand-highlight {
	color: var(--od-brand-blue) !important;
}

html.onduty-theme-dark .od-text-strong {
	color: #ffffff !important;
	font-weight: 600;
}

html.onduty-theme-light .od-text-strong {
	color: #1a1d24 !important;
	font-weight: 600;
}

.od-bonus-highlight {
	color: #0db407 !important;
	font-weight: 600;
}

html.onduty-theme-light .od-bonus-highlight {
	color: #059a00 !important;
}

html.onduty-theme-dark .onduty-wizard-progress__label,
html.onduty-theme-light .onduty-wizard-progress__label {
	color: var(--od-text-muted) !important;
}

html.onduty-theme-dark .onduty-trust-badge,
html.onduty-theme-light .onduty-trust-badge {
	color: var(--od-text) !important;
	border-color: rgba(0, 122, 255, 0.3) !important;
}

html.onduty-theme-light .onduty-trust-badge {
	background: rgba(255, 255, 255, 0.92) !important;
}

html.onduty-theme-dark .wizard-step-1 .onduty-warum-link,
html.onduty-theme-light .wizard-step-1 .onduty-warum-link {
	color: var(--od-brand-blue) !important;
}

html.onduty-theme-dark .wizard-message.error,
html.onduty-theme-light .wizard-message.error,
html.onduty-theme-dark .wizard-error,
html.onduty-theme-light .wizard-error {
	color: #ff453a !important;
}

html.onduty-theme-dark .wizard-error {
	background: rgba(255, 69, 58, 0.12) !important;
	border-color: rgba(255, 69, 58, 0.28) !important;
}

html.onduty-theme-light .wizard-error {
	background: rgba(255, 59, 48, 0.07) !important;
	border-color: rgba(255, 59, 48, 0.18) !important;
}

html.onduty-theme-dark .wizard-message.success,
html.onduty-theme-light .wizard-message.success,
html.onduty-theme-dark .login-message.success,
html.onduty-theme-light .login-message.success {
	color: #1ea50f !important;
}

/* ── Age / download step copy ────────────────────────────────── */

html.onduty-theme-dark .age-wrapper > p,
html.onduty-theme-light .age-wrapper > p,
html.onduty-theme-dark .download-app-wrapper > p,
html.onduty-theme-light .download-app-wrapper > p,
html.onduty-theme-dark .last-stap-wrapper > p,
html.onduty-theme-light .last-stap-wrapper > p {
	color: var(--od-text-muted) !important;
}

html.onduty-theme-dark .age-wrapper h2,
html.onduty-theme-light .age-wrapper h2,
html.onduty-theme-dark .download-app-wrapper h2,
html.onduty-theme-light .download-app-wrapper h2,
html.onduty-theme-dark .last-stap-wrapper h2,
html.onduty-theme-light .last-stap-wrapper h2 {
	color: var(--od-brand-blue) !important;
}

/* ── Warum marketing page (Elementor) ────────────────────────── */

html.onduty-theme-dark .onduty-marketing-shell .elementor-widget-heading .elementor-heading-title,
html.onduty-theme-light .onduty-marketing-shell .elementor-widget-heading .elementor-heading-title {
	color: var(--od-text) !important;
}

html.onduty-theme-dark .onduty-marketing-shell .elementor-widget-text-editor,
html.onduty-theme-light .onduty-marketing-shell .elementor-widget-text-editor,
html.onduty-theme-dark .onduty-marketing-shell .elementor-widget-text-editor p,
html.onduty-theme-light .onduty-marketing-shell .elementor-widget-text-editor p {
	color: var(--od-text-muted) !important;
}

/* ── Profile page ────────────────────────────────────────────── */

html.onduty-theme-dark .welcome-form-wrapper p,
html.onduty-theme-light .welcome-form-wrapper p,
html.onduty-theme-dark .welcome-wrapper h2,
html.onduty-theme-light .welcome-wrapper h2 {
	color: var(--od-text) !important;
}

html.onduty-theme-light .welcome-form-wrapper .wpforms-field-label,
html.onduty-theme-light .welcome-form-wrapper .wpforms-field-sublabel {
	color: var(--od-text) !important;
}

html.onduty-theme-light .welcome-form-wrapper input,
html.onduty-theme-light .welcome-form-wrapper select,
html.onduty-theme-light .welcome-form-wrapper textarea {
	background-color: var(--od-bg-input) !important;
	color: var(--od-text) !important;
	border-color: rgba(0, 122, 255, 0.25) !important;
}

html.onduty-theme-light .welcome-form-wrapper .wpforms-uploader {
	background: var(--od-bg-input) !important;
	border-color: rgba(0, 122, 255, 0.25) !important;
}

html.onduty-theme-light .welcome-form-wrapper .wpforms-uploader .dz-message span,
html.onduty-theme-light .welcome-form-wrapper .wpforms-uploader .dz-message small {
	color: var(--od-text-muted) !important;
}

html.onduty-theme-light p.driver-profile {
	color: var(--od-text) !important;
}

html.onduty-theme-light body.page-template-profile-php .wizard-step,
html.onduty-theme-light .welcome-form-wrapper .wpforms-field-radio li label,
html.onduty-theme-light .welcome-form-wrapper .wpforms-field-checkbox li label {
	color: var(--od-text) !important;
}

html.onduty-theme-light .welcome-form-wrapper div.wpforms-container-full button[type="submit"] {
	color: #ffffff !important;
}

/* Stammblatt panels — match input boxes in light mode */
html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .wpforms-field-container > .wpforms-field.wpforms-field-radio,
html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .wpforms-field-layout,
html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .wpforms-field-container > .od-upload-row,
html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .od-upload-row .od-upload-zone,
html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .wpforms-field-file-upload .wpforms-uploader {
	background: var(--od-bg-input) !important;
	border-color: rgba(0, 122, 255, 0.25) !important;
}

html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .wpforms-field-layout h3.wpforms-field-label,
html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .wpforms-field-radio ul li label.wpforms-field-label-inline {
	color: var(--od-text) !important;
}

html.onduty-theme-light.page-template-profile-php .od-profile-stammblatt-form .wpforms-field-radio ul li {
	background: transparent !important;
	border: none !important;
}

/* ── intl-tel-input ──────────────────────────────────────────── */

html.onduty-theme-dark .iti__country-list,
html.onduty-theme-light .iti__country-list {
	background-color: var(--od-bg-elevated) !important;
	color: var(--od-text) !important;
}

html.onduty-theme-dark .iti__country.iti__highlight,
html.onduty-theme-light .iti__country.iti__highlight {
	background-color: rgba(0, 122, 255, 0.15) !important;
}

/* ── Screen loader ───────────────────────────────────────────── */

html.onduty-theme-light .screen-loader__text {
	color: var(--od-text) !important;
}

html.onduty-theme-light .screen-loader__panel {
	background: var(--od-bg-elevated) !important;
}
