:root{--brand:#e4572e;--brand-dark:#c43f1b;--accent:#f4a259;--bg:#fffaf5;--surface:#fff;--surface-2:#fbf3ea;--text:#2b2623;--muted:#7d746b;--border:#efe5da;--shadow:0 10px 30px rgba(60,35,10,.08);--bs-body-font-family:'Inter',system-ui,sans-serif;--head:'Playfair Display',Georgia,serif}
[data-bs-theme=dark]{--bg:#141210;--surface:#1e1b18;--surface-2:#252120;--text:#efe9e2;--muted:#a1988e;--border:#332e2a;--shadow:0 10px 30px rgba(0,0,0,.4);--bs-body-bg:#141210;--bs-body-color:#efe9e2;--bs-border-color:#332e2a}
body{background:var(--bg);color:var(--text)}
h1,h2,h3,.display-title{font-family:var(--head)}
a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark)}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;border-radius:30px;padding:.55rem 1.4rem;transition:.2s}
.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(228,87,46,.35)}
.btn-brand-outline{border:2px solid var(--brand);color:var(--brand);border-radius:30px;font-weight:600}.btn-brand-outline:hover{background:var(--brand);color:#fff}
.form-control,.form-select{border-radius:12px;background-color:var(--surface);border-color:var(--border);padding:.65rem .9rem}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(228,87,46,.18)}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}
.site-nav{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:.7rem 0}
.site-nav .navbar-brand{font-family:var(--head);font-weight:800;font-size:1.35rem;color:var(--text)}
.logo-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--accent));display:grid;place-items:center;color:#fff;font-size:1rem}
.site-nav .nav-link{font-weight:600;color:var(--text);padding:.5rem 1rem!important;position:relative}
.site-nav .nav-link.active,.site-nav .nav-link:hover{color:var(--brand)}
.site-nav .nav-link.active::after{content:"";position:absolute;left:1rem;right:1rem;bottom:2px;height:2px;background:var(--brand);border-radius:2px}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;transition:.2s}
.icon-btn:hover{border-color:var(--brand);color:var(--brand)}
.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--brand);color:#fff;border-radius:20px;font-size:.65rem;font-weight:700;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
.cart-badge.bump{animation:bump .4s}@keyframes bump{50%{transform:scale(1.5)}}
.branch-sel{border-radius:30px;max-width:150px}
.hero{position:relative;color:#fff;padding:7rem 0 6rem;background:linear-gradient(100deg,rgba(20,14,10,.85) 30%,rgba(20,14,10,.35)),url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=1800&q=70') center/cover,#2a211b}
.hero h1{font-size:clamp(2.3rem,5.5vw,4.2rem);font-weight:800;line-height:1.08}
.hero h1 span{color:var(--accent)}
.hero .lead{max-width:540px;opacity:.9}
.hero-stats{display:flex;gap:2rem;margin-top:2.5rem;flex-wrap:wrap}.hero-stats b{display:block;font-size:1.6rem;font-family:var(--head)}
.section{padding:4.5rem 0}.section.alt{background:var(--surface-2)}
.eyebrow{color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.section-title{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;margin:.3rem 0 .6rem}
.cat-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1.5rem 1rem;text-align:center;color:var(--text);transition:.25s;height:100%}
.cat-card i{font-size:1.8rem;color:var(--brand);width:64px;height:64px;border-radius:50%;background:rgba(228,87,46,.1);display:grid;place-items:center;margin:0 auto .8rem;transition:.25s}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);color:var(--brand)}.cat-card:hover i{background:var(--brand);color:#fff}
.food{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:.3s;height:100%;display:flex;flex-direction:column}
.food:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.food .img{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-2)}
.food .img img{width:100%;height:100%;object-fit:cover;transition:.5s}.food:hover .img img{transform:scale(1.08)}
.tag{position:absolute;top:10px;left:10px;border-radius:20px;padding:.2rem .65rem;font-size:.7rem;font-weight:700;color:#fff;background:rgba(0,0,0,.6)}
.tag.sale{background:var(--brand)}.tag.feat{left:auto;right:10px;background:#f0a30a}
.food .body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;flex:1}
.food .cat{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.food h3{font-family:'Inter',sans-serif;font-size:1.05rem;font-weight:700;margin:.2rem 0}.food h3 a{color:var(--text)}.food h3 a:hover{color:var(--brand)}
.food p{color:var(--muted);font-size:.85rem;flex:1;margin-bottom:.7rem}
.food .foot{display:flex;justify-content:space-between;align-items:center}
.price{font-weight:800;font-size:1.15rem;color:var(--brand)}.old{color:var(--muted);font-weight:400;font-size:.85rem}
.btn-add{width:40px;height:40px;border-radius:50%;border:0;background:var(--brand);color:#fff;transition:.2s}.btn-add:hover{transform:rotate(90deg) scale(1.1);background:var(--brand-dark)}
.offer{border-radius:24px;overflow:hidden;position:relative;color:#fff;min-height:230px;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.offer::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,10,.9),rgba(20,14,10,.1))}
.offer>div{position:relative;padding:1.4rem}.offer .was{text-decoration:line-through;opacity:.7}
.review{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1.5rem;height:100%}
.stars{color:#f0a30a}
.info-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1.5rem;height:100%}
.info-card .ic{width:52px;height:52px;border-radius:14px;background:rgba(228,87,46,.12);color:var(--brand);display:grid;place-items:center;font-size:1.2rem;margin-bottom:.8rem}
.map-frame{border:0;width:100%;height:100%;min-height:300px;border-radius:20px}
.page-hero{padding:3.5rem 0;background:linear-gradient(100deg,rgba(20,14,10,.85),rgba(20,14,10,.5)),url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1600&q=60') center/cover,#2a211b;color:#fff}
.pills{display:flex;gap:.5rem;overflow-x:auto;padding:.3rem 0 .8rem}
.pill{flex:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:30px;padding:.45rem 1.1rem;font-weight:600;font-size:.9rem}
.pill:hover{border-color:var(--brand);color:var(--brand)}.pill.active{background:var(--brand);border-color:var(--brand);color:#fff}
.card-x{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}
.site-footer{background:#1b1612;color:#e9e1d8;margin-top:0}.site-footer .brand{font-family:var(--head);font-weight:700}
.site-footer a{color:#e9e1d8;opacity:.75}.site-footer a:hover{opacity:1;color:var(--accent)}.site-footer h6{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin-bottom:1rem;color:var(--accent)}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:inline-grid;place-items:center;margin-right:.4rem;opacity:1}.socials a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.links li{margin-bottom:.4rem}
.toast-wrap{position:fixed;bottom:1rem;right:1rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem}
.toast-x{background:var(--surface);color:var(--text);border-left:5px solid #2fb96b;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:.8rem 1rem;min-width:240px;animation:slideIn .3s;display:flex;gap:.6rem}
.toast-x.error{border-color:#dc3545}@keyframes slideIn{from{opacity:0;transform:translateY(20px)}}
.qty{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:30px;overflow:hidden;background:var(--surface)}
.qty button{border:0;background:transparent;width:34px;height:34px;color:var(--text);font-weight:700}.qty button:hover{background:var(--brand);color:#fff}.qty span{min-width:30px;text-align:center;font-weight:600}
.cart-item{display:flex;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}
.cart-item img{width:76px;height:76px;border-radius:14px;object-fit:cover}
.opt-card{border:2px solid var(--border);border-radius:14px;padding:.8rem;cursor:pointer;text-align:center;transition:.2s;background:var(--surface);display:block;height:100%}
.opt-card i{font-size:1.3rem;color:var(--brand);display:block;margin-bottom:.2rem}
.btn-check:checked+.opt-card{border-color:var(--brand);background:rgba(228,87,46,.08)}
.sum-row{display:flex;justify-content:space-between;padding:.25rem 0}.sum-row.total{font-size:1.3rem;font-weight:800;color:var(--brand);border-top:2px dashed var(--border);margin-top:.5rem;padding-top:.7rem}
/* tracker */
.tracker{display:flex;justify-content:space-between;position:relative;margin:2.5rem 0 1rem}
.tracker::before{content:"";position:absolute;top:22px;left:8%;right:8%;height:4px;background:var(--border);border-radius:4px}
.tracker .bar{position:absolute;top:22px;left:8%;height:4px;background:var(--brand);border-radius:4px;transition:width .6s;width:0}
.step{flex:1;text-align:center;position:relative;z-index:1;font-size:.8rem;font-weight:600;color:var(--muted)}
.step .dot{width:48px;height:48px;border-radius:50%;background:var(--surface);border:3px solid var(--border);display:grid;place-items:center;margin:0 auto .5rem;font-size:1.05rem;transition:.4s}
.step.done .dot{background:var(--brand);border-color:var(--brand);color:#fff}.step.done{color:var(--text)}
.step.now .dot{box-shadow:0 0 0 6px rgba(228,87,46,.2);animation:pulse 1.6s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(228,87,46,.05)}}
@media(max-width:640px){.tracker{flex-direction:column;gap:1rem;margin-left:1rem}.tracker::before,.tracker .bar{display:none}.step{display:flex;align-items:center;gap:1rem;text-align:left}.step .dot{margin:0}}
.dropdown-menu{border-radius:14px}

.section,.page-hero{overflow-x:clip}
.lang-sw{display:inline-flex;border:1px solid var(--border);border-radius:30px;overflow:hidden;background:var(--surface)}
.lang-sw button{border:0;background:transparent;color:var(--text);padding:.4rem .75rem;font-weight:600;font-size:.8rem}
.lang-sw button.active{background:var(--brand);color:#fff}
