:root {
  --dark-bg: #0b1724;
  --dark-surface: #111f2e;
  --dark-surface-2: #162b3f;
  --dark-surface-3: #1a3249;
  --dark-border: rgba(203, 214, 223, 0.18);
  --dark-text: #edf3f9;
  --dark-text-soft: #bac9d8;
  --dark-accent: #C9A45C;
  --dark-card: rgba(17, 31, 46, 0.96);
}

body.dark-mode {
  background: var(--dark-bg);
  color: var(--dark-text);
}

body.dark-mode .site-header {
  background: rgba(11, 23, 36, 0.82);
  border-color: rgba(203, 214, 223, 0.08);
}

body.dark-mode .site-header.scrolled {
  background: rgba(11, 23, 36, 0.96);
  box-shadow: 0 12px 30px rgba(2, 6, 12, 0.35);
}

body.dark-mode .brand-name,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .main-nav a,
body.dark-mode .quick-copy strong,
body.dark-mode .meta-pill,
body.dark-mode .card-label,
body.dark-mode .card-value,
body.dark-mode .service-link,
body.dark-mode .timeline-step h3,
body.dark-mode .feature-item h3,
body.dark-mode .faq-question,
body.dark-mode .form-field label,
body.dark-mode .price-table thead th,
body.dark-mode .contact-method h3,
body.dark-mode .document-card h3,
body.dark-mode .service-overview-card h3,
body.dark-mode .list-card h3,
body.dark-mode .process-card h3,
body.dark-mode .note-card h3,
body.dark-mode .price-card h3,
body.dark-mode .cta-band h2,
body.dark-mode .contact-mini,
body.dark-mode .footer-grid h3,
body.dark-mode .footer-grid h4,
body.dark-mode .footer-grid a,
body.dark-mode .main-nav a.active,
body.dark-mode .brand-name {
  color: var(--dark-text);
}

body.dark-mode p,
body.dark-mode .brand-tag,
body.dark-mode .stat-box span,
body.dark-mode .feature-item p,
body.dark-mode .faq-answer p,
body.dark-mode .field-error,
body.dark-mode .muted-label,
body.dark-mode .metric-label,
body.dark-mode .footer-col li,
body.dark-mode .contact-mini {
  color: var(--dark-text-soft);
}

body.dark-mode .main-nav a {
  color: var(--dark-text);
}

body.dark-mode .quick-item,
body.dark-mode .service-large,
body.dark-mode .service-tile,
body.dark-mode .stat-box,
body.dark-mode .checklist-panel,
body.dark-mode .info-card,
body.dark-mode .metric-card,
body.dark-mode .panel,
body.dark-mode .faq-item,
body.dark-mode .contact-method,
body.dark-mode .document-card,
body.dark-mode .price-card,
body.dark-mode .note-card,
body.dark-mode .list-card,
body.dark-mode .process-card,
body.dark-mode .service-overview-card,
body.dark-mode .form-panel,
body.dark-mode .price-table,
body.dark-mode .price-table td,
body.dark-mode .price-table th,
body.dark-mode .theme-toggle,
body.dark-mode .rtl-toggle,
body.dark-mode .menu-toggle,
body.dark-mode .back-to-top,
body.dark-mode .mobile-menu {
  background: var(--dark-card);
  border-color: var(--dark-border);
}

body.dark-mode .hero,
body.dark-mode .page-hero,
body.dark-mode .section,
body.dark-mode .site-footer {
  background-color: var(--dark-bg);
}

body.dark-mode .hero {
  background-color: var(--dark-bg);
}

body.dark-mode .hero-copy .eyebrow,
body.dark-mode .quick-item,
body.dark-mode .meta-pill,
body.dark-mode .feature-item,
body.dark-mode .service-icon,
body.dark-mode .feature-icon,
body.dark-mode .theme-toggle,
body.dark-mode .rtl-toggle,
body.dark-mode .menu-toggle {
  background: rgba(255,255,255,0.03);
  border-color: var(--dark-border);
}

body.dark-mode .theme-toggle,
body.dark-mode .rtl-toggle,
body.dark-mode .menu-toggle,
body.dark-mode .back-to-top,
body.dark-mode .main-nav a,
body.dark-mode .contact-mini i,
body.dark-mode .service-link,
body.dark-mode .feature-icon,
body.dark-mode .quick-item i,
body.dark-mode .card-label i,
body.dark-mode .meta-pill i,
body.dark-mode .list-card .icon-wrap,
body.dark-mode .document-card .icon-wrap,
body.dark-mode .service-overview-card .icon-wrap,
body.dark-mode .process-number,
body.dark-mode .icon-wrap,
body.dark-mode .map-pin i,
body.dark-mode .faq-question i {
  color: var(--dark-accent);
}

body.dark-mode .bg-soft,
body.dark-mode .cta-band,
body.dark-mode .mobile-menu {
  background: var(--dark-surface-2);
}

body.dark-mode .btn-primary {
  background: var(--dark-accent);
  color: var(--dark-bg);
}

body.dark-mode .btn-secondary {
  border-color: var(--dark-border);
  color: var(--dark-text);
}

body.dark-mode .form-field input,
body.dark-mode .form-field select,
body.dark-mode .form-field textarea,
body.dark-mode .newsletter-form input {
  background: rgba(255,255,255,0.03);
  color: var(--dark-text);
  border-color: var(--dark-border);
}

body.dark-mode .form-field input::placeholder,
body.dark-mode .form-field textarea::placeholder,
body.dark-mode .newsletter-form input::placeholder {
  color: rgba(236, 243, 249, 0.55);
}

body.dark-mode .form-success {
  background: rgba(29,141,94,0.12);
  border-color: rgba(29,141,94,0.38);
}

body.dark-mode .price-table thead th {
  background: rgba(201,164,92,0.08);
}

body.dark-mode .social-links a {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
}

body.dark-mode .overlay {
  background: rgba(2, 6, 12, 0.6);
}

body.dark-mode .timeline-step .step-circle {
  border-color: var(--dark-bg);
}

body.dark-mode .checklist-panel li i,
body.dark-mode .note-list li i,
body.dark-mode .status-box i {
  color: #7ee0ad;
}

body.dark-mode .status-box {
  background: rgba(29,141,94,0.12);
  border-color: rgba(29,141,94,0.34);
  color: #a5efbf;
}

body.dark-mode .field-error {
  color: #ff8b9b;
}

/* Semantic contrast layer shared by every page. */
:root {
  --bg-primary: #ffffff;
  --bg-secondary: #f6f8fa;
  --text-primary: #17212b;
  --text-secondary: #687583;
  --border-color: #dfe5ea;
  --card-bg: #ffffff;
}

body.dark-mode,
body.dark-mode .section,
body.dark-mode main {
  --bg-primary: #0b1724;
  --bg-secondary: #142331;
  --text-primary: #f5f7f9;
  --text-secondary: #c2ccd4;
  --border-color: #34434f;
  --card-bg: #1b2934;
}

body.dark-mode {
  background: var(--bg-primary);
  color: var(--text-primary);
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .brand-name,
body.dark-mode .main-nav a,
body.dark-mode .text-gold,
body.dark-mode .benefit-list strong,
body.dark-mode .visit-list strong {
  color: var(--text-primary);
}

body.dark-mode p,
body.dark-mode li,
body.dark-mode .section-heading p,
body.dark-mode .text-secondary,
body.dark-mode .brand-tag,
body.dark-mode .metric-label,
body.dark-mode .stat-box span,
body.dark-mode .footer-col li {
  color: var(--text-secondary);
}

body.dark-mode a,
body.dark-mode .service-link,
body.dark-mode .footer-grid a,
body.dark-mode .footer-links a {
  background: var(--card-bg);
    color: var(--text-primary);
    border-color: var(--border-color);
}

body.dark-mode .bg-soft,
body.dark-mode .info-card,
body.dark-mode .metric-card,
body.dark-mode .panel,
body.dark-mode .faq-item,
body.dark-mode .contact-method,
body.dark-mode .document-card,
body.dark-mode .price-card,
body.dark-mode .note-card,
body.dark-mode .list-card,
body.dark-mode .process-card,
body.dark-mode .service-overview-card,
body.dark-mode .form-panel,
body.dark-mode .service-card,
body.dark-mode .document-category,
body.dark-mode .tip-card,
body.dark-mode .checklist-panel {
  background: var(--card-bg);
  border-color: var(--border-color);
}

body.dark-mode .site-header {
  background: rgba(11, 23, 36, 0.94);
  border-color: var(--border-color);
}

body.dark-mode .auth-site-header {
  background: rgba(11, 23, 36, 0.96);
}

body.dark-mode .auth-site-header .home2-login {
  color: var(--text-primary);
  border-color: var(--border-color);
}

body.dark-mode .home2-login {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--border-color);
}

body.dark-mode .home2-login:hover {
  background: rgba(201, 164, 92, .16);
  border-color: var(--dark-accent);
  color: var(--dark-accent);
}

body.dark-mode .auth-page-controls .theme-toggle,
body.dark-mode .auth-page-controls .rtl-toggle {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--border-color);
}

body.dark-mode .theme-toggle,
body.dark-mode .rtl-toggle,
body.dark-mode .menu-toggle,
body.dark-mode .back-to-top {
  background: var(--card-bg);
  color: var(--text-primary);
  border-color: var(--border-color);
}

body.dark-mode .mobile-menu {
  background: #101f2d;
  color: var(--text-primary);
}

body.dark-mode .mobile-nav a {
  color: var(--text-secondary);
  border-color: var(--border-color);
}

body.dark-mode .mobile-nav a.active {
  color: var(--text-primary);
  background: rgba(201, 164, 92, 0.14);
}

body.dark-mode .form-field label,
body.dark-mode .form-field input,
body.dark-mode .form-field select,
body.dark-mode .form-field textarea,
body.dark-mode .newsletter-form input {
  color: var(--text-primary);
}

body.dark-mode .form-field input,
body.dark-mode .form-field select,
body.dark-mode .form-field textarea,
body.dark-mode .newsletter-form input {
  background: #172632;
  border-color: var(--border-color);
}

body.dark-mode .form-field input::placeholder,
body.dark-mode .form-field textarea::placeholder,
body.dark-mode .newsletter-form input::placeholder {
  color: #9eabb5;
}

body.dark-mode .form-field input:focus,
body.dark-mode .form-field select:focus,
body.dark-mode .form-field textarea:focus {
  border-color: var(--accent-light);
  box-shadow: 0 0 0 3px rgba(225, 201, 143, 0.15);
}

body.dark-mode .btn-secondary {
  color: var(--text-primary);
  border-color: var(--accent);
}

body.dark-mode .btn-primary,
body.dark-mode .btn-accent {
  color: #101820;
}

body.dark-mode .site-footer {
  background: #081521;
}

body.dark-mode .footer-grid h3,
body.dark-mode .footer-grid h4,
body.dark-mode .footer-grid p,
body.dark-mode .footer-grid li,
body.dark-mode .footer-grid .brand-name,
body.dark-mode .footer-grid a,
body.dark-mode .footer-bottom {
  color: #edf3f9;
}

body.dark-mode .footer-grid li,
body.dark-mode .footer-grid p {
  color: #c2ccd4;
}

body.dark-mode .social-links a {
  color: var(--accent-light);
  border-color: var(--border-color);
  background: rgba(255, 255, 255, 0.05);
}

body.dark-mode .service-hero,
body.dark-mode .documents-hero {
  background-color: #081521;
}

body.dark-mode .service-card,
body.dark-mode .document-category,
body.dark-mode .tip-card,
body.dark-mode .checklist-panel {
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

body.dark-mode .service-card p,
body.dark-mode .document-category p,
body.dark-mode .tip-card p,
body.dark-mode .checklist-panel ul,
body.dark-mode .benefit-list small,
body.dark-mode .visit-list small {
  color: var(--text-secondary);
}

body.dark-mode .media-frame,
body.dark-mode .preparation-image {
  border-color: var(--border-color);
}

body.dark-mode img {
  filter: none;
}

body.dark-mode .login-page,
body.dark-mode .login-panel,
body.dark-mode .register-page {
  background: var(--bg-secondary);
}

body.dark-mode .register-intro .auth-brand {
  color: var(--text-primary);
}
