/* Shared public-site palette: navy, silver and gold. */
body.site-theme {
  --bg:#142136; --panel:#1e2e44; --line:#35465d;
  --text:#f5f3ed; --muted:#bac6d6; --yellow:#d8bd82; --green:#9de0b7;
  background:var(--bg); color:var(--text); color-scheme:dark;
  font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased;
}
.site-theme .header { background:#142136f5; border-color:#35465d; }
.site-theme .seo-hero { background:var(--bg); border-color:var(--line); padding-block:64px 48px; }
.site-theme .seo-hero::before { display:none; }
.site-theme .seo-hero h1 { color:var(--text); font-size:clamp(36px,5vw,64px); font-weight:600; line-height:1.08; letter-spacing:-.04em; }
.site-theme .seo-hero > .wrap > p { color:var(--muted); font-size:18px; font-weight:400; }
.site-theme .section-kicker { color:#c8d2df; background:none; border:0; }
.site-theme .seo-hero nav { color:var(--muted); margin-bottom:24px; font-size:13px; }
.site-theme .seo-cta a { border-radius:10px; font-weight:700; box-shadow:none; }
.site-theme .seo-cta .landing-whatsapp-primary,
.site-theme .quick-request button { background:#d8bd82; color:#142136; }
.site-theme .seo-cta .landing-call-primary { background:#26394f; color:var(--text); border:1px solid #52637a; }
.site-theme .seo-cta .route-booking-primary { color:#eed8a5; border-color:#52637a; }
.site-theme .landing-route-card { background:var(--panel); color:var(--text); border-color:var(--line); border-radius:20px; }
.site-theme .landing-route-card > span { color:#c8d2df; }
.site-theme .landing-route-card p,
.site-theme .quick-request .quick-request-note { color:var(--muted); }
.site-theme .quick-request label { color:var(--text); }
.site-theme .quick-request input,
.site-theme .quick-request select { background:var(--bg); color:var(--text); border-color:#52637a; }
.site-theme .quick-request input::placeholder { color:var(--muted); opacity:1; }
.site-theme :is(a,button,input,select,summary):focus-visible { outline:3px solid #efc76c; outline-offset:4px; }
.site-theme .seo-card { background:var(--panel); border-color:var(--line); box-shadow:none; }
.site-theme .seo-card h2 { color:var(--text); font-weight:600; line-height:1.2; }
.site-theme .seo-card p { color:var(--muted); font-weight:400; }
.site-theme .seo-list li,
.site-theme .seo-faq-mini details { background:#26394f; color:var(--text); border-color:#40516a; font-weight:500; }
.site-theme .seo-links a { background:#26394f; color:#eed8a5; border:1px solid #52637a; font-weight:600; border-radius:10px; }
.site-theme .transfer-confidence { background:#17263b; color:var(--text); }
.site-theme .confidence-grid article { background:var(--panel); border-color:var(--line); }
.site-theme .confidence-grid h3,
.site-theme .confidence-number { color:#e6e9ef; }
.site-theme :is(.confidence-heading > p,.confidence-note,.confidence-grid p) { color:var(--muted); }
.site-theme .confidence-grid a { color:#eed8a5; }
.site-theme .site-footer { background:#17263b; border-color:var(--line); }
.site-theme .floating-contact .float-call { background:#d8bd82; color:#142136; }
.site-theme .floating-contact .float-whatsapp { background:#24583a; color:#f1fff5; border:1px solid #4a9664; }
@media(max-width:700px) {
  .site-theme .seo-hero { padding-block:32px; }
  .site-theme .seo-hero > .wrap > p { font-size:16px; }
  .site-theme .landing-route-card { padding:20px; }
}
.site-theme .confidence-heading h2 { color:var(--text); }
.site-theme .confidence-number { background:#26394f; color:#eed8a5; border:1px solid #52637a; }
.site-theme .seo-hero .seo-cta a.landing-whatsapp-primary,
.site-theme .journey-preparation .seo-cta a:first-child { background:#d8bd82; color:#142136; box-shadow:none; }
.site-theme .journey-preparation .seo-cta a:last-child { background:#26394f; color:var(--text); border:1px solid #52637a; }
/* Legacy district and standalone guide surfaces. */
body.site-theme .district-page-hero { background:#142136; border-color:#35465d; }
body.site-theme .district-page-hero::before { display:none; }
body.site-theme :is(.localized-district-card,.district-card,.district-page-panel,.conversion-shell) { background:#1e2e44; color:#f5f3ed; border-color:#35465d; box-shadow:none; }
body.site-theme .district-page-actions a { background:#d8bd82; color:#142136; box-shadow:none; }
body.site-theme .district-page-copy :is(h1,p) { color:#f5f3ed; }
body.site-theme .district-page-copy h1 span { color:#d8bd82; }
body.site-theme .district-page-link { background:#26394f; color:#f5f3ed; border-color:#40516a; }
body.simple-theme :is(header,footer) { background:#17263b; color:#f5f3ed; border-color:#35465d; }
body.simple-theme :is(article,details,.panel,.discount,#share-result) { background:#1e2e44; color:#f5f3ed; border-color:#40516a; }
body.simple-theme :is(h1,h2,h3,summary,label) { color:#f5f3ed; }
body.simple-theme :is(p,.muted,.campus-area,.eyebrow) { color:#bac6d6; }
body.simple-theme a { color:#eed8a5; }
body.simple-theme :is(input,select,textarea) { background:#142136; color:#f5f3ed; border-color:#52637a; }
body.simple-theme :is(.cta,button) { background:#d8bd82; color:#142136; border-color:#d8bd82; }
body.simple-theme nav a { background:#26394f; border-color:#52637a; }
/* Raised contact controls, with slow ambient light rather than flashing. */
body.site-theme .floating-contact { z-index:900; gap:12px; }
body.site-theme .floating-contact :is(.float-call,.float-whatsapp) {
  display:flex; align-items:center; justify-content:center; gap:9px;
  min-width:150px; min-height:58px; height:auto; padding:14px 20px;
  border-radius:16px; font-size:16px; font-weight:750;
  position:relative; isolation:isolate; overflow:visible;
  transform:translateY(0); transition:transform .2s ease,filter .2s ease;
}
body.site-theme .floating-contact .float-call {
  background:linear-gradient(145deg,#f0d99f,#d8bd82 55%,#c5a466);
  color:#142136 !important; border:1px solid #f7e6b9;
  box-shadow:0 7px 0 #886c3c,0 13px 26px #0005,0 0 30px #d8bd8266;
  animation:contact-gold-glow 3.5s ease-in-out infinite;
}
body.site-theme .floating-contact .float-whatsapp {
  background:linear-gradient(145deg,#347d52,#24583a);
  color:#f1fff5; border:1px solid #80c99a;
  box-shadow:0 7px 0 #153e27,0 13px 26px #0005,0 0 30px #6ddc9366;
  animation:contact-green-glow 3.5s ease-in-out infinite;
}
body.site-theme .floating-contact a::before,
body.site-theme .floating-contact a::after { content:none; animation:none; }
body.site-theme .floating-contact :is(.float-call,.float-whatsapp):hover { transform:translateY(-3px); filter:brightness(1.08); }
body.site-theme .floating-contact :is(.float-call,.float-whatsapp):active { transform:translateY(3px); }
body.site-theme .floating-contact :is(.float-call,.float-whatsapp):focus-visible { outline:3px solid #fff; outline-offset:6px; }
@keyframes contact-gold-glow { 50% { box-shadow:0 7px 0 #886c3c,0 13px 26px #0005,0 0 44px #d8bd8299; } }
@keyframes contact-green-glow { 50% { box-shadow:0 7px 0 #153e27,0 13px 26px #0005,0 0 44px #6ddc9399; } }
@media(max-width:880px) {
  body.site-theme .floating-contact {
    display:grid; grid-template-columns:1fr 1fr; gap:12px;
    inset:auto 0 0; width:100%; box-sizing:border-box;
    padding:12px 14px calc(20px + env(safe-area-inset-bottom));
    background:#142136f5; border-top:1px solid #40516a; border-radius:0;
    backdrop-filter:blur(16px);
  }
  body.site-theme .floating-contact :is(.float-call,.float-whatsapp) { min-width:0; width:100%; min-height:58px; box-sizing:border-box; padding:12px 8px; font-size:15px; }
  body.site-theme .floating-contact .float-booking { display:none; }
  body.site-theme:has(.floating-contact) { padding-bottom:100px; }
  body.site-theme:has(.quick-request input:focus) .floating-contact { visibility:hidden; }
}
@media(prefers-reduced-motion:reduce) {
  body.site-theme .floating-contact :is(.float-call,.float-whatsapp) { animation:none; transition:none; }
}
body.site-theme :is(.advantage-card,.popular-card,.route-bank,.reviews-card,.review-card) { background:#1e2e44; border-color:#35465d; box-shadow:none; }
body.site-theme :is(.route-bank-list a,.advantage-card a) { background:#26394f; color:#f5f3ed; border-color:#40516a; }
body.site-theme :is(.search-intent,.seo-hub,.district-intent-strip) { background:#142136; }
body.site-theme :is(.intent-grid a,.intent-grid a:first-child,.operation-card,.booking-assurance article) { background:#1e2e44; border-color:#40516a; box-shadow:none; }
