/* FassHeld V7.11 – gemeinsames Raster und durchgängige Oberflächen.
   Nach style.css und hero-v7-10.css laden. Keine Änderung der Buchungslogik. */
:root{
 --max:1180px;
 --fh-page:#f3e9d9;
 --fh-gutter:28px;
 --fh-space:80px;
 --cream:var(--fh-page);
 --cream2:#fffaf2;
 --line:rgba(74,48,30,.14);
 --radius:24px;
 --shadow:0 18px 42px rgba(47,36,28,.10);
}
body{background:var(--fh-page);color:#302519}
body::before{display:none}
.container{width:min(var(--max),calc(100% - var(--fh-gutter) * 2));margin-inline:auto}
.section{padding-block:var(--fh-space);width:100%;margin:0;background:var(--fh-page)}
.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}
.two>*{min-width:0}
figure.photo{margin:0;width:100%}
.photo{border-radius:var(--radius);box-shadow:var(--shadow)}
.photo img{height:410px}.photo.tall img{height:490px}
h2{font-size:clamp(2rem,3.65vw,3rem);line-height:1.12;letter-spacing:-.035em;margin-bottom:22px}
h3{font-size:1.55rem;line-height:1.2;letter-spacing:-.025em}
.copy p:not(.eyebrow),.center p{font-size:1.04rem;line-height:1.7}
.eyebrow{font-size:.74rem;letter-spacing:.17em;line-height:1.5;margin-bottom:16px}
.center{max-width:780px;margin:0 auto 36px}
.center h2{margin-bottom:18px}
.card,.tile,.step,.price-card,.extra-card{border-radius:var(--radius);border-color:var(--line)}
.cards3,.prices,.extra-cards{gap:24px}
.price-card.popular{transform:none}
.price-card{box-shadow:0 12px 28px rgba(47,36,28,.05)}
.steps{gap:20px}.tiles{gap:16px}
.note{border-radius:18px;line-height:1.65}
.section.soft{border:0;background:linear-gradient(180deg,var(--fh-page) 0%,#ecdfca 22%,#ecdfca 78%,var(--fh-page) 100%)}
.section.dark{background:linear-gradient(180deg,var(--fh-page) 0,#34251b 32px,#34251b calc(100% - 32px),var(--fh-page) 100%);padding-block:calc(var(--fh-space) + 12px)}
.section.dark::before{display:none}
.section.dark .eyebrow{color:#d99a6b}
.section.contact{background:linear-gradient(180deg,var(--fh-page) 0,#34251b 32px,#291e16 100%);padding-top:calc(var(--fh-space) + 12px)}
.contact .eyebrow{color:#d99a6b}
.footer{background:#291e16;padding-block:36px}
.footer-grid{gap:32px}.footer p{margin:0}
.site-header{background:rgba(248,241,230,.96)}
/* Hero uses exactly the same left and right content boundaries as every section. */
#fh-hero-stage{--fh-cream:var(--fh-page);font-family:inherit;background:var(--fh-page)}
#fh-hero-stage .fh-window,#fh-hero-stage .fh-hero{background:var(--fh-page)}
#fh-hero-stage .fh-copy{
 width:min(var(--max),calc(100% - var(--fh-gutter) * 2));
 max-width:none;margin-inline:auto;padding:52px 0 30px;
}
#fh-hero-stage h1{max-width:580px}
#fh-hero-stage .fh-intro{max-width:385px;font-family:inherit;font-size:1rem;line-height:1.7}
#fh-hero-stage .fh-eyebrow{font-family:inherit;font-size:.74rem;letter-spacing:.17em}
#fh-hero-stage .fh-trust{max-width:485px;font-family:inherit;font-size:.76rem;line-height:1.5}
#fh-hero-stage .fh-actions{max-width:490px;font-family:inherit;font-size:.86rem}
#wellness{padding-top:44px}
/* Keep adjacent pale sections on one continuous background. */
#inklusive{padding-bottom:48px}
#preise{padding-top:48px}
#galerie{padding-bottom:48px}
#faq{padding-top:48px}
#anfrage .two{gap:48px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
/* The same alignment system also applies to the legal pages. */
.legal-page{background:var(--fh-page)}
.legal-hero{background:linear-gradient(180deg,#eddfca,var(--fh-page));border:0;padding-block:64px 32px}
.legal-hero h1{font-size:clamp(2.5rem,5vw,4rem)}
.legal-wrap{padding-block:32px 72px}
.legal-card{margin:0;max-width:none;border-radius:var(--radius);box-shadow:var(--shadow)}
@media(max-width:1060px){
 .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
 .two{gap:36px}
}
@media(max-width:850px){
 :root{--fh-gutter:24px;--fh-space:60px}
 .two,.cards3,.prices,.steps,.footer-grid,#anfrage .two{grid-template-columns:1fr;gap:28px}
 .photo img,.photo.tall img{height:360px}
 .section.dark,.section.contact{padding-top:76px}
 .section.dark{padding-bottom:76px}
 #wellness{padding-top:36px}
 .center{margin-bottom:28px}
 .extra-cards{max-width:none}
 .links{left:var(--fh-gutter);right:var(--fh-gutter)}
}
@media(max-width:650px){
 #fh-hero-stage .fh-copy{width:min(var(--max),calc(100% - var(--fh-gutter) * 2));margin-inline:auto;padding:30px 0 0;background:var(--fh-page)}
 #fh-hero-stage .fh-intro{font-size:.96rem;max-width:100%}
 #fh-hero-stage .fh-eyebrow{font-size:.66rem;letter-spacing:.13em}
 #fh-hero-stage .fh-actions{max-width:100%;font-size:.78rem}
 #fh-hero-stage .fh-trust{max-width:100%;font-size:.7rem;gap:8px 14px}
 #fh-hero-stage .fh-photo-layer{background:var(--fh-page)}
 #wellness{padding-top:28px}
}
@media(max-width:540px){
 :root{--fh-gutter:22px;--fh-space:52px}
 h2{font-size:2.05rem;line-height:1.13}
 .copy p:not(.eyebrow),.center p{font-size:1rem}
 .photo img,.photo.tall img{height:300px}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .tile{padding:18px 12px;min-height:0}.tile h3{font-size:1.15rem}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery img{height:160px}
 .extra-cards{gap:22px}.extra-copy{padding:22px}
 .note{padding:16px 18px}
 #inklusive,#galerie{padding-bottom:32px}#preise,#faq{padding-top:32px}
 .legal-hero{padding-block:44px 24px}.legal-wrap{padding-block:24px 52px}.legal-card{padding:24px}
}
@media(max-width:360px){
 :root{--fh-gutter:18px}
 #fh-hero-stage h1{font-size:36px}
 #fh-hero-stage .fh-actions{font-size:.7rem}
 .tiles{grid-template-columns:1fr}
}
