/* Demo-specific expression layer; native Gutenberg/Floorstack remain responsible for layout and components. */
:root{--ah-cream:#f5efe8;--ah-ink:#302923;--ah-rust:#945c43;--ah-blush:#e7d6ca}
body{background:var(--ah-cream);color:var(--ah-ink)}
.ah-demo-banner{position:relative;z-index:99;background:#302923;color:#fff;padding:.65rem 1.25rem;text-align:center;font:500 .85rem/1.5 system-ui,sans-serif}
.ah-demo-banner a{color:#fff;text-decoration:underline;text-underline-offset:3px;margin-inline-start:.7em}
.ah-demo-banner a:focus-visible,.ah-booking :focus-visible{outline:3px solid #ad775f;outline-offset:3px}
.ah-eyebrow{font:700 .76rem/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.17em;color:var(--ah-rust)}
.ah-hero{padding:clamp(3rem,8vw,8rem) 0}
.ah-hero h1{font-family:Georgia,serif;font-weight:400;line-height:1.07;letter-spacing:-.04em;font-size:clamp(2.7rem,6vw,6rem);max-width:13ch}
.ah-lead{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.65;max-width:35rem}
.ah-menu{border-top:1px solid #a68c80}
.ah-menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;border-bottom:1px solid #c4aaa0;padding:1.25rem 0;align-items:baseline}
.ah-menu-row h3{margin:0;font-family:Georgia,serif;font-weight:400;font-size:clamp(1.3rem,2.5vw,2rem)}
.ah-menu-row p{margin:.35rem 0 0;font-size:.9rem}
.ah-price{font-weight:700;white-space:nowrap}
.ah-note{font-size:.85rem;color:#57453c}
.ah-booking{background:#fffaf6;border:1px solid #dbc8bd;padding:clamp(1.25rem,4vw,3rem);max-width:46rem}
.ah-booking h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.3rem)}
.ah-booking-step{margin:1.25rem 0}
.ah-booking label{display:block;margin-bottom:.4rem;font-weight:700}
.ah-booking input,.ah-booking select{display:block;width:100%;min-height:48px;box-sizing:border-box;padding:.6rem .75rem;border:1px solid #8b7669;background:#fff;color:#302923;border-radius:0;font:inherit}
.ah-booking button{border:0;background:#302923;color:#fff;padding:.85rem 1.3rem;min-height:48px;cursor:pointer;font:600 1rem system-ui}
.ah-booking button:hover{background:#654335}
.ah-booking-feedback{min-height:1.5rem;font-weight:600}
@media(max-width:600px){.ah-demo-banner{font-size:.76rem}.ah-demo-banner a{display:block;margin:.3rem 0 0}.ah-menu-row{gap:.5rem}.ah-price{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.ah-navigation-desktop{display:flex;flex-wrap:wrap;gap:clamp(.6rem,1.5vw,1.3rem);align-items:center}
.ah-navigation a{color:var(--ah-ink);text-decoration:none;font:600 .84rem/1.4 system-ui,sans-serif}
.ah-navigation a:hover{text-decoration:underline;text-underline-offset:5px}
.ah-navigation-desktop a:last-child,.ah-navigation-mobile div a:last-child{background:var(--ah-ink);color:#fff;padding:.75rem 1rem}
.ah-navigation-mobile{display:none}
.ah-navigation :focus-visible{outline:3px solid var(--ah-rust);outline-offset:4px}
@media(max-width:960px){.ah-navigation-desktop{display:none}.ah-navigation-mobile{display:block;position:relative}.ah-navigation-mobile summary{cursor:pointer;font-weight:700;padding:.7rem 1rem;border:1px solid var(--ah-ink)}.ah-navigation-mobile[open]>div{position:absolute;right:0;top:100%;width:min(78vw,19rem);background:#fffaf6;box-shadow:0 12px 28px #30292324;z-index:80;display:flex;flex-direction:column;padding:1rem;gap:.7rem}}

/* Atelier Haar visual refinement: salon-specific, without modifying Floorstack core. */
body{background:linear-gradient(180deg,#f7f1ea 0,#f5efe8 38rem);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}
body .wp-site-blocks{overflow:clip}
.wp-site-blocks>header{border-bottom:1px solid #d8c5b9;background:rgba(255,250,246,.88)}
.wp-site-blocks>header>.wp-block-group{padding-top:1rem;padding-bottom:1rem}
.wp-block-site-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:400;letter-spacing:-.04em}
.wp-block-site-title a{text-decoration:none}
.wp-site-blocks main{max-width:1120px}
.wp-site-blocks main h2:not(.ah-booking h2){font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.035em;line-height:1.17}
.ah-hero{position:relative;margin-top:clamp(1rem,3vw,3rem)!important;margin-bottom:clamp(3rem,7vw,6rem)!important;padding:clamp(3rem,7vw,7rem) clamp(1.5rem,5vw,5rem);background:linear-gradient(125deg,#ead6c8 0%,#f4e9df 60%,#fff9f2 100%);border-radius:2px}
.ah-hero:after{content:"";position:absolute;right:3.5%;top:12%;height:68%;width:1px;background:linear-gradient(#a67860,transparent);opacity:.55}
.ah-hero .wp-block-buttons{margin-top:2rem;gap:.8rem}
.ah-hero .wp-block-button__link{border-radius:0;min-height:48px;display:inline-flex;align-items:center;background:#302923;color:#fff;padding:.8rem 1.3rem}
.ah-hero .is-style-outline .wp-block-button__link{background:transparent;color:#302923;border-color:#302923}
.ah-menu-row{transition:background-color .2s ease,padding .2s ease}
.ah-menu-row:hover{background:#f0e2d7;padding-left:.6rem;padding-right:.6rem}
.ah-menu-row a{color:inherit;text-decoration:none}
.ah-menu-row a:hover{text-decoration:underline;text-underline-offset:4px}
.ah-booking{box-shadow:0 16px 50px rgba(48,41,35,.07);border-radius:2px}
.wp-site-blocks>footer{border-top:1px solid #dbc7ba;margin-top:clamp(3rem,7vw,6rem);padding:2rem 0;color:#665147}
.wp-site-blocks>footer p{font-size:.8rem}
@media(max-width:600px){.ah-hero{padding:2.5rem 1.3rem}.ah-hero:after{display:none}.ah-hero h1{font-size:clamp(2.55rem,12vw,4rem)}.ah-hero .wp-block-buttons{align-items:stretch;flex-direction:column}.ah-hero .wp-block-button{width:100%}.ah-hero .wp-block-button__link{width:100%;box-sizing:border-box;justify-content:center}.ah-menu-row:hover{padding-left:0;padding-right:0}}

/* Keep the constrained main wrapper centered on wide screens; WordPress otherwise aligns it to the left. */
.wp-site-blocks > main{width:100%;max-width:1120px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}


/* Wide, responsive editorial layout. Override Gutenberg constrained inner width ONLY in this demo hero. */
.wp-site-blocks>main{max-width:1440px!important;width:min(100%,1440px);padding-inline:clamp(16px,3.6vw,64px)!important;margin-inline:auto!important}
.wp-site-blocks>main>.wp-block-group:not(.ah-hero){max-width:none}
.wp-site-blocks main .entry-content > .ah-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  grid-template-rows:auto auto auto 1fr;
  align-content:center;
  column-gap:clamp(24px,4vw,72px);
  width:100%;max-width:none!important;box-sizing:border-box;
  min-height:clamp(490px,43vw,670px);
  padding:clamp(40px,5.2vw,84px)!important;
  margin:clamp(18px,3vw,42px) 0 clamp(48px,6vw,88px)!important;
  background:linear-gradient(118deg,#e6cebd 0%,#f6eae0 60%,#efe0d4 100%);
}
.ah-hero > *{grid-column:1;max-width:100%!important;width:auto;margin-left:0!important;margin-right:0!important}
.ah-hero>.ah-eyebrow{grid-row:1;margin-block:0 20px}
.ah-hero>h1{grid-row:2;font-size:clamp(3.5rem,5.5vw,6.35rem);max-width:11ch!important;margin-block:0 24px;letter-spacing:-.055em}
.ah-hero>.ah-lead{grid-row:3;max-width:37rem!important;margin-block:0}
.ah-hero>.wp-block-buttons{grid-row:4;align-self:start;margin-top:clamp(22px,3vw,42px);flex-wrap:wrap}
.ah-hero:after{
  content:"";display:block;position:relative;grid-column:2;grid-row:1 / 5;
  width:100%;height:100%;min-height:390px;opacity:1;
  background:radial-gradient(ellipse at 68% 32%,rgba(252,244,232,.82) 0 12%,transparent 48%),
    repeating-linear-gradient(123deg,transparent 0 19px,rgba(87,53,40,.035) 20px 21px,transparent 22px 56px),
    linear-gradient(145deg,#c3987b,#8e5e4e 72%,#68493e);
  border-radius:46% 46% 4px 4px / 34% 34% 4px 4px;
  box-shadow:20px 20px 0 rgba(255,255,255,.28);
}
.wp-site-blocks main .entry-content > :is(h2,p,.ah-menu,.wp-block-shortcode){max-width:1100px!important}
@media(max-width:1020px){
 .wp-site-blocks main .entry-content > .ah-hero{column-gap:26px;padding:clamp(28px,4vw,50px)!important;min-height:440px}
 .ah-hero>h1{font-size:clamp(2.9rem,5.5vw,4.9rem)}
 .ah-hero:after{min-height:330px}
}
@media(max-width:720px){
 .wp-site-blocks>main{padding-inline:16px!important}
 .wp-site-blocks main .entry-content > .ah-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;padding:clamp(24px,6vw,40px)!important;min-height:0}
 .ah-hero>.ah-eyebrow,.ah-hero>h1,.ah-hero>.ah-lead,.ah-hero>.wp-block-buttons{grid-column:1}
 .ah-hero>h1{font-size:clamp(2.8rem,9vw,4.5rem);max-width:12ch!important}
 .ah-hero:after{grid-column:1;grid-row:5;min-height:0;height:clamp(175px,46vw,280px);margin-top:34px;border-radius:48% 48% 3px 3px / 70% 70% 3px 3px;box-shadow:10px 10px 0 rgba(255,255,255,.28)}
}

/* Post-content container is the actual Gutenberg parent of the hero. */
.wp-site-blocks main .entry-content{width:100%;max-width:none!important;box-sizing:border-box}
.wp-site-blocks main .entry-content>.ah-hero{margin-inline:0!important}

/* Full-bleed home hero while keeping editorial content constrained. */
body.home .wp-site-blocks main .entry-content > .ah-hero {
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;
  margin-bottom:clamp(48px,6vw,90px)!important;
  border-radius:0;
  padding-block:clamp(54px,6vw,100px)!important;
  padding-inline:max(clamp(20px,5vw,84px),calc((100vw - 1320px)/2))!important;
  overflow:hidden;
}
body.home .wp-site-blocks main .entry-content > .ah-hero:after {
  min-height:clamp(350px,39vw,580px);
}
@media(max-width:720px){
 body.home .wp-site-blocks main .entry-content > .ah-hero {
   padding:32px 20px 40px!important;
   margin-bottom:48px!important;
 }
 body.home .wp-site-blocks main .entry-content > .ah-hero:after {
   min-height:0;height:clamp(180px,48vw,300px);
 }
}


/* Shared inner-page editorial system; full-width canvas, controlled readable content. */
body:not(.home) .wp-site-blocks main .entry-content{
  display:flow-root;
  max-width:1100px!important;
  width:100%;
  margin-inline:auto!important;
}
body:not(.home) .wp-site-blocks main .entry-content>h1:first-child{
  font:400 clamp(3.1rem,6vw,5.6rem)/1.04 Georgia,serif;
  letter-spacing:-.055em;
  max-width:100%!important;
  padding:clamp(44px,5.5vw,76px) 0 clamp(22px,2.8vw,36px);
  margin:0 0 clamp(26px,3vw,42px)!important;
  border-bottom:1px solid #c9ab9a;
}
body:not(.home) .wp-site-blocks main .entry-content>p{max-width:820px!important;line-height:1.75}
body:not(.home) .wp-site-blocks main .entry-content>.wp-block-buttons{margin-block:2rem}
body:not(.home) .ah-menu,body:not(.home) .ah-booking{width:100%;max-width:100%;box-sizing:border-box}
body:not(.home) .wp-site-blocks main .entry-content>.wp-block-shortcode{max-width:100%!important}
body:not(.home) .wp-site-blocks main .entry-content>.wp-block-shortcode>.ah-menu{max-width:100%!important}
@media(max-width:720px){
 body:not(.home) .wp-site-blocks main .entry-content>h1:first-child{
   font-size:clamp(2.55rem,10vw,4rem);
   padding:32px 0 22px;
 }
}
