/* Base styles carried over from the Jumbo Pizza Version 8 prototype (both of its style layers, unchanged
   except for the hero image path). App-specific additions live in app.css / admin.css. */
:root{--red:#c92c22;--red2:#a91e17;--ink:#24201d;--muted:#716963;--cream:#fff8f1;--paper:#fff;--line:#eadfd5;--gold:#ffcc66;--green:#237a50;--shadow:0 12px 32px #32180d12}*{box-sizing:border-box}body{margin:0;background:#fffdfb;color:var(--ink);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{background:#211c19;color:#fff;padding:10px 5%;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.topbar span{opacity:.9}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 5%;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:4}.brand{display:flex;align-items:center;gap:10px;font-weight:950;font-size:23px;letter-spacing:-1px}.logo{display:grid;place-items:center;background:var(--red);color:white;width:43px;height:43px;border-radius:14px;font-size:22px;transform:rotate(-4deg)}.navlinks{display:flex;gap:20px;align-items:center}.navlinks a{color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:800;display:inline-flex;justify-content:center;align-items:center;gap:7px}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red2)}.secondary{background:#fff0e8;color:var(--red)}.dark{background:var(--ink);color:white}.outline{background:white;border:1px solid var(--line);color:var(--ink)}.smallbtn{padding:7px 10px;font-size:12px;border-radius:9px}.hero{margin:24px auto 0;width:90%;max-width:1400px;min-height:275px;border-radius:26px;overflow:hidden;background:linear-gradient(100deg,#241a16f5,#241a16b8 54%,#241a1655),url('/assets/branding/hero.svg') center/cover;color:#fff;display:flex;align-items:center;padding:42px 5%;position:relative}.hero-content{max-width:650px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#ffcf85}.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-2px;margin:12px 0}.hero p{font-size:16px;color:#f5e9e0;max-width:510px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero .btn{padding:13px 18px}.offerstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:90%;max-width:1400px;margin:16px auto 0}.offer{display:flex;align-items:center;gap:12px;background:#fff4e8;border:1px solid #f2dfca;border-radius:17px;padding:14px}.offer .emoji{font-size:30px}.offer strong{display:block}.offer small{color:var(--muted)}.offer button{margin-left:auto;white-space:nowrap}.wrap{width:90%;max-width:1400px;margin:32px auto 70px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:30px 0 16px}.section-head h2{font-size:30px;letter-spacing:-1px;margin:0}.section-head p{color:var(--muted);margin:5px 0 0}.pill{border-radius:99px;background:#fff0e8;color:var(--red);padding:6px 10px;font-size:11px;font-weight:900;display:inline-block}.categorybar{display:flex;gap:8px;overflow:auto;padding:3px 0 12px;position:sticky;top:76px;background:#fffdfb;z-index:3}.categorybar button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:10px 15px;font-weight:800;white-space:nowrap;color:#4a4039}.categorybar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.subcats{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 18px}.subcats button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 13px;font-weight:750}.subcats button.active{border-color:var(--red);color:var(--red);background:#fff4ef}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 3px 14px #32180d06;display:flex;flex-direction:column}.product img{width:100%;height:174px;object-fit:cover;background:#f5e9df}.product-body{padding:17px;display:flex;flex-direction:column;flex:1}.product h3{margin:8px 0 5px;font-size:19px;letter-spacing:-.5px}.product p{margin:0 0 12px;color:var(--muted);font-size:13px;flex:1}.product-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.price{font-weight:950;font-size:21px}.muted{color:var(--muted)}.featurelist{font-size:12px;color:#5f554e;margin:4px 0 12px}.featurelist span{display:inline-block;margin:3px 4px 0 0;background:#f8f2ed;padding:4px 7px;border-radius:7px}.note{background:#fff7e8;border:1px solid #f1dfb9;padding:13px 15px;border-radius:13px;color:#6b5121;font-size:13px}.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}.panel{border:1px solid var(--line);background:white;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.panel h3{margin:0 0 14px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:12px;font-weight:850;color:#554b44}.field input,.field select,.field textarea{border:1px solid #ded2c8;border-radius:10px;padding:11px 12px;background:#fff;width:100%;color:var(--ink)}.field textarea{min-height:95px;resize:vertical}.rowfields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cartline{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.cartline small{display:block;color:var(--muted);font-size:12px}.carttotal{display:flex;justify-content:space-between;font-size:19px;font-weight:950;margin:15px 0}.empty{padding:32px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}.footer{background:#211c19;color:#fff;padding:35px 5%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer small{color:#c9bdb5}.admin-shell{display:none}.admin-head{background:#211c19;color:white;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:15px}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:75vh}.sidebar{background:#f7f0e9;padding:20px;display:flex;flex-direction:column;gap:7px}.sidebar button{text-align:left;border:0;background:transparent;padding:12px;border-radius:10px;font-weight:800;color:#51463e}.sidebar button.active,.sidebar button:hover{background:white;color:var(--red)}.admin-main{padding:26px 4%;min-width:0}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.admin-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:800}.admin-tabs button.active{background:var(--ink);color:white}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.stat small{color:var(--muted)}.stat strong{font-size:26px;display:block;margin-top:6px}.tablewrap{overflow:auto}.admintable{width:100%;border-collapse:collapse;font-size:13px}.admintable th,.admintable td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.admintable th{background:#faf5f0;color:#6a5b50;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.status{display:inline-block;border-radius:99px;padding:4px 8px;font-size:11px;font-weight:900;background:#eee;color:#5d534d}.status.pending{background:#fff0c8;color:#805b00}.status.approved,.status.accepted,.status.active{background:#e0f5e8;color:#17683e}.status.declined,.status.hidden,.status.inactive{background:#fde6e3;color:#a3231b}.modalback{display:none;position:fixed;inset:0;background:#1b120dc9;z-index:20;overflow:auto;padding:20px;align-items:center;justify-content:center}.modalback.show{display:flex}.modal{background:#fff;border-radius:22px;width:min(820px,100%);max-height:94vh;overflow:auto;padding:24px;box-shadow:0 25px 80px #0004}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.modal-head h2{margin:0 0 5px;letter-spacing:-.7px}.close{border:0;background:#f5eee8;border-radius:10px;width:36px;height:36px;font-size:20px}.pizza-config{border:1px solid var(--line);border-radius:15px;padding:15px;margin:12px 0}.pizza-config h4{margin:0 0 5px}.pizza-config p{margin:0 0 10px;color:var(--muted);font-size:12px}.checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checkopt{display:flex;align-items:center;gap:7px;background:#faf5f0;border-radius:9px;padding:8px;font-size:12px}.checkopt input{accent-color:var(--red)}.halfgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cartbadge{background:var(--gold);color:#3e2a0b;border-radius:99px;padding:2px 7px;font-size:11px}.hidden{display:none!important}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#211c19;color:#fff;padding:12px 18px;border-radius:12px;z-index:40;box-shadow:var(--shadow);display:none}.toast.show{display:block}.review-card{border:1px solid var(--line);border-radius:14px;padding:15px;margin:10px 0}.review-card p{margin:6px 0;color:var(--muted)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offerstrip{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.sidebar{flex-direction:row;overflow:auto}.sidebar button{white-space:nowrap}.navlinks a{display:none}.hero{min-height:250px}.categorybar{top:72px}}
@media(max-width:580px){.grid{grid-template-columns:1fr}.nav{padding:12px 5%}.brand{font-size:19px}.hero{padding:28px 7%;width:92%}.wrap{width:92%}.rowfields,.halfgrid{grid-template-columns:1fr}.checkgrid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr 1fr}.admin-head{align-items:flex-start;flex-direction:column}.section-head h2{font-size:25px}}

/* Jumbo Pizza visual refresh — inspired by modern pizza-ordering UX, with original branding */
:root{--red:#d62828;--red2:#b91f24;--ink:#181c24;--muted:#687080;--cream:#fff7f0;--line:#e9eaf0;--gold:#ffd166;--shadow:0 16px 42px rgba(20,25,35,.08)}
body{background:#f7f8fb;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.topbar{background:#171b25;padding:10px max(5%,calc((100% - 1320px)/2));font-size:12px;letter-spacing:.15px}
.nav{padding:13px max(5%,calc((100% - 1320px)/2));box-shadow:0 4px 18px rgba(20,25,35,.045);border-bottom:1px solid #eceef3}
.brand{letter-spacing:-.7px}.logo{border-radius:13px;background:linear-gradient(135deg,#e53232,#ba1722);box-shadow:0 5px 12px #c92c2233}
.btn{border-radius:10px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1b243015}.primary{background:linear-gradient(135deg,#e63333,#c71f29)}
.hero{width:min(1320px,90%);min-height:390px;margin:24px auto 0;border-radius:25px;background:linear-gradient(90deg,rgba(18,22,31,.96) 0%,rgba(18,22,31,.85) 43%,rgba(18,22,31,.12) 100%),url('/assets/branding/hero.svg') center 52%/cover;box-shadow:0 18px 45px rgba(25,28,38,.13);padding:48px 5%}
.hero-content{max-width:610px}.eyebrow{display:flex;align-items:center;gap:9px;color:#ffd166;letter-spacing:1.8px}.live-dot{width:8px;height:8px;background:#58d68d;border-radius:50%;box-shadow:0 0 0 5px #58d68d26}.hero h1{font-size:clamp(39px,5vw,66px);letter-spacing:-2.8px;line-height:.99;margin:18px 0}.hero p{line-height:1.65;color:#f2f3f7;font-size:16px}.hero .primary{background:#e42c31}.hero .outline{background:rgba(255,255,255,.94);border-color:transparent}.hero-trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:12px;color:#fff;font-weight:750}.hero-trust span{background:#ffffff18;border:1px solid #ffffff2c;padding:7px 10px;border-radius:99px}
.offerstrip{width:min(1320px,90%);grid-template-columns:repeat(3,minmax(0,1fr));margin:18px auto 0;gap:14px}.offer{padding:0;overflow:hidden;align-items:stretch;gap:0;border:1px solid #eceef3;background:#fff;border-radius:17px;box-shadow:0 8px 24px rgba(20,25,35,.045);min-width:0}.offer img{width:112px;min-height:140px;object-fit:cover;flex-shrink:0}.offer-copy{padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;flex:1}.offer-kicker{font-size:9px;font-weight:950;letter-spacing:1.2px;color:var(--red)}.offer strong{font-size:14px;line-height:1.25}.offer small{font-size:11px;line-height:1.4;color:var(--muted)}.offer-price{font-size:18px;color:var(--ink);margin-top:auto}.offer button{align-self:flex-end;margin:0 12px 13px 0;white-space:nowrap}
.wrap{width:min(1320px,90%);margin:38px auto 76px}.section-head{margin:38px 0 18px}.section-head h2{font-size:clamp(26px,3vw,34px);letter-spacing:-1.1px}.pill{background:#ffeded;color:#c5222c;letter-spacing:.3px}.categorybar{top:68px;padding:12px 0;background:rgba(247,248,251,.96);backdrop-filter:blur(12px);margin:0 -4px}.categorybar button{border-color:#e5e7ee;background:#fff;box-shadow:0 2px 5px #14192306}.categorybar button.active{background:#1b202b;border-color:#1b202b;box-shadow:0 5px 12px #1b202b1f}
.grid{gap:20px}.product{border:1px solid #e9eaf0;border-radius:18px;box-shadow:0 5px 18px rgba(20,25,35,.035);transition:transform .18s ease,box-shadow .18s ease}.product:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,25,35,.09)}.product img{height:205px;object-fit:cover;background:#f0e5d9}.product-body{padding:18px}.product h3{font-size:18px;line-height:1.25}.product p{font-size:13px;line-height:1.55}.product-foot{margin-top:auto;padding-top:12px;border-top:1px solid #f0f1f5}.price{font-size:23px;letter-spacing:-.6px}.featurelist span{background:#f1f3f7;color:#4d5667;border-radius:6px}.subcats button{border-color:#e1e4ec}.subcats button.active{border-color:var(--red);background:#fff0f0}
.panel{border-color:#e8eaf0;border-radius:18px;box-shadow:0 8px 24px rgba(20,25,35,.045)}.footer{background:#171b25}.admin-head{background:#171b25}.sidebar{background:#f0f2f7}.sidebar button.active,.sidebar button:hover{background:#fff;box-shadow:0 3px 10px #1419230c}.modal{border-radius:20px}.pizza-config{border-color:#e6e8ef;background:#fff}
@media(max-width:1050px){.offerstrip{grid-template-columns:1fr}.offer img{width:130px}.hero{min-height:350px}.product img{height:185px}}
@media(max-width:580px){.hero{min-height:420px;background:linear-gradient(90deg,rgba(18,22,31,.94),rgba(18,22,31,.55)),url('/assets/branding/hero.svg') center/cover;padding:30px 7%}.hero h1{letter-spacing:-1.7px}.hero-trust{gap:7px}.hero-trust span{font-size:10px}.offer img{width:100px}.offer button{margin-right:8px}.offer-copy{padding:12px 9px}.offer strong{font-size:12px}.offer small{font-size:10px}.offer-price{font-size:16px}.categorybar{top:64px}.product img{height:220px}}

.size-ribbon{width:min(1320px,90%);margin:16px auto 0;padding:14px 18px;border:1px solid #e5e8ef;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 6px 20px rgba(20,25,35,.035)}.size-ribbon-title{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.size-ribbon-title b{font-size:14px}.size-ribbon-title small{font-size:11px;color:var(--muted)}.size-ribbon-options{display:flex;gap:7px;flex-wrap:wrap}.size-ribbon-options button{border:1px solid #e2e5ed;background:#f7f8fb;border-radius:99px;padding:8px 13px;font-weight:800;font-size:12px;color:#303746}.size-ribbon-options button:hover{background:#ffeded;border-color:#f1bfc1;color:#bf2029}.size-ribbon-options .size-clear{background:#1b202b;color:#fff;border-color:#1b202b}@media(max-width:760px){.size-ribbon{align-items:flex-start;flex-direction:column}.size-ribbon-title{white-space:normal}}

/* Additions on top of the V8 prototype styles. Same tokens (--red, --ink, --muted, --line …). */

:root { --ok:#17683e; --ok-bg:#e3f5ea; --err:#a3231b; --err-bg:#fde8e5; --focus:#1e5bb8; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 6px; }
.skip-link { position:absolute; left:-999px; top:8px; z-index:50; background:#fff; padding:8px 12px; border-radius:8px; }
.skip-link:focus { left:8px; }
body.modal-open { overflow:hidden; }
.hidden { display:none !important; }
.small { font-size:12px; }
.wide { width:100%; }
.btn { text-decoration:none; }
.btn[disabled], .btn.is-disabled { opacity:.5; pointer-events:none; }
.linkbtn { background:none; border:0; padding:0; color:var(--red); font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; font-size:inherit; }
.linkbtn.light { color:#ffd166; }
.linkbtn.danger { color:var(--err); }
.pill.gold { background:#fff3cf; color:#7a5a00; }
.loading { padding:60px; text-align:center; color:var(--muted); }

/* Nav */
.brand { text-decoration:none; color:var(--ink); }
.logo-img { width:43px; height:43px; border-radius:13px; box-shadow:0 5px 12px #c92c2233; transform:rotate(-4deg); }
.brand-sub { color:var(--red); }
.navlinks a.active { color:var(--red); box-shadow:inset 0 -3px 0 var(--red); padding-bottom:4px; }
.nav-actions { display:flex; gap:8px; align-items:center; }
.menu-toggle { display:none; }
.mobile-nav { display:none; }
.mobile-cart { display:none; }
@media (max-width: 900px) {
  .navlinks { display:none; }
  .menu-toggle { display:inline-flex; }
  body.nav-open .mobile-nav { display:flex; flex-direction:column; background:#fff; border-bottom:1px solid var(--line); padding:8px 5%; position:sticky; top:64px; z-index:4; }
  .mobile-nav a { padding:12px 4px; font-weight:800; text-decoration:none; border-bottom:1px solid #f1f2f6; }
  .mobile-nav a.active { color:var(--red); }
  .hide-sm { display:none; }
}
@media (max-width: 580px) {
  .brand > span { font-size:15px; line-height:1.1; }
  .brand-sub { display:block; font-size:12px; }
  .account-link { display:none; }
}

/* Category bar & subcategories as links */
.categorybar a { border:1px solid #e5e7ee; background:#fff; border-radius:99px; padding:10px 15px; font-weight:800; white-space:nowrap; color:#4a4039; text-decoration:none; box-shadow:0 2px 5px #14192306; }
.categorybar a.active { background:#1b202b; color:#fff; border-color:#1b202b; }
.subcats a { border:1px solid #e1e4ec; border-radius:10px; background:#fff; padding:9px 13px; font-weight:750; text-decoration:none; }
.subcats a.active { border-color:var(--red); color:var(--red); background:#fff0f0; }
.subhead { margin:24px 0 12px; font-size:18px; }
.menu-section + .menu-section { margin-top:12px; border-top:1px solid var(--line); }
.filter-banner { background:#fff; border:1px solid var(--line); padding:12px 16px; border-radius:12px; margin-bottom:16px; }
.ribbon-btn { border:1px solid #e2e5ed; background:#f7f8fb; border-radius:99px; padding:8px 13px; font-weight:800; font-size:12px; color:#303746; text-decoration:none; }
.ribbon-btn:hover { background:#ffeded; border-color:#f1bfc1; color:#bf2029; }
.ribbon-btn.size-clear { background:#1b202b; color:#fff; border-color:#1b202b; }
.ctx { font-weight:700; }

/* Home category tiles */
.cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.cat-tile { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:transform .16s, box-shadow .16s; }
.cat-tile:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(20,25,35,.08); }
.cat-tile img { width:100%; aspect-ratio:4/3; object-fit:cover; background:#f0e5d9; }
.cat-name { font-weight:900; padding:12px 14px 0; font-size:15px; }
.cat-tile small { padding:0 14px 12px; color:var(--muted); }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px) { .grid.two { grid-template-columns:1fr; } }

/* Product cards */
.product-pills { display:flex; gap:6px; flex-wrap:wrap; }
.product.is-soldout img { filter:grayscale(.8); opacity:.7; }
.price small { font-size:12px; color:var(--muted); font-weight:700; }
.offer-price s { color:var(--muted); font-size:12px; font-weight:600; }
.offerstrip.deals { grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); width:auto; margin:0 0 10px; }

/* Notes */
.note.err { background:var(--err-bg); border-color:#f6c7c1; color:var(--err); }
.note.ok { background:var(--ok-bg); border-color:#bfe3cc; color:var(--ok); }
.note + .note, .note + .btn, .note { margin-bottom:10px; }
.hint { font-size:12px; color:var(--muted); margin:8px 0 0; }
.toast.toast-error { background:var(--err); }

/* Modal */
.modal { position:relative; }
.modal.modal-wide { width:min(980px,100%); }
.modal:focus { outline:none; }
.modal h3 { margin:0 0 6px; }
@media (max-width:580px) {
  .modalback { padding:0; align-items:flex-end; }
  .modal, .modal.modal-wide { border-radius:20px 20px 0 0; max-height:96vh; padding:18px; }
}

/* Store & fulfilment pickers */
.store-cards, .ff-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }
.store-card, .ff-card { text-align:left; background:#fff; border:2px solid var(--line); border-radius:16px; padding:18px; color:var(--ink); transition:border-color .15s, box-shadow .15s; }
.store-card:hover, .ff-card:hover:not([disabled]) { border-color:var(--red); box-shadow:0 10px 24px rgba(214,40,40,.1); }
.store-card.on, .ff-card.on { border-color:var(--red); background:#fff7f7; }
.store-card h3, .ff-card h3 { margin:0; }
.store-card p { margin:6px 0; font-size:13px; }
.store-card-top { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.ff-card[disabled] { opacity:.5; cursor:not-allowed; }
.ff-icon { font-size:32px; }
.postal-form { margin-top:16px; }
.inline-field { display:flex; gap:8px; }
.inline-field input { flex:1; min-width:0; border:1px solid #ded2c8; border-radius:10px; padding:11px 12px; }
@media (max-width:580px) { .store-cards, .ff-grid { grid-template-columns:1fr; } }

/* Customizer */
.cz-title { display:flex; gap:16px; align-items:flex-start; }
.cz-title img { width:120px; height:90px; border-radius:14px; object-fit:cover; flex-shrink:0; background:#f0e5d9; }
.cz-title .featurelist { margin-bottom:0; }
@media (max-width:580px) { .cz-title img { width:72px; height:56px; } .cz-title h2 { font-size:19px; } }
.pc-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; margin-bottom:10px; }
.pc-head h4 { display:flex; gap:8px; align-items:center; }
.pc-foot { display:flex; gap:12px; align-items:center; margin-top:10px; font-size:12px; color:var(--muted); }
.seg { display:inline-flex; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.seg button { border:0; background:#fff; padding:8px 12px; font-weight:800; font-size:12px; color:#4d5667; }
.seg button.on { background:var(--ink); color:#fff; }
.topping-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(128px,1fr)); gap:7px; }
.topping-chip { border:1px solid #e3e5ec; background:#f7f8fb; border-radius:10px; padding:9px 10px; text-align:left; font-weight:700; font-size:13px; color:#2c3340; display:flex; flex-direction:column; gap:2px; min-height:44px; justify-content:center; }
.topping-chip:hover { border-color:#f1bfc1; }
.topping-chip.on { background:#fff0f0; border-color:var(--red); color:#8f1a1f; }
.topping-chip.on.is-inc { background:var(--ok-bg); border-color:#7fc59a; color:var(--ok); }
.topping-chip small { font-size:11px; font-weight:800; }
.inc { color:var(--ok); }
.extra { color:var(--red); font-weight:800; }
.halfgrid h5 { margin:0 0 8px; display:flex; gap:7px; align-items:center; font-size:14px; }
.half-col { background:#fafbfd; border:1px dashed #dfe2ea; border-radius:12px; padding:10px; }
.half-icon { width:18px; height:18px; border-radius:50%; border:2px solid var(--red); display:inline-block; }
.half-icon.left { background:linear-gradient(90deg,var(--red) 50%,transparent 50%); }
.half-icon.right { background:linear-gradient(90deg,transparent 50%,var(--red) 50%); }
.req { font-size:11px; font-weight:900; padding:5px 9px; border-radius:99px; background:#fff0c8; color:#805b00; white-space:nowrap; }
.req.done { background:var(--ok-bg); color:var(--ok); }
.option-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; }
.option-card { border:2px solid #e6e8ef; background:#fff; border-radius:12px; padding:8px; display:flex; flex-direction:column; gap:4px; text-align:left; font-weight:800; font-size:13px; }
.option-card img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; background:#f0e5d9; }
.option-card small { color:var(--muted); font-weight:700; }
.option-card.on { border-color:var(--red); background:#fff7f7; }
.option-card[disabled] { opacity:.45; }
.can-list { display:grid; gap:6px; }
.can-row { display:flex; align-items:center; gap:10px; border:1px solid #eceef3; border-radius:12px; padding:6px 10px; }
.can-row.on { border-color:var(--red); background:#fff7f7; }
.can-row img { width:44px; height:33px; object-fit:cover; border-radius:6px; }
.can-row > span { flex:1; font-weight:750; }
.stepper { display:inline-flex; align-items:center; gap:2px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.stepper button { border:0; background:transparent; width:36px; height:36px; font-size:18px; font-weight:900; color:var(--ink); border-radius:9px; }
.stepper button:hover:not([disabled]) { background:#f2f3f7; }
.stepper button[disabled] { opacity:.3; }
.stepper b { min-width:22px; text-align:center; }
.stepper.big button { width:44px; height:44px; }
.size-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.size-card { border:2px solid #e6e8ef; background:#fff; border-radius:12px; padding:10px; display:flex; flex-direction:column; gap:2px; text-align:left; }
.size-card span { font-weight:900; font-size:18px; }
.size-card small { color:var(--muted); font-size:11px; }
.size-card.on { border-color:var(--red); background:#fff7f7; }
@media (max-width:640px) { .size-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.included-row { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; }
.included-row span { background:var(--ok-bg); color:var(--ok); border-radius:8px; padding:6px 10px; font-size:12px; font-weight:800; }
.cz-foot { position:sticky; bottom:-24px; background:#fff; border-top:1px solid var(--line); margin:16px -24px -24px; padding:14px 24px 18px; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:end; box-shadow:0 -10px 24px rgba(20,25,35,.06); }
.cz-add { min-height:48px; min-width:200px; }
@media (max-width:640px) {
  .cz-foot { grid-template-columns:1fr; margin:16px -18px -18px; padding:12px 18px 16px; bottom:-18px; }
  .cz-add { width:100%; }
}
.price-box { font-size:13px; max-height:150px; overflow:auto; }
.bline { display:flex; justify-content:space-between; gap:12px; padding:2px 0; color:#4d5667; }
.bline.base { font-weight:800; color:var(--ink); }
.bline.total { font-weight:950; color:var(--ink); font-size:15px; border-top:1px solid var(--line); margin-top:4px; padding-top:6px; }
.bline.promo { color:var(--ok); }

/* Cart */
.cartline { align-items:flex-start; }
.cart-thumb { width:84px; height:63px; object-fit:cover; border-radius:10px; flex-shrink:0; background:#f0e5d9; }
.cart-main { flex:1; min-width:0; }
.cart-price { text-align:right; white-space:nowrap; }
.cart-price small { display:block; color:var(--muted); }
.cart-price .promo { color:var(--ok); }
.cart-actions { display:flex; gap:14px; align-items:center; margin-top:8px; }
.cartline.has-error { background:#fff8f7; }
.item-detail { list-style:none; padding:0; margin:6px 0 0; font-size:12.5px; color:#4d5667; display:grid; gap:3px; }
.pz-label { font-weight:800; color:var(--ink); margin-right:4px; }
.ctx-box { display:flex; justify-content:space-between; gap:10px; align-items:center; background:#f7f8fb; border:1px solid var(--line); border-radius:12px; padding:12px; margin-bottom:12px; }
.ctx-box small { display:block; }
.totals { margin-top:10px; }
.sticky-summary { position:sticky; top:90px; align-self:start; }
.sum-line { display:flex; justify-content:space-between; gap:10px; font-size:13px; padding:4px 0; }
.pay-options { display:grid; gap:8px; }
.pay-opt { display:flex; gap:10px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:12px; cursor:pointer; font-weight:700; }
.pay-opt:has(input:checked) { border-color:var(--red); background:#fff7f7; }
.pay-opt input { accent-color:var(--red); width:18px; height:18px; }
.panel h3:not(:first-child) { margin-top:22px; }
@media (max-width:580px) { .cart-thumb { width:56px; height:42px; } .cartline { flex-wrap:wrap; } }

/* Confirmation */
.confirm-head { display:flex; gap:16px; align-items:center; margin:24px 0; }
.confirm-icon { width:58px; height:58px; border-radius:50%; background:var(--ok); color:#fff; display:grid; place-items:center; font-size:30px; font-weight:900; flex-shrink:0; }
.confirm-head h2 { margin:6px 0 2px; font-size:30px; letter-spacing:-1px; }
.progress { list-style:none; display:grid; grid-template-columns:repeat(5,1fr); gap:6px; padding:0; margin:0 0 16px; counter-reset:s; }
.progress li { font-size:12px; font-weight:800; color:var(--muted); border-top:5px solid #e5e7ee; padding-top:8px; }
.progress li.done { border-color:var(--ok); color:var(--ok); }
.progress li.current { border-color:var(--red); color:var(--red); }
.wrap.narrow { max-width:1000px; }

/* Stores / reviews */
.hours { width:100%; border-collapse:collapse; margin:12px 0; font-size:13px; }
.hours th { text-align:left; font-weight:700; color:var(--muted); padding:5px 0; }
.hours td { text-align:right; }
.hours tr.today th, .hours tr.today td { color:var(--ink); font-weight:900; }
.store-info .btn.primary { margin-top:10px; }
.postal-check { margin-top:10px; }
.postal-out { margin-top:8px; }
.stars { color:#e09a1c; letter-spacing:1px; display:block; }
.review p { margin:6px 0; }
.feedback-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.fb-card { text-align:left; display:flex; flex-direction:column; gap:4px; border:1px solid var(--line); cursor:pointer; }
.fb-card:hover { border-color:var(--red); }
.fb-icon { font-size:26px; }
@media (max-width:900px) { .feedback-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.order-row { text-decoration:none; }
details summary { cursor:pointer; font-weight:800; margin:12px 0; }

/* Footer & mobile cart bar */
.footer a { color:#fff; }
@media (max-width:760px) {
  .mobile-cart { display:block; position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:10; background:var(--red); color:#fff; text-align:center; font-weight:900; padding:14px; border-radius:14px; box-shadow:0 10px 30px rgba(214,40,40,.35); text-decoration:none; }
  body.modal-open .mobile-cart { display:none; }
  .footer { padding-bottom:90px; }
  .toast { bottom:84px; }
}
.footer .brand { color:#fff; }
#app { min-height:calc(100vh - 320px); }
.note.wait { background:#f7f8fb; border-color:var(--line); color:#4d5667; }
.field label.check { flex-direction:row; display:flex; align-items:center; gap:8px; }
.field label.check input, label.check input { width:auto; accent-color:var(--red); }
body.cart-empty .mobile-cart { display:none !important; }
@media (max-width:640px) {
  .cz-foot { grid-template-columns:auto 1fr; grid-template-areas:"price price" "qty add"; gap:10px; }
  .cz-foot #czPrice { grid-area:price; }
  .cz-foot .stepper { grid-area:qty; }
  .cz-foot .cz-add { grid-area:add; min-width:0; }
  .price-box { max-height:64px; font-size:12px; }
  .price-box .hint { display:none; }
}

/* ───────── Locations bar (top of home page) ───────── */
.loc-bar { width:min(1320px,90%); margin:16px auto 0; display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:stretch; }
.loc-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:12px 14px; display:flex; gap:12px; align-items:center; justify-content:space-between; box-shadow:0 6px 20px rgba(20,25,35,.035); }
.loc-card.on { border-color:var(--red); background:#fff9f9; }
.loc-main { display:flex; flex-direction:column; gap:2px; min-width:0; }
.loc-title { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.loc-main small { color:var(--muted); font-size:12px; }
.loc-more { align-self:center; font-weight:800; color:var(--red); text-decoration:none; white-space:nowrap; padding:0 6px; }
@media (max-width:860px) { .loc-bar { grid-template-columns:1fr; width:92%; } .loc-more { justify-self:end; } }

/* ───────── Deals slider ───────── */
.deal-slider { position:relative; width:min(1320px,90%); margin:16px auto 0; }
.slides { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; border-radius:25px; scrollbar-width:none; box-shadow:0 18px 45px rgba(25,28,38,.13); }
.slides::-webkit-scrollbar { display:none; }
.slides:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.slide { flex:0 0 100%; scroll-snap-align:start; min-height:390px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:10px; padding:44px 5%; color:#fff; position:relative; overflow:hidden; }
.slide-hero { display:flex; background:linear-gradient(90deg,rgba(18,22,31,.96) 0%,rgba(18,22,31,.85) 43%,rgba(18,22,31,.12) 100%),url('/assets/branding/hero.svg') center 52%/cover; }
.slide-hero h1 { font-size:clamp(36px,5vw,64px); letter-spacing:-2.6px; line-height:.99; margin:16px 0; }
.slide-hero p { color:#f2f3f7; line-height:1.65; max-width:520px; }
.theme-ember { background:radial-gradient(120% 140% at 85% 50%,#ff8a3d 0%,#d62828 45%,#7a1214 100%); }
.theme-night { background:radial-gradient(120% 140% at 85% 50%,#3b3f52 0%,#1b1f2b 55%,#0f1118 100%); }
.theme-basil { background:radial-gradient(120% 140% at 85% 50%,#3f9a5a 0%,#1f6a3a 50%,#123d22 100%); }
.theme-gold { background:radial-gradient(120% 140% at 85% 50%,#ffd166 0%,#f08a24 50%,#a8461a 100%); }
.slide-copy { max-width:560px; position:relative; z-index:1; }
.slide-kicker { display:inline-block; font-size:11px; font-weight:950; letter-spacing:2px; background:#ffffff22; border:1px solid #ffffff44; padding:6px 10px; border-radius:99px; }
.slide-copy h2 { font-size:clamp(30px,4.2vw,54px); line-height:1.02; letter-spacing:-1.8px; margin:14px 0 10px; }
.slide-copy p { font-size:16px; line-height:1.55; color:#ffffffe6; margin:0 0 14px; }
.slide-price { font-size:clamp(30px,3.6vw,44px); font-weight:950; letter-spacing:-1px; margin-bottom:16px; }
.slide-price s { font-size:18px; opacity:.7; font-weight:700; }
.slide-actions { display:flex; gap:10px; flex-wrap:wrap; }
.slide .btn.primary { background:#fff; color:#b91f24; }
.slide-hero .btn.primary { background:linear-gradient(135deg,#e63333,#c71f29); color:#fff; }
.slide .btn.outline { background:transparent; color:#fff; border-color:#ffffff88; }
.slide-hero .btn.outline { background:rgba(255,255,255,.94); color:var(--ink); }
.slide-art { display:flex; justify-content:center; align-items:center; }
.slide-art img { width:100%; max-width:520px; aspect-ratio:4/3; object-fit:cover; border-radius:22px; box-shadow:0 24px 50px rgba(0,0,0,.35); transform:rotate(2deg); }
.slide-nav { position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--ink); font-size:28px; line-height:1; box-shadow:0 6px 18px rgba(0,0,0,.2); z-index:2; }
.slide-nav:hover { background:#fff; }
.slide-nav.prev { left:-12px; } .slide-nav.next { right:-12px; }
.slide-dots { position:absolute; left:0; right:0; bottom:14px; display:flex; justify-content:center; gap:8px; z-index:2; }
.slide-dots button { width:10px; height:10px; border-radius:99px; border:0; background:#ffffff80; padding:0; transition:width .2s, background .2s; }
.slide-dots button.on { width:28px; background:#fff; }
@media (max-width:760px) {
  .deal-slider { width:92%; }
  .slide { grid-template-columns:1fr; min-height:0; padding:26px 22px 46px; gap:16px; }
  .slide-art { order:-1; }
  .slide-art img { max-width:100%; transform:none; border-radius:16px; aspect-ratio:16/10; }
  .slide-hero { min-height:430px; background:linear-gradient(90deg,rgba(18,22,31,.94),rgba(18,22,31,.55)),url('/assets/branding/hero.svg') center/cover; }
  .slide-nav { display:none; }
}
@media (prefers-reduced-motion: reduce) { .slides { scroll-behavior:auto; } }

/* ───────── Sign-in ───────── */
.signin-panel { max-width:520px; }
.signin { display:flex; flex-direction:column; gap:12px; }
.gsi-slot { min-height:44px; display:flex; justify-content:center; }
.g-logo { font-weight:900; color:#4285f4; }
.or { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:12px; font-weight:800; }
.or::before, .or::after { content:''; flex:1; height:1px; background:var(--line); }
.cc { display:flex; align-items:center; padding:0 10px; border:1px solid #ded2c8; border-radius:10px; background:#f7f8fb; font-weight:800; }
.si-code { letter-spacing:8px; font-size:22px; text-align:center; font-weight:900; }

/* ───────── Account orders ───────── */
.acct-order { border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:10px; }
.acct-order-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.acct-order-top small { display:block; color:var(--muted); }
.acct-total { text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.acct-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.reviewed { font-size:12px; font-weight:800; color:#a8700f; background:#fff6e0; padding:5px 9px; border-radius:99px; }
.status.new, .status.accepted, .status.preparing, .status.ready, .status.out_for_delivery { background:#e6efff; color:#1d4ea6; }
.status.completed { background:var(--ok-bg); color:var(--ok); }
.status.cancelled, .status.declined { background:var(--err-bg); color:var(--err); }
.star-pick { display:flex; gap:6px; margin:6px 0 10px; }
.star-pick button { font-size:34px; line-height:1; border:0; background:none; color:#d9dce4; padding:2px; }
.star-pick button.on { color:#f0a91c; }
@media (max-width:860px) {
  .loc-bar { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; padding-bottom:2px; scrollbar-width:none; }
  .loc-bar::-webkit-scrollbar { display:none; }
  .loc-card { flex:0 0 82%; scroll-snap-align:start; padding:10px 12px; }
  .loc-main small:nth-of-type(2) { display:none; }
  .loc-more { display:none; }
  .loc-card .btn { padding:8px 10px; white-space:nowrap; }
}

/* ───────── Tips ───────── */
.tip-box { border:1px solid var(--line); border-radius:14px; padding:12px; margin:12px 0 4px; background:#fbfbfd; }
.tip-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.tip-head h3 { margin:0 !important; font-size:16px; }
.tip-box .hint { margin:4px 0 10px; }
.tip-chips { display:grid; grid-template-columns:repeat(auto-fit,minmax(62px,1fr)); gap:6px; }
.tip-chip { border:1.5px solid #e1e4ec; background:#fff; border-radius:10px; padding:8px 4px; font-weight:900; font-size:14px; display:flex; flex-direction:column; align-items:center; gap:1px; min-height:48px; justify-content:center; }
.tip-chip small { font-size:11px; color:var(--muted); font-weight:700; }
.tip-chip.on { border-color:var(--red); background:#fff0f0; color:#b91f24; }
.tip-chip.on small { color:#b91f24; }
.tip-custom { display:flex; align-items:center; gap:8px; margin-top:8px; font-size:13px; font-weight:800; color:#4d5667; }
.tip-custom input { width:100px; border:1.5px solid #e1e4ec; border-radius:10px; padding:8px 10px; font-weight:800; }
.tip-custom.on input { border-color:var(--red); }

/* ───────── Live order status ───────── */
.live { display:flex; gap:20px; align-items:center; border-radius:20px; padding:22px 24px; margin:0 0 16px; background:#fff; border:1px solid var(--line); box-shadow:0 10px 30px rgba(20,25,35,.06); }
.live h2 { margin:6px 0 6px; font-size:24px; letter-spacing:-.6px; }
.live p { margin:0 0 8px; color:#4d5667; }
.live-kicker { display:inline-flex; gap:6px; align-items:center; font-size:11px; font-weight:950; letter-spacing:1.6px; color:var(--red); }
.live-wait { background:linear-gradient(135deg,#fff7f0,#fff); border-color:#f6d9c4; }
.live-accepted, .live-preparing { background:linear-gradient(135deg,#eef5ff,#fff); border-color:#cfe0fb; }
.live-ready, .live-out_for_delivery, .live-completed { background:linear-gradient(135deg,#e9f8ef,#fff); border-color:#c3e8d1; }
.live-anim { position:relative; flex:0 0 96px; height:96px; display:grid; place-items:center; font-size:52px; }
.live-anim.done span { animation:pop .5s cubic-bezier(.2,1.6,.4,1); }
.spin-pizza { display:inline-block; animation:spin 2.4s linear infinite; position:relative; z-index:1; }
.ring { position:absolute; inset:8px; border-radius:50%; border:3px solid var(--red); opacity:0; animation:ripple 2s ease-out infinite; }
.ring.r2 { animation-delay:1s; }
.dots i { font-style:normal; animation:blink 1.4s infinite; }
.dots i:nth-child(2) { animation-delay:.2s; } .dots i:nth-child(3) { animation-delay:.4s; }
.indeterminate { height:6px; background:#f3e3d7; border-radius:99px; overflow:hidden; margin:10px 0 6px; max-width:420px; }
.indeterminate span { display:block; height:100%; width:35%; background:linear-gradient(90deg,#ff8a3d,#d62828); border-radius:99px; animation:slide 1.4s ease-in-out infinite; }
.eta { font-size:16px; }
.progress li small { display:block; font-weight:700; color:var(--muted); font-size:11px; margin-top:2px; }
.notify-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:-4px 0 16px; }
.confirm-icon.bad { background:var(--err); }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes ripple { 0% { transform:scale(.6); opacity:.6; } 100% { transform:scale(1.35); opacity:0; } }
@keyframes blink { 0%, 80%, 100% { opacity:0; } 40% { opacity:1; } }
@keyframes slide { 0% { transform:translateX(-110%); } 100% { transform:translateX(320%); } }
@keyframes pop { 0% { transform:scale(.3); } 100% { transform:scale(1); } }
@media (max-width:580px) { .live { flex-direction:column; text-align:center; padding:20px 16px; } .indeterminate { margin-inline:auto; } .live h2 { font-size:21px; } }
@media (prefers-reduced-motion: reduce) { .spin-pizza, .ring, .dots i, .indeterminate span, .live-anim.done span { animation:none; } .ring { display:none; } }

/* ───────── Status pop-up ───────── */
.status-pop { position:fixed; inset:0; z-index:60; background:rgba(15,18,26,.55); display:grid; place-items:center; padding:20px; animation:fadein .2s; }
.sp-card { background:#fff; border-radius:24px; padding:28px 26px 22px; width:min(420px,100%); text-align:center; box-shadow:0 30px 80px rgba(0,0,0,.35); animation:rise .35s cubic-bezier(.2,1.4,.4,1); }
.sp-icon { font-size:58px; line-height:1; margin-bottom:8px; }
.sp-card h2 { margin:6px 0; font-size:24px; letter-spacing:-.5px; }
.sp-card p { color:#4d5667; margin:0 0 18px; line-height:1.5; }
.sp-actions { display:flex; flex-direction:column; gap:8px; }
.status-pop.good .sp-card { border-top:6px solid var(--ok); }
.status-pop.bad .sp-card { border-top:6px solid var(--err); }
@keyframes fadein { from { opacity:0; } }
@keyframes rise { from { transform:translateY(30px) scale(.95); opacity:0; } }
.status-pop.warn .sp-card { border-top:6px solid #f0a91c; }
.call-store { margin-top:10px; background:#fff3cf; border:1px solid #f1d58a; color:#5c4300; border-radius:12px; padding:10px 12px; font-weight:700; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.call-store.hidden { display:none; }

/* Real Jumbo logo (wide, with its own white background) */
.logo-wide { height:48px; width:auto; display:block; border-radius:8px; background:#fff; }
.nav .brand { gap:8px; }
.nav .brand .brand-sub { font-size:14px; font-weight:900; letter-spacing:.5px; }
.footer .logo-wide { height:44px; }
.footer .brand span { font-size:15px; line-height:1.2; letter-spacing:0; }
.footer a { color:#ffd9a0; }
.footer-links { display:flex; flex-direction:column; gap:6px; margin:8px 0 0; }
.footer-links a { font-weight:800; text-decoration:none; }
.navlinks .nav-order { padding:9px 16px; color:#fff; }
.mobile-nav .nav-order { width:100%; margin-bottom:6px; }
@media (max-width:580px) { .logo-wide { height:40px; } .nav .brand .brand-sub { display:none; } }

.nav-order-sm { display:none; }
@media (max-width:900px) { .nav-order-sm { display:inline-flex; padding:9px 12px; font-size:13px; } .nav-actions .account-link { display:none; } }

/* Store strip above the header: light, with the selected store in large type */
.topbar.store-strip { background:#fff4e8; color:var(--ink); border-bottom:1px solid #f2dfca; justify-content:center; padding:10px 5%; font-size:15px; }
.store-ctx { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; text-align:center; }
.store-ctx .ctx-label { color:var(--muted); font-weight:700; }
.store-ctx .ctx-store { font-size:22px; font-weight:950; color:var(--red); letter-spacing:-.4px; }
.store-ctx .ctx-mode { font-size:16px; font-weight:850; background:#fff; border:1px solid #f2dfca; border-radius:99px; padding:4px 12px; }
.store-ctx .ctx-change { font-size:13px; }
@media (max-width:580px) { .topbar.store-strip { font-size:13px; padding:8px 4%; } .store-ctx .ctx-label { display:none; } .store-ctx .ctx-store::before { content:"📍 "; } .store-ctx { gap:6px; } .store-ctx .ctx-store { font-size:18px; } .store-ctx .ctx-mode { font-size:14px; padding:3px 10px; } }

/* Wings by the piece */
.wing-card .wing-count { height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(circle at 30% 30%, #f08a3e, #c9531c 60%, #8f3210); color:#fff; }
.wing-card .wing-count b { font-size:58px; line-height:1; font-weight:950; letter-spacing:-2px; text-shadow:0 3px 0 #0003; }
.wing-card .wing-count span { font-weight:900; letter-spacing:3px; font-size:13px; opacity:.95; }
.wing-picker { display:flex; align-items:center; gap:14px; margin:6px 0 10px; }
.wing-picker .stepper b { min-width:56px; text-align:center; font-size:22px; }
.wing-quick { display:flex; flex-wrap:wrap; gap:8px; }
.wing-quick button { border:1px solid var(--line); background:#fff; border-radius:10px; padding:8px 12px; font-weight:850; min-width:52px; }
.wing-quick button.on { background:var(--ink); color:#fff; border-color:var(--ink); }
.flavour-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
.flavour-chip { border:1px solid var(--line); background:#faf5f0; border-radius:12px; padding:12px 10px; font-weight:850; font-size:14px; }
.flavour-chip.on { background:#fff0e8; border-color:var(--red); color:var(--red); box-shadow:inset 0 0 0 1px var(--red); }
.flavour-chip:disabled { opacity:.5; }
@media (max-width:580px) { .flavour-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* Delivery address search */
.addr-search { position:relative; }
.addr-search input { border:1px solid #ded2c8; border-radius:10px; padding:12px 14px; width:100%; font-size:16px; }
.addr-list { position:static; margin:6px 0 0; padding:6px; list-style:none; background:#fff; border:1px solid var(--line);
  border-radius:12px; box-shadow:0 14px 34px #32180d26; z-index:30; max-height:300px; overflow:auto; }
.addr-list li { padding:10px 12px; border-radius:9px; cursor:pointer; display:flex; flex-direction:column; gap:2px; }
.addr-list li small { color:var(--muted); }
.addr-list li.on, .addr-list li:hover { background:#fff0e8; }
.addr-list li.addr-other { color:var(--red); font-weight:800; font-size:13px; border-top:1px solid var(--line); margin-top:4px; border-radius:0 0 9px 9px; }

/* When do you want it? (cart) */
.when-box { margin:14px 0; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fffaf5; }
.when-box h4 { margin:0 0 10px; }
.when-seg { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.when-seg button { display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; font-weight:850; text-align:left; }
.when-seg button small { font-weight:600; color:var(--muted); font-size:12px; }
.when-seg button.on { border-color:var(--red); box-shadow:inset 0 0 0 1px var(--red); background:#fff0e8; color:var(--red); }
.when-seg button:disabled { opacity:.5; cursor:not-allowed; }
.when-pick { margin-top:8px; }
.when-pick select { border:1px solid #ded2c8; border-radius:10px; padding:10px; background:#fff; width:100%; }
.when-note { margin:8px 0 0; font-size:13px; color:#5b4a3c; }
.when-summary { margin:10px 0; padding:10px 12px; background:#fff4e8; border:1px solid #f2dfca; border-radius:12px; font-size:14px; }

/* Store phone on the home-page location cards (tap to call on phones) */
.loc-phone { display:inline-flex; align-items:center; gap:4px; font-weight:800; font-size:15px; color:var(--red); text-decoration:none; white-space:nowrap; }
.loc-phone:hover { text-decoration:underline; }

/* Guest checkout */
.guest-box { border:2px dashed var(--line); border-radius:14px; padding:16px; margin-bottom:6px; }
.guest-box h3 { margin:0 0 4px; }
.guest-line { background:#fff7ec; border-radius:10px; padding:8px 12px; }

/* Phone widths: grid columns may shrink below their content, so nothing pushes the page wider than the screen */
.two-col > *, .grid > * { min-width:0; }
@media (max-width:900px) { .two-col { grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px) { .grid.two { grid-template-columns:minmax(0,1fr); } }
.store-info table.hours { width:100%; }

.addr-credit { display:block !important; font-size:11px; color:var(--muted); padding:6px 12px !important; cursor:default; text-align:right; background:transparent !important; }
.addr-credit a { color:inherit; text-decoration:underline; }
