
:root{
  --burgundy:#7f100b;
  --red:#b42317;
  --red-bright:#db3b22;
  --gold:#f4b73b;
  --gold-soft:#ffd979;
  --cream:#fff5e8;
  --paper:#fffdf9;
  --ink:#20150f;
  --muted:#7a665c;
  --green:#218a4c;
  --wood:#3b2116;
  --line:#ead7c9;
  --shadow:0 18px 50px rgba(55,25,10,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 8% 0%,rgba(244,183,59,.18),transparent 28%),
    radial-gradient(circle at 90% 15%,rgba(180,35,23,.12),transparent 26%),
    linear-gradient(180deg,#fffaf4 0%,#fff5e8 100%);
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}

.topbar{
  position:sticky;top:0;z-index:80;
  background:linear-gradient(90deg,rgba(83,13,8,.98),rgba(138,18,12,.98));
  color:#fff;
  border-bottom:1px solid #ffffff25;
  box-shadow:0 8px 24px rgba(64,18,8,.18)
}
.nav{max-width:1320px;margin:auto;padding:11px 20px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#ffdf7a,#f4b73b 48%,#b42317 49%,#7f100b 100%);
  display:grid;place-items:center;font-size:1.65rem;
  border:3px solid #fff7;
  box-shadow:0 6px 20px #0003
}
.brand b{font-family:Georgia,serif;font-size:1.28rem;letter-spacing:.5px;color:#fff}
.brand small{display:block;color:#ffe6ca;font-size:.69rem;font-weight:700}
.navlinks{display:flex;gap:3px;margin-left:24px}
.navlinks a{padding:9px 12px;border-radius:999px;font-weight:800;color:#ffe8d1}
.navlinks a:hover{background:#ffffff17;color:#fff}
.navright{margin-left:auto;display:flex;gap:8px;align-items:center}
.navright .btn.secondary{background:#fff;color:var(--burgundy);border-color:#fff}

.btn{border:0;border-radius:14px;padding:11px 16px;font-weight:900;transition:.18s;letter-spacing:.1px}
.btn:hover{transform:translateY(-2px)}
.btn.primary{
  background:linear-gradient(135deg,var(--red-bright),var(--burgundy));
  color:#fff;
  box-shadow:0 10px 24px rgba(180,35,23,.28)
}
.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn.gold{background:linear-gradient(135deg,#ffd979,#f4b73b);color:#5b2308;box-shadow:0 10px 22px rgba(244,183,59,.25)}
.btn.green{background:linear-gradient(135deg,#31a75f,#187d42);color:#fff}
.btn.danger{background:linear-gradient(135deg,#d93723,#90170f);color:#fff}
.btn.blue{background:linear-gradient(135deg,#4f7bc0,#264f93);color:#fff}

.hero{
  max-width:1320px;
  margin:18px auto 12px;
  border-radius:34px;
  min-height:560px;
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow);
  background:
    linear-gradient(90deg,rgba(38,9,6,.93) 0%,rgba(73,16,10,.78) 42%,rgba(54,11,7,.20) 71%,rgba(0,0,0,.02) 100%),
    url('diavolo.png') center 44%/cover no-repeat;
}
.hero:after{
  content:"";
  position:absolute;inset:auto 0 0 0;height:140px;
  background:linear-gradient(transparent,rgba(38,9,6,.42));
}
.hero-inner{position:relative;z-index:3;padding:72px 64px;color:#fff;max-width:720px}
.pill{
  display:inline-flex;gap:8px;align-items:center;
  padding:9px 14px;
  background:linear-gradient(90deg,#f4b73b,#ffd979);
  color:#5f2306;border-radius:999px;font-size:.84rem;font-weight:950;
  box-shadow:0 8px 18px rgba(0,0,0,.15)
}
.hero h1{
  font-family:Georgia,serif;
  font-size:clamp(3.2rem,6.7vw,6.3rem);
  line-height:.92;
  letter-spacing:-2.8px;
  margin:21px 0 15px;
  text-shadow:0 6px 20px rgba(0,0,0,.28)
}
.hero h1 em{font-style:normal;color:var(--gold-soft)}
.hero p{font-size:1.1rem;line-height:1.7;color:#fff6ed;max-width:650px;text-shadow:0 2px 8px rgba(0,0,0,.18)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hero-trust{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}
.hero-trust span{
  background:#ffffff15;border:1px solid #ffffff2c;
  color:#fff0e4;border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:800;
  backdrop-filter:blur(5px)
}
#openBadge{font-weight:950!important}
.hero-side{
  position:absolute;right:28px;bottom:24px;z-index:4;
  display:grid;grid-template-columns:145px 145px;gap:12px
}
.hero-side img{
  width:145px;height:145px;object-fit:cover;border-radius:22px;
  border:4px solid rgba(255,255,255,.88);
  box-shadow:0 18px 35px rgba(0,0,0,.28);
  transform:rotate(2deg)
}
.hero-side img:nth-child(2){transform:rotate(-3deg);margin-top:28px}
.hero-side img:nth-child(3){transform:rotate(-2deg);margin-left:20px}
.hero-side img:nth-child(4){transform:rotate(3deg);margin-top:28px;margin-left:-10px}

.ribbon{
  max-width:1320px;margin:-2px auto 15px;padding:0 18px;
}
.ribbon-inner{
  background:linear-gradient(90deg,#f4b73b,#ffd979,#f4b73b);
  color:#5c2308;border-radius:16px;padding:13px 18px;
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  box-shadow:0 8px 24px rgba(244,183,59,.2);
  font-weight:900
}
.ribbon-inner strong{font-size:1.02rem}
.ribbon-dot{opacity:.45}

.quick{max-width:1320px;margin:0 auto;padding:0 18px 10px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.quick-card{
  position:relative;overflow:hidden;
  background:linear-gradient(145deg,#fff,#fff6ea);
  border:1px solid var(--line);padding:16px 17px;border-radius:20px;
  display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(55,25,10,.06)
}
.quick-card:before{
  content:"";position:absolute;right:-28px;top:-30px;width:90px;height:90px;border-radius:50%;
  background:#f4b73b15
}
.quick-card i{
  width:44px;height:44px;display:grid;place-items:center;border-radius:14px;
  font-style:normal;font-size:1.4rem;background:linear-gradient(135deg,#fff0cf,#ffd875)
}
.quick-card b{display:block;font-size:.95rem}.quick-card span{color:var(--muted);font-size:.8rem}

.featured-wrap{max-width:1320px;margin:5px auto 8px;padding:0 18px}
.featured{
  background:linear-gradient(135deg,#3e1d13,#6c2418);
  border-radius:28px;padding:24px;color:#fff;box-shadow:var(--shadow)
}
.featured-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:15px}
.featured-head h2{font-family:Georgia,serif;font-size:2rem;margin:0;color:#fff}
.featured-head p{margin:5px 0 0;color:#f5d9cb}
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.feature-card{background:#ffffff0d;border:1px solid #ffffff1e;border-radius:20px;overflow:hidden;backdrop-filter:blur(4px)}
.feature-card img{display:block;width:100%;aspect-ratio:1.15/1;object-fit:cover}
.feature-card div{padding:12px}.feature-card b{display:block}.feature-card span{color:#ffd98d;font-weight:900;font-size:.9rem}

.section{max-width:1320px;margin:auto;padding:22px 18px 70px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:8px 0 12px}
.section-head h2{font-family:Georgia,serif;margin:0;font-size:2.35rem;letter-spacing:-.6px;color:var(--burgundy)}
.section-head p{margin:5px 0 0;color:var(--muted)}

.categories{
  position:sticky;top:74px;z-index:50;
  display:flex;gap:8px;overflow:auto;padding:11px 0 14px;
  background:linear-gradient(var(--cream) 75%,transparent)
}
.chip{
  white-space:nowrap;background:#fff;border:1px solid #e3cdbc;
  border-radius:999px;padding:10px 14px;font-weight:900;color:#67473a;
  box-shadow:0 4px 12px rgba(55,25,10,.05)
}
.chip.active{
  background:linear-gradient(135deg,var(--red-bright),var(--burgundy));
  border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(180,35,23,.23)
}
.shop{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.product{
  background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 10px 30px rgba(52,25,12,.08);transition:.2s
}
.product:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(52,25,12,.13)}
.media{position:relative;overflow:hidden}
.media img{display:block;width:100%;aspect-ratio:1.22/1;object-fit:cover;background:#eee;transition:.25s}
.product:hover .media img{transform:scale(1.035)}
.num{
  position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:999px;
  background:linear-gradient(135deg,#fff,#fff0d8);color:var(--burgundy);font-weight:950;font-size:.75rem;
  box-shadow:0 5px 14px #0002
}
.age{position:absolute;right:10px;top:10px;background:#251712;color:#fff;border-radius:999px;padding:6px 8px;font-size:.7rem;font-weight:900}
.body{padding:15px;display:flex;flex-direction:column;gap:8px;flex:1}
.body h3{margin:0;font-size:1.05rem;letter-spacing:-.2px;color:#3f2418}
.desc{min-height:38px;color:var(--muted);font-size:.86rem;line-height:1.42}
.price{font-weight:950;color:var(--red);font-size:1.05rem}
.body .btn{margin-top:auto;width:100%}

.cart{
  position:sticky;top:138px;height:max-content;
  background:
    linear-gradient(180deg,#fffefa,#fff8ee);
  border:1px solid #e7d1c0;border-radius:24px;padding:19px;box-shadow:var(--shadow)
}
.cart:before{
  content:"";display:block;height:6px;border-radius:999px;margin:-5px 0 15px;
  background:linear-gradient(90deg,var(--red),var(--gold),var(--red))
}
.cart-head{display:flex;justify-content:space-between;align-items:center}.cart h2{margin:0;font-family:Georgia,serif;font-size:1.5rem;color:var(--burgundy)}
.badge{background:#f4e3da;color:var(--red);font-weight:950;border-radius:999px;padding:6px 9px;font-size:.8rem}
.empty{text-align:center;color:var(--muted);padding:26px 0}
.cart-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-bottom:1px solid #f0e4dc}.cart-row small{display:block;color:var(--muted);margin-top:3px}
.linkbtn{border:0;background:none;color:var(--red);padding:3px 0;font-size:.8rem;font-weight:800}.totals{padding-top:12px}.total-line{display:flex;justify-content:space-between;padding:5px 0;color:var(--muted)}.grand{display:flex;justify-content:space-between;font-size:1.23rem;font-weight:950;padding:10px 0 15px;color:var(--ink)}

.cta{
  max-width:1320px;margin:0 auto 28px;padding:0 18px
}
.cta-inner{
  border-radius:28px;padding:28px;
  background:
    linear-gradient(90deg,rgba(124,16,11,.96),rgba(187,37,22,.90)),
    url('pizza-broetchen.png') center/cover;
  color:#fff;display:flex;justify-content:space-between;align-items:center;gap:22px;
  box-shadow:var(--shadow)
}
.cta h3{font-family:Georgia,serif;font-size:2rem;margin:0 0 6px}.cta p{margin:0;color:#ffe7d8}
.footer{background:linear-gradient(180deg,#2a160f,#1d0f0b);color:#f4e9e2;margin-top:20px;border-top:5px solid var(--gold)}
.footer-inner{max-width:1320px;margin:auto;padding:38px 18px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.footer h3,.footer h4{margin-top:0}.footer h3{font-family:Georgia,serif;color:#ffd979;font-size:1.5rem}.footer p,.footer a{color:#ceb8ab;font-size:.9rem;line-height:1.6}

.modal-bg{display:none;position:fixed;inset:0;background:#1d0f0bdc;z-index:100;align-items:center;justify-content:center;padding:15px}.modal-bg.show{display:flex}
.modal{width:min(570px,100%);max-height:92vh;overflow:auto;background:#fffaf4;border:1px solid #efd8c6;border-radius:26px;padding:23px;box-shadow:0 32px 85px #0006}.modal h2{font-family:Georgia,serif;color:var(--burgundy);margin:0 0 8px}.close{float:right}
.field{display:grid;gap:6px;margin:12px 0}.field label{font-weight:900;font-size:.9rem;color:#4d2c20}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #d9c1b0;border-radius:12px;outline:none;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#c98061;box-shadow:0 0 0 3px #f5ddd3}
.notice{background:#fff0c9;border:1px solid #efcf73;color:#684406;padding:12px;border-radius:12px;font-size:.88rem}.success{background:#eaf8ee;border:1px solid #cce9d5;color:#175d32;padding:13px;border-radius:12px}

.status-page{max-width:800px;margin:45px auto;padding:0 18px}.status-card{background:linear-gradient(180deg,#fff,#fff7ee);border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:var(--shadow)}.status-card h1{font-family:Georgia,serif;color:var(--burgundy)}
.timeline{display:grid;gap:14px;margin-top:18px}.step{display:flex;gap:12px;align-items:flex-start}.dot{width:18px;height:18px;border-radius:50%;background:#ddd;margin-top:2px}.step.active .dot{background:var(--green);box-shadow:0 0 0 5px #218a4c1b}.step b{display:block}.step span{color:var(--muted);font-size:.88rem}

.admin{max-width:1480px;margin:auto;padding:22px}.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(120deg,#64110b,#a82619);color:#fff;border-radius:24px;padding:24px;margin-bottom:15px;box-shadow:var(--shadow);border-bottom:5px solid var(--gold)}.admin-hero h1{font-family:Georgia,serif;margin:0;font-size:2.2rem}.admin-hero p{margin:5px 0 0;color:#ffe8df}.sys{display:flex;gap:8px;align-items:center;font-weight:900}.sys:before{content:"";width:10px;height:10px;border-radius:50%;background:#68dc91;box-shadow:0 0 0 5px #68dc9122}.alarm{display:none;background:#fff0ec;border:2px solid #ef9b88;color:#7c170f;padding:15px;border-radius:16px;align-items:center;gap:12px;margin-bottom:14px;box-shadow:0 10px 24px #a9231915}.alarm.show{display:flex}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-bottom:15px}.stat{background:linear-gradient(180deg,#fff,#fff8ee);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 8px 22px #2b170d0b}.stat span{font-size:.82rem;color:var(--muted);font-weight:800}.stat strong{display:block;color:var(--red);font-size:1.8rem;margin-top:3px}.orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.order{background:#fff;border:1px solid var(--line);border-left:8px solid #c9b9af;border-radius:19px;padding:18px;box-shadow:0 8px 22px #2b170d0b}.order.new{border-left-color:#d82c1d;animation:pulse 1.5s infinite}.order.accepted{border-left-color:var(--amber)}.order.preparing{border-left-color:var(--blue)}.order.ready{border-left-color:#7a43a6}.order.done{border-left-color:var(--green)}.order h3{margin:0 0 6px}.meta{color:var(--muted);font-size:.86rem}.items{padding-left:18px}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.time{background:#fff;border:1px solid #d7c5b8;border-radius:10px;padding:8px 10px;font-weight:900}.time.sel{background:#251b17;color:#fff}.order .btn{padding:9px 11px}.admin-login{max-width:450px;margin:72px auto;padding:0 16px}.login-card{background:linear-gradient(180deg,#fff,#fff8ee);border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:var(--shadow)}.login-card h1{font-family:Georgia,serif;color:var(--burgundy);margin:0 0 5px}.login-card p{color:var(--muted)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #d82c1d22}50%{box-shadow:0 0 0 10px #d82c1d00}}

@media(max-width:1120px){.products{grid-template-columns:repeat(2,1fr)}.shop{grid-template-columns:1fr}.cart{position:static}.hero{margin-left:14px;margin-right:14px}.hero-side{opacity:.55}.stats{grid-template-columns:repeat(3,1fr)}.featured-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.navlinks{display:none}.quick-grid{grid-template-columns:1fr 1fr}.hero{min-height:500px}.hero-inner{padding:52px 28px}.hero-side{display:none}.orders{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.cta-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:580px){.nav{padding:8px 10px}.brand b{font-size:1rem}.brand small{display:none}.logo{width:42px;height:42px}.hero{margin:10px;border-radius:22px;min-height:430px}.hero-inner{padding:36px 20px}.hero h1{letter-spacing:-1.5px}.quick{padding:0 10px}.quick-grid{grid-template-columns:1fr}.featured-wrap{padding:0 10px}.featured{padding:18px;border-radius:22px}.featured-grid{grid-template-columns:1fr 1fr;gap:9px}.section{padding-left:10px;padding-right:10px}.products{grid-template-columns:1fr 1fr;gap:9px}.body{padding:10px}.body h3{font-size:.94rem}.desc{font-size:.76rem;min-height:42px}.btn{padding:10px 11px}.stats{grid-template-columns:1fr 1fr}.admin{padding:12px}.admin-hero{align-items:flex-start;flex-direction:column}.order{padding:13px}.cta{padding:0 10px}}

.brand-logo img{width:190px;max-height:58px;object-fit:contain;background:transparent;border-radius:0;padding:0;box-shadow:none}
.brand-logo small{margin-left:8px;white-space:nowrap}
.hero-logo{width:min(430px,82%);display:block;margin:0 0 18px;background:transparent;border-radius:0;padding:0;box-shadow:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}
@media(max-width:820px){.brand-logo img{width:150px;max-height:50px}.brand-logo small{display:none}.hero-logo{width:min(360px,90%)}}
@media(max-width:580px){.brand-logo img{width:126px;max-height:44px;padding:3px 6px}.hero-logo{width:94%;margin-bottom:14px}}

.extras-info{font-size:.82rem;color:#6d5c52;margin-bottom:8px}
.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.extra-check{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e3d4c8;border-radius:11px;background:#fff;cursor:pointer}
.extra-check input{width:18px;height:18px;accent-color:#9e1c12}
.extra-check span{flex:1;font-size:.88rem}
.extra-check b{color:#9e1c12;font-size:.84rem;white-space:nowrap}
.modal-total{margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff0df;border:1px solid #f0cfaa;display:flex;justify-content:space-between;font-size:1rem}
.modal-total strong{color:#9e1c12;font-size:1.18rem}
@media(max-width:580px){.extras-grid{grid-template-columns:1fr}}

#deliveryStatusText,#pickupStatusText{font-weight:900}
select option:disabled{color:#999}

/* Pizza-De-Silva Extras – Mehrfachauswahl wie im bisherigen Shop */
.no-extra{
  display:inline-flex; align-items:center; justify-content:space-between;
  gap:10px; padding:9px 12px; border:1px solid #d8d8d8; border-radius:7px;
  background:#f7f7f7; color:#555; margin-bottom:8px; width:max-content;
}
.no-extra.active{background:#fff7e8;border-color:#d8a24f;color:#6a4310;font-weight:700}
.extras-grid{display:flex!important;flex-wrap:wrap;gap:7px!important}
.extra-check{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  width:auto!important;padding:7px 10px!important;border:1px solid #d5d5d5!important;
  border-radius:6px!important;background:#f8f8f8!important;cursor:pointer!important;
}
.extra-check input{width:16px!important;height:16px!important;margin:0!important}
.extra-check span{font-size:.92rem!important;white-space:nowrap}
.extra-check b{font-size:.82rem!important;color:#9e1c12!important;white-space:nowrap}
.extra-check:has(input:checked){background:#fff0df!important;border-color:#c78739!important}
.extras-info{font-size:.84rem;color:#6a625d;margin-bottom:8px}

.account-box{border:1px solid #ead7c9;background:#fff8ef;border-radius:16px;padding:14px;margin:12px 0 16px}
.account-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
.account-head b{display:block;color:#7f100b}.account-head small{display:block;color:#7a665c;margin-top:3px}
.account-head span{background:white;border:1px solid #ead7c9;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:900}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.account-grid input{padding:10px;border:1px solid #d9c1b0;border-radius:10px}
.account-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(max-width:580px){.account-grid{grid-template-columns:1fr}}


/* ===== Kategorie-Seite PRO – Sidebar + Produkte + Warenkorb ===== */
.shop-layout{
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 330px;
  gap:20px;
  align-items:start;
}
.category-panel{
  position:sticky; top:92px;
  background:#fffaf4;
  border:1px solid var(--line);
  border-radius:22px;
  padding:16px;
  box-shadow:0 10px 30px rgba(52,25,12,.07);
}
.category-panel h3{
  margin:0 0 12px;
  font-family:Georgia,serif;
  color:var(--burgundy);
  font-size:1.32rem;
}
.category-panel .categories{
  position:static;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:0;
  overflow:visible;
  background:none;
}
.category-panel .chip{
  width:100%;
  display:flex;
  align-items:center;
  gap:9px;
  border-radius:12px;
  padding:10px 11px;
  text-align:left;
  box-shadow:none;
}
.category-panel .chip .cat-icon{width:24px;text-align:center}
.category-panel .chip.active{
  background:linear-gradient(135deg,#d82d20,#8d120d);
  box-shadow:0 7px 18px rgba(180,35,23,.2);
}
.catalog-main{min-width:0}
.catalog-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin:2px 0 14px;
}
.catalog-heading h2{
  margin:0;
  font:700 2rem/1 Georgia,serif;
  color:var(--burgundy);
}
.catalog-heading p{margin:6px 0 0;color:var(--muted);font-size:.9rem}
.catalog-info{
  padding:8px 10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  color:#7d4b3d;
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
}
.shop-layout .products{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.shop-layout .cart{
  position:sticky;
  top:92px;
}
.inline-options{
  margin:10px 0 12px;
  display:grid;
  gap:7px;
}
.inline-options>label:not(.cheese-toggle){
  font-size:.77rem;
  font-weight:900;
  color:#5f372c;
}
.inline-options select{
  width:100%;
  padding:9px 10px;
  border:1px solid #ddc8b8;
  border-radius:9px;
  background:#fff;
}
.cheese-toggle{
  display:grid!important;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:7px;
  padding:9px 10px!important;
  border:1px solid #ead7c9!important;
  border-radius:10px!important;
  background:#fffaf5!important;
  cursor:pointer;
  width:100%!important;
}
.cheese-toggle input{width:16px!important;height:16px!important;margin:0!important}
.cheese-toggle span{font-size:.79rem;font-weight:800}
.cheese-toggle b{font-size:.78rem;color:var(--burgundy);white-space:nowrap}
.cheese-toggle:has(input:checked){
  background:#fff0df!important;
  border-color:#d79a5b!important;
}
.modal-cheese{margin-top:3px}
.product .body{padding:13px}
.product .body h3{font-family:Georgia,serif;color:#7f100b}
.product .media{background:#f2ede8}
.product .media img{width:100%;height:190px;object-fit:cover}
.product .btn.primary{width:100%}

/* New logo: more readable and less oversized */
.brand img, .hero img[src="pizza-de-silva-logo-neu.webp"]{
  object-fit:contain;
}
.brand img{
  width:150px;
  height:54px;
  background:transparent;
  border-radius:10px;
  padding:3px 8px;
}
.hero-logo{
  max-width:430px;
  max-height:245px;
  object-fit:contain;
}

@media(max-width:1180px){
  .shop-layout{grid-template-columns:180px minmax(0,1fr) 300px}
  .shop-layout .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .shop-layout{display:block}
  .category-panel{position:static;padding:0;border:0;background:transparent;box-shadow:none;margin-bottom:12px}
  .category-panel h3{display:none}
  .category-panel .categories{
    flex-direction:row;
    overflow:auto;
    padding:7px 0 11px;
    scrollbar-width:none;
  }
  .category-panel .chip{width:auto;white-space:nowrap;border-radius:999px}
  .shop-layout .cart{position:static;margin-top:18px}
  .catalog-info{display:none}
}
@media(max-width:620px){
  .shop-layout .products{grid-template-columns:1fr}
  .product .media img{height:210px}
  .catalog-heading h2{font-size:1.65rem}
}

.delivery-zones-overview{
  margin:10px 0 14px;
  padding:12px;
  border:1px solid #ead7c9;
  border-radius:14px;
  background:#fffaf5;
}
.delivery-zones-overview>b{
  display:block;
  margin-bottom:7px;
  color:#7f100b;
}
.delivery-zones-overview .zone-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  border-top:1px solid #f0dfd2;
  font-size:.85rem;
}
.delivery-zones-overview .zone-row:first-of-type{border-top:0}
.delivery-zones-overview .zone-row span:last-child{
  text-align:right;
  font-weight:700;
}
@media(max-width:560px){
  .delivery-zones-overview .zone-row{display:block}
  .delivery-zones-overview .zone-row span{display:block}
  .delivery-zones-overview .zone-row span:last-child{text-align:left;margin-top:2px}
}
