:root{
  /* vom Tresen: Minzkachel, Messinglampe, Eichenplatte, Kornblume, Beere */
  --minze:#9FD4C4;
  --minze-hell:#DFF0EA;
  --minze-tief:#2F6B5C;
  --kornblume:#3B4FBF;
  --messing:#C79A4B;
  --eiche:#C89A62;
  --kirsche:#C0405A;
  --kakao:#3A2B22;
  --zucker:#FDFBF5;

  --s--2:clamp(.75rem,.73rem + .1vw,.82rem);
  --s--1:clamp(.87rem,.84rem + .13vw,.96rem);
  --s-0:clamp(1.03rem,1rem + .16vw,1.13rem);
  --s-1:clamp(1.18rem,1.08rem + .4vw,1.44rem);
  --s-2:clamp(1.55rem,1.2rem + 1.6vw,2.65rem);
  --s-3:clamp(2.15rem,1.4rem + 3.3vw,4.3rem);
  --space:clamp(1.4rem,1.1rem + 1.5vw,2.5rem);
  --edge:clamp(1.2rem,.7rem + 2.5vw,3.25rem);
}
*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,h4,p,ul,ol,li,figure,dl,dt,dd{margin:0;padding:0;}
body{
  font-family:'Nunito Sans',system-ui,sans-serif;
  font-size:var(--s-0);line-height:1.66;font-weight:400;
  color:var(--kakao);background:var(--zucker);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
ul,ol{list-style:none;}
a{color:inherit;}
:focus-visible{outline:3px solid var(--kornblume);outline-offset:3px;}
[id]{scroll-margin-top:3.5rem;}

.c-display{font-family:'Caprasimo',Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.005em;}
.c-wrap{width:min(72rem,100%);margin-inline:auto;padding-inline:var(--edge);}
.c-mark{display:inline-block;font-size:var(--s--2);letter-spacing:.14em;text-transform:uppercase;font-weight:800;
  color:var(--kakao);background:var(--minze);padding:.3rem .8rem;border-radius:1rem;}

/* ── Präsenzo-Leiste ── */
.pz{background:var(--kakao);color:var(--zucker);font-size:var(--s--1);}
.pz__in{width:min(72rem,100%);margin-inline:auto;padding:.65rem var(--edge);
  display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center;justify-content:center;text-align:center;}
.pz__cta{color:var(--minze);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ── Kopf ── */
.kopf{background:var(--minze-hell);}
.kopf__in{width:min(72rem,100%);margin-inline:auto;padding:1rem var(--edge);
  display:flex;align-items:center;gap:var(--space);flex-wrap:wrap;}
.haus{font-family:'Caprasimo',serif;font-size:var(--s-1);text-decoration:none;display:flex;align-items:center;gap:.55rem;}
.haus i{width:1.2rem;height:1.2rem;border-radius:50%;background:var(--kornblume);display:block;flex:none;}
.nav{margin-inline-start:auto;display:flex;gap:.35rem;flex-wrap:wrap;font-size:var(--s--1);font-weight:700;}
.nav a{text-decoration:none;color:var(--kakao);padding:.4rem .9rem;border-radius:1.4rem;}
.nav a:hover{background:var(--minze);}
.nav a[aria-current="page"]{background:var(--kakao);color:var(--zucker);}

/* ── Hero ── */
.tresen{background:var(--minze-hell);padding-block:clamp(2.25rem,1.7rem + 3vw,4rem) clamp(2.5rem,1.9rem + 3vw,4.25rem);}
.tresen h1{font-size:var(--s-3);max-width:15ch;margin-top:1rem;}
.tresen h1 span{color:var(--kornblume);}
.tresen__lede{margin-top:1.3rem;max-width:46ch;font-size:var(--s-1);line-height:1.5;color:#5F5147;}
.tresen__reihe{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:.7rem;}

.c-voll{display:inline-block;background:var(--kakao);color:var(--zucker);text-decoration:none;
  font-size:var(--s--1);font-weight:800;padding:.95rem 1.8rem;border-radius:2rem;border:2px solid var(--kakao);}
.c-voll:hover{background:var(--kornblume);border-color:var(--kornblume);}
.c-linie{display:inline-block;text-decoration:none;border:2px solid var(--kakao);border-radius:2rem;
  font-size:var(--s--1);font-weight:800;padding:.95rem 1.8rem;}
.c-linie:hover{background:var(--minze);}

/* ── Signatur: der Kuchenplan ── */
.plan{padding-block:clamp(3rem,2.2rem + 4vw,5.5rem);}
.plan__kopf{max-width:50ch;}
.plan__kopf h2{font-size:var(--s-2);margin-top:.8rem;}
.plan__kopf p{margin-top:.9rem;color:#5F5147;}

.kuchen{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:38rem){.kuchen{grid-template-columns:1fr 1fr;}}
@media (min-width:58rem){.kuchen{grid-template-columns:repeat(3,1fr);}}
@media (min-width:76rem){.kuchen{grid-template-columns:repeat(4,1fr);}}
.stueck{background:var(--zucker);border:2px solid var(--kakao);border-radius:1.3rem;
  padding:1.2rem;display:flex;flex-direction:column;}
.stueck svg{display:block;width:100%;max-width:11rem;height:auto;margin-inline:auto;}
.stueck h3{font-family:'Caprasimo',serif;font-size:var(--s-1);margin-top:.65rem;line-height:1.15;}
.stueck p{margin-top:.45rem;font-size:var(--s--1);color:#5F5147;}
.stueck__preis{margin-top:.6rem;font-weight:800;font-size:var(--s--1);color:var(--minze-tief);}

.tage{margin-top:auto;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.3rem;}
.tage span{font-size:var(--s--2);font-weight:800;width:2.1rem;height:2.1rem;border-radius:50%;
  display:grid;place-items:center;background:#EAE6DC;color:#6F675C;}
.tage span[data-da]{background:var(--minze);color:var(--kakao);}
.tage span[data-heute]{background:var(--kornblume);color:#fff;box-shadow:0 0 0 3px var(--zucker),0 0 0 5px var(--kornblume);}
.plan__fuss{margin-top:clamp(1.5rem,1.2rem + 1vw,2.25rem);font-size:var(--s--1);color:#5F5147;max-width:62ch;}

/* ── Abschnitte ── */
.stube{padding-block:clamp(3rem,2.2rem + 4vw,5.5rem);}
.stube--minze{background:var(--minze-hell);}
.stube--kakao{background:var(--kakao);color:var(--zucker);}
.stube--kakao .c-mark{background:var(--messing);color:var(--kakao);}
.stube__kopf{max-width:50ch;}
.stube__kopf h2{font-size:var(--s-2);margin-top:.8rem;}
.stube__kopf p{margin-top:.9rem;color:#5F5147;}
.stube--kakao .stube__kopf p{color:rgba(253,251,245,.78);}

/* ── Frühstück ── */
.speisen{margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
.speise{display:grid;gap:.25rem 1.5rem;grid-template-columns:1fr auto;align-items:baseline;
  padding-block:1.1rem;border-bottom:2px solid rgba(58,43,34,.12);}
.speise:first-child{border-top:2px solid rgba(58,43,34,.12);}
.stube--kakao .speise{border-bottom-color:rgba(253,251,245,.2);}
.stube--kakao .speise:first-child{border-top-color:rgba(253,251,245,.2);}
.speise__name{font-family:'Caprasimo',serif;font-size:var(--s-1);}
.speise__preis{font-weight:800;font-size:var(--s-1);color:var(--minze-tief);white-space:nowrap;}
.stube--kakao .speise__preis{color:var(--messing);}
.speise__text{grid-column:1 / -1;font-size:var(--s--1);color:#5F5147;}
.stube--kakao .speise__text{color:rgba(253,251,245,.78);}
.mwst{margin-top:1.4rem;font-size:var(--s--1);color:#5F5147;max-width:58ch;}
.stube--kakao .mwst{color:rgba(253,251,245,.78);}

/* ── Punkte ── */
.punkte{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:44rem){.punkte{grid-template-columns:1fr 1fr;}}
@media (min-width:66rem){.punkte{grid-template-columns:repeat(3,1fr);}}
.punkt{border-top:4px solid var(--kornblume);padding-top:1rem;}
.stube--kakao .punkt{border-top-color:var(--messing);}
.punkt h3{font-family:'Caprasimo',serif;font-size:var(--s-1);}
.punkt p{margin-top:.5rem;font-size:var(--s--1);color:#5F5147;}
.stube--kakao .punkt p{color:rgba(253,251,245,.78);}

/* ── Bild ── */
.bild{margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
.bild img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:1.4rem;border:2px solid var(--kakao);}
.bild figcaption{margin-top:.7rem;font-size:var(--s--2);letter-spacing:.1em;text-transform:uppercase;color:#5F5147;font-weight:700;}

/* ── Kontakt ── */
.paare{display:grid;gap:var(--space);grid-template-columns:1fr;margin-top:clamp(2rem,1.5rem + 2vw,3rem);}
@media (min-width:44rem){.paare{grid-template-columns:1fr 1fr;}}
.paar h3{font-size:var(--s--2);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--minze-tief);margin-bottom:.85rem;}
.stube--kakao .paar h3{color:var(--messing);}
.paar__zeile{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem;
  border-bottom:2px solid rgba(58,43,34,.12);font-size:var(--s--1);}
.stube--kakao .paar__zeile{border-bottom-color:rgba(253,251,245,.2);}
.paar__zeile span:last-child{font-weight:700;text-align:right;}

/* ── Unterseiten ── */
.oben{background:var(--minze-hell);padding-block:clamp(2.5rem,1.9rem + 3vw,4.25rem);}
.oben h1{font-size:var(--s-2);max-width:20ch;margin-top:.8rem;}
.oben h1 span{color:var(--kornblume);}
.oben p{margin-top:1rem;max-width:50ch;color:#5F5147;font-size:var(--s-1);line-height:1.5;}

.fuss{padding-block:2.5rem;font-size:var(--s--1);color:#5F5147;}
.fuss a{color:var(--minze-tief);font-weight:700;}
.fuss p + p{margin-top:.45rem;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
