/* =====================================================================
   ANPASSEN – die wichtigsten Stellen:
   1) E-Mail / Instagram / Facebook: Datei site.js (gilt für alle Seiten).
   2) Fotos: Ordner assets/ (Dateien gleichen Namens ersetzen).
   3) Portrait von Katharina: Block <!-- PORTRAIT --> im Abschnitt "Über mich".
   4) Logo: Block <!-- LOGO --> in der Navigation.
   ===================================================================== */
:root{
  --schaum:#FBF1EE;      /* Seitenhintergrund – Sour-Schaum */
  --rose:#F3D6D6;        /* ruhige Flächen */
  --aubergine:#3B1726;   /* Text, dunkle Flächen – Samtbank */
  --aubergine-2:#5A2A3C; /* Text sekundär auf hell */
  --bitter:#C21F3A;      /* Aktionen, Mengenangaben */
  --bitter-dark:#9E1730;
  --bernstein:#E0962E;   /* Akzent auf dunkel */
  --rosmarin:#4C6B55;    /* Empfehlung, Bestätigung */
  --line:rgba(59,23,38,.18);

  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --text:'Newsreader',Georgia,serif;

  /* Typo-Skala (klassische Reihe nach Bringhurst: 12 14 16 18 21 24 36 48 60 72) */
  --fs-sm:.875rem;   /* 14 */
  --fs-base:1.125rem;/* 18 */
  --fs-md:1.3125rem; /* 21 */
  --fs-lg:1.5rem;    /* 24 */
  --fs-xl:clamp(2.25rem,6vw,3.75rem);  /* 36 → 60 */
  --fs-hero:clamp(3.4rem,12.5vw,8.5rem);

  --gutter:clamp(1rem,4vw,3rem);
  --max:1240px;
  --nav-h:64px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--schaum);color:var(--aubergine);font-family:var(--text);font-size:var(--fs-base);line-height:1.6;font-optical-sizing:auto;overflow-x:hidden;}
h1,h2,h3{font-family:var(--display);font-weight:760;font-stretch:78%;line-height:.98;letter-spacing:-.01em;margin:0;}
p{margin:0 0 1em;}
a{color:inherit;}
img{display:block;max-width:100%;}
button{font:inherit;color:inherit;}
section[id]{scroll-margin-top:var(--nav-h);}
:focus-visible{outline:3px solid var(--bitter);outline-offset:3px;border-radius:4px;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.shell{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter);}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.6rem;border-radius:999px;border:2px solid var(--bitter);background:var(--bitter);color:#fff;font-family:var(--display);font-weight:650;font-stretch:90%;font-size:1.05rem;letter-spacing:.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
@media (hover:hover){.btn:hover{background:var(--bitter-dark);border-color:var(--bitter-dark);}}
.btn-line{background:transparent;color:var(--bitter);}
@media (hover:hover){.btn-line:hover{background:var(--bitter);color:#fff;}}
.textlink{font-family:var(--display);font-weight:600;font-stretch:90%;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25em;text-decoration-color:var(--bitter);}
@media (hover:hover){.textlink:hover{color:var(--bitter);}}

/* ---------- Navigation ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(251,241,238,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .3s ease;}
.nav.scrolled{border-bottom-color:var(--line);}
.nav .shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--nav-h);}
.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;}
.brand b{font-family:var(--display);font-weight:800;font-stretch:78%;font-size:1.6rem;letter-spacing:-.01em;}
.brand small{font-family:var(--text);font-style:italic;font-size:.85rem;white-space:nowrap;color:var(--aubergine-2);margin-top:.1rem;display:none;}
@media (min-width:430px){.brand small{display:block;}}
.nav-links{display:none;}
.nav-right{display:flex;align-items:center;gap:.5rem;}
.nav-right .btn{min-height:44px;padding:.45rem 1.1rem;font-size:.95rem;}
.menu-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center;}
.menu-btn svg{width:20px;height:20px;}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:.5rem var(--gutter) 1rem;}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;padding:.75rem 0;font-family:var(--display);font-weight:650;font-stretch:85%;font-size:1.35rem;text-decoration:none;border-bottom:1px solid var(--line);}
.mobile-menu a:last-child{border-bottom:none;}

/* ---------- Hero: das Rezept ---------- */
.hero{padding-block:clamp(1.5rem,4vw,3.5rem) clamp(3rem,7vw,6rem);}
.hero .shell{display:grid;gap:clamp(1.5rem,4vw,3.5rem);}
.hero h1{font-size:var(--fs-hero);font-weight:800;font-stretch:75%;line-height:.86;letter-spacing:-.02em;}
.hero h1 .pre{display:block;font-family:var(--text);font-weight:400;font-style:italic;font-stretch:normal;font-size:clamp(1.5rem,4.4vw,2.6rem);line-height:1.1;letter-spacing:0;margin-bottom:.15em;color:var(--aubergine-2);}
.hero-photo{position:relative;border-radius:clamp(18px,3vw,32px);overflow:hidden;aspect-ratio:16/9;background:var(--rose);}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:45% 50%;}

.spec{list-style:none;margin:0 0 1.6rem;padding:0;border-top:2px solid var(--aubergine);}
.spec li{display:grid;grid-template-columns:3.3rem 1fr;align-items:baseline;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line);}
.spec .qty{font-family:var(--display);font-weight:750;font-stretch:80%;font-size:1.55rem;line-height:1;color:var(--bitter);font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap;}
.spec .ing{font-size:var(--fs-md);line-height:1.35;}
.method{max-width:34em;font-size:var(--fs-base);margin-bottom:1.8rem;}
.method em{font-family:var(--display);font-style:normal;font-weight:700;font-stretch:85%;}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;}

/* Ein Moment: die Zutaten werden eingegossen */
@media (prefers-reduced-motion:no-preference){
  .pour{opacity:0;transform:translateY(.6rem);animation:pour .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i) * 120ms + 250ms);}
  .spec .pour .qty{display:inline-block;}
  @keyframes pour{to{opacity:1;transform:none;}}
}

/* ---------- Abschnittsköpfe ---------- */
.block{padding-block:clamp(3.5rem,8vw,7rem);}
.head{max-width:40rem;margin-bottom:clamp(2rem,4vw,3rem);}
.head h2{font-size:var(--fs-xl);margin-bottom:.9rem;}
.head p{font-size:var(--fs-md);line-height:1.5;color:var(--aubergine-2);margin:0;}

/* ---------- Die Karte ---------- */
#karte{background:var(--rose);}
.menu{list-style:none;margin:0;padding:0;border-top:2px solid var(--aubergine);max-width:960px;}
.item{border-bottom:1px solid var(--line);}
.item h3{font-size:inherit;line-height:inherit;}
.item-toggle{display:block;width:100%;text-align:left;background:none;border:0;padding:clamp(1.4rem,2.8vw,2.1rem) 0;cursor:pointer;}
.item-top{display:flex;align-items:baseline;gap:.9rem;}
.name{font-family:var(--display);font-weight:780;font-stretch:78%;font-size:clamp(2rem,5.6vw,3.2rem);line-height:1;letter-spacing:-.01em;transition:color .2s ease;}
@media (hover:hover){.item-toggle:hover .name{color:var(--bitter);}}
.leader,.price{display:none;}
.leader{flex:1 1 2rem;min-width:1.5rem;border-bottom:2px dotted rgba(59,23,38,.4);}
.price{font-family:var(--text);font-style:italic;font-weight:400;font-stretch:normal;letter-spacing:0;font-size:var(--fs-md);white-space:nowrap;}
.plus{flex:none;margin-left:auto;align-self:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1.5px solid rgba(59,23,38,.35);display:grid;place-items:center;transition:transform .3s ease,background .2s ease,color .2s ease;}
.plus svg{width:14px;height:14px;}
.item.open .plus{transform:rotate(45deg);background:var(--aubergine);border-color:var(--aubergine);color:#fff;}
.desc{display:block;margin-top:.55rem;font-family:var(--text);font-weight:400;font-stretch:normal;letter-spacing:0;font-size:var(--fs-md);line-height:1.4;color:var(--aubergine-2);}
.fav{display:inline-block;margin-top:.6rem;padding:.28rem .65rem;border-radius:999px;background:var(--rosmarin);color:#fff;font-family:var(--display);font-weight:600;font-stretch:90%;letter-spacing:.01em;font-size:.8rem;line-height:1;white-space:nowrap;}
.details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.details > div{overflow:hidden;}
.item.open .details{grid-template-rows:1fr;}
.details .inner{padding-bottom:clamp(1.6rem,3vw,2.2rem);}
.details p{max-width:34em;margin:0 0 1.3rem;}

/* ---------- Über mich ---------- */
.about{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.portrait{aspect-ratio:4/5;border-radius:999px 999px 28px 28px;background:var(--rose);overflow:hidden;display:grid;place-items:center;max-width:420px;width:100%;}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;}
.portrait .ph{text-align:center;color:var(--aubergine-2);font-style:italic;padding:2rem;}
.portrait .ph svg{display:block;width:56px;height:56px;margin:0 auto .8rem;color:var(--bitter);}
.about-text{max-width:34em;}
.about-text h2{font-size:var(--fs-xl);margin-bottom:1.2rem;}
.about-text p{font-size:var(--fs-base);}
.about-text .lead{font-size:var(--fs-md);line-height:1.5;}
.sign{display:inline-block;margin:.9rem 0 0 .2rem;font-family:'Fuggles','Newsreader',cursive;font-weight:400;font-size:clamp(4.2rem,9vw,5.4rem);line-height:.8;color:var(--bitter);letter-spacing:.01em;transform:rotate(-7deg);transform-origin:left center;}

/* ---------- Galerie ---------- */
#bilder{padding-top:0;}
.gallery{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(2,1fr);gap:clamp(8px,1.2vw,16px);}
.gallery button{display:block;padding:0;border:0;background:var(--rose);border-radius:clamp(12px,1.6vw,20px);overflow:hidden;cursor:zoom-in;aspect-ratio:3/4;}
.gallery button.wide{grid-column:span 2;aspect-ratio:3/2;}
.gallery button.feature{grid-column:span 2;aspect-ratio:4/5;}
.gallery img{width:100%;height:100%;object-fit:cover;}
/* Galerie im Vollbild: wischen, Pfeiltasten oder Knöpfe */
dialog.lightbox{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(36,12,22,.97);color:#fff;overflow:hidden;}
html.lb-offen{overflow:hidden;}
.lb-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.lb-track::-webkit-scrollbar{display:none;}
.lb-slide{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:4.2rem 1rem 6rem;}
.lb-slide img{display:block;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px;}
.lb-slide figcaption{max-width:36rem;text-align:center;font-size:var(--fs-sm);line-height:1.4;color:rgba(251,241,238,.78);}
.lb-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:rgba(251,241,238,.14);color:#fff;cursor:pointer;}
.lb-btn svg{width:22px;height:22px;}
.lb-btn:disabled{opacity:.3;cursor:default;}
.lb-close{position:absolute;top:max(.8rem,env(safe-area-inset-top));right:.8rem;}
.lb-bar{position:absolute;left:0;right:0;bottom:max(1rem,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:1.4rem;}
.lb-count{margin:0;min-width:4.5rem;text-align:center;font-family:var(--display);font-weight:600;font-stretch:90%;font-variant-numeric:tabular-nums;}
@media (hover:hover){.lb-btn:not(:disabled):hover{background:rgba(251,241,238,.28);}}
@media (min-width:1000px){
  .lb-slide{padding:4rem 6.5rem 5.5rem;}
  .lb-bar{position:static;}
  #lbPrev,#lbNext{position:absolute;top:50%;transform:translateY(-50%);}
  #lbPrev{left:1.4rem;} #lbNext{right:1.4rem;}
  .lb-count{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);}
}
dialog.lightbox::backdrop{background:rgba(36,12,22,.97);}

/* ---------- Anfrage ---------- */
#anfrage{background:var(--aubergine);color:var(--schaum);}
#anfrage .head p{color:rgba(251,241,238,.82);}
#anfrage .head h2{color:#fff;}
.slip{background:var(--schaum);color:var(--aubergine);border-radius:clamp(18px,2.4vw,28px);padding:1rem;max-width:980px;}
.step{border:0;margin:0;padding:0 0 clamp(1.6rem,3vw,2.2rem);}
.step + .step{border-top:1px solid var(--line);padding-top:clamp(1.6rem,3vw,2.2rem);}
.step legend{float:left;width:100%;display:flex;align-items:baseline;gap:.8rem;padding:0;margin-bottom:1.2rem;font-family:var(--display);font-weight:760;font-stretch:80%;font-size:clamp(1.7rem,4vw,2.3rem);line-height:1;}
.step legend .n{display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--bitter);color:#fff;font-size:1.2rem;font-stretch:90%;flex:none;transform:translateY(-.15rem);}
.fields{display:grid;gap:1.3rem;clear:both;}
.field{display:flex;flex-direction:column;gap:.45rem;min-width:0;}
.field > label,.field .lbl{font-family:var(--display);font-weight:650;font-stretch:90%;font-size:1.02rem;}
.opt{font-family:var(--text);font-weight:400;font-style:italic;color:var(--aubergine-2);}
.hint{font-size:var(--fs-sm);color:var(--aubergine-2);}
input[type=email],input[type=text],input[type=number],textarea{font:inherit;font-size:1.05rem;color:var(--aubergine);background:#fff;border:1.5px solid rgba(59,23,38,.28);border-radius:12px;padding:.8rem .95rem;width:100%;min-height:52px;}
textarea{min-height:110px;resize:vertical;}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--bitter);outline-offset:1px;border-color:var(--bitter);}
input::placeholder,textarea::placeholder{color:rgba(90,42,60,.55);}

/* Chips (Radio) */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;}
.chip{position:relative;}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.chip span{display:inline-flex;align-items:center;min-height:46px;padding:.5rem 1.05rem;border:1.5px solid rgba(59,23,38,.28);border-radius:999px;background:#fff;font-family:var(--display);font-weight:600;font-stretch:88%;font-size:1rem;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;}
@media (hover:hover){.chip input:hover + span{border-color:var(--aubergine);}}
.chip input:checked + span{background:var(--aubergine);border-color:var(--aubergine);color:#fff;}
.chip input:focus-visible + span{outline:3px solid var(--bitter);outline-offset:2px;}

/* Stepper */
.stepper{display:flex;align-items:center;gap:.5rem;}
.stepper button{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(59,23,38,.28);background:#fff;font-family:var(--display);font-size:1.5rem;font-weight:600;cursor:pointer;flex:none;}
@media (hover:hover){.stepper button:hover{border-color:var(--aubergine);}}
.stepper input{width:5.5rem;text-align:center;font-family:var(--display);font-weight:700;font-size:1.4rem;font-variant-numeric:tabular-nums;-moz-appearance:textfield;}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* Kalender */
.cal{background:#fff;border:1.5px solid rgba(59,23,38,.2);border-radius:18px;padding:.6rem;max-width:440px;}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;}
.cal-title{font-family:var(--display);font-weight:720;font-stretch:82%;font-size:1.45rem;}
.cal-nav{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(59,23,38,.2);background:var(--schaum);cursor:pointer;display:grid;place-items:center;}
.cal-nav svg{width:18px;height:18px;}
.cal-nav:disabled{opacity:.3;cursor:not-allowed;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-dow{text-align:center;font-family:var(--display);font-stretch:88%;font-size:.85rem;font-weight:600;color:var(--aubergine-2);padding:.3rem 0;}
.cal-dow.sa{color:var(--bitter);}
.cal-day{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;font-family:var(--display);font-stretch:90%;font-size:1rem;font-variant-numeric:tabular-nums;color:rgba(59,23,38,.3);border:0;background:none;padding:0;}
button.cal-day{color:var(--aubergine);font-weight:700;background:var(--rose);cursor:pointer;}
@media (hover:hover){button.cal-day:hover{background:#ecc0c2;}}
button.cal-day[aria-pressed=true]{background:var(--bitter);color:#fff;}
.cal-note{margin:.7rem 0 0;font-size:var(--fs-sm);color:var(--aubergine-2);}
.chosen{font-family:var(--display);font-weight:650;font-stretch:88%;font-size:1.1rem;min-height:1.5em;margin-top:.8rem;}
.chosen b{color:var(--bitter);}

.submit{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;padding-top:clamp(1.4rem,3vw,2rem);border-top:2px solid var(--aubergine);}
.submit .btn{min-height:58px;font-size:1.15rem;padding-inline:2rem;}
.submit p{margin:0;font-size:var(--fs-sm);color:var(--aubergine-2);max-width:40em;}
.submit a{color:var(--bitter);font-weight:600;}
.error{color:var(--bitter-dark);font-family:var(--display);font-weight:650;font-stretch:90%;min-height:1.4em;margin:0 0 .8rem;}

/* ---------- Footer ---------- */
footer{padding-block:clamp(2.5rem,5vw,4rem);}
footer .shell{display:grid;gap:1.6rem;}
.f-brand b{font-family:var(--display);font-weight:800;font-stretch:78%;font-size:2.2rem;line-height:1;display:block;}
.f-brand span{font-style:italic;color:var(--aubergine-2);}
.f-links{display:flex;flex-wrap:wrap;gap:0 1.6rem;}
.f-links a{font-family:var(--display);font-weight:600;font-stretch:90%;text-decoration:none;}
@media (hover:hover){.f-links a:hover{color:var(--bitter);text-decoration:underline;}}
.copy{font-size:var(--fs-sm);color:var(--aubergine-2);margin:0;}

/* =====================================================================
   Tablet ab 700px
   ===================================================================== */
@media (min-width:700px){
  .fields.two{grid-template-columns:1fr 1fr;}
  .leader,.price{display:block;}
  .plus{margin-left:0;}
  .fields .full{grid-column:1/-1;}
  .gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(170px,19vw,290px);}
  .gallery button{aspect-ratio:auto;}
  .gallery button.tall,.gallery button.feature{grid-row:span 2;}
  .gallery button.feature{grid-column:auto;aspect-ratio:auto;}
  .gallery button.wide{grid-column:span 2;aspect-ratio:auto;}
  .submit{flex-direction:row;align-items:center;gap:1.4rem;}
  footer .shell{grid-template-columns:1fr auto;align-items:end;}
}

/* =====================================================================
   Desktop ab 1000px
   ===================================================================== */
@media (min-width:1000px){
  :root{--nav-h:76px;}
  .menu-btn,.mobile-menu{display:none !important;}
  .nav-links{display:flex;gap:2rem;}
  .nav-links a{font-family:var(--display);font-weight:600;font-stretch:90%;font-size:1.02rem;text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent;}
  @media (hover:hover){.nav-links a:hover{border-bottom-color:var(--bitter);}}

  .hero .shell{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"title photo" "recipe photo";column-gap:clamp(2.5rem,5vw,5rem);row-gap:2.2rem;align-items:start;}
  .hero h1{grid-area:title;}
  .hero-photo{grid-area:photo;aspect-ratio:auto;height:100%;min-height:640px;}
  .hero-recipe{grid-area:recipe;}

  .about{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}
}

/* ---------- Anlässe (Startseite) ---------- */
#anlaesse{padding-bottom:0;}
.occasions{list-style:none;margin:0;padding:0;border-top:2px solid var(--aubergine);max-width:960px;}
.occasions li{border-bottom:1px solid var(--line);}
.occasions a{display:block;padding:clamp(1.2rem,2.4vw,1.7rem) 0;text-decoration:none;}
.occasions .name{font-size:clamp(1.7rem,4.4vw,2.5rem);}
@media (hover:hover){.occasions a:hover .name{color:var(--bitter);}}

/* ---------- Häufige Fragen ---------- */
#fragen{padding-top:0;}
.menu--faq .item-toggle{padding:1.1rem 0;}
.menu--faq .name{font-size:clamp(1.25rem,2.8vw,1.6rem);font-weight:700;font-stretch:86%;line-height:1.2;letter-spacing:0;}
.menu--faq .plus{width:1.9rem;height:1.9rem;margin-left:auto;}
.menu--faq .details .inner{padding-bottom:1.3rem;}
.menu--faq .details p{margin:0 0 .6rem;}
.menu--faq .details a{color:var(--bitter);font-weight:600;}

/* ---------- Anlass-Seiten ---------- */
.crumb-shell{max-width:var(--max);margin:0 auto 1.2rem;padding-inline:var(--gutter);}
.crumbs{margin:0;font-size:var(--fs-sm);color:var(--aubergine-2);}
.crumbs a{color:inherit;}
.prose{max-width:40rem;}
.prose h2{font-size:clamp(1.9rem,4.4vw,2.8rem);margin:0 0 1rem;}
.prose h2:not(:first-child){margin-top:clamp(2.4rem,5vw,3.6rem);}
.prose p{margin:0 0 1em;}
.prose a{color:var(--bitter);font-weight:600;}
.steps{list-style:none;counter-reset:schritt;margin:0;padding:0;display:grid;gap:1.1rem;}
.steps li{counter-increment:schritt;display:grid;grid-template-columns:2.2rem 1fr;gap:.9rem;align-items:start;}
.steps li::before{content:counter(schritt);display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--bitter);color:#fff;font-family:var(--display);font-weight:760;font-stretch:90%;font-size:1.15rem;}
.two{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:start;}
.side-photo{margin:0;border-radius:clamp(18px,3vw,32px);overflow:hidden;background:var(--rose);aspect-ratio:4/5;max-width:440px;}
.side-photo img{width:100%;height:100%;object-fit:cover;}
.block--rose{background:var(--rose);}
.block--flush{padding-top:0;}
.cta-band{background:var(--aubergine);color:var(--schaum);}
.cta-band h2{font-size:var(--fs-xl);color:#fff;margin-bottom:.8rem;}
.cta-band p{max-width:34rem;font-size:var(--fs-md);line-height:1.5;color:rgba(251,241,238,.85);margin:0 0 1.6rem;}
.f-anlass{display:flex;flex-wrap:wrap;gap:0 1.6rem;grid-column:1/-1;font-size:var(--fs-sm);}
.f-anlass a{color:var(--aubergine-2);}
@media (hover:hover){.f-anlass a:hover{color:var(--bitter);}}
@media (min-width:1000px){
  .two{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
}


/* =====================================================================
   Handy zuerst: Feinschliff
   Basis gilt fürs Handy, größere Bildschirme stehen darunter.
   ===================================================================== */
.hero-cta .btn,.submit .btn{width:100%;}
.hero-cta .textlink{display:inline-block;padding:.6rem 0;}
.hero-cta{gap:.3rem 1.6rem;}
.spec{margin-bottom:1.2rem;}
.spec .ing{font-size:var(--fs-base);}
.method{font-size:1.0625rem;margin-bottom:1.3rem;}
.details .btn{max-width:100%;white-space:normal;text-align:center;}
.f-links a,.f-anlass a{display:inline-block;padding:.65rem 0;}
a,button,label{-webkit-tap-highlight-color:rgba(194,31,58,.12);}

/* Klare Abschnitte am Handy: abwechselnde Farbbänder, große Überschriften, kleinere Einträge */
:root{--fs-xl:clamp(2.6rem,6vw,3.75rem);--band:clamp(3.5rem,8vw,7rem);}
#ueber,#fragen{background:var(--rose);}
#anlaesse{padding-bottom:var(--band);}
#bilder,#fragen{padding-top:var(--band);}
.head{margin-bottom:1.6rem;}
.head p,.desc{font-size:var(--fs-base);}
.name{font-size:clamp(1.75rem,5.6vw,3.2rem);}
.occasions .name{font-size:clamp(1.4rem,4.4vw,2.5rem);}
.menu--faq .name{font-size:clamp(1.15rem,2.8vw,1.6rem);}
.occasions .item-top{align-items:center;}
.occasions .item-top::after{content:"";flex:none;margin-left:auto;margin-right:.3rem;width:.6rem;height:.6rem;border-top:2px solid var(--bitter);border-right:2px solid var(--bitter);transform:rotate(45deg);}

@media (min-width:700px){
  .hero-photo{aspect-ratio:4/3;}
  .spec li{grid-template-columns:4.6rem 1fr;gap:1rem;padding:.8rem 0;}
  .spec .qty{font-size:1.9rem;}
  .spec{margin-bottom:1.6rem;}
  .spec .ing{font-size:var(--fs-md);}
  .method{font-size:var(--fs-base);margin-bottom:1.8rem;}
  .hero-cta{gap:1rem 1.6rem;}
  .hero-cta .btn,.submit .btn{width:auto;}
  .slip{padding:clamp(1.8rem,3.5vw,2.8rem);}
  .cal{padding:1.2rem;}
  .f-links a,.f-anlass a{padding:.3rem 0;}
  .head{margin-bottom:clamp(2rem,4vw,3rem);}
  .head p,.desc{font-size:var(--fs-md);}
  .occasions .item-top{align-items:baseline;}
  .occasions .item-top::after{content:none;}
}
@media (min-width:1000px){
  .hero-photo{aspect-ratio:auto;}
  #ueber,#fragen{background:transparent;}
  #anlaesse{padding-bottom:0;}
  #bilder,#fragen{padding-top:0;}
}
