*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#ff5733;--color-primary-dark:#e14a26;--color-bg:#fff8f0;--color-surface:#fff;--color-text:#3b2a20;--color-muted:#8a7768;--color-border:#f0e2d4;--radius:16px;--shadow:0 4px 16px #3b2a2014}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:Poppins,sans-serif}h1,h2,h3{font-family:Playfair Display,serif}a{color:inherit;text-decoration:none}.muted{color:var(--color-muted);font-size:.92rem}.site-header{z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:flex}.brand-emoji{font-size:2rem}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-name{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700}.brand-sub{color:var(--color-muted);font-size:.75rem}.cart-pill{background:var(--color-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-size:.95rem;font-weight:600;transition:transform .15s,background .15s;display:flex}.cart-pill:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.cart-pill-divider{opacity:.6}.page{max-width:1100px;margin:0 auto;padding:2.5rem 2rem 5rem}.page-narrow{max-width:760px}.hero{text-align:center;padding:3rem 1rem 2.5rem}.hero h1{color:var(--color-text);margin-bottom:.75rem;font-size:2.6rem;font-weight:800}.hero p{color:var(--color-muted);font-size:1.05rem}.menu-section{margin-top:2.5rem}.menu-section-title{border-bottom:2px solid var(--color-primary);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.5rem;display:inline-block}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem;display:grid}.menu-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--color-border);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.menu-card-emoji{font-size:2.5rem}.menu-card-body h3{margin-bottom:.25rem;font-size:1.1rem}.menu-card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.price{color:var(--color-primary-dark);font-size:1.05rem;font-weight:700}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;font-family:Poppins,sans-serif;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;padding:.75rem 1.5rem}.btn-primary:hover{background:var(--color-primary-dark)}.btn-small{padding:.5rem 1.1rem;font-size:.9rem}.btn-block{width:100%;margin-top:.5rem;padding:.9rem;font-size:1rem}.qty-stepper{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.75rem;padding:.3rem .5rem;display:flex}.qty-stepper button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;display:flex}.qty-stepper span{text-align:center;min-width:1rem;font-weight:600}.drawer-overlay{z-index:50;background:#3b2a2059;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--color-surface);flex-direction:column;width:100%;max-width:420px;height:100%;animation:.2s ease-out slideIn;display:flex;box-shadow:-8px 0 24px #0000001f}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.icon-btn{cursor:pointer;color:var(--color-muted);background:0 0;border:none;font-size:1.1rem}.drawer-empty{text-align:center;padding:2rem 1.5rem}.drawer-items{flex-direction:column;flex:1;gap:1rem;padding:1rem 1.5rem;display:flex;overflow-y:auto}.drawer-item{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.drawer-item-emoji{font-size:1.6rem}.drawer-item-info{flex-direction:column;display:flex}.drawer-item-name{font-weight:600}.remove-btn{color:var(--color-primary-dark);cursor:pointer;background:0 0;border:none;grid-column:2/4;justify-self:start;font-size:.8rem}.drawer-footer{border-top:1px solid var(--color-border);padding:1.25rem 1.5rem}.drawer-total{justify-content:space-between;margin-bottom:.9rem;font-size:1.05rem;display:flex}.back-link{color:var(--color-muted);margin-bottom:1rem;font-size:.9rem;display:inline-block}.checkout-layout{grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;display:grid}@media (width<=720px){.checkout-layout{grid-template-columns:1fr}}.order-summary,.checkout-form,.confirmation-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--color-border);padding:1.5rem}.order-summary h2,.checkout-form h2{margin-bottom:1rem;font-size:1.2rem}.summary-row{justify-content:space-between;padding:.5rem 0;font-size:.95rem;display:flex}.summary-total{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.75rem;font-size:1.05rem}.checkout-form{flex-direction:column;gap:1rem;display:flex}.checkout-form label{flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:500;display:flex}.checkout-form input,.checkout-form textarea{border:1px solid var(--color-border);background:var(--color-bg);border-radius:10px;padding:.7rem .9rem;font-family:Poppins,sans-serif;font-size:.95rem}.checkout-form input:focus,.checkout-form textarea:focus{outline:2px solid var(--color-primary)}.form-error{color:#c0392b;font-size:.85rem}.pay-note{background:#fff3ec;border-radius:10px;padding:.6rem .8rem}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.confirmation-card{text-align:center;flex-direction:column;gap:1.25rem;margin-top:1rem;display:flex}.confirmation-check{font-size:2.5rem}.order-number-box{background:var(--color-bg);border-radius:12px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.order-number-box strong{color:var(--color-primary-dark);font-size:1.4rem}.pickup-info{text-align:left;background:var(--color-bg);border-radius:12px;padding:1rem 1.25rem}.pickup-info h3{margin-bottom:.5rem;font-size:1rem}.pickup-info p{margin-bottom:.15rem;font-size:.92rem}
