/*
 * United Group color modes
 * Dark is the permanent first-visit default. Light is an explicit user choice.
 */

.theme-toggle {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  padding: .48rem .72rem;
  border: 1px solid var(--white-line);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .025);
  color: #d8d5cc;
  cursor: pointer;
  white-space: nowrap;
  transition:
    color var(--dur-fast),
    border-color var(--dur-fast),
    background var(--dur-fast),
    transform var(--dur-fast);
}

.theme-toggle:hover {
  color: var(--gold-2);
  border-color: var(--line-strong);
  background: rgba(200, 169, 92, .06);
  transform: translateY(-2px);
}

.theme-toggle-icon,
.theme-toggle-icon svg {
  width: 17px;
  height: 17px;
}

.theme-toggle-moon {
  display: none;
}

.theme-toggle-text {
  font-size: .72rem;
  font-weight: 700;
}

html[data-theme="light"] {
  color-scheme: light;
  background: #f7f3ea;
  --ink: #f7f3ea;
  --ink-2: #ffffff;
  --graphite: #eee9df;
  --charcoal: #e5ded1;
  --panel: #ffffff;
  --paper: #171b22;
  --muted: #5d6570;
  --muted-2: #737b86;
  --gold: #a9893e;
  --gold-2: #856a2d;
  --gold-deep: #72581f;
  --line: rgba(114, 88, 31, .25);
  --line-strong: rgba(114, 88, 31, .46);
  --white-line: rgba(23, 27, 34, .11);
  --shadow: 0 28px 80px rgba(54, 44, 27, .14);
  --shadow-soft: 0 16px 48px rgba(54, 44, 27, .11);
}

html[data-theme="light"] body {
  background: #f7f3ea;
  color: #171b22;
}

html[data-theme="light"] body::selection {
  background: rgba(169, 137, 62, .28);
  color: #171b22;
}

html[data-theme="light"] .theme-toggle {
  background: #fff;
  color: #222833;
  box-shadow: 0 8px 22px rgba(54, 44, 27, .08);
}

html[data-theme="light"] .theme-toggle-sun {
  display: none;
}

html[data-theme="light"] .theme-toggle-moon {
  display: inline-flex;
}

html[data-theme="light"] .section-alt {
  background: linear-gradient(180deg, rgba(169, 137, 62, .055), rgba(255, 255, 255, .34));
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .landing-brand-header {
  background: rgba(250, 247, 240, .91);
  border-color: rgba(23, 27, 34, .11);
  box-shadow: 0 10px 34px rgba(54, 44, 27, .06);
}

html[data-theme="light"] .site-header .brand-copy strong,
html[data-theme="light"] .landing-brand-header .brand-copy strong {
  color: #171b22;
}

html[data-theme="light"] .site-header .brand-copy small,
html[data-theme="light"] .landing-brand-header .brand-copy small {
  color: #69717c;
}

html[data-theme="light"] .nav-link,
html[data-theme="light"] .nav-trigger {
  color: #454d58;
}

html[data-theme="light"] .icon-btn {
  background: rgba(255, 255, 255, .72);
  color: #353c47;
}

html[data-theme="light"] .mega-menu,
html[data-theme="light"] .mobile-drawer {
  background: rgba(250, 247, 240, .985);
  color: #171b22;
}

html[data-theme="light"] .mega-col a,
html[data-theme="light"] .mobile-nav a,
html[data-theme="light"] .mobile-nav button {
  color: #4f5864;
}

html[data-theme="light"] .mega-col a:hover,
html[data-theme="light"] .mobile-nav a:hover,
html[data-theme="light"] .mobile-nav button:hover {
  color: #72581f;
}

html[data-theme="light"] .hero,
html[data-theme="light"] .page-hero {
  background:
    radial-gradient(circle at 77% 42%, rgba(169, 137, 62, .15), transparent 29%),
    linear-gradient(120deg, #fbf8f1 0%, #f5efe3 50%, #ece4d6 100%);
}

html[data-theme="light"] .hero-trust span,
html[data-theme="light"] .intro,
html[data-theme="light"] .prose p,
html[data-theme="light"] .prose li,
html[data-theme="light"] .professional-affiliations li {
  color: #4f5864;
}

html[data-theme="light"] .monument-skyline {
  opacity: .18;
}

html[data-theme="light"] .monument-grid {
  opacity: .27;
}

html[data-theme="light"] :where(
  .card,
  .service-card,
  .related-card,
  .landing-card,
  .landing-panel,
  .landing-rail-item,
  .matrix-card,
  .flow-row,
  .cockpit-main,
  .cockpit-side,
  .side-nav,
  .journey-panel,
  .situation-card,
  .form-card,
  .booking-card,
  .info-box,
  .cta-panel,
  .contact-panel,
  .form-panel,
  .booking-embed,
  .booking-fallback,
  .booking-note,
  .booking-assurances,
  .booking-locations,
  .content-card,
  .author-box,
  .article-card,
  .booking-type,
  .faq-guide,
  .faq-item,
  .faq-page-cta
) {
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 14px 38px rgba(54, 44, 27, .045);
}

html[data-theme="light"] .intent-card,
html[data-theme="light"] .sector-card {
  background: #fff;
  color: #171b22;
}

html[data-theme="light"] .intent-card:hover,
html[data-theme="light"] .intent-card.active {
  background: #fffdf8;
}

html[data-theme="light"] .intent-card .intent-icon {
  background: #fff;
}

html[data-theme="light"] .intent-links a,
html[data-theme="light"] .journey-panel-links a,
html[data-theme="light"] .cockpit-chip {
  color: #353d48;
}

html[data-theme="light"] .founder-statement blockquote,
html[data-theme="light"] .faq-page .faq-q {
  color: #252b34;
}

html[data-theme="light"] .faq-page .faq-a p,
html[data-theme="light"] .faq-guide-nav a {
  color: #59626e;
}

html[data-theme="light"] .faq-q,
html[data-theme="light"] .session-btn,
html[data-theme="light"] .brief-options button,
html[data-theme="light"] .quick-search button {
  background: rgba(255, 255, 255, .66);
  color: #343b46;
}

html[data-theme="light"] .field label {
  color: #343b46;
}

html[data-theme="light"] .field input,
html[data-theme="light"] .field select,
html[data-theme="light"] .field textarea,
html[data-theme="light"] .search-input {
  background: #fff;
  color: #171b22;
}

html[data-theme="light"] .btn-dark {
  background: rgba(255, 255, 255, .74);
  color: #252b34;
}

html[data-theme="light"] .rail-link,
html[data-theme="light"] .context-cta,
html[data-theme="light"] .sticky-landing-cta {
  background: rgba(252, 249, 242, .94);
  color: #2f3640;
}

html[data-theme="light"] .context-cta span {
  color: #343b46;
}

html[data-theme="light"] .search-overlay {
  background: rgba(34, 39, 47, .52);
}

html[data-theme="light"] .search-panel {
  background: #faf7f0;
  color: #171b22;
}

html[data-theme="light"] .search-result {
  color: #343b46;
}

html[data-theme="light"] .search-result:hover,
html[data-theme="light"] .search-result.active,
html[data-theme="light"] .search-result:focus-visible {
  background: rgba(169, 137, 62, .11);
  color: #171b22;
}

html[data-theme="light"] .social-link {
  background: rgba(255, 255, 255, .82);
  color: #4f5864;
}

html[data-theme="light"] .social-follow-label {
  color: #69717c;
}

/* These brand anchors intentionally stay dark in both modes. */
html[data-theme="light"] .topbar,
html[data-theme="light"] .marquee,
html[data-theme="light"] .social-strip,
html[data-theme="light"] .site-footer {
  --paper: #f4efe2;
  --muted: #aeb1b8;
  --muted-2: #7e838d;
  --gold: #c8a95c;
  --gold-2: #e2c77d;
  --gold-deep: #a9893e;
  --line: rgba(226, 199, 125, .18);
  --line-strong: rgba(226, 199, 125, .36);
  --white-line: rgba(255, 255, 255, .08);
  color: #f4efe2;
}

html[data-theme="light"] .social-strip {
  background: linear-gradient(90deg, #07080a, rgba(200, 169, 92, .08), #07080a);
}

html[data-theme="light"] .site-footer .brand-copy strong {
  color: #f4efe2;
}

html[data-theme="light"] .site-footer .brand-copy small {
  color: #969ba4;
}

@media (max-width: 1180px) {
  .theme-toggle {
    width: 42px;
    padding-inline: 0;
  }

  .theme-toggle-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

@media (max-width: 760px) {
  .theme-toggle {
    min-width: 42px;
    flex: 0 0 42px;
  }

  .landing-brand-actions .theme-toggle {
    display: inline-flex;
  }
}

@media (max-width: 520px) {
  .site-header .header-actions > .btn {
    display: none;
  }

  .landing-brand-header .brand-copy {
    display: none;
  }

  .landing-brand-actions .btn {
    min-height: 42px;
    padding-inline: .82rem;
    font-size: .74rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle {
    transition: none;
  }
}
