/* ============================================================
   CASA — Modern Delivery Theme  (Nachbau AviSaaS "Prime"/Resto Casa)
   Warm, rund, foodfoto-lastig · Orange-CTA + Pink-Akzent · Fredoka/Nunito

   EIN Stylesheet fuer das ganze Theme. Schriften, Basis und Branche-Skins
   lagen frueher in drei Dateien — drei getrennte <link> im <head>, von denen
   jeder das Rendern aufhielt. Zusammengelegt spart das zwei Roundtrips auf
   dem kritischen Pfad. Reihenfolge ist bewusst: @font-face, dann Basis,
   dann die Branche-Ueberschreibungen ganz am Ende.
   ============================================================ */

/* ==========================================================================
   Casa-Textfonts (lokal, DSGVO-konform).

   Nunito und Fredoka sind VARIABLE Fonts: eine Datei deckt die ganze
   Gewichtsachse ab. Vorher lag dieselbe Datei fuenf- bzw. dreimal unter
   verschiedenen Namen (nunito-400..900, fredoka-500..700) und der Browser
   hat sie auch fuenf- bzw. dreimal geladen -> 255 KB statt 69 KB und
   7 Requests statt 2.
   ========================================================================== */
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("/casa/fonts/nunito.woff2") format("woff2");
}

@font-face {
  font-family: "Fredoka";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/casa/fonts/fredoka.woff2") format("woff2");
}


:root{
  --bg:#F3F1ED; --surface:#ffffff; --surface-2:#faf8f4;
  --ink:#241f1b; --ink-2:#4a423b; --muted:#746d65; --line:#ece7de;
  --primary:#FF7A00; --primary-d:#ea6c00; --primary-ink:#fff;
  /* Das Marken-Orange erreicht als Text auf Hell nur 2,6:1 und traegt auch
     keinen weissen Text (2,6:1). --primary-deep ist derselbe Farbton, nur
     dunkel genug fuer WCAG AA — geprueft gegen BEIDE hellen Untergruende
     (--surface #fff und --bg #F3F1ED) und mit weisser Schrift darauf.
     Nur gegen Weiss zu rechnen reicht nicht: auf --bg fehlten 0,5 Punkte. */
  --primary-deep:#AE5300;
  --accent:#FF2A68; --accent-d:#e01e58;
  --green:#22b573; --gold:#F5A623; --dark:#160f08;
  /* Textfeste Varianten der Markenfarben: >= 4,5:1 auf BEIDEN hellen
     Untergruenden (--surface und --bg) und mit weisser Schrift darauf.
     Die hellen Originale bleiben fuer Flaechen, Verlaeufe, Schatten und
     Icons in Gebrauch. */
  --accent-deep:#D9003F; --green-deep:#177C4F;
  --r-sm:12px; --r:18px; --r-lg:26px; --pill:999px;
  --sh-sm:0 4px 14px rgba(30,20,10,.06);
  --sh:0 16px 44px rgba(30,20,10,.10);
  --sh-lg:0 34px 80px rgba(30,20,10,.18);
  --fd:"Fredoka",system-ui,sans-serif;
  --fb:"Nunito",system-ui,-apple-system,sans-serif;
  --wrap:1240px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--fb); font-size:16px; font-weight:600; line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
/* height:auto ist Pflicht, sobald ein <img> width/height als Attribut traegt:
   sonst gilt die Attribut-Hoehe als Praesentations-Hinweis weiter, waehrend
   CSS nur die Breite ueberschreibt — das Bild wird verzerrt. Regeln, die
   bewusst eine Hoehe setzen (object-fit-Container), sind spezifischer und
   gewinnen weiterhin. */
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4,.h1,.h2,.h3{font-family:var(--fd); font-weight:600; line-height:1.08; letter-spacing:-.01em; margin:0}
.casa-wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px}
.casa-kicker{font-family:var(--fd); font-weight:600; color:var(--accent-deep); letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; margin:0 0 .4rem}
.casa-section{padding:64px 0}
.casa-section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:28px}
.casa-section__head h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}

/* ---------- Buttons / Pills ---------- */
.casa-btn{display:inline-flex; align-items:center; gap:.55rem; font-family:var(--fd); font-weight:600;
  border:0; cursor:pointer; padding:.85rem 1.5rem; border-radius:var(--pill); font-size:1rem;
  background:var(--primary-deep); color:var(--primary-ink); transition:.25s cubic-bezier(.2,.7,.3,1);
  box-shadow:0 10px 24px rgba(255,122,0,.28)}
.casa-btn:hover{transform:translateY(-2px); background:color-mix(in srgb, var(--primary-deep) 88%, #000); box-shadow:0 16px 32px rgba(255,122,0,.36)}
.casa-btn--ghost{background:transparent; color:var(--ink); box-shadow:none; border:2px solid var(--line)}
.casa-btn--ghost:hover{background:#fff; border-color:var(--primary); color:var(--primary); box-shadow:var(--sh-sm)}
.casa-btn--lg{padding:1.05rem 2rem; font-size:1.08rem}
.casa-pill{display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1rem; border-radius:var(--pill);
  background:#fff; box-shadow:var(--sh-sm); font-weight:700; font-size:.92rem; color:var(--ink)}
.casa-pill i{color:var(--primary)}

/* ---------- Header (scrollt normal mit raus; nur die Kategorieleiste klebt) ---------- */
.casa-header{position:relative; z-index:20; padding:14px 0}
.casa-header__inner{display:flex; align-items:center; gap:14px}
.casa-brand{display:flex; align-items:center; gap:.6rem; font-family:var(--fd); font-weight:700; font-size:1.3rem; color:var(--ink); flex-shrink:0}
.casa-brand__logo{width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg,var(--primary),var(--gold));
  display:grid; place-items:center; color:#fff; box-shadow:0 8px 20px rgba(255,122,0,.35); flex-shrink:0}
.casa-brand__logo img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.casa-nav{display:flex; align-items:center; gap:8px; margin-left:6px}
.casa-nav a.casa-navpill{padding:.6rem 1.1rem; border-radius:var(--pill); background:rgba(255,255,255,.9); box-shadow:var(--sh-sm); font-weight:700; font-size:.93rem; display:inline-flex; gap:.45rem; align-items:center}
.casa-nav a.casa-navpill i{color:var(--primary)}
.casa-header__spacer{flex:1}
.casa-header__actions{display:flex; align-items:center; gap:8px}
.casa-iconbtn{width:44px; height:44px; border-radius:var(--pill); background:#fff; box-shadow:var(--sh-sm); display:grid; place-items:center; color:var(--ink); border:0; cursor:pointer}
.casa-cartpill{display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .95rem .5rem .6rem; border-radius:var(--pill); background:#fff; box-shadow:var(--sh-sm); font-weight:800; position:relative}
.casa-cartpill .ic{width:32px;height:32px;border-radius:var(--pill);background:var(--primary);color:#fff;display:grid;place-items:center}
.casa-cartpill .cnt{position:absolute; top:-4px; left:24px; background:var(--accent); color:#fff; font-size:.68rem; min-width:18px; height:18px; border-radius:var(--pill); display:grid; place-items:center; padding:0 4px}
/* header over dark hero */
.casa-header--onhero{position:absolute; left:0; right:0}
.casa-header--onhero .casa-brand{color:#fff}
.casa-header--onhero .casa-navpill{background:rgba(255,255,255,.14); color:#fff; backdrop-filter:blur(8px); box-shadow:none}
.casa-header--onhero .casa-navpill i{color:#fff}

/* ---------- Hero ---------- */
.casa-hero{position:relative; min-height:660px; display:flex; align-items:center; color:#fff;
  background:var(--dark); overflow:hidden}
.casa-hero__bg{position:absolute; inset:0; overflow:hidden;
  filter:brightness(.52)}
.casa-hero__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,10,5,.86) 0%,rgba(15,10,5,.45) 55%,rgba(15,10,5,.15) 100%)}
.casa-hero__inner{position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:center; width:100%; padding-top:70px}
.casa-hero__badge{display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1.05rem; border-radius:var(--pill);
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); font-weight:800; font-size:.82rem; letter-spacing:.05em; text-transform:uppercase}
.casa-hero__badge .dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}
.casa-hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem); margin:1.1rem 0 1rem; max-width:12ch}
.casa-hero__sub{font-size:1.12rem; color:rgba(255,255,255,.82); max-width:44ch; margin-bottom:1.6rem; font-weight:600}
.casa-addr{display:flex; align-items:center; gap:.5rem; background:#fff; border-radius:var(--pill); padding:.5rem .5rem .5rem 1.2rem; max-width:520px; box-shadow:var(--sh-lg)}
.casa-addr i{color:var(--primary)}
.casa-addr input{flex:1; border:0; outline:0; font-family:var(--fb); font-weight:700; font-size:1rem; color:var(--ink); background:transparent; min-width:0}
.casa-addr input::placeholder{color:var(--muted)}
.casa-hero__note{margin:.8rem 0 0; font-size:.9rem; color:rgba(255,255,255,.7)}
.casa-hero__note a{color:var(--primary-deep); text-decoration:underline}
.casa-social{display:flex; align-items:center; gap:.7rem; margin-top:1.5rem}
.casa-social__ava{display:flex}
.casa-social__ava span{width:34px;height:34px;border-radius:50%;border:2px solid var(--dark);margin-left:-10px;overflow:hidden}
.casa-social__ava span img{width:100%;height:100%;object-fit:cover}
.casa-social b{font-weight:900}
/* floating product card */
.casa-float{position:relative; justify-self:center}
.casa-float__card{position:relative; width:330px; background:#fff; border-radius:var(--r-lg); padding:26px; box-shadow:var(--sh-lg)}
.casa-float__card img{width:190px; height:190px; object-fit:contain; margin:6px auto 14px}
.casa-float__card h2{color:var(--ink); font-size:1.25rem}
.casa-float__stars{color:var(--gold); font-size:.95rem; margin-top:.2rem}
.casa-float__tag{position:absolute; top:18px; left:18px; background:var(--green-deep); color:#fff; font-size:.72rem; font-weight:800; padding:.3rem .6rem; border-radius:var(--pill); text-transform:uppercase; letter-spacing:.04em}
.casa-badge-float{position:absolute; background:#fff; border-radius:16px; padding:.6rem .85rem; box-shadow:var(--sh); display:flex; align-items:center; gap:.5rem; color:var(--ink); font-weight:800; font-size:.8rem}
.casa-badge-float small{display:block; color:var(--muted); font-weight:700; font-size:.66rem; letter-spacing:.05em}
.casa-badge-float.fav{top:-16px; right:-10px} .casa-badge-float.fav i{color:var(--accent)}
.casa-badge-float.time{top:150px; left:-40px} .casa-badge-float.time i{color:var(--primary)}
.casa-badge-float.off{bottom:-14px; right:6px; background:var(--green); color:#fff}
.casa-badge-float.off small{color:rgba(255,255,255,.8)}

/* ---------- Rails (horizontal scroll) ---------- */
.casa-rail{display:flex; gap:18px; overflow-x:auto; padding:6px 2px 18px; scroll-snap-type:x mandatory; scrollbar-width:none}
.casa-rail::-webkit-scrollbar{display:none}
.casa-rail>*{scroll-snap-align:start; flex:0 0 auto}

/* category card */
.casa-cat{width:210px; background:var(--surface); border-radius:var(--r-lg); padding:16px; box-shadow:var(--sh-sm); text-align:center; transition:.25s}
.casa-cat:hover{transform:translateY(-6px); box-shadow:var(--sh)}
.casa-cat__img{height:150px; border-radius:var(--r); margin-bottom:12px; overflow:hidden}
.casa-cat__img img{width:100%; height:100%; object-fit:cover}
.casa-cat h3{font-size:1.1rem} .casa-cat span{color:var(--muted); font-weight:700; font-size:.85rem}

/* flash deal card */
.casa-deal{width:360px; display:flex; gap:14px; background:var(--surface); border-radius:var(--r-lg); padding:16px; box-shadow:var(--sh-sm); position:relative; transition:.25s}
.casa-deal:hover{transform:translateY(-4px); box-shadow:var(--sh)}
.casa-deal__img{width:120px; height:120px; border-radius:var(--r); flex-shrink:0; position:relative; overflow:hidden}
.casa-deal__img img{width:100%; height:100%; object-fit:cover}
.casa-deal__save{position:absolute; top:8px; left:8px; background:var(--accent-deep); color:#fff; font-size:.68rem; font-weight:800; padding:.25rem .55rem; border-radius:var(--pill); display:inline-flex; gap:.25rem; align-items:center; box-shadow:0 4px 12px rgba(255,42,104,.4)}
.casa-deal__b{flex:1; min-width:0; display:flex; flex-direction:column}
.casa-deal__b h3{font-size:1.12rem; margin-bottom:.15rem}
.casa-deal__b p{color:var(--muted); font-weight:700; font-size:.9rem; margin:0 0 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.casa-price{display:flex; align-items:baseline; gap:.5rem; margin-top:.5rem}
.casa-price .old{color:var(--muted); text-decoration:line-through; font-weight:700; font-size:.9rem}
.casa-price .new{color:var(--primary-deep); font-family:var(--fd); font-weight:700; font-size:1.3rem}
.casa-add{position:absolute; bottom:16px; right:16px; width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  background:var(--primary); color:#fff; font-size:1.3rem; display:grid; place-items:center; box-shadow:0 8px 20px rgba(255,122,0,.4); transition:.2s}
.casa-add:hover{transform:scale(1.1) rotate(90deg); background:var(--primary-d)}

/* featured / product card (grid) */
.casa-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:22px}
.casa-card{background:var(--surface); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-sm); position:relative; transition:.28s cubic-bezier(.2,.7,.3,1)}
.casa-card:hover{transform:translateY(-8px); box-shadow:var(--sh)}
.casa-card__media{height:190px; position:relative; overflow:hidden}
.casa-card__media .bg{position:absolute; inset:0; transition:transform .5s}
.casa-card__media .bg img{width:100%; height:100%; object-fit:cover}
.casa-card:hover .casa-card__media .bg{transform:scale(1.08)}
.casa-card__media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(255,122,0,.0) 100%); opacity:0; transition:.3s}
.casa-card:hover .casa-card__media::after{opacity:1; background:linear-gradient(180deg,rgba(255,122,0,.05),rgba(255,42,104,.14))}
.casa-card__sale{position:absolute; top:12px; left:12px; z-index:2; background:var(--accent); color:#fff; font-size:.7rem; font-weight:800; padding:.28rem .6rem; border-radius:var(--pill)}
.casa-card__b{padding:16px 18px 18px}
.casa-card__b h3{font-size:1.12rem; margin-bottom:.1rem}
.casa-card__b p{color:var(--muted); font-weight:700; font-size:.88rem; margin:.15rem 0 0; min-height:1.2em}
.casa-card__foot{display:flex; align-items:center; justify-content:space-between; margin-top:.8rem}

/* ---------- Gallery ---------- */
.casa-gallery{columns:4; column-gap:16px}
.casa-gallery img{width:100%; border-radius:var(--r); margin-bottom:16px; break-inside:avoid; box-shadow:var(--sh-sm)}

/* ---------- Marquee band ---------- */
.casa-band{background:var(--dark); color:#fff; padding:14px 0; overflow:hidden; white-space:nowrap}
.casa-band span{display:inline-block; font-family:var(--fd); font-weight:600; font-size:1.1rem; letter-spacing:.02em; animation:casa-marq 22s linear infinite; padding-left:100%}
.casa-band b{color:var(--primary); margin:0 1rem}
@keyframes casa-marq{to{transform:translateX(-100%)}}

/* ---------- Footer ---------- */
.casa-footer{background:var(--dark); color:rgba(255,255,255,.72); padding:56px 0 30px; margin-top:20px}
.casa-footer__top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px}
.casa-footer h2{color:#fff; font-size:1.05rem; margin-bottom:.9rem}
.casa-footer a{display:block; padding:.22rem 0; color:rgba(255,255,255,.72)}
.casa-footer a:hover{color:var(--primary)}
.casa-footer__bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:36px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.86rem}

/* ============================================================
   MENÜ-/BESTELLSEITE
   ============================================================ */
.casa-locbanner{position:relative; min-height:340px; display:flex; align-items:flex-end; color:#fff; overflow:hidden}
.casa-locbanner__bg{position:absolute; inset:0; overflow:hidden}
/* Das Bild ist jetzt ein echtes <img> (Preload/fetchpriority greifen nur so).
   Die Abdunklung sitzt am Bild, damit der Verlauf darueber ungedimmt bleibt. */
.casa-locbanner__bg img{width:100%; height:100%; object-fit:cover; filter:brightness(.55)}
.casa-locbanner__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(10,7,4,.85))}
.casa-locbanner__inner{position:relative; width:100%; padding:26px 0 30px; display:flex; align-items:flex-end; gap:22px; flex-wrap:wrap}
.casa-locbanner__logo{width:120px; height:120px; border-radius:24px; background:linear-gradient(135deg,var(--primary),var(--gold)); display:grid; place-items:center; box-shadow:var(--sh-lg); flex-shrink:0; overflow:hidden}
.casa-locbanner__logo img{width:100%;height:100%;object-fit:cover}
.casa-locbanner h1{font-size:clamp(2rem,4vw,3rem)}
.casa-loc-meta{display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-top:.6rem}
.casa-openpill{background:var(--green-deep); color:#fff; padding:.3rem .8rem; border-radius:var(--pill); font-weight:800; font-size:.82rem; display:inline-flex; gap:.4rem; align-items:center}
.casa-openpill .dot{width:7px;height:7px;border-radius:50%;background:#fff}
.casa-loc-meta .m{display:inline-flex; align-items:center; gap:.35rem; font-weight:700; color:rgba(255,255,255,.9)}

.casa-orderbar{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:16px}
.casa-toggle{display:inline-flex; background:rgba(255,255,255,.14); border-radius:var(--pill); padding:5px; backdrop-filter:blur(6px)}
.casa-toggle button{border:0; background:transparent; color:#fff; font-family:var(--fd); font-weight:600; padding:.6rem 1.2rem; border-radius:var(--pill); cursor:pointer; display:inline-flex; gap:.45rem; align-items:center}
.casa-toggle button.is-active{background:var(--primary-deep); box-shadow:0 8px 18px rgba(255,122,0,.4)}

/* sticky category nav — klebt oben, sobald der Header rausgescrollt ist */
.casa-catnav{position:sticky; top:0; z-index:40; background:var(--surface); box-shadow:var(--sh-sm); border-radius:0 0 var(--r) var(--r)}
.casa-catnav__rail{display:flex; gap:6px; overflow-x:auto; padding:12px 6px; scrollbar-width:none}
.casa-catnav__rail::-webkit-scrollbar{display:none}
.casa-catnav a{white-space:nowrap; padding:.6rem 1.15rem; border-radius:var(--pill); font-family:var(--fd); font-weight:600; color:var(--primary-deep); font-size:.98rem}
.casa-catnav a.is-active{background:var(--primary-deep); color:#fff; box-shadow:0 8px 18px rgba(255,122,0,.3)}

/* menu layout: list + cart column */
.casa-menu{display:grid; grid-template-columns:1fr 360px; gap:28px; align-items:start; padding-top:34px}
.casa-cat-block{margin-bottom:38px}
.casa-cat-block__head{display:flex; gap:16px; align-items:center; margin-bottom:16px}
.casa-cat-block__img{width:78px;height:78px;border-radius:var(--r);flex-shrink:0;box-shadow:var(--sh-sm);overflow:hidden}
.casa-cat-block__img img{width:100%;height:100%;object-fit:cover}
.casa-cat-block__head h2{font-size:1.5rem} .casa-cat-block__head p{color:var(--muted); font-weight:700; font-size:.92rem; margin:.2rem 0 0}

/* menu row (list) */
.casa-row{display:flex; gap:16px; align-items:center; background:var(--surface); border-radius:var(--r); padding:14px; box-shadow:var(--sh-sm); margin-bottom:14px; position:relative; transition:.22s; cursor:pointer}
.casa-row:hover{transform:translateY(-3px); box-shadow:var(--sh)}
.casa-row__img{width:96px;height:96px;border-radius:14px;flex-shrink:0;overflow:hidden;position:relative}
.casa-row__img img{width:100%;height:100%;object-fit:cover}
.casa-row__b{flex:1; min-width:0}
.casa-row__b h3{font-size:1.1rem; display:flex; align-items:center; gap:.5rem}
.casa-row__b p{color:var(--muted); font-weight:700; font-size:.88rem; margin:.15rem 0 .4rem}
.casa-row__aside{display:flex; flex-direction:column; align-items:flex-end; gap:.5rem}

/* cart sidebar */
.casa-cart{position:sticky; top:16px; background:var(--surface); border-radius:var(--r-lg); box-shadow:var(--sh); overflow:hidden}
.casa-cart__head{background:var(--dark); color:#fff; padding:18px 20px; font-family:var(--fd); font-weight:600; font-size:1.2rem; display:flex; align-items:center; gap:.6rem}
.casa-cart__body{padding:20px}
.casa-cart__empty{text-align:center; color:var(--muted); padding:26px 10px}
.casa-cart__empty i{font-size:2.4rem; color:var(--line); display:block; margin-bottom:.6rem}

/* info button (Allergene) */
.casa-info{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--muted);
  font-family:var(--fd);font-weight:700;font-size:.78rem;line-height:1;display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0}
.casa-info:hover{border-color:var(--primary);color:var(--primary)}

/* chip (Größen etc.) */
.casa-chip{display:inline-block; padding:.28rem .7rem; border-radius:var(--pill); background:var(--surface-2); border:1px solid var(--line); font-weight:700; font-size:.8rem; color:var(--ink-2)}
.casa-tag-pop{background:var(--accent); color:#fff; font-size:.66rem; font-weight:800; padding:.15rem .5rem; border-radius:var(--pill); text-transform:uppercase; letter-spacing:.03em}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .casa-hero__inner{grid-template-columns:1fr; text-align:center}
  .casa-hero__badge,.casa-addr{margin-left:auto;margin-right:auto}
  .casa-hero__sub{margin-left:auto;margin-right:auto}
  .casa-float{display:none}
  .casa-menu{grid-template-columns:1fr}
  .casa-cart{position:static; margin-top:20px}
  .casa-footer__top{grid-template-columns:1fr 1fr}
  .casa-gallery{columns:2}
}
@media (max-width:620px){
  .casa-wrap{padding:0 16px}
  .casa-nav{display:none}
  .casa-hero{min-height:560px}
  .casa-row{flex-wrap:wrap}
  .casa-footer__top{grid-template-columns:1fr}
  .casa-gallery{columns:1}
  .casa-deal,.casa-cat{width:78vw}
  /* Header aufgeräumt: kleinere Marke, einheitliche runde Buttons, CTA nur Icon */
  .casa-header{padding:10px 0}
  .casa-header__inner{gap:10px}
  .casa-brand{font-size:1.05rem;gap:.45rem;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .casa-brand__logo{width:36px;height:36px;border-radius:11px;flex-shrink:0}
  .casa-header__actions{gap:8px;flex-shrink:0}
  .casa-iconbtn{width:44px;height:44px}
  .casa-header__cta{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;box-shadow:0 8px 20px rgba(255,122,0,.35);flex-shrink:0}
  .casa-header__cta .casa-btn__label{display:none}
  .casa-header__cta i{margin:0;font-size:1.1rem}
}

/* ============================================================
   MENÜ-SEITE — Feinschliff der TI-Komponenten
   ============================================================ */
.casa-locbanner__logo i{font-size:2.6rem;color:#fff}
.casa-timepill{display:inline-flex;align-items:center;background:rgba(255,255,255,.16);border-radius:var(--pill);padding:.35rem .5rem;backdrop-filter:blur(6px);color:#fff}
.casa-timepill *{color:#fff!important}
.casa-timepill .btn,.casa-timepill .dropdown-toggle{background:transparent!important;border:0!important;font-family:var(--fd);font-weight:600;box-shadow:none!important}

/* Kategorie-Nav (Vendor nav-pills) */
.casa-catnav .layout-scrollable{overflow-x:auto;scrollbar-width:none}
.casa-catnav .layout-scrollable::-webkit-scrollbar{display:none}
.casa-catnav .nav-pills{display:flex;gap:6px;flex-wrap:nowrap;padding:12px 4px;margin:0}
.casa-catnav .nav-item{list-style:none}
.casa-catnav .nav-link{white-space:nowrap;padding:.6rem 1.15rem!important;border-radius:var(--pill)!important;font-family:var(--fd);font-weight:600;color:var(--primary-deep)!important;font-size:.98rem;background:transparent!important;border:0}
.casa-catnav .nav-link.active{background:var(--primary-deep)!important;color:#fff!important;box-shadow:0 8px 18px rgba(255,122,0,.3)}

/* Menü-Raster */
.casa-menu__list{min-width:0}
.casa-cat-block,.casa-cat-block__head{scroll-margin-top:150px}
.casa-sizes{display:flex;gap:6px;flex-wrap:wrap;margin-top:.5rem}
.casa-ab{font-weight:700;font-size:.72rem;color:var(--muted)}
.casa-row--off{opacity:.55;filter:grayscale(.4)}
.casa-row--off .casa-add{background:var(--line)!important;box-shadow:none!important;color:var(--muted)}
.casa-row__soldout{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,15,8,.5);color:#fff;font-weight:800;font-size:.7rem;border-radius:14px}
.casa-row .casa-add i{font-size:1.15rem}
/* leere/Standard TI-Reihen falls kein casa-row-Override greift */
.casa-menu__list .menu-category p{color:var(--muted);font-weight:700}

/* ===== Slide-in-Warenkorb (Drawer von rechts) + Trigger-Pill (AviSaaS-Stil) ===== */
.casa-menu--full{grid-template-columns:1fr}

/* Trigger-Pill unten rechts (Korb + Anzahl + Summe) */
.casa-cart-fab{position:fixed;bottom:24px;right:24px;z-index:70;display:none;align-items:center;gap:.7rem;padding:.5rem .7rem;border-radius:var(--pill);border:0;cursor:pointer;color:#fff;font-family:var(--fd);font-weight:600;font-size:1.2rem;background:linear-gradient(100deg,var(--primary-deep),var(--accent-deep));box-shadow:0 16px 40px rgba(255,90,60,.45);transition:.25s}
body.casa-has-items .casa-cart-fab{display:inline-flex}
.casa-cart-fab:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(255,90,60,.55)}
.casa-cart-fab__ic{position:relative;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.24);display:grid;place-items:center;font-size:1.25rem}
.casa-cart-fab__ic .cnt{position:absolute;top:-5px;right:-5px;background:#fff;color:var(--accent);min-width:22px;height:22px;border-radius:var(--pill);display:grid;place-items:center;font-size:.76rem;font-weight:800;padding:0 5px;box-shadow:0 3px 8px rgba(0,0,0,.2)}
.casa-cart-fab__total{padding-right:.7rem;white-space:nowrap}

/* Backdrop + Drawer */
.casa-cart-backdrop{position:fixed;inset:0;background:rgba(20,15,8,.5);z-index:80;opacity:0;visibility:hidden;transition:.3s;backdrop-filter:blur(2px)}
.casa-cart-drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:94vw;background:#fff;z-index:81;transform:translateX(100%);transition:transform .38s cubic-bezier(.3,.85,.3,1);box-shadow:-24px 0 70px rgba(20,15,8,.28);display:flex;flex-direction:column}
body.casa-cart-open .casa-cart-backdrop{opacity:1;visibility:visible}
body.casa-cart-open .casa-cart-drawer{transform:translateX(0)}
.casa-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);flex-shrink:0}
.casa-cart-drawer__head>span{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--fd);font-weight:600;font-size:1.35rem}
.casa-cart-drawer__head>span i{color:var(--primary)}
.casa-cart-drawer__head button{background:var(--surface-2);border:0;color:var(--ink-2);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1.4rem;line-height:1}
.casa-cart-drawer__head button:hover{background:var(--line)}
.casa-cart-drawer__body{flex:1;overflow-y:auto;padding:18px 22px 24px}

/* cart-box im Drawer entstylen + AviSaaS-Look */
.casa-cart-drawer #cart-box{border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important}
.casa-cart-drawer #cart-items{padding:0!important}
.casa-cart-drawer #cart-items h5{font-family:var(--fd);font-weight:600;font-size:1.2rem;margin-bottom:1rem!important}
.casa-cart-drawer #cart-box .fa-basket-shopping{color:var(--line)}
.casa-cart-drawer .cart-items{margin-bottom:1rem!important}
.casa-cart-drawer .cart-items>ul>li{padding:.7rem 0;border-bottom:1px solid var(--line);align-items:flex-start}
/* Nur die runden ±-Buttons stylen (nicht den Namen-Button) */
.casa-cart-drawer .cart-items .rounded-circle{border-color:var(--line)!important;color:var(--primary)!important;width:32px;height:32px;background:#fff!important;flex-shrink:0}
.casa-cart-drawer .cart-items .rounded-circle:hover{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
/* Produktname-Button = reiner Text, volle Breite */
.casa-cart-drawer .cart-items li>.btn{color:var(--ink)!important;font-weight:700;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;width:auto!important;height:auto!important;min-height:0!important}
.casa-cart-drawer .cart-items li>.btn p{margin-bottom:.2rem!important;font-weight:800}
/* Options-Liste (Größe / Extra Käse …) als gedämpfter Kleintext, KEINE Trennlinien */
.casa-cart-drawer .cart-items ul.small{margin:.1rem 0 0!important;padding:0}
.casa-cart-drawer .cart-items ul.small li{padding:0!important;border:0!important;line-height:1.35;color:var(--ink-2)}
.casa-cart-drawer .cart-items ul.small li.text-muted{color:var(--muted)!important;font-weight:700;margin-top:.25rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em}
.casa-cart-drawer .cart-items .price{font-weight:800;white-space:nowrap;margin-left:.75rem}
.casa-cart-drawer .input-group .form-control{border-radius:var(--r-sm) 0 0 var(--r-sm)!important;border:1px solid var(--line)!important;background:var(--surface-2)}
.casa-cart-drawer .input-group .btn{border-radius:0 var(--r-sm) var(--r-sm) 0!important;background:var(--dark)!important;color:#fff!important;border:0!important}
.casa-cart-drawer .cart-totals,.casa-cart-drawer table{width:100%;font-weight:700}
.casa-cart-drawer .cart-totals td,.casa-cart-drawer table td{padding:.3rem 0}
.casa-cart-drawer .bn-progress{padding:14px 0;border-top:1px solid var(--line);margin-top:.6rem}
.casa-cart-drawer .bn-progress__label{font-weight:700;font-size:.85rem;margin:0 0 .5rem;color:var(--ink-2)}
.casa-cart-drawer .bn-progress__label--done{color:var(--green)}
.casa-cart-drawer .bn-progress__track{height:8px;background:#eadfd2;border-radius:var(--pill);overflow:hidden}
.casa-cart-drawer .bn-progress__bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--gold));border-radius:var(--pill);transition:width .4s}
.casa-cart-drawer .bn-upsell{padding:14px 0;border-top:1px solid var(--line)}
.casa-cart-drawer .bn-upsell__title{font-family:var(--fd);font-weight:600;font-size:1rem;margin:0 0 .6rem}
.casa-cart-drawer .bn-upsell__row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0}
.casa-cart-drawer .bn-upsell__name{flex:1;font-weight:700;font-size:.9rem}
.casa-cart-drawer .bn-upsell__price{color:var(--primary-deep);font-weight:800;font-size:.9rem}
.casa-cart-drawer .bn-upsell__add{width:32px;height:32px;border-radius:50%;border:0;background:var(--primary);color:#fff;cursor:pointer}
.casa-cart-drawer #cart-buttons .btn,.casa-cart-drawer #cart-buttons button,.casa-cart-drawer #cart-buttons a.btn{background:var(--primary-deep)!important;border:0!important;border-radius:var(--pill)!important;font-family:var(--fd);font-weight:600!important;padding:1rem!important;font-size:1.15rem;box-shadow:0 12px 28px rgba(255,122,0,.35);width:100%;color:#fff!important;display:block;text-align:center}
/* teleportierte Mobile-Warenkorb-Leiste unten ausblenden — wir haben das Pill */
.cart-toggle,.fixed-bottom:has(.cart-toggle){display:none!important}

/* Formfelder / Modals rund */
.casa-menu__list .form-control,.casa-menu__list input[type=text],.casa-menu__list input[type=search]{border-radius:var(--pill)!important;border:2px solid var(--line)!important;padding:.75rem 1.15rem!important;font-family:var(--fb);font-weight:700;box-shadow:var(--sh-sm)}
.modal-content{border-radius:22px!important;border:0!important}
.modal-content .btn-primary{background:var(--primary-deep)!important;border:0!important;border-radius:var(--pill)!important;font-family:var(--fd);font-weight:600}

@media (max-width:980px){
  .casa-cart-wrap{position:static;margin-top:22px}
  .casa-locbanner{min-height:280px}
}

/* ---------- Artikel-Modal: Größen-Auswahl als schicke Buttons (statt nackter Radios) ---------- */
.option-group:has(> .bn-size-row) { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .35rem; }
.bn-size-row {
  position: relative; flex: 1 1 45%; min-width: 150px; margin: 0;
  display: flex; flex-direction: column; align-items: center; gap: .15rem;
  padding: .95rem .8rem; border: 2px solid rgba(0,0,0,.12); border-radius: 14px;
  background: #fff; cursor: pointer; text-align: center;
  transition: border-color .15s, box-shadow .15s, transform .1s;
}
.bn-size-row:hover { border-color: var(--primary); transform: translateY(-1px); }
.bn-size-radio { position: absolute; opacity: 0; pointer-events: none; }
.bn-size-row__name { font-weight: 700; font-size: 1.08rem; }
.bn-size-row__price { color: var(--muted, #6b6b6b); font-size: .95rem; }
.bn-size-row:has(.bn-size-radio:checked) {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);
}
.bn-size-row:has(.bn-size-radio:checked) .bn-size-row__price { color: var(--primary-deep); font-weight: 700; }

/* Deal-Kontext (size_flex): Differenz zur im Deal enthaltenen Groesse statt Endpreis --
   Vorzeichen/Wort tragen die Aussage, Farbe ist nur Zusatz (siehe cart-item-modal.blade.php). */
.bn-size-row__price--included { color: var(--green-deep); font-weight: 700; }
.bn-size-row__price--plus { color: var(--accent-deep); font-weight: 700; }
.bn-size-row__price--minus { color: var(--green-deep); font-weight: 700; }

/* ---------- Shop-Logo (vom Chef hochgeladen) in Brand-Kacheln ---------- */
.casa-brand__logo img, .casa-locbanner__logo img {
  width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block;
}

/* Öffnungs-Pille: geschlossen-Zustand (Feiertag, Urlaub, außerhalb der Zeiten) */
.casa-openpill.is-closed{background:rgba(120,120,120,.92)}

/* Der Herkunftshinweis in der Fußzeile ist ein Link. .casa-footer a ist
   display:block, das würde ihn hier auf eine eigene Zeile werfen. */
.casa-footer__bottom a{display:inline; padding:0; color:rgba(255,255,255,.72); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px}
.casa-footer__bottom a:hover{color:var(--primary)}

/* Anschrift im Fuss: war frueher ein <a href="#"> (Link ins Nichts).
   Als <address> braucht sie die gleiche Optik wie die Links daneben. */
.casa-footer__addr{font-style:normal; margin:0; opacity:.85; line-height:1.5}


/* ===== Branche-Skins (muessen nach der Basis stehen) ===== */
body[data-branche="pizza"]       { --primary:#E3452F; --primary-d:#c8371f; --primary-deep:#CC311C; --accent:#3FA34D; --accent-d:#348a41; --accent-deep:#307B3A; }
body[data-branche="sushi"]       { --primary:#10B5A3; --primary-d:#0d9789; --primary-deep:#0B7A6E; --accent:#FF7A59; --accent-d:#e8654a; --accent-deep:#D12A00; }
body[data-branche="asia"]        { --primary:#E23B2E; --primary-d:#c53125; --primary-deep:#D02A1D; --accent:#F2B01E; --accent-d:#d69910; --accent-deep:#8F6508; }
body[data-branche="doener"]      { --primary:#D9752B; --primary-d:#bf6220; --primary-deep:#A6581E; --accent:#7C9A3F; --accent-d:#688434; --accent-deep:#5E7430; }
body[data-branche="burger"]      { --primary:#F5A623; --primary-d:#db9114; --primary-deep:#976107; --accent:#E5533C; --accent-d:#c8442f; --accent-deep:#CB331B; }
body[data-branche="indisch"]     { --primary:#E8942C; --primary-d:#cd7c1c; --primary-deep:#9D5E11; --accent:#C0392B; --accent-d:#a32e22; --accent-deep:#C0392B; }
body[data-branche="griechisch"]  { --primary:#1E76B8; --primary-d:#185f95; --primary-deep:#1D71B0; --accent:#E4B34A; --accent-d:#cf9d35; --accent-deep:#8D6615; }
body[data-branche="mexikanisch"] { --primary:#5FB030; --primary-d:#4e9127; --primary-deep:#427A21; --accent:#E2612F; --accent-d:#c54f24; --accent-deep:#BB471A; }
body[data-branche="cafe"]        { --primary:#A9744B; --primary-d:#8f5f3b; --primary-deep:#906340; --accent:#E0A458; --accent-d:#c98c42; --accent-deep:#97611C; }
body[data-branche="bowls"]       { --primary:#3FB950; --primary-d:#33a043; --primary-deep:#2A7C36; --accent:#F2A93B; --accent-d:#d6902a; --accent-deep:#99600A; }

/* Hero-Bild ist jetzt ein echtes <img> im Container (Preload/fetchpriority
   greifen nur so). Die Abdunklung sitzt am Bild, damit der Verlauf des
   ::after-Overlays darueber ungedimmt bleibt. */
.casa-hero__bg img{width:100%; height:100%; object-fit:cover}

/* ---------- Rechtstexte (Impressum, Datenschutz, AGB, Über uns) ----------
   Das static-Layout benutzt jetzt dieselbe Basis wie der Rest des Shops.
   Hier nur, was langer Fließtext zusätzlich braucht: begrenzte Zeilenlänge
   und ruhigere Abstände. */
.casa-legal{max-width:78ch; padding:48px 0 64px; font-weight:400; line-height:1.7}
.casa-legal h1{font-size:clamp(1.9rem,4vw,2.6rem); margin:0 0 1.4rem}
.casa-legal h2{font-size:1.35rem; margin:2.2rem 0 .7rem; color:var(--primary-deep)}
.casa-legal h3{font-size:1.1rem; margin:1.6rem 0 .5rem}
.casa-legal p{margin:0 0 1rem; color:var(--ink-2)}
.casa-legal ul,.casa-legal ol{margin:0 0 1rem; padding-left:1.3rem; color:var(--ink-2)}
.casa-legal li{margin-bottom:.4rem}
.casa-legal a{color:var(--primary-deep); text-decoration:underline}
.casa-legal strong{color:var(--ink)}
.casa-legal table{width:100%; border-collapse:collapse; margin:0 0 1rem}
.casa-legal th,.casa-legal td{border:1px solid var(--line); padding:.5rem .7rem; text-align:left}
@media (max-width:575px){ .casa-legal{padding:28px 0 44px} }

/* --- Angebote auf der Startseite ---------------------------------------
   Der Rabatt-Aufkleber ist gruen statt pink: pink markiert im Casa-Theme
   „beliebt“, gruen steht fuer den Preisvorteil — sonst sagen zwei gleich
   aussehende Schilder zwei verschiedene Dinge. --green-deep statt --green,
   weil hier weisse Schrift darauf liegt und die helle Variante gegen
   --surface UND --bg zu wenig Kontrast hat. */
.casa-deal__save--offer{background:var(--green-deep); box-shadow:0 4px 12px rgba(0,0,0,.18); letter-spacing:.02em}
.casa-deal--offer .casa-price .new{color:var(--green-deep)}
/* Laufzeit unter dem Preis: bewusst leise, es ist ein Zusatz, keine Werbung. */
.casa-deal__until{margin:.35rem 0 0; font-size:.78rem; font-weight:700; color:var(--muted); text-transform:none}
/* Angebot auf der Speisekarte: Streichpreis links, Angebotspreis gruen, Aufkleber
   am Bild. Gleiche Farbsprache wie der Angebots-Block der Startseite, damit der
   Gast beide Stellen als dasselbe erkennt. */
.casa-price--offer{flex-wrap:wrap; justify-content:flex-end}
.casa-price--offer .new{color:var(--green-deep)}
.casa-row__offer{position:absolute; top:6px; left:6px; background:var(--green-deep); color:#fff; font-size:.62rem; font-weight:800; letter-spacing:.04em; padding:.2rem .45rem; border-radius:var(--pill)}

/* ---------- Startseite: eigene Galerie-Bildunterschriften (Modul "Startseite") ---------- */
.casa-gallery figure{margin:0 0 16px; break-inside:avoid}
.casa-gallery figure img{margin-bottom:8px}
.casa-gallery figcaption{font-size:.82rem; color:var(--ink-2); line-height:1.3}

/* ---------- Startseite: Angebots-Banner (Modul "Startseite") ---------- */
.casa-banner-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px}
.casa-banner-tile{position:relative; display:block; min-height:180px; border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-sm); text-decoration:none; background:var(--dark)}
.casa-banner-tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; margin:0}
.casa-banner-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.75) 100%)}
.casa-banner-tile__b{position:absolute; left:0; right:0; bottom:0; z-index:1; padding:16px}
.casa-banner-tile__b h3{font-family:var(--fd); font-size:1.15rem; margin:0 0 2px; color:#fff}
.casa-banner-tile__b p{font-size:.85rem; margin:0; color:rgba(255,255,255,.85)}
@media (max-width:620px){
  .casa-banner-row{grid-template-columns:1fr}
}

/* ===================== Kombi-Angebote ("Deals") — 02.08.2026 =====================
   Bündelpreis mit Plätzen (Domino's-Vorbild). Deal-Kacheln auf der Startseite
   (bt-deal-tile, nutzt bestehende .casa-deal/.casa-price-Bausteine) + Deal-Container
   im Warenkorb (bt-deal-card mit Plätzen/Auswahl-Fenster). Reine Ergänzung am
   Dateiende, nichts Bestehendes verändert. */
.bt-deal-tile__img{display:flex;align-items:center;justify-content:center;background:var(--surface-2)}
.bt-deal-tile__emoji{font-size:3rem}

.bt-deals{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1rem}
.bt-deal-card{border:1px solid var(--line);border-radius:var(--r);padding:1rem;background:var(--surface-2)}
.bt-deal-card--incomplete{border-color:var(--accent-deep);background:#fff5f2}
.bt-deal-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}
.bt-deal-card__badge{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-deep)}
.bt-deal-card__title{margin:.15rem 0 0;font-size:1.05rem}
.bt-deal-card__price{font-family:var(--fd);font-weight:700;font-size:1.2rem;color:var(--primary-deep);white-space:nowrap}
.bt-deal-card__missing{display:flex;align-items:center;gap:.4rem;color:var(--accent-deep);font-weight:700;font-size:.85rem;margin:.5rem 0 0}
.bt-deal-card__slots{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}
.bt-deal-slot{border:1px dashed var(--line);border-radius:var(--r-sm);padding:.6rem .75rem}
.bt-deal-slot__main{display:flex;flex:1 1 100%;min-width:0;flex-direction:column;gap:.1rem}
.bt-deal-slot__label{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.bt-deal-slot__name{font-weight:700}
.bt-deal-slot__hint{font-size:.78rem;color:var(--muted)}
.bt-deal-slot--filled{border-style:solid;background:var(--surface);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.7rem}
.bt-deal-slot__side{display:flex;width:100%;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.45rem;border-top:1px solid var(--line)}
.bt-deal-slot__price{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-weight:700}
.bt-deal-slot__price s{color:var(--muted);font-weight:600;margin-right:.3rem}
.bt-deal-slot__incl{color:var(--green-deep);font-size:.78rem;font-weight:800}
.bt-deal-slot__extras{color:var(--ink-2);font-size:.78rem;font-weight:800;white-space:nowrap}
.bt-deal-slot__choices{display:grid;gap:.35rem;margin-top:.45rem}
.bt-deal-slot__choice{display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem;align-items:start;padding:.35rem .45rem;border-radius:8px;background:var(--surface-2)}
.bt-deal-slot__choice--size{background:#f3f8f1}
.bt-deal-slot__choice-label{font-size:.7rem;line-height:1.35;font-weight:800;letter-spacing:.035em;text-transform:uppercase;color:var(--muted)}
.bt-deal-slot__choice-label small{font:inherit;text-transform:none;letter-spacing:0;color:var(--ink-2)}
.bt-deal-slot__choice-values{display:grid;gap:.18rem;min-width:0;margin:0;padding:0;list-style:none}
.bt-deal-slot__choice-values li{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;font-size:.8rem;line-height:1.35;color:var(--ink-2)}
.bt-deal-slot__choice-values li>span:first-child{min-width:0;overflow-wrap:anywhere}
.bt-deal-slot__choice-values b{font-weight:900;color:var(--ink)}
.bt-deal-slot__choice-price{flex:none;font-weight:800;white-space:nowrap;color:var(--primary-deep)}
.bt-deal-slot__choice-included{flex:none;font-size:.72rem;font-weight:800;white-space:nowrap;color:var(--green-deep)}
.bt-deal-slot__actions{display:flex;gap:.75rem}
.bt-deal-slot__link{background:none;border:0;padding:0;font-size:.78rem;font-weight:700;color:var(--primary-deep);text-decoration:underline;cursor:pointer}
.bt-deal-slot__surcharge{flex-basis:100%;margin:.35rem 0 0;font-size:.78rem;font-weight:700;color:var(--accent-deep)}
.bt-deal-slot--empty{display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.bt-deal-slot__pick{background:var(--primary);color:var(--primary-ink);border:0;border-radius:var(--pill);padding:.4rem .9rem;font-weight:700;font-size:.82rem;cursor:pointer;white-space:nowrap}
.bt-deal-slot__pick:hover{background:var(--primary-d)}
.bt-deal-card__remove{margin-top:.75rem;background:none;border:0;padding:0;color:var(--muted);font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;gap:.35rem;align-items:center}
.bt-deal-card__remove:hover{color:var(--accent-deep)}
.bt-deal-card__rechnung{display:grid;gap:.15rem;margin-top:.85rem;padding:.8rem .85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm)}
.bt-deal-card__rechnung-row,.bt-deal-card__rechnung-summe{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:baseline;font-size:.84rem;line-height:1.35}
.bt-deal-card__rechnung-row{padding:.22rem 0;color:var(--ink-2);font-weight:700}
.bt-deal-card__rechnung-row span:last-child{font-weight:800;white-space:nowrap;text-align:right;color:var(--ink)}
.bt-deal-card__rechnung-summe{margin-top:.35rem;padding-top:.65rem;border-top:2px solid var(--ink);font-size:1rem;font-weight:900;color:var(--ink)}
.bt-deal-card__rechnung-summe span:last-child{font-family:var(--fd);font-size:1.18rem;white-space:nowrap;color:var(--primary-deep);text-align:right}

.bt-deal-picker{margin-top:.5rem;border-top:1px dashed var(--line);padding-top:.6rem}
.bt-deal-picker__hint{font-size:.8rem;color:var(--muted);margin:0 0 .5rem}
.bt-deal-picker__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:260px;overflow-y:auto}
.bt-deal-pick-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:.5rem .7rem;cursor:pointer;font:inherit;color:inherit}
.bt-deal-pick-item:hover{border-color:var(--primary)}
.bt-deal-pick-item__price{font-weight:700;white-space:nowrap;text-align:right}
.bt-deal-pick-item__plus{display:block;color:var(--accent-deep);font-weight:700;font-size:.7rem}
.bt-deal-picker__close{margin-top:.5rem;background:none;border:0;padding:0;color:var(--muted);font-size:.78rem;text-decoration:underline;cursor:pointer}

@media (max-width:640px){
  .bt-deal-slot--filled,.bt-deal-slot--empty{flex-direction:column;align-items:flex-start}
  .bt-deal-slot__main{flex-basis:auto;width:100%}
  .bt-deal-slot__side{align-items:center;width:100%}
  .bt-deal-slot__choice{grid-template-columns:1fr;gap:.15rem}
  .bt-deal-card__rechnung{padding:.75rem}
  .bt-deal-card__rechnung-row,.bt-deal-card__rechnung-summe{gap:.6rem}
}

/* Entfernen-Knopf je Warenkorb-Position. Bewusst zurueckhaltend (kein rotes Signal):
   Er steht direkt neben dem Preis und soll auffindbar sein, ohne zum Wegklicken
   einzuladen. Grosszuegige Trefferflaeche fuer Daumen auf dem Handy. */
.casa-cart-remove{display:block; margin-top:.3rem; background:none; border:0; padding:.25rem 0;
  font:inherit; font-size:.78rem; font-weight:700; color:var(--muted); text-decoration:underline;
  text-underline-offset:2px; cursor:pointer; min-height:32px}
.casa-cart-remove:hover,.casa-cart-remove:focus-visible{color:var(--accent-deep)}

/* ---------------------------------------------------------------------------------
   Deal-Fixe-Groesse: ruhiger Hinweis im Artikel-Fenster statt der Groessen-Auswahl
   (siehe cart-item-modal.blade.php, bnForcedSize). Ersetzt "Schritt 1 von 2" komplett. */
.bn-forced-size-hint{margin:.2rem 0 0;font-size:.82rem;font-weight:700;color:var(--primary-deep)}

/* Deal-Picker als Bildkarten (Kunden-Nachtrag: Domino's-Vorbild — Bild, Name und
   Aufpreis schon auf der Kachel, vor dem Anklicken). Ergaenzt die bestehenden
   .bt-deal-pick-item-Regeln oben, ueberschreibt sie fuer die Karten-Variante. */
.bt-deal-picker__list--cards{flex-direction:row;flex-wrap:wrap;max-height:none;overflow:visible}
.bt-deal-picker__list--cards li{flex:0 0 calc(50% - .3rem)}
.bt-deal-pick-item--card{flex-direction:column;align-items:stretch;gap:.35rem;padding:.5rem}
.bt-deal-pick-item__img{position:relative;display:block;border-radius:var(--r-sm);overflow:hidden;background:var(--surface-2);aspect-ratio:1/1}
.bt-deal-pick-item__img img{width:100%;height:100%;object-fit:cover;display:block}
.bt-deal-pick-item__badge{position:absolute;top:.35rem;right:.35rem;background:var(--accent-deep);color:#fff;font-size:.68rem;font-weight:800;padding:.15rem .45rem;border-radius:var(--pill);white-space:nowrap}
.bt-deal-pick-item__badge--included{background:var(--green-deep, var(--primary-deep))}
.bt-deal-pick-item--card .bt-deal-pick-item__name{font-weight:700;font-size:.85rem}
.bt-deal-pick-item--card .bt-deal-pick-item__price{text-align:left}

@media (max-width:400px){
  .bt-deal-picker__list--cards li{flex-basis:100%}
}

/* Kurzmeldung (Ersatz fuer alert()). Unten mittig, ueber allem, verschwindet von
   selbst. Bewusst nicht klickbar — sie soll informieren, nicht bedient werden. */
.bt-hinweis{position:fixed; left:50%; bottom:1.25rem; transform:translate(-50%,1rem);
  max-width:min(92vw,26rem); z-index:2000; pointer-events:none;
  background:#2B2118; color:#fff; font-weight:700; font-size:.9rem; line-height:1.35;
  padding:.7rem 1.1rem; border-radius:var(--pill,999px); box-shadow:0 8px 24px rgba(0,0,0,.28);
  opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease, visibility .18s}
.bt-hinweis--sichtbar{opacity:1; visibility:visible; transform:translate(-50%,0)}
.bt-hinweis--fehler{background:var(--accent-deep,#C2185B)}
@media (prefers-reduced-motion:reduce){.bt-hinweis{transition:none}}

/* Fortschritt im Deal-Auswahlfenster. Leise gesetzt — er ordnet ein, er wirbt nicht. */
.bt-deal-picker__step{margin:0 0 .15rem; font-size:.72rem; font-weight:800; letter-spacing:.06em;
  text-transform:uppercase; color:var(--primary-deep)}

/* ===== Kombi-Angebot: eigene Auswahlseite (deal-platz.blade.php, 04.08.2026) =====
   Ersetzt das bisherige Panel im Warenkorb-Schubfach bei grossen Karten (100+
   Gerichte) — siehe Bericht "Skalierungsproblem". Nutzt bewusst .casa-grid/.casa-card
   fuer die Kacheln (dieselbe Optik wie die Speisekarte), nur der Preis-/Aufpreis-
   Badge auf dem Bild ist neu. */
/* Nur oben/unten setzen: die Kurzschreibweise mit 0 haette den seitlichen
   Innenabstand von .casa-wrap ueberschrieben, und der Text klebte auf dem
   Handy am Bildschirmrand. */
.btp-head{padding-top:2rem; padding-bottom:1rem}
.btp-head__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.btp-step{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .3rem}
.btp-head h1{font-size:clamp(1.5rem,3.4vw,2.1rem);margin:0 0 .35rem}
.btp-head__sub{color:var(--muted);margin:0;max-width:62ch}
.btp-extras-hint{margin:.5rem 0 0;font-size:.82rem;color:var(--accent-deep);font-weight:700}
.btp-cancel{flex:none;display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--muted);
  border:2px solid var(--line);border-radius:var(--pill);padding:.55rem 1.1rem;background:var(--surface)}
.btp-cancel:hover{border-color:var(--accent-deep);color:var(--accent-deep)}

.btp-tabs{display:flex;gap:.4rem;margin:1.4rem 0 0;border-bottom:1px solid var(--line);overflow-x:auto}
.btp-tab{background:none;border:0;padding:.7rem 1rem;font-family:var(--fd);font-weight:600;font-size:.95rem;
  color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.btp-tab.is-active{color:var(--primary-deep);border-bottom-color:var(--primary)}

.btp-panel{padding-top:1.4rem; padding-bottom:3rem}

.btp-toolbar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-bottom:1.3rem}
.btp-search{flex:1 1 220px;min-width:180px;border:2px solid var(--line);border-radius:var(--pill);
  padding:.65rem 1.1rem;font:inherit;font-weight:700;background:var(--surface);color:var(--ink)}
.btp-search:focus{outline:none;border-color:var(--primary)}
.btp-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.btp-chip{background:var(--surface);border:2px solid var(--line);border-radius:var(--pill);padding:.4rem .95rem;
  font-size:.82rem;font-weight:700;color:var(--ink-2);cursor:pointer}
.btp-chip.is-active{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}

.btp-tile{width:100%;text-align:left;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.btp-tile:disabled{opacity:.6;cursor:wait}
.btp-badge{position:absolute;top:12px;left:12px;z-index:2;color:#fff;font-size:.7rem;font-weight:800;
  padding:.28rem .6rem;border-radius:var(--pill);white-space:nowrap}
.btp-badge--plus{background:var(--accent-deep)}
.btp-badge--included{background:var(--green-deep)}

/* Kachelfuss der Deal-Auswahl: echter (durchgestrichener) Listenpreis + Mehrpreis, siehe
   deal-platz.blade.php. Ersetzt den frueher dort gezeigten, gedeckelten Preis, den niemand
   zahlt. ".old" ist die bereits bestehende Streichpreis-Regel (siehe Angebote). */
.btp-tile-price .old{font-size:1rem}
.btp-tile-price__extra{font-family:var(--fd);font-weight:800;font-size:1.05rem;color:var(--accent-deep)}
.btp-tile-price__extra--included{color:var(--green-deep)}

.btp-empty{text-align:center;color:var(--muted);font-weight:700;padding:3rem 0}

.btp-info{display:flex;flex-direction:column;gap:.9rem;max-width:640px}
.btp-info__price{font-family:var(--fd);font-weight:700;font-size:1.3rem;color:var(--primary-deep);margin:0}
.btp-info__back{align-self:flex-start;margin-top:.4rem;font-weight:700;color:var(--primary-deep);text-decoration:underline}

@media(max-width:560px){
  .btp-head__top{flex-direction:column}
  .btp-cancel{align-self:flex-start}
}

/* Warenkorb-Zugang auf der Deal-Auswahlseite. Bewusst neben "Abbrechen" statt als
   schwebender Knopf: die Seite hat kein Warenkorb-Schubfach, der Weg fuehrt zurueck
   zur Speisekarte — das soll man sehen, nicht nur ertasten. */
.btp-cartlink{flex:none; display:inline-flex; align-items:center; gap:.45rem; padding:.55rem 1.05rem;
  border:2px solid var(--primary); border-radius:var(--pill); background:var(--primary); color:var(--primary-ink);
  font-weight:800; font-size:.9rem; text-decoration:none; line-height:1}
.btp-cartlink:hover,.btp-cartlink:focus-visible{filter:brightness(.94); color:var(--primary-ink)}
.btp-cartlink__badge{display:inline-flex; align-items:center; justify-content:center; min-width:1.25rem;
  height:1.25rem; padding:0 .3rem; border-radius:999px; background:var(--primary-ink); color:var(--primary);
  font-size:.72rem; font-weight:800}
@media (max-width:360px){ .btp-cartlink span:not(.btp-cartlink__badge){display:none} .btp-cartlink{padding:.55rem .8rem} }

/* Abbrechen und Warenkorb gehoeren nebeneinander, nicht untereinander — sonst
   steht auf dem Handy ein nacktes Symbol allein unter dem Abbrechen-Knopf. */
.btp-head__actions{flex:none; display:flex; align-items:center; gap:.6rem; flex-wrap:nowrap}

/* „Du sparst …" unter den Summen. Gruen wie die Angebotspreise im Shop, damit der
   Gast den Zusammenhang sofort sieht; dezent gerahmt statt schreiend, weil es eine
   Bestaetigung ist und keine Werbung. */
.casa-saving{display:flex; align-items:center; gap:.6rem; margin-top:.75rem; padding:.7rem .9rem;
  border-radius:14px; background:color-mix(in srgb, var(--green-deep) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--green-deep) 28%, transparent); color:var(--green-deep)}
.casa-saving__icon{flex:none; display:inline-flex; align-items:center; justify-content:center;
  width:1.6rem; height:1.6rem; border-radius:50%; background:var(--green-deep); color:#fff;
  font-family:var(--fd); font-weight:800; font-size:.8rem; line-height:1}
.casa-saving__text{font-weight:700; font-size:.92rem; line-height:1.3}
.casa-saving__text b{font-family:var(--fd); font-size:1.05rem}
@supports not (background: color-mix(in srgb, red 10%, transparent)){
  .casa-saving{background:#EAF6EE; border-color:#BFE0CB}
}

/* Traeger fuer die Skripte des Artikel-Fensters: muss im DOM stehen, damit sein
   JavaScript ins Seiten-Buendel kommt — angezeigt werden soll er nicht. Bewusst
   nicht display:none, das wuerde Livewire/Alpine an der Initialisierung hindern. */
.bt-assets-traeger{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%);
  white-space:nowrap; pointer-events:none}

/* Der "In den Warenkorb"-Knopf muss immer erreichbar sein.
   Bei einer Pizza mit vielen Extras wird das Artikel-Fenster ueber 1300 px lang —
   auf dem Handy (844 px) lag der Knopf damit weit unterhalb des Sichtbereichs. Der
   Gast scrollt, sieht das Bild wandern und kommt trotzdem nie ans Ziel. Deshalb
   klebt der Fussbereich jetzt am unteren Rand des Fensters. */
#orange-modal .modal-footer,
#orange-modal .bn-modal-foot,
#orange-modal .cart-item-submit{
  position:sticky; bottom:0; z-index:5;
  background:var(--surface,#fff);
  box-shadow:0 -6px 18px rgba(0,0,0,.10);
  padding-top:.75rem; padding-bottom:.75rem;
}
/* Falls der Knopf ohne eigenen Fussbereich direkt im Inhalt sitzt. */
#orange-modal .modal-body > button[type="submit"]:last-child,
#orange-modal form > button[type="submit"]:last-child{
  position:sticky; bottom:.5rem; z-index:5;
}

/* Kombi-Auswahl: ein warmer Bestellzettel statt eines technischen Zwischenschritts.
   Die Klassen gelten nur auf der eigenen Deal-Seite und lassen Speisekarte/Warenkorb
   unverändert. */
.btp-head{padding-top:1.35rem;padding-bottom:1.1rem}
.btp-head__top{padding:clamp(1rem,3vw,1.75rem);border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line));border-radius:calc(var(--r-lg) + 4px);background:linear-gradient(135deg,#fffaf4 0%,var(--surface) 64%,#fff6ed 100%);box-shadow:0 14px 34px rgba(76,44,20,.07)}
.btp-head h1{font-size:clamp(1.75rem,4vw,2.5rem);max-width:14ch}
.btp-head__sub{font-size:1rem;line-height:1.5}
.btp-step{color:var(--primary-deep);letter-spacing:.1em}
.btp-pricebox{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:baseline;margin-top:1rem;padding:.8rem 1rem;border-radius:var(--r);background:rgba(255,255,255,.72);border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));max-width:36rem}
.btp-pricebox span{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.btp-pricebox strong{font-family:var(--fd);font-size:1.45rem;line-height:1;color:var(--primary-deep)}
.btp-pricebox p{grid-column:1/-1;margin:.4rem 0 0;font-size:.84rem;line-height:1.35;color:var(--ink-2)}
.btp-head__actions{gap:.5rem}
.btp-cancel,.btp-cartlink{min-height:44px;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.btp-cancel:hover,.btp-cartlink:hover{transform:translateY(-1px)}
.btp-progress{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;margin:1rem 0 0;padding:0}
.btp-progress__item{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.65rem .7rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--muted)}
.btp-progress__item.is-current{border-color:var(--primary);background:#fff8ef;box-shadow:0 6px 18px rgba(255,122,0,.12);color:var(--ink)}
.btp-progress__item.is-done{border-color:color-mix(in srgb,var(--green-deep) 35%,var(--line));background:color-mix(in srgb,var(--green-deep) 7%,var(--surface));color:var(--ink)}
.btp-progress__dot{display:grid;place-items:center;flex:0 0 1.85rem;width:1.85rem;height:1.85rem;border-radius:50%;background:var(--surface-2);font-family:var(--fd);font-weight:700;font-size:.83rem;color:var(--muted)}
.btp-progress__item.is-current .btp-progress__dot{background:var(--primary);color:var(--primary-ink)}
.btp-progress__item.is-done .btp-progress__dot{background:var(--green-deep);color:#fff}
.btp-progress__copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.btp-progress__copy span{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.btp-progress__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;margin-top:.15rem}
.btp-tabs{margin-top:1rem}
.btp-tab{min-height:44px}
.btp-search,.btp-chip{min-height:44px}
.btp-chip{padding-inline:1rem}
.btp-tile{border-radius:var(--r-lg);outline-offset:4px}
.btp-tile:hover,.btp-tile:focus-visible{transform:translateY(-4px);box-shadow:var(--sh)}
.btp-tile:focus-visible,.btp-chip:focus-visible,.btp-tab:focus-visible,.btp-cancel:focus-visible,.btp-cartlink:focus-visible,.bt-deal-tile__add:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 62%,#fff);outline-offset:3px}
.btp-tile .casa-add{width:2.6rem;height:2.6rem;background:var(--primary-deep);box-shadow:none}
.btp-tile-price{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.btp-tile-price .old{font-size:.82rem}
.btp-tile-price__extra{font-size:1rem}
.btp-info{max-width:720px;padding:1.1rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}

/* Einstiegskachel auf der Startseite: Preis und nächste Aktion sind getrennt lesbar. */
/* Eigene Kartenstruktur: Titel und Preis konkurrieren nicht mit dem Bestellknopf. */
.bt-deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bt-deal-tile{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 24px -16px rgba(65,39,21,.18);transition:transform .2s ease,box-shadow .2s ease}
.bt-deal-tile:hover{transform:translateY(-3px);box-shadow:0 16px 32px -18px rgba(65,39,21,.26)}
.bt-deal-tile__img{position:relative;aspect-ratio:12/7;width:100%;overflow:hidden;background:var(--surface-2)}
.bt-deal-tile__img img{display:block;width:100%;height:100%;object-fit:cover}
.bt-deal-tile__badge{position:absolute;top:16px;left:16px;border-radius:var(--pill);padding:.4rem .7rem;background:var(--surface);color:var(--ink);font-size:.72rem;font-weight:900;letter-spacing:.035em}
.bt-deal-tile__body{padding:22px 22px 18px;flex:1;min-width:0}
.bt-deal-tile__body h3{margin:0 0 .55rem;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.2;overflow-wrap:anywhere}
.bt-deal-tile__body p{margin:0;color:var(--muted);font-size:1rem;line-height:1.5;font-weight:600}
.bt-deal-tile__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 22px;padding:18px 0 22px;border-top:1px solid var(--line);flex-wrap:wrap}
.bt-deal-tile__price{display:flex;flex-direction:column;gap:3px;min-width:0}
.bt-deal-tile__price span{font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.bt-deal-tile__price strong{font-family:var(--fd);font-size:1.65rem;line-height:1.15;white-space:nowrap;color:var(--ink)}
.bt-deal-tile__add{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;border:0;border-radius:14px;padding:.75rem 1rem;background:var(--primary-deep);color:#fff;font:inherit;font-weight:800;font-size:.9rem;cursor:pointer;transition:background .18s ease}
.bt-deal-tile__add span{font-size:1.2rem;line-height:1}
.bt-deal-tile__add:hover{background:var(--primary-d)}
.bt-deal-tile__add:disabled{opacity:.65;cursor:wait}
@media(max-width:999px){.bt-deal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:599px){.bt-deal-grid{grid-template-columns:minmax(0,1fr);gap:20px}.bt-deal-tile__body{padding:20px 20px 16px}.bt-deal-tile__footer{margin-inline:20px}.bt-deal-tile__body h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.bt-deal-tile{transition:none}.bt-deal-tile:hover{transform:none}}

@media(max-width:560px){
  .btp-head{padding-top:.75rem}.btp-head__top{padding:1rem}.btp-head h1{max-width:none}.btp-head__actions{width:100%}.btp-cancel,.btp-cartlink{flex:1;padding-inline:.65rem}.btp-progress{grid-template-columns:1fr 1fr}.btp-progress__item{padding:.55rem}.btp-progress__copy strong{font-size:.82rem}.btp-panel{padding-top:1rem}
}
@media(max-width:370px){.btp-progress{grid-template-columns:1fr}.btp-pricebox{grid-template-columns:1fr}.btp-pricebox strong{margin-top:.12rem}}
@media(prefers-reduced-motion:reduce){.btp-cancel,.btp-cartlink,.btp-tile,.bt-deal-tile__add{transition:none}}

/* Der aktuell bearbeitete Schritt bleibt auch nach einer Auswahl erkennbar. */
.btp-progress__item.is-current{border:2px solid var(--primary-deep)}
.btp-tabs{overflow-y:hidden}
.casa-cart-drawer__body{min-height:0;overscroll-behavior:contain}
body.casa-cart-open{overflow:hidden}

.bn-size-row:has(.bn-size-radio:focus-visible){outline:3px solid var(--primary-deep);outline-offset:3px}

/* Abschluss: Bestellübersicht kommt auf kleinen Displays vor dem Absenden. */
.bt-checkout{padding:0 12px}.bt-checkout h1{font-size:clamp(1.65rem,3vw,2.3rem);margin:0 0 .5rem}
.bt-checkout__intro{color:var(--muted);margin:0;line-height:1.5}
.bt-checkout__steps{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;font-size:.82rem;margin-bottom:1rem;color:var(--muted)}
.bt-checkout__steps strong{color:var(--primary-deep)}
.bt-checkout__form{border-radius:var(--r-lg)!important;overflow:hidden}
.bt-checkout__review .bt-deal-card__badge{color:var(--primary-deep)}
.bt-checkout .checkout-btn{background:var(--primary-deep);border-color:var(--primary-deep);color:#fff;min-height:52px;border-radius:var(--pill);font-weight:700}
@media(max-width:991px){.bt-checkout__review{order:-1;margin-bottom:1rem;padding:0}.bt-checkout__columns{padding-top:0!important}}

/* Warenkorb jederzeit über den gemeinsamen Kopfbereich erreichbar. */
.casa-header__cart{position:relative;display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.65rem .9rem;border:1px solid var(--line);border-radius:var(--pill);background:var(--surface);color:var(--ink);font-size:.9rem;font-weight:800;white-space:nowrap;box-shadow:var(--sh-sm)}
.casa-header__cart>i{color:var(--primary-deep);font-size:1.05rem}
.casa-header__cart:hover{color:var(--primary-deep);border-color:var(--primary-deep)}
.casa-header__cart:focus-visible{outline:3px solid var(--primary-deep);outline-offset:3px}
.casa-header__cart-count{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:var(--pill);background:var(--primary-deep);color:#fff;font-size:.75rem;font-variant-numeric:tabular-nums}
@media(max-width:767px){
  .casa-header__cta{display:none}
  .casa-header__cart{width:44px;height:44px;padding:0;justify-content:center;flex-shrink:0}
  .casa-header__cart-label{display:none}
  .casa-header__cart-count{position:absolute;top:-5px;right:-6px;min-width:20px;height:20px;font-size:.65rem}
  .casa-header__inner>.casa-brand{flex-shrink:1}
}
@media(min-width:768px) and (max-width:1100px){
  .casa-header .casa-nav{display:none}
  .casa-header__inner>.casa-brand{min-width:0;flex-shrink:1}
}

/* Klarer Zahlungshinweis für Gastbestellungen, auch auf kleinen Displays. */
.bt-checkout__payment-notice{display:flex;align-items:flex-start;gap:14px;margin:12px 0 0;padding:20px 22px;border:1px solid #efd5b7;border-radius:18px;background:#fff7ec;color:#48382a;line-height:1.55}
.bt-checkout__payment-notice>i{margin-top:4px;color:#a14b00;font-size:20px;flex-shrink:0}
.bt-checkout__payment-notice>div{min-width:0}
.bt-checkout__payment-notice strong{display:block;color:#332a23;font-size:1rem}
.bt-checkout__payment-notice p{margin:5px 0 0;font-size:.94rem}
.bt-checkout__payment-links{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:8px}
.bt-checkout__payment-links a{color:#984500;font-weight:650;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.bt-checkout__payment-links a:focus-visible{outline:2px solid #984500;outline-offset:4px;border-radius:3px}
.bt-checkout__payment-notice .bt-checkout__payment-unavailable{border-top:1px solid #efd5b7;margin-top:12px;padding-top:12px;font-weight:600}
@media(max-width:575px){.bt-checkout__payment-notice{padding:16px;gap:11px}}
