
/* ==================================================================
   V9.3 — SITEWIDE REFERENCE LAYER
   Purpose: extend the homepage visual system to every public page.
   Page-specific content remains intact; only visual language is unified.
   ================================================================== */

body:not(.home){
  --forest:var(--v9-brown);
  --forest2:#5d4639;
  --paper:#fff;
  --ivory:var(--v9-paper);
  --cream:var(--v9-paper);
  --ember:var(--v9-taupe2);
  --rust:var(--v9-taupe2);
  --ink:var(--v9-copy);
  --muted:var(--v9-muted);
  --line:var(--v9-line);
  background:#fff!important;
  color:var(--v9-copy)!important;
  font-family:var(--v9-sans)!important;
  line-height:1.72!important;
}

body:not(.home) h1,
body:not(.home) h2,
body:not(.home) h3,
body:not(.home) h4{
  font-family:var(--v9-display)!important;
  font-weight:400!important;
  color:var(--v9-brown)!important;
  letter-spacing:-.022em!important;
}

body:not(.home) h1{font-size:clamp(50px,6vw,82px)!important;line-height:.95!important}
body:not(.home) h2{font-size:clamp(38px,4.2vw,60px)!important;line-height:1!important}
body:not(.home) h3{font-size:clamp(25px,2.3vw,36px)!important;line-height:1.06!important}

body:not(.home) .wrap{
  width:min(calc(100% - 64px),1220px)!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.home) .narrow{
  width:min(calc(100% - 64px),860px)!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Shared header/footer must win over legacy inline CSS. */
body:not(.home) .v9-header{
  position:sticky!important;
  top:0!important;
  z-index:200!important;
  background:#fff!important;
  color:var(--v9-brown)!important;
  padding:0!important;
  border-bottom:1px solid rgba(77,55,44,.07)!important;
}
body:not(.home) .v9-header-inner{
  width:min(calc(100% - 64px),1200px)!important;
  height:98px!important;
  margin:auto!important;
}
body:not(.home) .v9-logo{
  color:var(--v9-brown)!important;
  text-decoration:none!important;
}
body:not(.home) .v9-head-actions{display:flex!important}
body:not(.home) .v9-reserve{
  background:var(--v9-brown-dark)!important;
  color:#fff!important;
  padding:0 30px!important;
  border:0!important;
}
body:not(.home) .v9-menu-btn{display:flex!important}
body:not(.home) .v9-overlay-menu{background:rgba(255,255,255,.985)!important}
body:not(.home) .v9-menu-panel>a{color:var(--v9-brown)!important}
body:not(.home) .v9-footer{
  display:block!important;
  background:var(--v9-brown-dark)!important;
  color:#f5eee9!important;
  padding:70px 0!important;
}
body:not(.home) .v9-footer a{color:#e7ddd6!important}

/* Old headers are replaced, but neutralize any leftover page-specific header classes. */
body:not(.home) .site-head:not(.v9-header),
body:not(.home) .head:not(.v9-header){display:none!important}

/* Hero language */
body:not(.home) .hero,
body:not(.home) .hero-image,
body:not(.home) .hero-team,
body:not(.home) .hero-photo{
  background:#fff!important;
  margin:0!important;
  overflow:hidden!important;
}
body:not(.home) .hero img,
body:not(.home) .hero-image img,
body:not(.home) .hero-team img,
body:not(.home) .hero-photo img{
  width:100%!important;
  max-width:100%!important;
  max-height:620px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}
body:not(.home) .hero-copy,
body:not(.home) .herocopy{
  background:#fff!important;
  color:var(--v9-copy)!important;
  text-align:center!important;
  padding:76px 0 82px!important;
}
body:not(.home) .hero-copy .narrow,
body:not(.home) .herocopy .narrow{
  max-width:880px!important;
}
body:not(.home) .hero-copy h1,
body:not(.home) .herocopy h1,
body:not(.home) .hero-copy .lead,
body:not(.home) .herocopy .lead{
  color:var(--v9-brown)!important;
}
body:not(.home) .hero-copy .lead,
body:not(.home) .herocopy .lead{
  color:#544a43!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.home) .eyebrow,
body:not(.home) .kicker{
  color:var(--v9-muted)!important;
  font-family:var(--v9-sans)!important;
  font-size:10px!important;
  line-height:1.35!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  font-weight:600!important;
}

/* Vertical rhythm */
body:not(.home) .section{
  padding:96px 0!important;
}
body:not(.home) .section.ivory,
body:not(.home) .ivory,
body:not(.home) .cream,
body:not(.home) .light-section{
  background:var(--v9-paper)!important;
}
body:not(.home) .dark{
  background:var(--v9-brown)!important;
  color:#fff!important;
}
body:not(.home) .dark h1,
body:not(.home) .dark h2,
body:not(.home) .dark h3,
body:not(.home) .dark .lead,
body:not(.home) .dark p{
  color:#fff!important;
}

/* Editorial copy */
body:not(.home) .lead{
  font-family:var(--v9-sans)!important;
  font-size:17px!important;
  line-height:1.82!important;
  color:#514943!important;
}
body:not(.home) p{line-height:1.78}
body:not(.home) .split{
  gap:70px!important;
  align-items:center!important;
}
body:not(.home) .text-block{padding:0!important}

/* Photos and editorial media */
body:not(.home) figure{
  border-radius:0!important;
}
body:not(.home) .editorial,
body:not(.home) .media,
body:not(.home) .photo-card,
body:not(.home) .destination figure{
  overflow:hidden!important;
}
body:not(.home) .editorial img,
body:not(.home) .media img{
  width:100%!important;
  height:auto!important;
  object-fit:cover!important;
  border-radius:0!important;
}
body:not(.home) figcaption{
  font-family:var(--v9-sans)!important;
  color:var(--v9-muted)!important;
  font-size:11px!important;
  letter-spacing:.04em!important;
  padding-top:10px!important;
}

/* Cards: editorial paper rather than generic WordPress boxes */
body:not(.home) .quick,
body:not(.home) .contactcard,
body:not(.home) .formbox,
body:not(.home) .destination,
body:not(.home) .photo-card,
body:not(.home) .featurebox,
body:not(.home) .card,
body:not(.home) .notice,
body:not(.home) .panel,
body:not(.home) .result-card,
body:not(.home) .condition-card,
body:not(.home) .price-card{
  border-radius:0!important;
  border:1px solid rgba(77,55,44,.09)!important;
  background:var(--v9-paper)!important;
  color:var(--v9-copy)!important;
  box-shadow:0 15px 38px rgba(74,58,47,.055)!important;
}
body:not(.home) .contactcard h1,
body:not(.home) .contactcard h2,
body:not(.home) .contactcard h3,
body:not(.home) .contactcard p{
  color:var(--v9-copy)!important;
}

/* Buttons follow V9 reservation/CTA system. */
body:not(.home) .btn,
body:not(.home) .button,
body:not(.home) a.reserve,
body:not(.home) a.mini,
body:not(.home) button[type="submit"],
body:not(.home) input[type="submit"]{
  border-radius:0!important;
  background:var(--v9-taupe2)!important;
  color:#fff!important;
  border:0!important;
  padding:14px 20px!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
  font-family:var(--v9-sans)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:700!important;
  box-shadow:none!important;
}
body:not(.home) .btn.secondary,
body:not(.home) .button.secondary{
  background:transparent!important;
  color:var(--v9-brown)!important;
  border:1px solid var(--v9-line)!important;
}
body:not(.home) .dark .btn.secondary{
  color:#fff!important;
  border-color:rgba(255,255,255,.45)!important;
}

/* Lists, facts, FAQs */
body:not(.home) .facts,
body:not(.home) .fact,
body:not(.home) .feature-list,
body:not(.home) .faq details{
  border-color:var(--v9-line)!important;
}
body:not(.home) .faq summary,
body:not(.home) details summary{
  font-family:var(--v9-display)!important;
  color:var(--v9-brown)!important;
  font-size:23px!important;
  font-weight:400!important;
}

/* Gallery becomes cleaner and more editorial */
body:not(.home) .gallery-section{padding:72px 0 100px!important}
body:not(.home) .filters{gap:8px!important}
body:not(.home) .filter{
  border-radius:0!important;
  background:#fff!important;
  color:var(--v9-brown)!important;
  border:1px solid var(--v9-line)!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}
body:not(.home) .filter.active{
  background:var(--v9-brown)!important;
  color:#fff!important;
}
body:not(.home) .photo{
  border-radius:0!important;
  background:#fff!important;
}

/* Forms */
body:not(.home) input,
body:not(.home) select,
body:not(.home) textarea{
  border-radius:0!important;
  border:1px solid #d8cec5!important;
  background:#fff!important;
  color:var(--v9-copy)!important;
  padding:13px 14px!important;
}
body:not(.home) label{
  color:var(--v9-brown)!important;
  font-size:12px!important;
}

/* Remove legacy fixed CTA bars so the shared V9 layout is not doubled. */
body:not(.home) .mobile-cta,
body:not(.home) .mobilecall{
  display:none!important;
}

/* Generic WordPress pages */
body:not(.home) .chalet-generic-main{
  width:min(calc(100% - 64px),960px)!important;
  margin:0 auto!important;
  padding:90px 0 120px!important;
}
body:not(.home) .chalet-generic-main>article>h1{
  text-align:center!important;
  margin-bottom:50px!important;
}
body:not(.home) .entry-content img{
  border-radius:0!important;
  height:auto!important;
}

/* Fine ornamental detail, matching V9 without overloading. */
body:not(.home) .section>.narrow:after,
body:not(.home) .section>.wrap>.text-block:after{
  content:"";
  display:block;
  width:92px;
  height:18px;
  margin-top:28px;
  background:
    linear-gradient(var(--v9-taupe2),var(--v9-taupe2)) left 8px top 9px/56px 1px no-repeat,
    radial-gradient(circle at 74px 9px,var(--v9-taupe2) 2px,transparent 2.4px),
    radial-gradient(circle at 86px 9px,var(--v9-taupe2) 1.2px,transparent 1.7px);
  opacity:.48;
}

/* Responsive */
@media(max-width:1019px){
  body:not(.home) .v9-header-inner{
    width:calc(100% - 28px)!important;
    height:76px!important;
  }
  body:not(.home) .v9-footer{padding:52px 0 82px!important}
  body:not(.home) .wrap,
  body:not(.home) .narrow{
    width:calc(100% - 40px)!important;
  }
  body:not(.home) h1{font-size:48px!important}
  body:not(.home) h2{font-size:40px!important}
  body:not(.home) .section{padding:68px 0!important}
  body:not(.home) .hero img,
  body:not(.home) .hero-image img,
  body:not(.home) .hero-team img,
  body:not(.home) .hero-photo img{
    max-height:460px!important;
  }
  body:not(.home) .hero-copy,
  body:not(.home) .herocopy{
    padding:50px 0 56px!important;
  }
  body:not(.home) .split{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
}

@media(max-width:540px){
  body:not(.home) h1{font-size:42px!important}
  body:not(.home) h2{font-size:36px!important}
  body:not(.home) .section{padding:58px 0!important}
  body:not(.home) .hero img,
  body:not(.home) .hero-image img,
  body:not(.home) .hero-team img,
  body:not(.home) .hero-photo img{
    max-height:360px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body:not(.home) *{scroll-behavior:auto!important}
}
