/* SaigonWalks v27 — unified colour system and contrast correction */
:root{
  --sw-header-gold:#d8b565;
  --sw-gold-on-dark:#d8b565;
  --sw-accent-on-light:#7d4b22;
  --sw-ink:#201c18;
  --sw-ink-soft:#3e3329;
  --sw-muted:#6b6259;
  --sw-paper:#f6f2eb;
  --sw-surface:#fffaf2;
  --sw-surface-soft:#f3eadb;
  --sw-line:rgba(32,28,24,.15);
  --sw-red:#b62c31;
  --sw-red-dark:#862027;
  --sw-dark:#17130f;
}

/* The new header gold belongs to the existing warm paper / oxblood / dark-brown palette. */
body.sw-premium-v27 .sw-site-header.is-scrolled,
body.sw-premium-v27:not(.has-hero) .sw-site-header{
  background:rgba(216,181,101,.97)!important;
  color:var(--sw-ink)!important;
}
body.sw-premium-v27 .sw-site-header.is-scrolled .sw-brand-copy strong,
body.sw-premium-v27:not(.has-hero) .sw-brand-copy strong{
  color:var(--sw-red-dark)!important;
}
body.sw-premium-v27 .sw-site-header.is-scrolled .sw-brand-copy small,
body.sw-premium-v27:not(.has-hero) .sw-brand-copy small{
  color:rgba(32,28,24,.78)!important;
}
body.sw-premium-v27 .sw-site-header.is-scrolled .sw-primary-link,
body.sw-premium-v27:not(.has-hero) .sw-primary-link,
body.sw-premium-v27 .sw-site-header.is-scrolled .sw-submenu-toggle,
body.sw-premium-v27:not(.has-hero) .sw-submenu-toggle,
body.sw-premium-v27 .sw-site-header.is-scrolled .sw-menu-toggle,
body.sw-premium-v27:not(.has-hero) .sw-menu-toggle{
  color:#2a211b!important;
}

/* Hero route pills: keep them readable against changing photography. */
body.sw-premium-v27 .hero .tour-nav a,
body.sw-premium-v27 .page-hero .tour-nav a,
body.sw-premium-v27 .story-hero .tour-nav a,
body.sw-premium-v27 .image-hero .tour-nav a{
  background:rgba(14,19,16,.76)!important;
  border-color:rgba(255,255,255,.42)!important;
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.32);
}
body.sw-premium-v27 .hero .tour-nav a:hover,
body.sw-premium-v27 .page-hero .tour-nav a:hover,
body.sw-premium-v27 .story-hero .tour-nav a:hover,
body.sw-premium-v27 .image-hero .tour-nav a:hover{
  background:rgba(14,19,16,.94)!important;
  border-color:rgba(255,255,255,.68)!important;
}

/* Default CTA panels are dark. Legacy rules had pushed dark text onto them. */
body.sw-premium-v27 .cta-panel{
  background:var(--sw-dark)!important;
  color:#fff!important;
  border-color:rgba(216,181,101,.26)!important;
}
body.sw-premium-v27 .cta-panel h1,
body.sw-premium-v27 .cta-panel h2,
body.sw-premium-v27 .cta-panel h3,
body.sw-premium-v27 .cta-panel .kicker,
body.sw-premium-v27 .cta-panel .eyebrow,
body.sw-premium-v27 .cta-panel .ed-eyebrow,
body.sw-premium-v27 .cta-panel .lead,
body.sw-premium-v27 .cta-panel .subtitle,
body.sw-premium-v27 .cta-panel .section-subtitle{
  color:var(--sw-gold-on-dark)!important;
}
body.sw-premium-v27 .cta-panel p,
body.sw-premium-v27 .cta-panel li,
body.sw-premium-v27 .cta-panel small{
  color:rgba(255,255,255,.84)!important;
}
body.sw-premium-v27 .cta-panel .btn.ghost,
body.sw-premium-v27 .cta-panel .button.ghost,
body.sw-premium-v27 .cta-panel .button.light,
body.sw-premium-v27 .cta-panel .secondary-btn{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.60)!important;
}
body.sw-premium-v27 .cta-panel .btn.ghost:hover,
body.sw-premium-v27 .cta-panel .button.ghost:hover,
body.sw-premium-v27 .cta-panel .button.light:hover,
body.sw-premium-v27 .cta-panel .secondary-btn:hover{
  background:#fff!important;
  color:var(--sw-dark)!important;
  border-color:#fff!important;
}

/* Explicit light CTA variant used on About. Gold needs a darker companion on paper. */
body.sw-premium-v27 .about-talk-cta .cta-panel,
body.sw-premium-v27 .about-talk.about-talk-cta .cta-panel{
  background:var(--sw-surface)!important;
  color:var(--sw-ink)!important;
  border-color:var(--sw-line)!important;
}
body.sw-premium-v27 .about-talk-cta .cta-panel h1,
body.sw-premium-v27 .about-talk-cta .cta-panel h2,
body.sw-premium-v27 .about-talk-cta .cta-panel h3,
body.sw-premium-v27 .about-talk-cta .cta-panel .kicker,
body.sw-premium-v27 .about-talk-cta .cta-panel .eyebrow,
body.sw-premium-v27 .about-talk-cta .cta-panel .ed-eyebrow{
  color:var(--sw-accent-on-light)!important;
}
body.sw-premium-v27 .about-talk-cta .cta-panel p,
body.sw-premium-v27 .about-talk-cta .cta-panel li{
  color:var(--sw-ink-soft)!important;
}
body.sw-premium-v27 .about-talk-cta .cta-panel .button.light,
body.sw-premium-v27 .about-talk-cta .cta-panel .btn.ghost{
  background:transparent!important;
  color:var(--sw-ink)!important;
  border-color:rgba(32,28,24,.38)!important;
}
body.sw-premium-v27 .about-talk-cta .cta-panel .button.light:hover,
body.sw-premium-v27 .about-talk-cta .cta-panel .btn.ghost:hover{
  background:var(--sw-dark)!important;
  color:#fff!important;
  border-color:var(--sw-dark)!important;
}

/* Dark audience / ownership blocks. */
body.sw-premium-v27 .ownership-panel{
  background:var(--sw-dark)!important;
  color:#fff!important;
}
body.sw-premium-v27 .ownership-panel h1,
body.sw-premium-v27 .ownership-panel h2,
body.sw-premium-v27 .ownership-panel h3,
body.sw-premium-v27 .ownership-panel .ed-eyebrow,
body.sw-premium-v27 .ownership-panel .eyebrow,
body.sw-premium-v27 .ownership-panel .kicker{
  color:var(--sw-gold-on-dark)!important;
}
body.sw-premium-v27 .ownership-panel p,
body.sw-premium-v27 .ownership-panel li{
  color:rgba(255,255,255,.84)!important;
}
body.sw-premium-v27 .ownership-panel .ownership-actions .button.light,
body.sw-premium-v27 .ownership-panel .ownership-actions .button.ghost{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.58)!important;
}
body.sw-premium-v27 .ownership-panel .ownership-actions .button.light:hover,
body.sw-premium-v27 .ownership-panel .ownership-actions .button.ghost:hover{
  background:#fff!important;
  color:var(--sw-dark)!important;
  border-color:#fff!important;
}

/* The operating bridge and story-use panels are deliberately light in the current design. */
body.sw-premium-v27 .operating-bridge,
body.sw-premium-v27 .story-use-panel,
body.sw-premium-v27 .topic-related-panel,
body.sw-premium-v27 .module-card,
body.sw-premium-v27 .side-note,
body.sw-premium-v27 .route-fit-card,
body.sw-premium-v27 .route-note-box,
body.sw-premium-v27 .review-card{
  color:var(--sw-ink)!important;
}
body.sw-premium-v27 .operating-bridge h1,
body.sw-premium-v27 .operating-bridge h2,
body.sw-premium-v27 .operating-bridge h3,
body.sw-premium-v27 .operating-bridge .ed-eyebrow,
body.sw-premium-v27 .story-use-panel h1,
body.sw-premium-v27 .story-use-panel h2,
body.sw-premium-v27 .story-use-panel h3,
body.sw-premium-v27 .story-use-panel .ed-eyebrow{
  color:var(--sw-accent-on-light)!important;
}
body.sw-premium-v27 .operating-bridge p,
body.sw-premium-v27 .story-use-panel p,
body.sw-premium-v27 .topic-related-panel p,
body.sw-premium-v27 .module-card p,
body.sw-premium-v27 .side-note p,
body.sw-premium-v27 .route-fit-card p,
body.sw-premium-v27 .route-fit-card li,
body.sw-premium-v27 .route-note-box p,
body.sw-premium-v27 .review-card p{
  color:var(--sw-ink-soft)!important;
}

/* Inclusion chips in light practical sections were inheriting the hero-chip treatment. */
body.sw-premium-v27 .route-practical .story-meta .tag,
body.sw-premium-v27 .route-practical .route-meta span,
body.sw-premium-v27 main .story-meta--light .tag,
body.sw-premium-v27 main .route-meta--light span{
  background:#efe4d0!important;
  border-color:rgba(125,75,34,.28)!important;
  color:#5d3518!important;
  text-shadow:none!important;
  backdrop-filter:none!important;
}

/* Keep actual hero metadata white. */
body.sw-premium-v27 .hero .story-meta .tag,
body.sw-premium-v27 .page-hero .story-meta .tag,
body.sw-premium-v27 .story-hero .story-meta .tag,
body.sw-premium-v27 .image-hero .story-meta .tag,
body.sw-premium-v27 .hero .route-meta span,
body.sw-premium-v27 .page-hero .route-meta span,
body.sw-premium-v27 .story-hero .route-meta span,
body.sw-premium-v27 .image-hero .route-meta span{
  background:rgba(14,19,16,.72)!important;
  border-color:rgba(255,255,255,.38)!important;
  color:#fff!important;
}

/* Buttons: preserve the red primary action and provide reliable secondary states. */
body.sw-premium-v27 .button,
body.sw-premium-v27 .btn,
body.sw-premium-v27 .submit-btn,
body.sw-premium-v27 .cta-small{
  background:var(--sw-red)!important;
  border-color:var(--sw-red)!important;
  color:#fff!important;
}
body.sw-premium-v27 .button:hover,
body.sw-premium-v27 .btn:hover,
body.sw-premium-v27 .submit-btn:hover,
body.sw-premium-v27 .cta-small:hover{
  background:var(--sw-red-dark)!important;
  border-color:var(--sw-red-dark)!important;
  color:#fff!important;
}
body.sw-premium-v27 .button.light,
body.sw-premium-v27 .button.ghost,
body.sw-premium-v27 .btn.ghost{
  background:transparent!important;
  color:var(--sw-ink)!important;
  border-color:rgba(32,28,24,.38)!important;
}

/* Reassert dark-context button variants after the generic button layer. */
body.sw-premium-v27 .cta-panel .button.light,
body.sw-premium-v27 .cta-panel .button.ghost,
body.sw-premium-v27 .cta-panel .btn.ghost,
body.sw-premium-v27 .ownership-panel .button.light,
body.sw-premium-v27 .ownership-panel .button.ghost,
body.sw-premium-v27 .ownership-panel .btn.ghost{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.60)!important;
}
body.sw-premium-v27 .about-talk-cta .cta-panel .button.light,
body.sw-premium-v27 .about-talk-cta .cta-panel .btn.ghost{
  color:var(--sw-ink)!important;
  border-color:rgba(32,28,24,.38)!important;
}

/* Links and labels on light surfaces. */
body.sw-premium-v27 .ed-eyebrow,
body.sw-premium-v27 .ed-label,
body.sw-premium-v27 .tag,
body.sw-premium-v27 .kicker,
body.sw-premium-v27 .section-front-kicker{
  color:var(--sw-red-dark);
}
body.sw-premium-v27 .ed-link,
body.sw-premium-v27 .text-link,
body.sw-premium-v27 .module-card a,
body.sw-premium-v27 .topic-related-links a{
  color:var(--sw-red-dark)!important;
}

/* Forms and helper text. */
body.sw-premium-v27 input,
body.sw-premium-v27 textarea,
body.sw-premium-v27 select{
  color:var(--sw-ink)!important;
  background:#fff!important;
}
body.sw-premium-v27 input::placeholder,
body.sw-premium-v27 textarea::placeholder{
  color:#71675e!important;
  opacity:1;
}
body.sw-premium-v27 .form-note,
body.sw-premium-v27 .field small{
  color:var(--sw-muted)!important;
}

/* Review and footer dark surfaces. */
body.sw-premium-v27 .review-rating,
body.sw-premium-v27 .footer{
  color:#fff!important;
}
body.sw-premium-v27 .review-rating strong,
body.sw-premium-v27 .review-rating .review-stars,
body.sw-premium-v27 .footer-col h2{
  color:var(--sw-gold-on-dark)!important;
}
body.sw-premium-v27 .review-rating span:last-child,
body.sw-premium-v27 .footer-brand p,
body.sw-premium-v27 .footer-bottom{
  color:rgba(255,255,255,.72)!important;
}
body.sw-premium-v27 .footer-col a{
  color:rgba(255,255,255,.86)!important;
}

/* Focus rings must remain visible on both hero black and header gold. */
body.sw-premium-v27 .sw-site-header a:focus-visible,
body.sw-premium-v27 .sw-site-header button:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:3px!important;
}
body.sw-premium-v27 .sw-site-header.is-scrolled a:focus-visible,
body.sw-premium-v27 .sw-site-header.is-scrolled button:focus-visible,
body.sw-premium-v27:not(.has-hero) .sw-site-header a:focus-visible,
body.sw-premium-v27:not(.has-hero) .sw-site-header button:focus-visible{
  outline-color:var(--sw-red-dark)!important;
}

/* Preserve the intended premium gold action inside dark route CTAs. */
body.sw-premium-v27 .cta-panel .btn.primary,
body.sw-premium-v27 .cta-panel .button.primary,
body.sw-premium-v27 .tour-standard-cta .btn.primary,
body.sw-premium-v27 .tour-standard-cta .button.primary{
  background:var(--sw-gold-on-dark)!important;
  border-color:var(--sw-gold-on-dark)!important;
  color:var(--sw-dark)!important;
}
body.sw-premium-v27 .cta-panel .btn.primary:hover,
body.sw-premium-v27 .cta-panel .button.primary:hover,
body.sw-premium-v27 .tour-standard-cta .btn.primary:hover,
body.sw-premium-v27 .tour-standard-cta .button.primary:hover{
  background:#e3c47d!important;
  border-color:#e3c47d!important;
  color:var(--sw-dark)!important;
}

/* Informational bridge actions stay dark on paper rather than competing with inquiry CTAs. */
body.sw-premium-v27 .operating-bridge .operating-actions .button:not(.light),
body.sw-premium-v27 .story-use-panel .story-use-actions .button:not(.light){
  background:var(--sw-dark)!important;
  border-color:var(--sw-dark)!important;
  color:#fff!important;
}
