/* YESHEN V3.1 • Light/dark system and stable hero motion.
   Loaded LAST to undo older hard-coded theme styles, without touching CMS data. */
:root[data-theme="light"] {
  color-scheme:light;
  --ivory:#f7f3eb;--canvas:#f7f3eb;--sand:#e9e0d3;--champagne:#b79a71;
  --forest:#2f2821;--forest-deep:#15120f;--forest-soft:#584a38;
  --charcoal:#28221b;--ink:#28221b;--muted:#6b6155;--white:#fffcf6;
  --line:#d8cbb8;--ui-surface:#fffcf6;--ui-soft:#efe8dd;
  --ui-text:#28221b;--ui-muted:#6b6155;--ui-border:#d9ccba;
  --yeshen-bg:#f7f3eb;--yeshen-text:#28221b;--yeshen-muted:#665d52;
  --yeshen-panel:#fffcf6;--yeshen-border:#d8cbb8;--yeshen-accent:#a88454;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --ivory:#14120f;--canvas:#14120f;--sand:#26211b;--champagne:#cfb084;
  --forest:#d2b587;--forest-deep:#0b0a08;--forest-soft:#7a6549;
  --charcoal:#f2eadf;--ink:#f2eadf;--muted:#c1b3a3;--white:#201c17;
  --line:#554839;--ui-surface:#201b16;--ui-soft:#2a241e;
  --ui-text:#f2eadf;--ui-muted:#c1b3a3;--ui-border:#574a3b;
  --yeshen-bg:#14120f;--yeshen-text:#f2eadf;--yeshen-muted:#c1b3a3;
  --yeshen-panel:#201b16;--yeshen-border:#574a3b;--yeshen-accent:#cfb084;
}
:root[data-theme] body,:root[data-theme] body.is-admin { background:var(--yeshen-bg)!important; color:var(--yeshen-text)!important; }
:root[data-theme] p {color:var(--yeshen-muted)}
:root[data-theme] .initial-loader {color:var(--yeshen-text)}
:root[data-theme] .initial-loader small {color:var(--yeshen-muted)}
/* Navigation follows selected mode; explicitly overrides the V3 ivory-only rule. */
:root[data-theme="light"] .site-header{background:rgba(247,243,235,.975)!important;border-color:#d6c6b2!important;color:#28221b!important}
:root[data-theme="dark"] .site-header{background:rgba(20,18,15,.97)!important;border-color:#66513a!important;color:#f4eadd!important}
:root[data-theme="light"] .site-header .brand span,
:root[data-theme="light"] .site-header .desktop-nav a,
:root[data-theme="light"] .site-header .menu-toggle{color:#2c241d!important}
:root[data-theme="dark"] .site-header .brand span,
:root[data-theme="dark"] .site-header .desktop-nav a,
:root[data-theme="dark"] .site-header .menu-toggle{color:#f4eadd!important}
:root[data-theme="light"] .site-header .brand em{color:#806849!important}
:root[data-theme="dark"] .site-header .brand em{color:#d3b58c!important}
:root[data-theme="dark"] .site-header .desktop-nav a:hover,
:root[data-theme="dark"] .site-header .desktop-nav a.active{color:#d7b98e!important}
:root[data-theme="light"] .site-header .nav-book{background:#30261d!important;color:#fff8ed!important;border-color:#30261d!important}
:root[data-theme="dark"] .site-header .nav-book{background:#c9a779!important;color:#20150a!important;border-color:#c9a779!important}
:root[data-theme="light"] .site-header .theme-toggle{background:#eee5d8!important;border:1px solid #b4a18a!important;color:#392c20!important}
:root[data-theme="dark"] .site-header .theme-toggle{background:#282219!important;border:1px solid #8e7452!important;color:#f4eadd!important}
:root[data-theme="light"] .site-header .mobile-nav{background:#f7f3eb!important;border-color:#d7c8b2!important}
:root[data-theme="dark"] .site-header .mobile-nav{background:#1c1813!important;border-color:#65523a!important}
:root[data-theme="light"] .site-header .mobile-nav a{color:#2c241d!important;border-color:#d8ccbb!important}
:root[data-theme="dark"] .site-header .mobile-nav a{color:#f4eadd!important;border-color:#544432!important}
/* Hero remains intentionally dark in BOTH modes for legibility, but has NO camera translate/zoom. */
.yeshen-v3-hero .hero-image-holder,.yeshen-v3-hero .hero-photograph,
.yeshen-v3-hero .hero-motion-video {
  transform:none!important;animation:none!important;transition:none!important;
  will-change:auto!important;backface-visibility:visible;
}
.yeshen-v3-hero .hero-motion-video { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.yeshen-v3-hero .hero-photograph {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* Slow ambient glow moves independently; it does not shift the photograph or foreground text. */
.yeshen-v3-hero .hero-image-holder::after {content:"";pointer-events:none;position:absolute;inset:0;
  background:radial-gradient(ellipse at 73% 48%,rgba(197,142,73,.11),transparent 63%);
  animation:yeshenAmbient 16s ease-in-out infinite alternate;}
@keyframes yeshenAmbient{from{opacity:.3}to{opacity:1}}
/* Booking/contact section must actually change modes. */
:root[data-theme="light"] .yeshen-v2-book.yeshen-book-section{background:#f7f3eb!important;color:#2c241e!important}
:root[data-theme="dark"] .yeshen-v2-book.yeshen-book-section{background:#201b16!important;color:#f4eadd!important}
:root[data-theme="light"] .yeshen-v2-book .social-contact-intro h2,
:root[data-theme="light"] .yeshen-v2-book .social-link b{color:#2c241e!important}
:root[data-theme="dark"] .yeshen-v2-book .social-contact-intro h2,
:root[data-theme="dark"] .yeshen-v2-book .social-link b{color:#f4eadd!important}
:root[data-theme="light"] .yeshen-v2-book .social-contact-intro>p,
:root[data-theme="light"] .yeshen-v2-book .social-link small{color:#685e52!important}
:root[data-theme="dark"] .yeshen-v2-book .social-contact-intro>p,
:root[data-theme="dark"] .yeshen-v2-book .social-link small{color:#cbbdad!important}
:root[data-theme="light"] .yeshen-v2-book .social-link{color:#2c241e!important;border-color:#c9baa6!important}
:root[data-theme="dark"] .yeshen-v2-book .social-link{color:#eee2d2!important;border-color:#6b5740!important}
:root[data-theme="light"] .yeshen-v2-book .social-link:hover{background:#e9e0d3!important}
:root[data-theme="dark"] .yeshen-v2-book .social-link:hover{background:#2f271f!important}
:root[data-theme="dark"] .v2-book-bottom{border-color:#635341;color:#c0a98b}
/* Team cards and map: ivory for light, near-black for dark. */
:root[data-theme="light"] .yeshen-v2-team.team-section{background:#f3eee5!important;color:#28221b!important}
:root[data-theme="dark"] .yeshen-v2-team.team-section{background:#13110e!important;color:#f4eadd!important}
:root[data-theme="light"] .yeshen-v2-team .v2-section-top h2,
:root[data-theme="light"] .yeshen-v2-team .v3-therapist-card .team-info h3{color:#2c241e!important}
:root[data-theme="dark"] .yeshen-v2-team .v2-section-top h2,
:root[data-theme="dark"] .yeshen-v2-team .v3-therapist-card .team-info h3{color:#f4eadd!important}
:root[data-theme="light"] .yeshen-v2-team .v2-section-top>p{color:#685e52!important}
:root[data-theme="dark"] .yeshen-v2-team .v2-section-top>p{color:#c7b9a7!important}
:root[data-theme="light"] .yeshen-v2-coverage.yeshen-coverage{background:#f7f3eb!important;color:#2c241e!important}
:root[data-theme="dark"] .yeshen-v2-coverage.yeshen-coverage{background:#191612!important;color:#f4eadd!important}
:root[data-theme="light"] .yeshen-v2-coverage .v2-section-top h2{color:#28221b!important}
:root[data-theme="dark"] .yeshen-v2-coverage .v2-section-top h2{color:#f4eadd!important}
:root[data-theme="light"] .yeshen-v2-coverage .v2-section-top>p{color:#685e52!important}
:root[data-theme="dark"] .yeshen-v2-coverage .v2-section-top>p{color:#c7b9a7!important}
:root[data-theme="light"] .yeshen-v2-coverage .map-panel{background:#eee7dc!important;border-color:#c5b49c}
:root[data-theme="dark"] .yeshen-v2-coverage .map-panel{background:#282219!important;border-color:#65503a}
:root[data-theme="dark"] .yeshen-v2-coverage .map-note{color:#c4b4a0!important}
/* Contact/about/policy/therapist pages. */
:root[data-theme="light"] .v3-contact-page{background:#f7f3eb!important;color:#28221b!important}
:root[data-theme="dark"] .v3-contact-page{background:#171411!important;color:#f4eadd!important}
:root[data-theme="light"] .v3-contact-grid h1,
:root[data-theme="light"] .v3-contact-grid .social-link b{color:#28221b!important}
:root[data-theme="dark"] .v3-contact-grid h1,
:root[data-theme="dark"] .v3-contact-grid .social-link b{color:#f4eadd!important}
:root[data-theme="light"] .v3-contact-grid>div>p,
:root[data-theme="light"] .v3-contact-grid .social-link small,
:root[data-theme="light"] .v3-contact-foot{color:#655b4e!important}
:root[data-theme="dark"] .v3-contact-grid>div>p,
:root[data-theme="dark"] .v3-contact-grid .social-link small,
:root[data-theme="dark"] .v3-contact-foot{color:#c5b8a7!important}
:root[data-theme="light"] .v3-contact-grid .social-link{color:#28221b!important;border-color:#bdab91!important}
:root[data-theme="dark"] .v3-contact-grid .social-link{color:#f4eadd!important;border-color:#6b543a!important}
:root[data-theme="light"] .page-hero h1,:root[data-theme="light"] .page-hero p{color:#2c241e!important}
:root[data-theme="dark"] .page-hero h1{color:#f4eadd!important}
:root[data-theme="dark"] .page-hero p{color:#c5b8a7!important}
/* Footer shifts with the mode, including links and dividers. */
:root[data-theme="light"] .site-footer{background:#e9e1d5!important;color:#30271f!important;border-color:#ccbaa1!important}
:root[data-theme="light"] .site-footer p,:root[data-theme="light"] .site-footer a,
:root[data-theme="light"] .site-footer .footer-bottom{color:#55493c!important}
:root[data-theme="light"] .site-footer h5{color:#896b42!important}
:root[data-theme="light"] .site-footer .brand{color:#30271f!important}
:root[data-theme="dark"] .site-footer{background:#0d0b09!important;color:#ede4d7!important}
:root[data-theme="dark"] .site-footer p,:root[data-theme="dark"] .site-footer a{color:#d0c2ae!important}
/* Admin modes: reset legacy green palette to logo-derived neutral hues. */
:root[data-theme="light"] body.is-admin,:root[data-theme="light"] .admin-main{background:#f5f0e8!important;color:#30261e!important}
:root[data-theme="dark"] body.is-admin,:root[data-theme="dark"] .admin-main{background:#15120f!important;color:#f3ebdf!important}
:root[data-theme="light"] .admin-shell .admin-sidebar{background:#29231d!important;color:#f7f0e4!important}
:root[data-theme="dark"] .admin-shell .admin-sidebar{background:#0d0b09!important;color:#f7f0e4!important}
:root[data-theme] .admin-shell .admin-sidebar nav a{color:#e0d0b9}
:root[data-theme] .admin-shell .admin-sidebar nav a:hover,
:root[data-theme] .admin-shell .admin-sidebar nav a.selected{background:#67533a;color:#fff9ed}
:root[data-theme="light"] .admin-topbar{background:#fffcf7!important;color:#594f44!important;border-color:#d7cbbb!important}
:root[data-theme="dark"] .admin-topbar{background:#201b16!important;color:#eadfce!important;border-color:#60503d!important}
:root[data-theme="light"] .admin-topbar .theme-toggle{background:#efe6d8!important;color:#403022!important;border:1px solid #a9977f!important}
:root[data-theme="dark"] .admin-topbar .theme-toggle{background:#352a20!important;color:#f4eadd!important;border:1px solid #a38764!important}
:root[data-theme="light"] .admin-panel,:root[data-theme="light"] .stat-card,
:root[data-theme="light"] .gate-card{background:#fffcf7!important;color:#31271f!important;border-color:#d7cbbb!important}
:root[data-theme="dark"] .admin-panel,:root[data-theme="dark"] .stat-card,
:root[data-theme="dark"] .gate-card{background:#231d17!important;color:#f4eadd!important;border-color:#61503c!important}
:root[data-theme="light"] .admin-title-row h1,:root[data-theme="light"] .admin-panel h2,
:root[data-theme="light"] .stat-card strong,:root[data-theme="light"] .panel-title h2{color:#30261e!important}
:root[data-theme="dark"] .admin-title-row h1,:root[data-theme="dark"] .admin-panel h2,
:root[data-theme="dark"] .stat-card strong,:root[data-theme="dark"] .panel-title h2{color:#f4eadd!important}
:root[data-theme] .admin-panel p,:root[data-theme] .admin-title-row p,
:root[data-theme] .stat-card span,:root[data-theme] .stat-card small{color:var(--yeshen-muted)!important}
:root[data-theme="light"] .field input,:root[data-theme="light"] .field textarea,
:root[data-theme="light"] .field select{background:#fffefa!important;color:#28221b!important;border-color:#bdae9a!important}
:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .field select{background:#17130f!important;color:#f4eadd!important;border-color:#7a674d!important}
:root[data-theme] .field,:root[data-theme] .form-subheading{color:var(--yeshen-text)!important}
:root[data-theme] .btn-dark{background:var(--yeshen-accent)!important;color:#15100b!important;border-color:var(--yeshen-accent)!important}
:root[data-theme] .btn-outline{color:var(--yeshen-text)!important;border-color:var(--yeshen-border)!important;background:transparent!important}
:root[data-theme="light"] .admin-gate{background:#f7f3eb!important}
:root[data-theme="dark"] .admin-gate{background:#14120f!important}
:root[data-theme="light"] .gate-card h1{color:#30261e!important}
:root[data-theme="dark"] .gate-card h1{color:#f4eadd!important}
/* Dialog uses its own legible dark surface even when site is light (as hero does). */
:root[data-theme] .therapist-dialog{background:#181411;color:#f6efe5}
:root[data-theme] .therapist-dialog p{color:#d0c3b3}
:root[data-theme] .therapist-dialog .v3-inquiry-message p{color:#f7efe3}
/* Avoid rapid color flashes and honor accessibility preference. */
:root[data-theme] .site-header,:root[data-theme] .admin-topbar,
:root[data-theme] .admin-panel,:root[data-theme] .yeshen-v2-book,
:root[data-theme] .yeshen-v2-team,:root[data-theme] .yeshen-v2-coverage,
:root[data-theme] .site-footer,:root[data-theme] .v3-contact-page{
  transition:background-color .24s ease,color .24s ease,border-color .24s ease;
}
@media(prefers-reduced-motion:reduce){.yeshen-v3-hero .hero-motion-video{display:none!important}
 .yeshen-v3-hero .hero-image-holder::after{animation:none!important}
 :root[data-theme] .site-header,:root[data-theme] .admin-topbar,
 :root[data-theme] .admin-panel,:root[data-theme] .yeshen-v2-book,
 :root[data-theme] .yeshen-v2-team,:root[data-theme] .yeshen-v2-coverage,
 :root[data-theme] .site-footer,:root[data-theme] .v3-contact-page{transition:none!important}}
/* Always maintain readable light text over the intentionally dark hero video. */
:root[data-theme] .yeshen-v3-hero .hero-v3-subtitle{color:#fff1dd!important}
:root[data-theme] .yeshen-v3-hero .hero-v2-description{color:#f3e9da!important}
:root[data-theme] .yeshen-v3-hero .hero-v3-secondary{color:#fff8ec!important}
