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

:root{
  --bg:#F3F1ED; --surface:#ffffff; --surface-2:#faf8f4;
  --ink:#241f1b; --ink-2:#4a423b; --muted:#918a81; --line:#ece7de;
  --primary:#FF7A00; --primary-d:#ea6c00; --primary-ink:#fff;
  --accent:#FF2A68; --accent-d:#e01e58;
  --green:#22b573; --gold:#F5A623; --dark:#160f08;
  --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;
}
img{max-width:100%; 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); 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); 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:var(--primary-d); 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; background-size:cover; background-position:center;
  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); 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;background-size:cover;background-position:center}
.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 h4{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); 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); background-size:cover; background-position:center; margin-bottom:12px}
.casa-cat h4{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); background-size:cover; background-position:center; flex-shrink:0; position:relative; overflow:hidden}
.casa-deal__save{position:absolute; top:8px; left:8px; background:var(--accent); 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 h4{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); 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; background-size:cover; background-position:center; transition:transform .5s}
.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 h4{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 h4{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; background-size:cover; background-position:center; 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:rgba(34,181,115,.9); 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); 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); font-size:.98rem}
.casa-catnav a.is-active{background:var(--primary); 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);background-size:cover;background-position:center;flex-shrink:0;box-shadow:var(--sh-sm)}
.casa-cat-block__head h3{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;background-size:cover;background-position:center;flex-shrink:0}
.casa-row__b{flex:1; min-width:0}
.casa-row__b h4{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)!important;font-size:.98rem;background:transparent!important;border:0}
.casa-catnav .nav-link.active{background:var(--primary)!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),var(--accent));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);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)!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)!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); 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)}
