/* Hearth theme: warm, rustic, editorial.
   Builds on _base/base.css; the story section is in sections.html (classes starting hh-).
   Signature pieces: a dark header and hero over warm cream pages, a heavy editorial serif,
   wide-tracked rust eyebrows, big stat cards in the main colour, an edge-to-edge story with
   a rating badge on the photo, and dark menu cards on the dark band. */

.ws-theme-hearth{--head-weight:700;--head-track:-.01em;--wrap:1200px;--shadow:0 24px 46px -30px rgba(36,26,21,.55)}
.ws-theme-hearth h1,.ws-theme-hearth h2{line-height:1.06}
.ws-theme-hearth :is(h1,h2) em{font-style:italic;color:inherit}
.ws-theme-hearth .ws-head h2,.ws-theme-hearth .hh-story h2,.ws-theme-hearth .ws-split__copy h2,.ws-theme-hearth .ws-richtext h2,.ws-theme-hearth .ws-book h2{font-size:clamp(32px,4vw,50px)}
.ws-theme-hearth .ws-eyebrow{letter-spacing:.3em;font-size:11.8px;font-weight:700;color:var(--primary-text)}
.ws-theme-hearth .ws-tone--dark .ws-eyebrow,.ws-theme-hearth .ws-hero .ws-eyebrow{color:var(--secondary)}
.ws-theme-hearth .ws-eyebrow--mark::before{display:none}

/* Buttons: pill, uppercase in the hero and header */
.ws-theme-hearth .ws-btn{font-weight:700;letter-spacing:.04em}
.ws-theme-hearth .ws-btn--ghost{box-shadow:inset 0 0 0 1.5px var(--secondary)}
.ws-theme-hearth .ws-hero .ws-btn,.ws-theme-hearth .ws-header .ws-btn{text-transform:uppercase;letter-spacing:.12em;font-size:12.8px;padding:1.1em 1.8em}
.ws-theme-hearth .ws-hero .ws-btn--accent{background:var(--primary);color:var(--on-primary)}
.ws-theme-hearth .ws-header .ws-btn{background:transparent;color:var(--secondary);box-shadow:inset 0 0 0 1.5px var(--secondary)}
.ws-theme-hearth .ws-header .ws-btn:hover{background:var(--secondary);color:var(--on-secondary)}

/* ---------- Dark header ---------- */
.ws-theme-hearth .ws-header.ws-tone--dark{background:var(--bg)}
.ws-theme-hearth .ws-header__links a{font-size:14px;font-weight:600}
.ws-theme-hearth .ws-header__links a::after{background:var(--secondary)}
.ws-theme-hearth .ws-logo__text b{font-weight:700;color:var(--fg);font-size:23px}
.ws-theme-hearth .ws-tone--dark .ws-logo__text b{color:var(--fg)}
.ws-theme-hearth .ws-topbar.ws-tone--dark{border-bottom:1px solid var(--line);font-size:12.8px}

/* ---------- Hero ---------- */
.ws-theme-hearth .ws-hero{background:#120d0b}
.ws-theme-hearth .ws-slide::after{background:linear-gradient(90deg,color-mix(in srgb,#0e0a08 min(100%,calc(var(--ov) + 15%)),transparent) 0%,color-mix(in srgb,#0e0a08 calc(var(--ov) * .8),transparent) 45%,color-mix(in srgb,#0e0a08 5%,transparent) 100%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 40%)}
.ws-theme-hearth .ws-slide .ws-slide__title{font-size:clamp(40px,6vw,80px)!important;font-weight:700;line-height:1.02}
.ws-theme-hearth .ws-slide .ws-slide__title em{color:var(--secondary)}
.ws-theme-hearth .ws-slide__inner{max-width:660px}
.ws-theme-hearth .ws-hero__arrows button{border-color:rgba(255,255,255,.35)}

/* ---------- Service strip ---------- */
.ws-theme-hearth .ws-strip__grid{border:0;box-shadow:0 30px 60px -32px rgba(36,26,21,.6)}
.ws-theme-hearth .ws-strip__big{font-weight:700;font-size:34px;color:var(--primary-text)}

/* ---------- Stat cards (trust badges) ---------- */
.ws-theme-hearth .ws-proof__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ws-theme-hearth .ws-proofcard{background:var(--primary);color:var(--on-primary);border:0;border-radius:var(--radius);text-align:center;justify-items:center;padding:34px 22px;box-shadow:0 22px 40px -26px color-mix(in srgb,var(--primary) 80%,#000);--muted:color-mix(in srgb,var(--on-primary) 80%,var(--primary));--primary-text:var(--on-primary)}
.ws-theme-hearth .ws-proofcard__big{font-weight:600;font-size:46px;color:var(--on-primary)}
.ws-theme-hearth .ws-proofcard__label{font-size:14px;font-weight:700}
.ws-theme-hearth .ws-proofcard p{font-size:13.5px}
.ws-theme-hearth .ws-proofcard .ws-link{color:var(--on-primary)}

/* ---------- Story: edge-to-edge photo with a rating badge ---------- */
.ws-theme-hearth .hh-story{padding:0}
.ws-theme-hearth .hh-story__grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(460px,46vw,640px)}
.ws-theme-hearth .hh-story.is-reverse .hh-story__img{order:2}
.ws-theme-hearth .hh-story__img{min-height:380px;border-radius:0}
.ws-theme-hearth .hh-story__img:hover>img{transform:none}
.ws-theme-hearth .hh-badge{position:absolute;z-index:2;left:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);display:grid;justify-items:center;gap:2px;min-width:150px;padding:18px 22px;background:var(--primary);color:var(--on-primary);border-radius:var(--radius);box-shadow:0 18px 30px -16px rgba(0,0,0,.6)}
.ws-theme-hearth .hh-badge b{font-family:var(--display);font-size:38px;line-height:1;font-weight:700}
.ws-theme-hearth .hh-badge b i{font-style:normal;font-size:.6em;margin-left:4px;color:var(--secondary-on-primary)}
.ws-theme-hearth .hh-badge small{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.ws-theme-hearth .hh-story__copy{display:grid;gap:20px;align-content:center;justify-items:start;padding:var(--pad) clamp(24px,6vw,88px);max-width:680px}
.ws-theme-hearth .hh-story .ws-prose{font-size:16.5px}
.ws-theme-hearth .hh-story .ws-prose blockquote{border-left:2px solid var(--secondary);font-family:var(--display);font-style:italic;font-size:19px;color:var(--fg);padding-left:20px}
.ws-theme-hearth .hh-story__img2{width:180px;aspect-ratio:4/3;border-radius:var(--radius)}
.ws-theme-hearth .ws-stat b{font-weight:700}
@media (max-width:860px){.ws-theme-hearth .hh-story__grid{grid-template-columns:1fr}.ws-theme-hearth .hh-story.is-reverse .hh-story__img{order:0}.ws-theme-hearth .hh-story__copy{max-width:none;padding-inline:var(--gut)}}

/* ---------- Dishes ---------- */
.ws-theme-hearth .ws-dish h3,.ws-theme-hearth .ws-dcard h3,.ws-theme-hearth .ws-mitem h3{font-family:var(--display);font-weight:700;font-size:19px}
.ws-theme-hearth .ws-dish__foot .ws-price,.ws-theme-hearth .ws-dcard .ws-price{color:var(--secondary-text);font-size:17px}
.ws-theme-hearth .ws-add{border-color:var(--primary);color:var(--primary-text)}
/* Dark band: dark cards, gold prices, like a printed menu by candlelight */
.ws-theme-hearth .ws-tone--dark :is(.ws-dish,.ws-dcard){--bg:inherit;--fg:inherit;--muted:inherit;--line:inherit;--tint:inherit;--primary-text:inherit;--secondary-text:inherit;background:color-mix(in srgb,var(--bg) 88%,#fff 12%);border-color:color-mix(in srgb,var(--fg) 10%,transparent)}
.ws-theme-hearth .ws-tone--dark :is(.ws-dish,.ws-dcard) .ws-price{color:var(--secondary)}
.ws-theme-hearth .ws-tone--dark .ws-add{border-color:var(--secondary);color:var(--secondary);background:transparent}
.ws-theme-hearth .ws-tone--dark .ws-add:hover{background:var(--secondary);color:var(--on-secondary)}
.ws-theme-hearth .ws-tone--dark .ws-head h2{color:var(--fg)}
.ws-theme-hearth .ws-tone--dark .ws-btn:not(.ws-btn--ghost){background:var(--primary);color:var(--on-primary)}
.ws-theme-hearth .ws-cat{background:transparent;border-color:var(--line)}
.ws-theme-hearth .ws-tone--dark .ws-cat{border-color:color-mix(in srgb,var(--fg) 18%,transparent)}

/* ---------- Reviews, gallery, offers, band ---------- */
.ws-theme-hearth .ws-review{background:var(--bg);border:0;box-shadow:var(--shadow)}
.ws-theme-hearth .ws-tone--default .ws-review{background:var(--tint);box-shadow:none}
.ws-theme-hearth .ws-review blockquote{font-family:var(--display);font-style:italic;font-size:18px}
.ws-theme-hearth .ws-reviews__num b{color:var(--primary-text)}
.ws-theme-hearth .ws-gallery__item{border-radius:var(--radius)}
.ws-theme-hearth .ws-band h2 em{font-style:italic;color:var(--secondary)}
.ws-theme-hearth .ws-band .ws-btn--accent{background:var(--primary);color:var(--on-primary)}
.ws-theme-hearth .ws-cta{background:var(--fg);color:var(--bg)}
.ws-theme-hearth .ws-cta .ws-btn--accent{background:var(--primary);color:var(--on-primary)}
.ws-theme-hearth .ws-cta .ws-btn--ghost{color:var(--bg)}
.ws-theme-hearth .ws-cta::before{background:color-mix(in srgb,var(--primary) 45%,transparent)}

/* ---------- Forms, contact, FAQ ---------- */
.ws-theme-hearth .ws-form{border:0}
.ws-theme-hearth .ws-book__img{border-radius:var(--radius)}
.ws-theme-hearth .ws-contact__item{border-top-color:var(--primary)}
.ws-theme-hearth .ws-faq__item{border-color:var(--line);background:var(--bg)}
.ws-theme-hearth .ws-faq__item summary{font-family:var(--display);font-size:18px}
.ws-theme-hearth .ws-faq__item[open]{border-color:var(--primary)}

/* ---------- Banner, footer ---------- */
.ws-theme-hearth .ws-banner:not(.has-image){background:var(--fg);color:var(--bg);--fg:var(--page-bg);--muted:color-mix(in srgb,var(--page-bg) 75%,var(--page-fg));--secondary-text:var(--secondary)}
.ws-theme-hearth .ws-footer.ws-tone--dark h3{color:var(--secondary)}
.ws-theme-hearth .ws-footer.ws-tone--dark .ws-logo__img{filter:brightness(0) invert(1);opacity:.92}
