@charset "UTF-8";
/* ============ TOKENS ============
   Dark is the default. Light overrides live in [data-theme="light"] below.
   The theme is set on <html data-theme="..."> by the toggle in the header. */
:root{
  color-scheme:dark;
  /* Brand orange — the ONLY place orange is defined. Change here, it changes everywhere. */
  --brand-orange:#B3571F;
  --brand-orange-dark:#9A4A19; /* hover states (same orange, a little deeper) */
  --on-brand:#FFFFFF;          /* text/icons on top of orange (high contrast) */
  --black:#0E0B09;
  --cream:#FFF6EC;
  --cream-2:#241C17;
  --char:#F3E8DA;
  --white:#FFFFFF;
  --bg:#15110D;
  --surface:#1E1712;
  --line: rgba(var(--text-rgb),0.38);   /* dark mode: clearly visible borders/dividers */
  --font-display:'Fraunces', serif;
  --font-body:'Inter', sans-serif;
  --radius-card: 18px;
  --radius-pill: 999px;
  --shadow-card: 0 10px 30px -12px rgba(var(--shadow-rgb),calc(0.55 * var(--shadow-k)));

  /* theme-aware helpers (everything below flips in light mode) */
  --text-rgb:243,232,218;               /* text colour as r,g,b — used for rgba(var(--text-rgb),.6) tints */
  --brand-text:var(--brand-orange);     /* orange used as text = the same single orange */
  --header-bg:rgba(21,17,13,0.92);
  --glass:rgba(21,17,13,.8);
  --glass-2:rgba(30,23,18,.62);
  --btn-alt-bg:#FFF6EC;--btn-alt-fg:#1A0D08;--btn-alt-hover:#E6D9C8;
  --ghost-hover:#33281F;
  --shadow-rgb:0,0,0;--shadow-k:1;
  --line-boost:.25;
  --muted-boost:.3;                     /* dark mode: brighter muted/description text so it is easy to read */
}
[data-theme="light"]{
  color-scheme:light;
  --black:#2A1F18;
  --cream-2:#F1E7DA;
  --char:#2A1F18;
  --bg:#FAF4EC;
  --surface:#FFFFFF;
  --line:rgba(42,31,24,0.38);          /* light mode: visible borders/dividers */
  --shadow-card:0 10px 30px -14px rgba(42,31,24,0.22);
  --text-rgb:42,31,24;
  --brand-text:var(--brand-orange);
  --header-bg:rgba(250,244,236,0.92);
  --glass:rgba(255,255,255,.82);
  --glass-2:rgba(255,255,255,.78);
  --btn-alt-bg:#2A1F18;--btn-alt-fg:#FFF6EC;--btn-alt-hover:#3F3026;
  --ghost-hover:#E6D8C6;
  --shadow-rgb:42,31,24;--shadow-k:.4;
  --line-boost:.25;
  --muted-boost:.24;                    /* light mode: darker muted text so it stays readable on cream */
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--char);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;color:inherit;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;color:var(--char);}
p{margin:0;line-height:1.6;}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
.view{display:block;}
:focus-visible{outline:3px solid var(--brand-orange);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){*:not(.strip-track):not(.ab-m-track){animation:none !important;transition:none !important;}}

/* ============ TOAST ============ */
.toast{
  position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-140%);
  background:var(--black);color:var(--cream);padding:13px 22px;border-radius:var(--radius-pill);
  font-size:14.5px;font-weight:600;z-index:999;transition:transform .35s ease;
  box-shadow:0 12px 26px -8px rgba(var(--shadow-rgb),calc(.4 * var(--shadow-k)));
}
.toast.show{transform:translateX(-50%) translateY(0);}

/* ============ HEADER ============ */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--header-bg);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:74px;gap:20px;
}
.logo-btn{
  display:flex;align-items:center;gap:10px;background:none;border:none;padding:0;text-decoration:none;
}
.logo-mark{
  width:38px;height:38px;border-radius:50%;
  background:var(--brand-orange);
  display:inline-block;position:relative;flex:none;
}
.logo-mark::before{
  content:"";position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23FFF6EC' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 38 C10 28 8 14 18 8 C24 18 26 26 30 34'/%3E%3Cpath d='M80 38 C90 28 92 14 82 8 C76 18 74 26 70 34'/%3E%3Ccircle cx='50' cy='55' r='26'/%3E%3Ccircle cx='40' cy='50' r='3.4' fill='%23FFF6EC'/%3E%3Ccircle cx='60' cy='50' r='3.4' fill='%23FFF6EC'/%3E%3Cpath d='M42 64 Q50 70 58 64'/%3E%3Cpath d='M50 40 L50 46'/%3E%3C/g%3E%3C/svg%3E");
  background-size:64%;background-repeat:no-repeat;background-position:center;
}
.logo-word{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--char);letter-spacing:-.01em;}
.logo-word em{font-style:normal;color:var(--brand-text);}
.footer-logo{font-size:26px;}
.main-nav{display:flex;gap:6px;}
.main-nav a{text-decoration:none;
  background:none;border:none;padding:10px 14px;border-radius:var(--radius-pill);
  font-size:15px;font-weight:600;color:var(--char);transition:background .18s,color .18s;
}
.main-nav a:hover{background:var(--cream-2);color:var(--brand-text);}
.main-nav a.active{background:var(--brand-orange);color:var(--on-brand);}
.header-actions{display:flex;align-items:center;gap:8px;}
.icon-btn{
  text-decoration:none;
  display:flex;align-items:center;gap:7px;background:none;border:none;
  padding:9px 12px;border-radius:var(--radius-pill);font-size:14.5px;font-weight:600;color:var(--char);
  white-space:nowrap;
}
.icon-btn:hover{background:var(--cream-2);}
.cart-btn{
  text-decoration:none;
  position:relative;background:var(--black);border:none;color:var(--cream);
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.cart-count{
  position:absolute;top:-4px;right:-4px;background:var(--brand-orange);color:var(--on-brand);
  font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}
.hamburger{display:none;background:none;border:none;color:var(--char);}

@media (max-width:880px){
  .main-nav{
    position:fixed;top:74px;left:0;right:0;background:var(--bg);
    flex-direction:column;padding:10px 20px 24px;border-bottom:1px solid var(--line);
    transform:translateY(-8px);opacity:0;pointer-events:none;transition:all .2s ease;
  }
  .main-nav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .main-nav a{text-decoration:none;text-align:left;font-size:17px;padding:12px 10px;}
  .hamburger{display:block;}
  .icon-btn span{display:none;}
}

/* ============ FOOTER ============ */
.site-footer{background:var(--black);color:var(--cream);margin-top:90px;}
.footer-inner{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;padding:56px 28px 36px;}
.footer-tag{margin-top:10px;color:rgba(255,246,236,0.6);max-width:220px;}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
.footer-cols h4{color:var(--cream);font-size:14px;margin-bottom:12px;font-family:var(--font-body);font-weight:700;}
.footer-cols p{color:rgba(255,246,236,0.65);font-size:14.5px;margin-bottom:6px;}
.footer-cols a{text-decoration:none;display:block;background:none;border:none;color:rgba(255,246,236,0.75);padding:5px 0;font-size:14.5px;text-align:left;}
.footer-cols a:hover{color:var(--brand-text);}
.footer-bottom{border-top:1px solid rgba(255,246,236,0.12);padding:18px 28px;}
.footer-bottom p{color:rgba(255,246,236,0.45);font-size:13px;}

/* ============ SHARED COMPONENTS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;border-radius:var(--radius-pill);border:none;
  font-weight:700;font-size:15.5px;transition:transform .15s ease, box-shadow .15s ease;
}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--brand-orange);color:var(--on-brand);}
.btn-primary:hover{background:var(--brand-orange-dark);}
.btn-dark{background:var(--black);color:var(--cream);}
.btn-dark:hover{background:var(--btn-alt-hover);}
.btn-outline{background:none;color:var(--char);border:1.5px solid var(--char);}
.btn-outline:hover{background:var(--black);color:var(--cream);}
.btn-ghost{background:var(--cream-2);color:var(--char);}
.btn-ghost:hover{background:var(--ghost-hover);}
.btn-sm{padding:9px 18px;font-size:13.5px;}
.btn-full{width:100%;}
.btn:disabled{opacity:.45;cursor:not-allowed;}

.section{padding:80px 0;}
.section-tight{padding:48px 0;}
.eyebrow-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h2{font-size:clamp(28px,4vw,40px);line-height:1.15;}
.section-head p{margin-top:14px;font-size:17px;color:rgba(var(--text-rgb),calc(0.72 + var(--muted-boost)));}

.card{
  background:var(--surface);border-radius:var(--radius-card);
  box-shadow:var(--shadow-card);border:1px solid var(--line);
}

.pill-tag{
  display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-pill);
  font-size:13px;font-weight:700;background:var(--cream-2);color:var(--brand-text);
}

.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.form-field label{font-size:13.5px;font-weight:700;color:var(--char);}
.form-field input,.form-field select,.form-field textarea{
  padding:13px 15px;border-radius:12px;border:1.5px solid var(--line);
  font-family:inherit;font-size:15px;background:var(--surface);color:var(--char);
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--brand-orange);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:640px){.form-row{grid-template-columns:1fr;}}

.empty-state{
  text-align:center;padding:70px 20px;color:rgba(var(--text-rgb),calc(0.6 + var(--muted-boost)));
}
.empty-state h3{margin-bottom:10px;color:var(--char);}

table{width:100%;border-collapse:collapse;font-size:14.5px;}
th{text-align:left;padding:12px 14px;background:var(--cream-2);font-family:var(--font-body);font-weight:700;color:var(--char);}
td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle;}
.table-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--line);}

.status-badge{padding:5px 12px;border-radius:var(--radius-pill);font-size:12.5px;font-weight:700;display:inline-block;}
.status-Pending{background:var(--brand-orange);color:var(--on-brand);}
.status-Preparing{background:transparent;color:var(--brand-text);box-shadow:inset 0 0 0 1.5px var(--brand-orange);}
.status-Out{background:#D6E8FF;color:#134D8C;}
.status-Completed{background:#D9F0D9;color:#1E6B1E;}

/* ============ HOME VIEW ============ */
.hero{padding:64px 0 40px;}
.hero-inner{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;}
.hero-copy .pill-tag{margin-bottom:22px;}
.hero-copy h1{font-size:clamp(40px,6vw,64px);line-height:1.04;letter-spacing:-.01em;}
.hero-copy h1 i{color:var(--brand-text);font-style:italic;}
.hero-copy p{margin-top:20px;font-size:18px;max-width:460px;color:rgba(var(--text-rgb),calc(0.75 + var(--muted-boost)));}
.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:32px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line);}
.hero-stats div strong{display:block;font-family:var(--font-display);font-size:26px;color:var(--char);}
.hero-stats div span{font-size:13px;color:rgba(var(--text-rgb),calc(0.6 + var(--muted-boost)));}
.hero-art{position:relative;}
.hero-art .pizza-plate{filter:drop-shadow(0 30px 40px rgba(var(--shadow-rgb),calc(0.28 * var(--shadow-k))));}
.hero-art .float-card{
  position:absolute;background:var(--surface);border-radius:16px;padding:14px 16px;
  box-shadow:var(--shadow-card);display:flex;align-items:center;gap:10px;font-weight:700;font-size:13.5px;
}
.hero-art .float-1{top:6%;left:-4%;}
.hero-art .float-2{bottom:8%;right:-6%;}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-art{order:-1;max-width:340px;margin:0 auto;}
  .hero-art .float-card{display:none;}
}

.strip{
  background:var(--brand-orange);
  padding:22px 0;overflow:hidden;
}
.strip-track{display:flex;width:max-content;-webkit-animation:stripScroll 26s linear infinite;animation:stripScroll 26s linear infinite;will-change:transform;}
@media (hover:hover){.strip:hover .strip-track{animation-play-state:paused;}}
.strip-group{
  display:flex;align-items:center;gap:48px;padding-right:48px;white-space:nowrap;
  color:var(--cream);font-family:var(--font-display);font-size:17px;font-weight:600;
}
.strip-group span{opacity:.85;}
.strip-group span.dot{color:var(--brand-text);opacity:1;}
@-webkit-keyframes stripScroll{ from{-webkit-transform:translate3d(0,0,0);} to{-webkit-transform:translate3d(-50%,0,0);} }
@keyframes stripScroll{ from{transform:translate3d(0,0,0);} to{transform:translate3d(-50%,0,0);} }

.category-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;}
.cat-chip{
  flex:none;background:var(--surface);border:1.5px solid var(--line);padding:12px 20px;border-radius:var(--radius-pill);
  font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:8px;
}
.cat-chip:hover{border-color:var(--brand-orange);}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.grid-3{grid-template-columns:1fr;}}

.feature-card{padding:30px 26px;}
.feature-card .ficon{
  width:48px;height:48px;border-radius:14px;background:var(--cream-2);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--brand-text);
}
.feature-card h3{font-size:19px;margin-bottom:8px;}
.feature-card p{color:rgba(var(--text-rgb),calc(0.68 + var(--muted-boost)));font-size:15px;}

.promo-band{
  background:var(--brand-orange);
  border-radius:28px;padding:52px 44px;color:var(--on-brand);display:flex;justify-content:space-between;
  align-items:center;gap:30px;flex-wrap:wrap;
}
.promo-band h2{color:var(--on-brand);font-size:clamp(24px,3.4vw,32px);max-width:420px;}
.promo-band p{color:var(--on-brand);margin-top:10px;max-width:420px;}

/* ============ MENU VIEW ============ */
.page-head{padding:52px 0 30px;}
.page-head h1{font-size:clamp(32px,4.4vw,46px);}
.page-head p{margin-top:12px;font-size:16.5px;color:rgba(var(--text-rgb),calc(0.7 + var(--muted-boost)));max-width:560px;}
.menu-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:30px;}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media (max-width:940px){.menu-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.menu-grid{grid-template-columns:1fr;}}
.pizza-card{overflow:hidden;display:flex;flex-direction:column;}
.pizza-card .thumb{aspect-ratio:4/3;background:var(--cream-2);position:relative;}
.pizza-card .thumb .tag{position:absolute;top:12px;left:12px;background:var(--surface);}
.pizza-card .body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.pizza-card h3{font-size:19px;}
.pizza-card .desc{font-size:14px;color:rgba(var(--text-rgb),calc(0.65 + var(--muted-boost)));flex:1;}
.pizza-card .meta-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.pizza-card .price{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--brand-text);}

/* Pizza SVG thumbs share this */
.pizza-thumb{width:100%;height:100%;}

/* Modal (customize + cart drawer share base) */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:200;
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.modal-overlay.open{opacity:1;pointer-events:auto;}
.modal-box{
  background:var(--surface);border-radius:22px;max-width:480px;width:100%;
  max-height:88vh;overflow-y:auto;padding:30px;position:relative;
  transform:translateY(14px);transition:transform .2s ease;
}
.modal-overlay.open .modal-box{transform:translateY(0);}
.modal-close{
  position:absolute;top:20px;right:20px;background:var(--cream-2);border:none;
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  text-decoration:none;color:inherit;cursor:pointer;
}
.modal-box h3{font-size:22px;margin-bottom:4px;padding-right:30px;}
.modal-box .modal-price{color:var(--brand-text);font-weight:700;font-family:var(--font-display);font-size:17px;margin-bottom:18px;}
.option-group{margin-bottom:20px;}
.option-group>span{display:block;font-size:13px;font-weight:700;margin-bottom:10px;color:var(--char);}
.chip-select{display:flex;flex-wrap:wrap;gap:8px;}
.chip-select label{
  border:1.5px solid var(--line);border-radius:var(--radius-pill);padding:9px 15px;font-size:13.5px;
  font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s;
}
.chip-select input{accent-color:var(--brand-orange);}
.chip-select label:has(input:checked){border-color:var(--brand-orange);background:var(--cream-2);color:var(--char);}
.qty-row{display:flex;align-items:center;justify-content:space-between;margin:22px 0;}
.qty-stepper{display:flex;align-items:center;gap:14px;background:var(--cream-2);border-radius:var(--radius-pill);padding:6px;}
.qty-stepper button{width:32px;height:32px;border-radius:50%;border:none;background:var(--surface);font-size:18px;font-weight:700;}
.qty-stepper span{min-width:20px;text-align:center;font-weight:700;}

/* ============ CART & CHECKOUT ============ */
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start;}
@media (max-width:860px){.cart-layout{grid-template-columns:1fr;}}
.cart-line{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.cart-line:last-child{border-bottom:none;}
.cart-line .thumb-sm{width:76px;height:76px;border-radius:12px;background:var(--cream-2);flex:none;overflow:hidden;}
.cart-line .info{flex:1;}
.cart-line .info h4{font-size:16px;}
.cart-line .info .opts{font-size:12.5px;color:rgba(var(--text-rgb),calc(0.6 + var(--muted-boost)));margin-top:4px;}
.cart-line .info .row-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px;}
.remove-link{background:none;border:none;color:var(--brand-text);font-size:13px;font-weight:700;padding:0;}
.summary-card{padding:26px;position:sticky;top:100px;}
.summary-row{display:flex;justify-content:space-between;font-size:14.5px;padding:8px 0;color:rgba(var(--text-rgb),calc(0.75 + var(--muted-boost)));}
.summary-row.total{border-top:1px solid var(--line);margin-top:8px;padding-top:16px;font-size:17px;font-weight:800;color:var(--char);}
.promo-apply{display:flex;gap:8px;margin:16px 0;}
.promo-apply input{flex:1;}

.payment-options{display:flex;flex-direction:column;gap:10px;}
.pay-opt{
  display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:14px;
  padding:14px 16px;font-weight:600;font-size:14.5px;cursor:pointer;
}
.pay-opt:has(input:checked){border-color:var(--brand-orange);background:var(--cream-2);color:var(--char);}
.pay-opt input{accent-color:var(--brand-orange);}
.checkout-steps{display:flex;gap:10px;margin-bottom:34px;flex-wrap:wrap;}
.checkout-steps span{font-size:13px;font-weight:700;padding:8px 14px;border-radius:var(--radius-pill);background:var(--cream-2);color:rgba(var(--text-rgb),calc(0.55 + var(--muted-boost)));}
.checkout-steps span.on{background:var(--black);color:var(--cream);}

/* ============ TRACK ORDER ============ */
.tracker-card{padding:34px;margin-top:26px;}
.tracker-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:30px;}
.progress-rail{display:flex;align-items:center;margin:20px 0 8px;}
.progress-step{flex:1;text-align:center;position:relative;}
.progress-step .dot{
  width:34px;height:34px;border-radius:50%;background:var(--cream-2);color:rgba(var(--text-rgb),calc(0.4 + var(--muted-boost)));
  display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-weight:800;font-size:14px;
  border:2px solid var(--line);position:relative;z-index:2;transition:all .2s;
}
.progress-step .line{position:absolute;top:17px;left:-50%;width:100%;height:3px;background:var(--line);z-index:1;}
.progress-step:first-child .line{display:none;}
.progress-step span.label{font-size:12.5px;font-weight:700;color:rgba(var(--text-rgb),calc(0.5 + var(--muted-boost)));}
.progress-step.done .dot{background:var(--brand-orange);border-color:var(--brand-orange);color:var(--on-brand);}
.progress-step.done .line{background:var(--brand-orange);}
.progress-step.done span.label{color:var(--char);}
.progress-step.current .dot{background:var(--bg);border-color:var(--brand-orange);color:var(--brand-text);}
.order-items-mini{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;}
.order-items-mini .li{display:flex;justify-content:space-between;font-size:14px;padding:6px 0;color:rgba(var(--text-rgb),calc(0.75 + var(--muted-boost)));}

/* ============ PROMOTIONS ============ */
.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.promo-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.promo-grid{grid-template-columns:1fr;}}
.promo-card{padding:26px;position:relative;overflow:hidden;border-top:4px solid var(--brand-orange);}
.promo-card .promo-pct{font-family:var(--font-display);font-size:34px;color:var(--brand-text);font-weight:800;}
.promo-card h4{margin:8px 0 6px;font-size:17px;}
.promo-card p{font-size:13.5px;color:rgba(var(--text-rgb),calc(0.65 + var(--muted-boost)));margin-bottom:16px;}
.code-box{
  display:flex;align-items:center;justify-content:space-between;background:var(--cream-2);
  border-radius:12px;padding:10px 14px;font-family:var(--font-body);font-weight:800;letter-spacing:.03em;font-size:14px;
}
.code-box button{background:none;border:none;color:var(--brand-text);font-weight:700;font-size:12.5px;}

/* ============ CONTACT ============ */
.contact-layout{display:grid;grid-template-columns:0.85fr 1.15fr;gap:40px;}
@media (max-width:860px){.contact-layout{grid-template-columns:1fr;}}
.contact-info .item{display:flex;gap:14px;margin-bottom:26px;}
.contact-info .item .ic{
  width:42px;height:42px;border-radius:12px;background:var(--cream-2);color:var(--brand-text);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.contact-info .item h4{font-size:15px;margin-bottom:4px;}
.contact-info .item p{font-size:14.5px;color:rgba(var(--text-rgb),calc(0.68 + var(--muted-boost)));}

/* ============ LOGIN / REGISTER ============ */
.auth-wrap{max-width:420px;margin:0 auto;padding:56px 28px 100px;}
.auth-toggle{display:flex;background:var(--cream-2);border-radius:var(--radius-pill);padding:5px;margin-bottom:28px;}
.auth-toggle button{flex:1;padding:11px;border:none;background:none;border-radius:var(--radius-pill);font-weight:700;font-size:14.5px;color:rgba(var(--text-rgb),calc(0.55 + var(--muted-boost)));}
.auth-toggle button.active{background:var(--black);color:var(--cream);}
.auth-card{padding:32px;}
.auth-card h2{font-size:24px;margin-bottom:6px;}
.auth-card>p{color:rgba(var(--text-rgb),calc(0.65 + var(--muted-boost)));font-size:14.5px;margin-bottom:24px;}
.auth-panel{display:none;}
.auth-panel.active{display:block;}
.logged-in-card{text-align:center;padding:44px 32px;}
.logged-in-card .avatar{
  width:64px;height:64px;border-radius:50%;background:var(--brand-orange);color:var(--on-brand);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);
  font-size:26px;margin:0 auto 18px;
}

/* ============ ADMIN ============ */
.admin-shell{display:grid;grid-template-columns:220px 1fr;gap:0;min-height:70vh;border-top:1px solid var(--line);}
@media (max-width:800px){.admin-shell{grid-template-columns:1fr;}}
.admin-side{border-right:1px solid var(--line);padding:28px 18px;background:var(--surface);min-width:0;}
.admin-side button{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;
  padding:12px 14px;border-radius:12px;font-weight:600;font-size:14.5px;color:var(--char);margin-bottom:4px;
}
.admin-side button:hover{background:var(--cream-2);}
.admin-side button.active{background:var(--black);color:var(--cream);}
.admin-side a{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;
  padding:12px 14px;border-radius:12px;font-weight:600;font-size:14.5px;color:var(--char);margin-bottom:4px;
  text-decoration:none;box-sizing:border-box;cursor:pointer;
}
.admin-side a:hover{background:var(--cream-2);}
.admin-side a.active{background:var(--black);color:var(--cream);}
.admin-side form{margin:0;}
.admin-main{padding:32px 34px;background:var(--bg);min-width:0;}
.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:12px;}
.admin-head h2{font-size:22px;}
.admin-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:28px;}
@media (max-width:1000px){.admin-stats{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.admin-stats{grid-template-columns:1fr 1fr;}}
.admin-stat{padding:18px 20px;}
.admin-stat span{display:block;font-size:12.5px;color:rgba(var(--text-rgb),calc(0.55 + var(--muted-boost)));font-weight:700;margin-bottom:6px;}
.admin-stat strong{font-family:var(--font-display);font-size:24px;}
.admin-panel{display:none;}
.admin-panel.active{display:block;}
.thumb-tiny{width:44px;height:44px;border-radius:9px;background:var(--cream-2);overflow:hidden;}
.select-status{padding:7px 10px;border-radius:8px;border:1.5px solid var(--line);font-size:13px;font-family:inherit;}
.icon-action{background:none;border:none;padding:6px;border-radius:8px;color:var(--char);}
.icon-action:hover{background:var(--cream-2);}
.icon-action.danger{color:var(--brand-text);}
.admin-side .nav-icon{font-size:16px;width:20px;text-align:center;flex:none;}
.admin-side .badge-dot{
  margin-left:auto;background:var(--brand-orange);color:var(--on-brand);font-size:11px;font-weight:800;
  border-radius:999px;min-width:19px;height:19px;display:flex;align-items:center;justify-content:center;padding:0 5px;
}
.admin-side hr{border:none;border-top:1px solid var(--line);margin:12px 6px;}
.admin-lock-screen{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;}
.admin-lock-card{max-width:380px;width:100%;padding:40px 34px;text-align:center;}
.admin-lock-card .lock-icon{
  width:56px;height:56px;border-radius:50%;background:var(--black);color:var(--cream);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:22px;
}
.admin-lock-card h2{font-size:22px;margin-bottom:8px;}
.admin-lock-card p{font-size:13.5px;color:rgba(var(--text-rgb),calc(.6 + var(--muted-boost)));margin-bottom:24px;}
.admin-lock-card .form-field{text-align:left;}
.hint-note{font-size:12px;color:rgba(var(--text-rgb),calc(.45 + var(--muted-boost)));margin-top:18px;}

/* ============ ADMIN — CUSTOMER CHAT ============ */
.chat-layout{display:grid;grid-template-columns:290px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
@media (max-width:800px){.chat-layout{grid-template-columns:1fr;}}
.chat-list{border-right:1px solid var(--line);background:var(--surface);max-height:560px;overflow-y:auto;}
@media (max-width:800px){.chat-list{max-height:220px;}}
.chat-list-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:15px 18px;cursor:pointer;color:var(--char);}
.chat-list-item:hover{background:var(--cream-2);}
.chat-list-item.active{background:var(--black);color:var(--cream);}
.chat-list-item .clh{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.chat-list-item .clh strong{font-size:14px;}
.chat-list-item .clh time{font-size:10.5px;color:rgba(var(--text-rgb),calc(.5 + var(--muted-boost)));flex:none;}
.chat-list-item p{font-size:12.5px;color:rgba(var(--text-rgb),calc(.6 + var(--muted-boost)));margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
a.chat-list-item{text-decoration:none;}
.remove-link{background:none;border:none;font:inherit;cursor:pointer;padding:0;}
.unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand-orange);margin-left:6px;vertical-align:middle;}
.chat-thread-wrap{display:flex;flex-direction:column;background:var(--bg);min-height:420px;}
.chat-thread-head{padding:16px 20px;border-bottom:1px solid var(--line);}
.chat-thread-head strong{font-size:15px;}
.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;max-height:420px;}
.chat-bubble{max-width:78%;padding:11px 15px;border-radius:16px;font-size:13.5px;line-height:1.55;}
.chat-bubble.customer{align-self:flex-start;background:var(--cream-2);border-bottom-left-radius:4px;}
.chat-bubble.admin{align-self:flex-end;background:var(--brand-orange);color:var(--on-brand);border-bottom-right-radius:4px;}
.chat-bubble time{display:block;font-size:10px;margin-top:6px;opacity:.65;}
.chat-reply-form{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--line);align-items:flex-end;}
.chat-reply-form textarea{flex:1;resize:none;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);font-family:inherit;font-size:14px;background:var(--surface);color:var(--char);}
.chat-empty{padding:60px 20px;text-align:center;color:rgba(var(--text-rgb),calc(.5 + var(--muted-boost)));font-size:14px;}

/* ============ ADMIN — RATINGS & REVIEWS ============ */
.review-summary{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;padding:28px;margin-bottom:22px;}
@media (max-width:680px){.review-summary{grid-template-columns:1fr;text-align:center;}}
.review-score{text-align:center;}
.review-score strong{display:block;font-family:var(--font-display);font-size:52px;color:var(--brand-text);line-height:1;}
.review-stars{font-size:19px;color:var(--brand-text);letter-spacing:3px;margin:8px 0 4px;}
.review-bar-row{display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:10px;font-size:12.5px;margin-bottom:8px;}
.review-bar-track{height:9px;border-radius:999px;background:var(--cream-2);overflow:hidden;}
.review-bar-fill{height:100%;background:var(--brand-orange);}
.review-card{padding:20px 22px;margin-bottom:12px;}
.review-card .rch{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.review-card .stars{color:var(--brand-text);letter-spacing:2px;font-size:14px;margin-top:2px;}
.review-card p.rtext{margin-top:10px;font-size:14px;color:rgba(var(--text-rgb),calc(.78 + var(--muted-boost)));}
.review-card .rmeta{font-size:11.5px;color:rgba(var(--text-rgb),calc(.5 + var(--muted-boost)));margin-top:10px;}

/* ============ ADMIN — SALES REPORTS ============ */
.report-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
@media (max-width:800px){.report-charts{grid-template-columns:1fr;}}
.bar-chart{padding:22px;}
.bar-chart h4{font-size:14.5px;margin-bottom:18px;}
.bar-row{display:flex;align-items:center;gap:12px;margin-bottom:11px;}
.bar-row .blabel{width:54px;font-size:12px;color:rgba(var(--text-rgb),calc(.6 + var(--muted-boost)));flex:none;}
.bar-track{flex:1;height:15px;border-radius:999px;background:var(--cream-2);overflow:hidden;}
.bar-fill{height:100%;border-radius:999px;background:var(--brand-orange);}
.bar-row .bval{width:64px;text-align:right;font-size:12px;font-weight:700;flex:none;}

/* ============ ABOUT PAGE ============ */
.about-hero{padding:56px 0 20px;}
.about-hero-inner{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;}
.about-hero-inner h1{font-size:clamp(30px,4.6vw,46px);line-height:1.14;margin-top:16px;}
.about-hero-inner p{margin-top:18px;font-size:17px;color:rgba(var(--text-rgb),calc(0.72 + var(--muted-boost)));max-width:520px;}
.about-hero-art{filter:drop-shadow(0 24px 32px rgba(var(--shadow-rgb),calc(0.22 * var(--shadow-k))));}
@media (max-width:900px){
  .about-hero-inner{grid-template-columns:1fr;}
  .about-hero-art{max-width:260px;margin:0 auto;order:-1;}
}
.stat-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;
}
@media (max-width:700px){.stat-row{grid-template-columns:1fr 1fr;}}
.stat-row div strong{display:block;font-family:var(--font-display);font-size:30px;color:var(--brand-text);}
.stat-row div span{font-size:13.5px;color:rgba(var(--text-rgb),calc(0.6 + var(--muted-boost)));}
.team-card{padding:28px 24px;text-align:left;}
.team-avatar{
  width:52px;height:52px;border-radius:50%;background:var(--brand-orange);color:var(--on-brand);font-family:var(--font-display);
  font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.team-card h3{font-size:18px;margin-bottom:2px;}
.team-card .role{font-size:13px;font-weight:700;color:var(--brand-text);margin-bottom:10px;}
.team-card p:not(.role){font-size:14.5px;color:rgba(var(--text-rgb),calc(0.68 + var(--muted-boost)));}

/* ============ CUSTOMER DASHBOARD ============ */
.dash-layout{display:grid;grid-template-columns:0.8fr 1.2fr;gap:26px;align-items:start;}
@media (max-width:860px){.dash-layout{grid-template-columns:1fr;}}
.dash-profile-card{padding:28px;text-align:center;}
.dash-profile-card .avatar{
  width:64px;height:64px;border-radius:50%;background:var(--brand-orange);color:var(--on-brand);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);
  font-size:26px;margin:0 auto 14px;
}
.dash-profile-card h3{font-size:19px;}
.dash-profile-card p{font-size:14px;color:rgba(var(--text-rgb),calc(0.6 + var(--muted-boost)));margin-top:4px;}
.dash-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;}
.dash-stat{background:var(--cream-2);border-radius:14px;padding:14px;text-align:center;}
.dash-stat strong{display:block;font-family:var(--font-display);font-size:20px;color:var(--char);}
.dash-stat span{font-size:11.5px;color:rgba(var(--text-rgb),calc(0.6 + var(--muted-boost)));font-weight:700;}
.dash-order-card{padding:20px 22px;margin-bottom:14px;}
.dash-order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;}
.dash-order-head h4{font-size:15.5px;}
.dash-order-items{font-size:13.5px;color:rgba(var(--text-rgb),calc(0.65 + var(--muted-boost)));margin:10px 0 14px;}
.dash-order-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.login-prompt{text-align:center;padding:70px 20px;}
.login-prompt h3{margin-bottom:10px;}
.login-prompt p{color:rgba(var(--text-rgb),calc(0.65 + var(--muted-boost)));margin-bottom:22px;}
/* =====================================================================
   DESIGN 4 — "Poster" layout. Page background is left exactly as original.
   ===================================================================== */
:root{
  --font-display:'Bricolage Grotesque','Fraunces',system-ui,sans-serif;
  --ink:#1A0D08;
  --shadow-lift:0 28px 56px -20px rgba(var(--shadow-rgb),calc(.8 * var(--shadow-k)));
}
img,svg,iframe{max-width:100%;}
html,body{overflow-x:clip;}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.03em;}
.logo-word{font-family:'Fraunces',serif;}

/* header */
.main-nav a{position:relative;font-size:14.5px;font-weight:600;background:none;color:rgba(var(--text-rgb),calc(.75 + var(--muted-boost)));border-radius:10px;}
.main-nav a:hover{background:none;color:var(--char);}
.main-nav a.active{background:none;color:var(--char);}
.main-nav a.active::after{content:"";position:absolute;left:50%;bottom:2px;width:18px;height:3px;border-radius:3px;background:var(--brand-orange);transform:translateX(-50%);}
.icon-btn{border:1px solid var(--line);border-radius:14px;}
.cart-btn{border-radius:14px;background:var(--brand-orange);color:var(--on-brand);}
.cart-count{background:var(--on-brand);color:var(--brand-text);}

/* buttons / cards / inputs */
.btn{border-radius:14px;}
.btn-primary:not(.btn-sm):not(.btn-full)::after{content:"\2192";font-weight:800;transition:transform .2s;}
.btn-primary:not(.btn-sm):not(.btn-full):hover::after{transform:translateX(5px);}
.btn-outline{border-color:rgba(var(--text-rgb),calc(.35 + var(--line-boost)));}
.card{border-radius:26px;box-shadow:none;transition:border-color .25s,transform .25s;}
.feature-card:hover,.pizza-card:hover,.promo-card:hover,.team-card:hover,.dash-order-card:hover{border-color:var(--brand-orange);transform:translateY(-4px);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--brand-orange);outline:none;}
.section-head h2{font-size:clamp(30px,4.4vw,50px);line-height:1.05;}
.page-head h1{font-size:clamp(38px,5.4vw,64px);line-height:1;}
.page-head h1::after{content:".";color:var(--brand-text);}

/* HERO — pizza left, copy right, stat bar underneath */
.hero{padding:44px 0 20px;}
.hero-inner{grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.hero-art{position:relative;margin-left:-3%;}
.plate{position:relative;aspect-ratio:1;width:100%;filter:drop-shadow(0 40px 46px rgba(var(--shadow-rgb),calc(.6 * var(--shadow-k))));}
.plate .pizza-plate,.plate .hero-photo{position:absolute;inset:0;width:100%;height:100%;filter:none;}
.plate .pizza-plate{animation:spin 140s linear infinite;}
.plate .hero-photo{border-radius:50%;object-fit:cover;z-index:1;}
@keyframes spin{to{transform:rotate(360deg);}}
.sparks{position:absolute;left:-2%;top:16%;width:70px;color:var(--char);opacity:.85;z-index:2;}
.note{position:absolute;top:0;right:2%;z-index:3;display:flex;align-items:center;gap:8px;
  font:700 clamp(24px,2.8vw,34px)/1 'Caveat',cursive;color:var(--char);transform:rotate(-6deg);}
.rating-badge{position:absolute;left:0;bottom:12%;z-index:3;width:104px;height:104px;border-radius:50%;background:var(--brand-orange);
  color:var(--on-brand);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  transform:rotate(-10deg);border:3px dashed var(--on-brand);outline:5px solid var(--brand-orange);}
.rating-badge strong{font:800 22px var(--font-display);}
.rating-badge span{font-size:10.5px;font-weight:700;letter-spacing:.04em;}
.hero-art .float-1{top:auto;left:auto;right:-3%;bottom:8%;z-index:3;background:#fff;color:var(--ink);border-radius:18px;
  transform:rotate(-7deg);padding:14px 20px;font-size:15px;box-shadow:0 22px 40px -14px rgba(var(--shadow-rgb),calc(.6 * var(--shadow-k)));}
.hero-art .float-1 b{color:var(--brand-text);}
.hero-copy .pill-tag{background:var(--surface);border:1px solid var(--line);color:var(--char);gap:8px;padding:10px 16px;font-size:14px;font-weight:600;}
.hero-copy .pill-tag b{color:var(--brand-text);font-weight:700;}
.hero-copy h1{font-size:clamp(42px,5.8vw,82px);line-height:.98;letter-spacing:-.045em;}
.hero-copy h1 i{font:700 1.18em/.9 'Caveat',cursive;letter-spacing:0;color:var(--brand-text);position:relative;display:inline-block;padding-right:.08em;}
.hero-copy h1 i::after{content:"";position:absolute;left:0;right:0;bottom:-.04em;height:.07em;border-radius:9px;background:var(--brand-orange);transform:rotate(-2deg);}
.hero-copy p{color:rgba(var(--text-rgb),calc(.74 + var(--muted-boost)));}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;padding:0;border:1px solid var(--line);
  border-radius:26px;background:var(--surface);overflow:hidden;}
.hero-stats div{display:flex;align-items:center;gap:16px;padding:24px 28px;border-left:1px solid var(--line);}
.hero-stats div:first-child{border-left:none;}
.hero-stats .hs-ic{color:var(--brand-text);flex:none;}
.hero-stats p{line-height:1.25;}
.hero-stats div strong{display:block;font-size:24px;}
.hero-stats div span{font-size:13px;}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:28px;}
  .hero-art{order:2;margin:0 auto;max-width:440px;width:100%;}
  .hero-art .float-card{display:flex;}
  .rating-badge{width:88px;height:88px;}
  .hero-stats{grid-template-columns:1fr;}
  .hero-stats div{border-left:none;border-top:1px solid var(--line);padding:18px 22px;}
  .hero-stats div:first-child{border-top:none;}
}

/* orange marquee band */
.strip{background:var(--brand-orange);padding:16px 0;-webkit-mask-image:none;mask-image:none;}
.strip-group{font-family:var(--font-body);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--on-brand);}
.strip-group span.dot{color:var(--on-brand);}
.cat-chip{border-radius:14px;font-size:15px;}
.cat-chip:hover{background:var(--brand-orange-dark);border-color:var(--brand-orange-dark);color:var(--on-brand);}
.feature-card .ficon{background:var(--brand-orange);color:var(--on-brand);border-radius:50%;width:52px;height:52px;}
.promo-band{border-radius:32px;}
.pizza-card .thumb{background:var(--cream-2);}
.pizza-card .price{font-size:24px;}
.site-footer{border-top:3px solid var(--brand-orange);}
@media (max-width:640px){.section{padding:52px 0;}.wrap{padding-left:18px;padding-right:18px;}.promo-band{padding:38px 26px;}}
@media (min-width:641px) and (max-width:1160px){.hero{padding-left:28px;padding-right:28px;}}

/* ---------- CONTACT ---------- */
.contact-layout{grid-template-columns:1fr 1.1fr;gap:24px;align-items:stretch;}
.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start;}
.contact-info .item{flex-direction:column;gap:14px;margin:0;padding:22px;background:var(--surface);
  border:1px solid var(--line);border-radius:26px;}
.contact-info .item .ic{border-radius:50%;}
@media (max-width:860px){.contact-layout{grid-template-columns:1fr;}}
@media (max-width:480px){.contact-info{grid-template-columns:1fr;}}

.map-card{position:relative;margin-top:24px;height:460px;border-radius:36px;overflow:hidden;border:1px solid var(--line);
  background:
    repeating-linear-gradient(0deg,rgba(var(--text-rgb),.07) 0 1px,transparent 1px 56px),
    repeating-linear-gradient(90deg,rgba(var(--text-rgb),.07) 0 1px,transparent 1px 56px),var(--cream-2);}
.map-card::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-6.5 7-12a7 7 0 1 0-14 0c0 5.5 7 12 7 12Z' fill='%23B3571F'/%3E%3Ccircle cx='12' cy='10' r='2.6' fill='%23FFF6EC'/%3E%3C/svg%3E") center/contain no-repeat;transform:translate(-50%,-70%);z-index:0;}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;
  filter:invert(.92) hue-rotate(180deg) saturate(.75) brightness(.95) contrast(.95);}
.map-badge{position:absolute;left:18px;bottom:18px;z-index:2;max-width:290px;padding:22px;border-radius:26px;
  background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:var(--shadow-lift);}
.map-badge h3{font-size:22px;margin:12px 0 6px;}
.map-badge p{font-size:14px;color:var(--muted);margin-bottom:16px;}
@media (max-width:640px){
  .map-card{height:auto;border-radius:28px;display:flex;flex-direction:column;}
  .map-card::after{display:none;}
  .map-card iframe{position:static;height:300px;}
  .map-badge{position:static;max-width:none;border-radius:0;border:none;border-top:1px solid var(--line);}
}

/* ---------- ABOUT: store photos ---------- */
.about-hero-inner{gap:56px;}
.about-hero-inner h1{font-size:clamp(30px,4.6vw,54px);line-height:1.08;}
.about-photo{position:relative;margin:0;aspect-ratio:4/5;border-radius:36px;overflow:hidden;border:1px solid var(--line);background:var(--cream-2);}
.about-hero-inner .about-photo{transform:rotate(1.6deg);box-shadow:var(--shadow-lift);}
.about-hero-inner>.about-photo::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,246,236,.12);}
.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.photo-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  text-align:center;padding:20px;color:var(--muted);font-size:13px;line-height:1.5;
  background:repeating-linear-gradient(135deg,rgba(var(--text-rgb),.045) 0 14px,transparent 14px 28px),var(--cream-2);}
.photo-ph b{color:var(--brand-text);font-weight:700;}
.about-photo figcaption{position:absolute;left:14px;bottom:14px;z-index:2;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;
  background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);}
.store-gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;}
.store-gallery .about-photo{aspect-ratio:4/5;border-radius:28px;}
@media (max-width:900px){.about-hero-inner .about-photo{aspect-ratio:4/3;transform:none;max-width:560px;width:100%;margin:0 auto;order:-1;}}
@media (max-width:700px){.store-gallery{grid-template-columns:1fr 1fr;}
  .store-gallery .about-photo:first-child{grid-column:1/-1;aspect-ratio:16/10;}}

/* ===== DESIGN 4 — site-wide polish for every page (menu, cart, checkout, track, login, dashboard, admin) ===== */
.cat-chip[style*="--black"]{background:var(--brand-orange)!important;color:var(--on-brand)!important;border-color:var(--brand-orange)!important;}
.checkout-steps span.on,.auth-toggle button.active,.admin-side button.active,.admin-side a.active,.chat-list-item.active{background:var(--brand-orange);color:var(--on-brand);}
.chat-list-item.active .clh time,.chat-list-item.active p{color:var(--on-brand);}
.admin-lock-card .lock-icon{background:var(--brand-orange);color:var(--on-brand);}
.btn-dark{background:var(--btn-alt-bg);color:var(--btn-alt-fg);}
.promo-band .btn-dark{background:var(--ink);color:var(--cream);}
.table-wrap,.cart-line .thumb-sm,.thumb-tiny{border-radius:16px;}
.summary-card{border-radius:26px;}
.summary-row.total{font-family:var(--font-display);font-size:20px;}
.status-badge{border-radius:10px;}
.qty-stepper,.auth-toggle,.code-box{border-radius:14px;}
.qty-stepper button{border-radius:10px;}
.chip-select label,.pay-opt{border-radius:14px;}
.chip-select label:has(input:checked),.pay-opt:has(input:checked){background:var(--cream-2);color:var(--char);border-color:var(--brand-orange);}
.modal-box{border-radius:28px;border:1px solid var(--line);}
.progress-step.done .dot{background:var(--brand-orange);}
.auth-card,.tracker-card,.dash-profile-card{border-radius:28px;}
.admin-stat strong,.review-score strong{font-family:var(--font-display);}
th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,rgba(var(--text-rgb),.62));}
@media (max-width:640px){.tracker-card{padding:22px;}.admin-main{padding:20px 16px;}.progress-step span.label{font-size:11px;}}

/* =====================================================================
   NAVBAR v2 — announcement bar, segmented pill nav, cart pill, CTA,
   plus an app-style bottom tab bar on phones. Page background untouched.
   ===================================================================== */
.topbar{background:var(--brand-orange);color:var(--on-brand);font-size:12.5px;font-weight:600;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:8px;padding-bottom:8px;}
.topbar a{color:var(--on-brand);text-decoration:none;font-weight:700;}
.topbar a:hover{text-decoration:underline;}
@media (max-width:900px){.topbar-inner{justify-content:center;flex-wrap:wrap;gap:2px 16px;text-align:center;}.tb-phone{display:inline-flex;align-items:center;justify-content:center;flex-basis:100%;}}

.header-inner{display:grid;grid-template-columns:auto 1fr auto;height:76px;gap:24px;}
.main-nav{justify-self:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px;gap:2px;}
.main-nav a{padding:9px 16px;font-size:14px;font-weight:600;color:var(--muted,rgba(var(--text-rgb),.65));border-radius:999px;}
.main-nav a:hover{background:rgba(var(--text-rgb),.07);color:var(--char);}
.main-nav a.active{background:var(--brand-orange);color:var(--on-brand);}
.main-nav a.active::after{display:none;}
.header-actions{gap:10px;}
.icon-btn{border:none;padding:10px 12px;}
.cart-btn{width:auto;height:46px;padding:0 10px 0 16px;gap:9px;border-radius:999px;background:var(--surface);
  border:1px solid var(--line);color:var(--char);font-size:14px;font-weight:600;transform:none;}
.cart-btn:hover{border-color:var(--brand-orange);transform:none;}
.cart-btn .cart-count{position:static;background:#FFF6EC;color:#1A0D08;border:none;min-width:26px;height:26px;font-size:12.5px;font-weight:800;}
.nav-cta{padding:12px 22px;font-size:14px;}
@media (max-width:1120px){.nav-cta{display:none;}}
@media (max-width:1000px){.main-nav a{padding:9px 12px;}}

@media (max-width:1024px){
  .header-inner{grid-template-columns:1fr auto;height:66px;}
  .main-nav{position:absolute;top:calc(100% + 8px);left:14px;right:14px;justify-self:stretch;border-radius:24px;
    padding:10px;flex-direction:column;background:var(--surface);box-shadow:0 30px 60px -20px rgba(var(--shadow-rgb),calc(.85 * var(--shadow-k)));
    transform:translateY(-8px);opacity:0;pointer-events:none;transition:all .2s;}
  .main-nav.open{transform:none;opacity:1;pointer-events:auto;}
  .main-nav a{font-size:16px;padding:13px 16px;border-radius:14px;color:var(--char);}
  .cart-label{display:none;}
  .cart-btn{padding:0 8px;height:44px;}
  .icon-btn span{display:none;}
  .hamburger{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);
    border-radius:14px;background:var(--surface);}
}

@media (max-width:880px){
  .toast{top:76px;}
}

/* bigger cart button */
.cart-btn{height:54px;padding:0 12px 0 20px;gap:10px;}
.cart-btn svg{width:28px;height:28px;}
.cart-btn .cart-count{min-width:34px;height:34px;font-size:16px;}
@media (max-width:880px){.cart-btn{height:54px;padding:0 10px 0 16px;}.hamburger{width:50px;height:50px;}}

/* responsive fixes */
.cart-btn svg{flex:none;}
.cart-btn{flex:none;}
.toast{opacity:0;visibility:hidden;transition:transform .35s ease,opacity .25s ease,visibility .25s;}
.toast.show{opacity:1;visibility:visible;}
.site-footer{padding-top:48px;}
.footer-inner{padding:0 28px 36px;gap:32px 48px;}
.footer-cols{gap:32px 48px;}
.footer-bottom{padding:18px 28px calc(20px + env(safe-area-inset-bottom,0px));}
@media (max-width:640px){.footer-inner,.footer-bottom{padding-left:18px;padding-right:18px;}.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;width:100%;}}

/* toast: never visible unless showing */
.toast:not(.show){display:none !important;}

/* navbar fix */
.main-nav a{white-space:nowrap;}
.logo-btn,.logo-word{flex:none;white-space:nowrap;}
@media (min-width:1025px) and (max-width:1200px){.main-nav a{padding:9px 12px;font-size:13.5px;}.header-inner{gap:14px;}}

/* small-phone header fix — logo + login + cart + hamburger were wider
   than the viewport below ~390px, pushing the hamburger off-screen */
@media (max-width:420px){
  .topbar-inner,.header-inner{padding-left:14px;padding-right:14px;}
  .header-inner{gap:8px;}
  .logo-mark{width:32px;height:32px;}
  .logo-word{font-size:18px;}
  .header-actions{gap:2px;}
  .icon-btn{padding:6px;}
  .icon-btn svg{width:18px;height:18px;}
  .cart-btn{height:38px;padding:0 8px 0 9px;gap:5px;}
  .cart-btn svg{width:19px;height:19px;}
  .cart-btn .cart-count{min-width:19px;height:19px;font-size:10.5px;}
  .hamburger{width:36px;height:36px;}
  .hamburger svg{width:18px;height:18px;}
}
@media (max-width:340px){
  .topbar-inner,.header-inner{padding-left:10px;padding-right:10px;}
  .header-inner{gap:5px;}
  .logo-word{font-size:16px;}
}

/* ---- menu photos + package freebies ---- */
.pizza-card .thumb .pizza-photo{width:100%;height:100%;object-fit:contain;display:block;background:var(--cream-2);}
.package-card{grid-column:1/-1;flex-direction:row;}
.package-card .thumb{flex:0 0 38%;aspect-ratio:auto;min-height:260px;}
.package-card .freebies{background:rgba(var(--text-rgb),.05);border:1px solid rgba(var(--text-rgb),calc(.15 + var(--line-boost)));border-radius:12px;padding:14px 18px;}
.package-card .freebies h4{margin:0 0 8px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-text);}
.package-card .freebies ul{margin:0;padding-left:18px;columns:2;column-gap:28px;font-size:14px;line-height:1.7;}
@media (max-width:760px){.package-card{flex-direction:column;}.package-card .thumb{flex:none;min-height:0;aspect-ratio:4/3;}.package-card .freebies ul{columns:1;}}

/* ---- write-a-review star picker (review.php) ---- */
.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;font-size:34px;margin-top:6px;}
.star-input input{position:absolute;opacity:0;width:0;height:0;}
.star-input label{cursor:pointer;color:rgba(var(--text-rgb),calc(.25 + var(--muted-boost)));transition:color .15s ease;line-height:1;}
.star-input input:checked ~ label,
.star-input label:hover,
.star-input label:hover ~ label{color:var(--brand-text);}

/* menu photos are square posters */
.pizza-card:not(.package-card) .thumb{aspect-ratio:1/1;}
.pizza-card:not(.package-card) .thumb .pizza-photo{object-fit:cover;}

/* circular Pizza Toro logo */
.logo-img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;display:block;}
@media (max-width:760px){.logo-img{width:34px;height:34px;}}

/* real pizza photo inside the cart thumbnail */
.cart-line .thumb-sm .pizza-photo{width:100%;height:100%;object-fit:cover;display:block;background:var(--cream-2);}

/* ============ HERO v2 — modern real-photo bento ============ */
.hero-visual{position:relative;width:100%;max-width:560px;margin:0 auto;padding:22px 0 26px;}
.hv-grid{position:relative;z-index:1;display:grid;grid-template-columns:.85fr 1.15fr;grid-template-rows:auto auto;gap:14px;}
.hv-card{margin:0;overflow:hidden;background:var(--surface);border-radius:28px;
  border:1px solid rgba(var(--text-rgb),calc(.16 + var(--line-boost)));box-shadow:0 36px 60px -30px rgba(var(--shadow-rgb),calc(.9 * var(--shadow-k)));}
.hv-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.hv-card:hover img{transform:scale(1.06);}
.hv-main{grid-column:1/-1;aspect-ratio:2/1;border-radius:34px;}
.hv-a,.hv-b{height:clamp(150px,17vw,215px);}
.hv-b img{object-position:30% 50%;}
.hv-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;color:var(--char);
  background:var(--glass-2);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  border:1px solid rgba(var(--text-rgb),calc(.22 + var(--line-boost)));border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;
  box-shadow:0 18px 36px -14px rgba(var(--shadow-rgb),calc(.7 * var(--shadow-k)));}
.hv-fresh{top:5px;left:22px;}
.hv-dot{width:9px;height:9px;border-radius:50%;background:#4ade80;animation:hvPulse 2s infinite;}
@keyframes hvPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.7);}70%,100%{box-shadow:0 0 0 9px rgba(74,222,128,0);}}
.hv-price{right:-10px;top:30%;flex-direction:column;align-items:flex-start;gap:0;border-radius:20px;padding:12px 18px;
  background:var(--brand-orange);border-color:var(--brand-orange);color:var(--on-brand);
  transform:rotate(4deg);animation:hvFloat 7s ease-in-out infinite;}
.hv-price strong{font:800 24px/1.1 var(--font-display);}
.hv-price span{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;opacity:.92;}
.hv-deliver{left:-10px;bottom:2px;border-radius:20px;padding:12px 18px 12px 12px;background:rgba(255,255,255,.95);color:#1b1512;border-color:#fff;
  transform:rotate(-3deg);animation:hvFloat 8s ease-in-out -3s infinite;}
@keyframes hvFloat{50%{translate:0 -8px;}}
.hv-deliver .hv-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--brand-orange);font-size:20px;}
.hv-deliver b{display:block;font-size:14px;line-height:1.2;}
.hv-deliver small{font-size:12px;color:#6b5d52;font-weight:600;}
@media (max-width:900px){.hero-visual{order:2;max-width:480px;}}
@media (max-width:480px){
  .hv-grid{gap:10px;}
  .hv-a,.hv-b{height:clamp(120px,34vw,160px);}
  .hv-card{border-radius:20px;}.hv-main{border-radius:24px;}
  .hv-chip{font-size:12.5px;padding:8px 12px;}
  .hv-price{right:-4px;}.hv-price strong{font-size:20px;}
  .hv-deliver{left:-4px;}
}

/* Educational-use disclaimer (footer) */
.footer-bottom{text-align:center;}
.footer-bottom .edu-disclaimer{color:rgba(255,246,236,0.75);font-size:13.5px;letter-spacing:.02em;margin:0;}

/* About store photo: keep the Pizza Toro sign in view when cropped */
.about-photo img{object-position:50% 55%;}
@media (max-width:900px){.about-hero-inner .about-photo img{object-position:50% 52%;}}

/* =====================================================================
   ABOUT PAGE v2 — modern layout (all classes prefixed .ab-)
   ===================================================================== */
.ab-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.ab-reveal.in{opacity:1;transform:none;}
.ab-kicker{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-text);margin-bottom:14px;}

/* hero */
.ab-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding-top:64px;padding-bottom:72px;}
.ab-hero-copy h1{font-size:clamp(42px,6vw,82px);line-height:.98;letter-spacing:-.045em;margin-top:22px;}
.ab-hero-copy h1 i{font:700 1.18em/.9 'Caveat',cursive;letter-spacing:0;color:var(--brand-text);display:inline-block;position:relative;}
.ab-hero-copy h1 i::after{content:"";position:absolute;left:0;right:0;bottom:-.04em;height:.07em;border-radius:9px;background:var(--brand-orange);transform:rotate(-2deg);}
.ab-hero-copy p{margin-top:24px;font-size:18px;max-width:520px;color:rgba(var(--text-rgb),calc(.74 + var(--muted-boost)));}
.ab-hero-copy .pill-tag{background:var(--surface);border:1px solid var(--line);color:var(--char);padding:10px 16px;font-size:14px;font-weight:600;}
.ab-hero-copy .pill-tag b{color:var(--brand-text);}
.ab-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.ab-hero-visual{position:relative;padding:0 8% 0 0;}
.ab-store{position:relative;z-index:1;transform:rotate(2deg);box-shadow:var(--shadow-lift);aspect-ratio:4/5;}
.ab-float{position:absolute;z-index:2;border-radius:50%;object-fit:cover;border:4px solid var(--bg);box-shadow:0 22px 40px -14px rgba(var(--shadow-rgb),calc(.7 * var(--shadow-k)));}
.ab-float-1{width:34%;aspect-ratio:1;left:-9%;bottom:10%;animation:abBob 6s ease-in-out infinite;}
.ab-float-2{width:26%;aspect-ratio:1;right:0;top:-5%;animation:abBob 7s ease-in-out -2s infinite;}
@keyframes abBob{0%,100%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-12px) rotate(4deg);}}
.ab-chip{position:absolute;z-index:3;right:-2%;bottom:7%;display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:16px;
  background:#fff;color:var(--ink);font-weight:700;font-size:14.5px;transform:rotate(-4deg);box-shadow:0 22px 40px -14px rgba(var(--shadow-rgb),calc(.6 * var(--shadow-k)));}
.ab-dot{width:10px;height:10px;border-radius:50%;background:#2fb344;box-shadow:0 0 0 0 rgba(47,179,68,.6);animation:abPulse 1.8s infinite;}
@keyframes abPulse{70%{box-shadow:0 0 0 10px rgba(47,179,68,0);}100%{box-shadow:0 0 0 0 rgba(47,179,68,0);}}

/* stat band */
.ab-band{background:var(--brand-orange);}
.ab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:34px;padding-bottom:34px;}
.ab-stats div{text-align:center;}
.ab-stats strong{display:block;font:800 clamp(34px,5vw,56px)/1 var(--font-display);color:var(--on-brand);letter-spacing:-.03em;}
.ab-stats span{display:block;margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-brand);}

/* steps */
.ab-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s;}
.ab-step{position:relative;padding:34px 28px 30px;border-radius:26px;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:border-color .25s,transform .25s;}
.ab-step:hover{border-color:var(--brand-orange);transform:translateY(-4px);}
.ab-num{display:block;font:800 64px/1 var(--font-display);color:transparent;-webkit-text-stroke:1.5px var(--brand-orange);margin-bottom:20px;}
.ab-step h3{font-size:21px;margin-bottom:8px;}
.ab-step p{color:rgba(var(--text-rgb),calc(.68 + var(--muted-boost)));font-size:15px;}

/* bento */
.ab-bento{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:20px;}
.ab-tile{position:relative;padding:30px;border-radius:30px;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:border-color .25s,transform .25s;}
.ab-tile:hover{border-color:var(--brand-orange);transform:translateY(-4px);}
.ab-tile-lg{grid-row:1 / span 2;display:flex;align-items:flex-end;min-height:440px;padding:0;}
.ab-tile-lg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.ab-tile-lg:hover img{transform:scale(1.05);}
.ab-tile-lg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,11,9,.94) 8%,rgba(14,11,9,.2) 62%);}
.ab-tile-body{position:relative;z-index:2;padding:32px;}
.ab-tile h3{font-size:22px;margin:16px 0 8px;}
.ab-tile p{color:rgba(var(--text-rgb),calc(.72 + var(--muted-boost)));font-size:15.5px;}
.ab-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--brand-orange);color:var(--on-brand);}
.ab-tile-accent{background:var(--brand-orange);border-color:transparent;}
.ab-tile-accent h3,.ab-tile-accent p{color:var(--on-brand);}
.ab-tile-accent .ab-ic{background:var(--on-brand);color:var(--brand-text);}

/* flavors */
.ab-strip-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap;}
.ab-flavors{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:thin;scrollbar-color:var(--brand-orange) transparent;}
.ab-flavor{flex:none;width:210px;scroll-snap-align:start;text-decoration:none;text-align:center;}
.ab-flavor img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid var(--line);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .3s;}
.ab-flavor:hover img{transform:rotate(10deg) scale(1.05);}
.ab-flavor span{display:block;margin-top:14px;font-weight:700;font-size:15px;}

/* reseller */
.ab-reseller{display:grid;grid-template-columns:.8fr 1.2fr;border-radius:36px;overflow:hidden;background:var(--surface);border:1px solid var(--line);}
.ab-reseller-img{position:relative;min-height:380px;background:var(--cream-2);}
.ab-reseller-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ab-reseller-body{padding:48px 44px;}
.ab-reseller-body h2{font-size:clamp(28px,3.6vw,44px);line-height:1.05;letter-spacing:-.03em;}
.ab-price{display:flex;align-items:baseline;gap:12px;margin:18px 0 20px;}
.ab-price strong{font:800 clamp(40px,5vw,60px)/1 var(--font-display);color:var(--brand-text);letter-spacing:-.03em;}
.ab-price span{font-size:14px;font-weight:700;color:var(--brand-text);}
.ab-reseller-body>p{color:rgba(var(--text-rgb),calc(.72 + var(--muted-boost)));}
.ab-chips{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:8px;}
.ab-chips li{padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:600;background:var(--cream-2);border:1px solid var(--line);}
.ab-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}

/* responsive */
@media (max-width:960px){
  .ab-hero{grid-template-columns:1fr;gap:44px;padding-top:40px;}
  .ab-hero-visual{max-width:440px;margin:0 auto;width:100%;padding:0 6% 0 0;}
  .ab-store{aspect-ratio:4/4.6;}
  .ab-reseller{grid-template-columns:1fr;}
  .ab-reseller-img{min-height:300px;}
  .ab-reseller-body{padding:34px 26px;}
}
@media (max-width:760px){
  .ab-stats{grid-template-columns:1fr 1fr;gap:28px 16px;}
  .ab-steps{grid-template-columns:1fr;}
  .ab-bento{grid-template-columns:1fr;grid-template-rows:none;}
  .ab-tile-lg{grid-row:auto;min-height:340px;}
  .ab-flavor{width:160px;}
}
@media (prefers-reduced-motion:reduce){.ab-reveal{opacity:1;transform:none;}}

.ab a.btn,.ab a.ab-tile{text-decoration:none;}
.ab-float{height:auto;}
.ab .section.wrap{padding-left:28px;padding-right:28px;}
@media (max-width:640px){.ab .section.wrap{padding-left:18px;padding-right:18px;}}
.ab-flavor img{height:auto;}


/* =====================================================================
   COMPACT MOVING STAT BAND (About)
   ===================================================================== */
.ab-band{background:var(--brand-orange);overflow:hidden;padding:0;}
.ab-m-track{display:flex;width:max-content;-webkit-animation:stripScroll 30s linear infinite;animation:stripScroll 30s linear infinite;will-change:transform;}
@media (hover:hover){.ab-band:hover .ab-m-track{animation-play-state:paused;}}
.ab-m-group{display:flex;flex:none;}
.ab-m-item{display:inline-flex;align-items:baseline;gap:8px;padding:13px 0;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-brand);}
.ab-m-item b{font:800 20px/1 var(--font-display);letter-spacing:-.01em;color:var(--on-brand);text-transform:none;}
.ab-m-item::after{content:"\2726";margin:0 34px;font-size:11px;color:var(--on-brand);}
@media (max-width:640px){.ab-m-item{padding:11px 0;font-size:11px;}.ab-m-item b{font-size:17px;}.ab-m-item::after{margin:0 24px;}}

/* =====================================================================
   SITE-WIDE TRANSITIONS
   ===================================================================== */
/* page fade-in (opacity only, so fixed/sticky elements stay put) */
@keyframes pgIn{from{opacity:0;}to{opacity:1;}}
body{animation:pgIn .5s ease backwards;}
body.pg-leave{opacity:0;transition:opacity .25s ease;}

/* smooth colour / border / shadow changes everywhere */
a,button,input,select,textarea,.card,.cat-chip,.icon-btn,.cart-btn,.main-nav a,.footer-cols a,.chip-select label,.pay-opt{
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .3s ease,transform .3s cubic-bezier(.2,.7,.2,1),opacity .25s ease;
}
.btn{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,background-color .25s ease,color .25s ease,border-color .25s ease;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:scale(.97);}
.card,.pizza-card,.promo-card,.feature-card,.review-card,.dash-order-card,.summary-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .35s ease;}
.pizza-card .thumb img,.pizza-card img{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.pizza-card:hover .thumb img,.pizza-card:hover img{transform:scale(1.06);}
input:focus,select:focus,textarea:focus{border-color:var(--brand-orange);outline:2px solid var(--brand-orange);outline-offset:1px;}
.footer-cols a:hover{color:var(--brand-text);transform:translateX(4px);}

/* mobile menu + modal softness */
.main-nav{transition:opacity .25s ease,transform .3s ease;}
.modal-overlay{transition:opacity .3s ease,visibility .3s ease;}

/* scroll reveal for all pages (added by script.js) */
.rv{opacity:0;transform:translateY(24px);}
.rv.rv-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}

/* home hero entrance */
@keyframes riseIn{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
.hero-copy>*{animation:riseIn .8s cubic-bezier(.2,.7,.2,1) backwards;}
.hero-copy>*:nth-child(1){animation-delay:.1s;}
.hero-copy>*:nth-child(2){animation-delay:.2s;}
.hero-copy>*:nth-child(3){animation-delay:.3s;}
.hero-copy>*:nth-child(4){animation-delay:.4s;}
.hv-card{animation:riseIn .9s cubic-bezier(.2,.7,.2,1) backwards;}
.hv-a{animation-delay:.2s;}.hv-b{animation-delay:.35s;}
.page-head{animation:riseIn .7s cubic-bezier(.2,.7,.2,1) backwards;}


/* =====================================================================
   COMPACT HOME STRIP — same slim style as the About page band
   ===================================================================== */
.strip{padding:0;}
.strip-group{gap:0;padding-right:0;font-size:14.5px;font-weight:700;letter-spacing:.13em;}
.strip-group span{opacity:1;padding:19px 0;}
.strip-group span.dot{display:none;}
.strip-group span:not(.dot)::after{content:"\2726";margin:0 40px;font-size:13px;color:var(--on-brand);}
@media (max-width:640px){
  .strip-group{font-size:12.5px;}
  .strip-group span{padding:15px 0;}
  .strip-group span:not(.dot)::after{margin:0 28px;font-size:12px;}
}

/* home page lineup */
.home-lineup a.btn{text-decoration:none;}


/* =====================================================================
   SCROLLBARS — brand orange
   ===================================================================== */
html{scrollbar-color:var(--brand-orange) var(--bg);}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--brand-orange);border-radius:999px;border:3px solid var(--bg);}
::-webkit-scrollbar-thumb:hover{background:var(--brand-orange-dark);}

/* =====================================================================
   CAROUSEL ARROWS (used by the home flavor strip) — one card per click, hide at the ends
   ===================================================================== */
.carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:48px;height:48px;padding:0;border:none;border-radius:50%;
  background:var(--brand-orange);color:var(--on-brand);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.carousel-arrow:hover{background:var(--brand-orange-dark);}
.carousel-arrow:active{background:var(--brand-orange-dark);}
.carousel-arrow[hidden]{display:none;}
.carousel-arrow svg{width:22px;height:22px;}
.carousel-prev{left:-24px;}
.carousel-next{right:-24px;}
@media (max-width:1240px){.carousel-prev{left:10px;}.carousel-next{right:10px;}}
@media (max-width:640px){.carousel-arrow{width:42px;height:42px;}}

/* =====================================================================
   TRACK ORDER (track.php) — centered column
   ===================================================================== */
.track-center{max-width:600px;margin:0 auto;text-align:center;padding-bottom:90px;}
.track-center .page-head{padding-left:0;padding-right:0;}
.track-center .page-head p{margin-left:auto;margin-right:auto;}
.track-lookup{display:flex;align-items:stretch;gap:10px;width:100%;margin:0 auto 10px;}
.track-lookup input{
  flex:1;min-width:0;height:54px;padding:0 18px;border-radius:14px;
  border:1.5px solid var(--line);background:var(--surface);color:var(--char);
  font-family:inherit;font-size:15px;
}
.track-lookup input::placeholder{color:rgba(var(--text-rgb),calc(.45 + var(--muted-boost)));}
.track-lookup .btn{height:54px;padding:0 32px;border-radius:14px;flex:none;}
@media (max-width:560px){
  .track-lookup{flex-direction:column;}
  .track-lookup input{flex:none;width:100%;}
  .track-lookup .btn{width:100%;}
}
.track-center .tracker-card{text-align:left;}

/* =====================================================================
   ORDER SUMMARY extras — shared by cart, checkout and confirmation modal
   ===================================================================== */
.summary-row .free{color:var(--brand-text);font-weight:700;}
.summary-hint{font-size:12.5px;color:rgba(var(--text-rgb),calc(.6 + var(--muted-boost)));margin-top:4px;line-height:1.5;}

/* =====================================================================
   ORDER CONFIRMATION MODAL + SUCCESS SCREEN (checkout.php)
   ===================================================================== */
.confirm-box{max-width:520px;}
.confirm-box h3{margin-bottom:2px;}
.confirm-sub{font-size:14px;color:rgba(var(--text-rgb),calc(.65 + var(--muted-boost)));margin-bottom:14px;}
.order-lines{margin:6px 0 10px;max-height:34vh;overflow-y:auto;border-top:1px solid var(--line);}
.order-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;font-size:14.5px;border-bottom:1px solid var(--line);color:var(--char);}
.order-line span:last-child{flex:none;font-weight:600;}
.modal-actions{display:flex;gap:10px;margin-top:22px;}
.modal-actions .btn{flex:1;}
.modal-error{margin-top:14px;font-size:13.5px;font-weight:600;color:var(--brand-text);}
@media (max-width:480px){.modal-actions{flex-direction:column-reverse;}}

.order-success{max-width:600px;margin:0 auto;padding:40px 34px;text-align:center;}
.success-check{
  width:76px;height:76px;border-radius:50%;margin:0 auto 20px;
  background:var(--brand-orange);color:var(--on-brand);display:flex;align-items:center;justify-content:center;
}
.success-check svg{width:38px;height:38px;}
.order-success h2{font-size:clamp(26px,4vw,34px);}
.order-success>p{color:rgba(var(--text-rgb),calc(.7 + var(--muted-boost)));margin-top:8px;}
.success-order-no{
  display:inline-block;margin:18px 0 6px;padding:10px 22px;border:1.5px dashed var(--brand-orange);border-radius:14px;
  font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:.05em;color:var(--char);
}
.order-success .order-lines,.order-success .order-totals{text-align:left;}
.order-success .order-lines{margin-top:20px;max-height:none;}
.success-eta{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  margin:18px 0 22px;padding:14px 18px;border-radius:14px;background:var(--cream-2);font-size:14.5px;
}
.success-eta strong{color:var(--brand-text);}
.success-actions{display:flex;flex-direction:column;gap:10px;}
@media (max-width:640px){.order-success{padding:30px 20px;}}
#orderSuccess{padding-top:52px;}
.order-success a.btn{text-decoration:none;}

/* ===== HOME FLAVOR STRIP — arrows (reuses .carousel-arrow) ===== */
.flavor-carousel{position:relative;}
.flavor-carousel .ab-flavors{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;scroll-padding-left:2px;}
.flavor-carousel .ab-flavors::-webkit-scrollbar{display:none;}
.flavor-carousel .carousel-arrow{top:111px;}   /* centre of the 210px pizza circles */
@media (max-width:760px){.flavor-carousel .carousel-arrow{top:86px;}}  /* 160px circles */
@media (prefers-reduced-motion:reduce){.flavor-carousel .ab-flavors{scroll-behavior:auto;}}


/* =====================================================================
   THEME TOGGLE (dark / light)
   ===================================================================== */
.theme-toggle{
  width:42px;height:42px;padding:0;border-radius:50%;border:1px solid var(--line);
  background:var(--surface);color:var(--char);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;
}
.theme-toggle:hover{background:var(--cream-2);}
.theme-toggle svg{width:20px;height:20px;}
.theme-toggle .ico-sun{display:block;}
.theme-toggle .ico-moon{display:none;}
[data-theme="light"] .theme-toggle .ico-sun{display:none;}
[data-theme="light"] .theme-toggle .ico-moon{display:block;}

/* The footer stays dark in both themes, so keep its text tokens light. */
.site-footer{--char:#F3E8DA;--text-rgb:243,232,218;--line:rgba(243,232,218,0.14);--brand-text:var(--brand-orange);}
iframe{color-scheme:normal;}   /* embeds (Google Maps) keep their own colours / transparency */

/* ---------- ICONS (replace emojis) + FIND-US CARD ---------- */
.ic{flex:none;vertical-align:-.2em;}
.topbar-inner>*:not(.tb-phone),.topbar b{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.topbar .ic{margin:0;}
.hv-deliver .hv-ic{color:var(--on-brand);}
.admin-side .nav-icon{display:inline-flex;align-items:center;justify-content:center;}
.admin-lock-card .lock-icon{font-size:0;}
.progress-step .dot .ic{display:block;}
.visit-card{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 32px;background:var(--surface);border:1px solid var(--line);border-radius:26px;}
.visit-info{display:flex;align-items:center;gap:18px;}
.visit-info .vic{width:52px;height:52px;border-radius:50%;background:var(--brand-orange);color:var(--on-brand);display:grid;place-items:center;flex:none;}
.visit-info h3{font-size:22px;margin-bottom:4px;}
.visit-info p{font-size:16px;color:rgba(var(--text-rgb),calc(0.75 + var(--muted-boost)));}
@media (max-width:640px){.visit-card{padding:22px 20px;}.visit-card .btn{width:100%;}}

/* ---------- About hero, tablet/mobile: floating labels no longer overlap each other,
   cover the store caption, or get cut off at the screen edge ---------- */
@media (max-width:960px){
  .ab-float-1{left:2%;bottom:17%;}
  .ab-chip{right:auto;left:4%;bottom:auto;top:18%;}
}

/* ---------- Small phones: header buttons share one size so the row lines up ---------- */
@media (max-width:420px){
  .theme-toggle,.hamburger{width:38px;height:38px;}
  .theme-toggle svg{width:18px;height:18px;}
}

/* ---------- No underlines on chips, buttons and the phone link ---------- */
.cat-chip,.cat-chip:hover,.btn,.btn:hover,.tb-phone,.tb-phone:hover,.topbar a,.topbar a:hover{text-decoration:none;}

/* =========================================================
   FOODPANDA-STYLE CHECKOUT (checkout.php)
========================================================= */
.co-back{display:inline-block;font-size:14px;font-weight:600;margin-bottom:10px;color:rgba(var(--text-rgb),calc(.7 + var(--muted-boost)));}
.co-back:hover{color:var(--brand-orange);}
.co-form{display:flex;flex-direction:column;gap:16px;min-width:0;}
.co-card{padding:22px 24px;}
.co-title{display:flex;align-items:center;gap:10px;font-size:17px;margin-bottom:16px;color:var(--char);}
.co-title svg{color:var(--brand-orange);flex:none;}
.co-card[hidden],.co-chip[hidden],.co-progress[hidden],.summary-row[hidden]{display:none !important;}
.co-store{font-size:15px;line-height:1.6;color:var(--char);margin-bottom:6px;}
.co-muted{font-size:13.5px;color:rgba(var(--text-rgb),calc(.65 + var(--muted-boost)));}

/* Delivery / Pickup switch */
.co-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);}
.co-switch-opt input{position:absolute;opacity:0;pointer-events:none;}
.co-switch-opt span{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border-radius:var(--radius-pill);font-weight:700;font-size:15px;cursor:pointer;color:rgba(var(--text-rgb),calc(.7 + var(--muted-boost)));transition:background .2s ease,color .2s ease;}
.co-switch-opt:has(input:checked) span{background:var(--brand-orange);color:var(--on-brand);}
.co-switch-opt:has(input:focus-visible) span{outline:2px solid var(--char);outline-offset:2px;}

/* Option rows (delivery speed, payment) */
.co-choice-list{display:flex;flex-direction:column;gap:10px;}
.co-choice{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;}
.co-choice:has(input:checked){border-color:var(--brand-orange);background:var(--cream-2);}
.co-choice input{accent-color:var(--brand-orange);width:18px;height:18px;flex:none;}
.co-choice-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;color:var(--char);}
.co-choice-main strong{font-size:15px;}
.co-choice-main small{font-size:12.5px;color:rgba(var(--text-rgb),calc(.65 + var(--muted-boost)));}
.co-choice-price{font-weight:800;font-size:14.5px;color:var(--char);white-space:nowrap;}

/* "Change for" chips */
.co-sub{font-size:14px;font-weight:700;margin:18px 0 10px;color:var(--char);}
.co-chips{display:flex;flex-wrap:wrap;gap:8px;}
.co-chip input{position:absolute;opacity:0;pointer-events:none;}
.co-chip span{display:inline-block;padding:9px 14px;border:1.5px solid var(--line);border-radius:var(--radius-pill);font-size:13.5px;font-weight:600;cursor:pointer;background:var(--surface);color:var(--char);}
.co-chip:has(input:checked) span{border-color:var(--brand-orange);background:var(--cream-2);}
.co-chip:has(input:focus-visible) span{outline:2px solid var(--char);outline-offset:2px;}

/* Summary */
.co-summary{display:flex;flex-direction:column;}
.co-eta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13.5px;margin-bottom:12px;color:rgba(var(--text-rgb),calc(.7 + var(--muted-boost)));}
.co-eta svg{color:var(--brand-orange);}
.co-eta strong{color:var(--char);}
.summary-row.sum-top{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;}
.co-progress{margin-top:10px;}
.co-progress > div{height:8px;border-radius:99px;background:var(--cream-2);border:1px solid var(--line);overflow:hidden;}
.co-progress i{display:block;height:100%;width:0;background:var(--brand-orange);border-radius:99px;transition:width .35s ease;}
.co-place{margin-top:16px;}
.co-lock{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:12.5px;color:rgba(var(--text-rgb),calc(.6 + var(--muted-boost)));}

/* Confirmation window details */
.co-meta{border:1px solid var(--line);border-radius:12px;padding:6px 14px;margin-bottom:14px;}
.co-meta-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:13.5px;color:rgba(var(--text-rgb),calc(.7 + var(--muted-boost)));}
.co-meta-row + .co-meta-row{border-top:1px solid var(--line);}
.co-meta-row strong{color:var(--char);text-align:right;font-weight:600;word-break:break-word;}

/* Sticky bottom bar on phones */
.co-bar{display:none;}
@media (max-width:860px){
  .co-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:12px 18px calc(12px + env(safe-area-inset-bottom, 0px));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px -14px rgba(0,0,0,.35);}
  .co-bar small{display:block;font-size:12px;color:rgba(var(--text-rgb),calc(.65 + var(--muted-boost)));}
  .co-bar strong{font-size:19px;color:var(--char);}
  .co-bar .btn{flex:1;max-width:240px;}
  .co-place{display:none;}
  .summary-card.co-summary{position:static;}
  [data-view="checkout"] .co-bar[hidden]{display:none;}
}

/* =========================================================
   NEW DETAILS: opening hours badge, social links, footer legal,
   delivery / privacy / terms pages, home reviews, notices
========================================================= */
.hours-badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-top:6px;}
.hours-badge i{width:9px;height:9px;border-radius:50%;background:#9a9a9a;flex:none;}
.hours-badge.is-open{color:#2e9d57;}
.hours-badge.is-open i{background:#2e9d57;box-shadow:0 0 0 3px rgba(46,157,87,.22);}
.hours-badge.is-closed{color:#d9534f;}
.hours-badge.is-closed i{background:#d9534f;}
.site-footer .hours-badge.is-open{color:#5fd68a;}
.site-footer .hours-badge.is-closed{color:#ff8a80;}

.social-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.social-pills a{display:inline-block;padding:6px 14px;border:1px solid rgba(255,246,236,.35);border-radius:99px;font-size:13px;font-weight:600;color:rgba(255,246,236,.9);}
.social-pills a:hover{background:var(--brand-orange);border-color:var(--brand-orange);color:var(--on-brand);}

.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.footer-legal a{color:rgba(255,246,236,.75);font-weight:600;}
.footer-legal a:hover{color:var(--brand-orange);}
.footer-legal span{opacity:.5;}

.legal-wrap{max-width:980px;margin-left:auto;margin-right:auto;}
.legal-card{padding:28px 30px;margin-bottom:20px;}
.legal-card h2{display:flex;align-items:center;gap:10px;font-size:21px;margin-bottom:12px;color:var(--char);}
.legal-card h2 svg,.legal-card h3 svg{color:var(--brand-orange);flex:none;}
.legal-card h3{font-size:17px;margin-bottom:10px;color:var(--char);}
.legal-card p{margin-bottom:10px;line-height:1.7;}
.legal-card a{color:var(--brand-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.legal-text h2{margin-top:26px;}
.legal-text h2:first-of-type{margin-top:22px;}
.legal-text ul{margin:0 0 10px 20px;line-height:1.7;}
.legal-text li{margin-bottom:6px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.legal-grid{margin-bottom:0;}
.legal-grid .legal-card{margin-bottom:20px;}
.fee-table{min-width:520px;}
.fee-table th,.fee-table td{padding:14px 16px;text-align:left;}
.legal-steps{margin:0 0 18px 22px;line-height:1.8;}
@media (max-width:760px){
  .grid-2{grid-template-columns:1fr;}
  .legal-card{padding:22px 20px;}
}

.home-rating{display:flex;align-items:center;gap:8px;}
.home-rating .stars{color:var(--brand-text);font-size:22px;}
.home-review{margin-bottom:0;}

.co-closed,.admin-warning{padding:14px 18px;border-radius:14px;font-size:14.5px;line-height:1.55;}
.co-closed{border:1.5px solid #d9534f;background:rgba(217,83,79,.12);color:var(--char);}
.admin-warning{border:1.5px solid var(--brand-orange);background:rgba(179,87,31,.14);color:var(--char);margin-bottom:18px;}
.admin-warning a{font-weight:700;text-decoration:underline;color:var(--brand-text);}
.co-terms{margin-top:6px;font-size:12px;text-align:center;color:rgba(var(--text-rgb),calc(.6 + var(--muted-boost)));}
.co-terms a{text-decoration:underline;font-weight:600;}
.legal-card a.btn{color:var(--on-brand);text-decoration:none;}
.legal-card a.btn-ghost{color:var(--char);}

/* ===== Open / Closed + Delivery fees ===== */
.tb-left{display:inline-flex;align-items:center;gap:6px 16px;flex-wrap:wrap;}
.tb-deliver{display:inline-flex;align-items:center;gap:6px;}
.tb-status{display:inline-flex;align-items:center;gap:7px;padding:3px 11px;border-radius:99px;background:rgba(0,0,0,.22);font-weight:800;letter-spacing:.02em;}
.tb-status i{width:9px;height:9px;border-radius:50%;background:#9a9a9a;}
.tb-status.is-open i{background:#5fe08f;box-shadow:0 0 0 3px rgba(95,224,143,.3);}
.tb-status.is-closed i{background:#ff6b63;box-shadow:0 0 0 3px rgba(255,107,99,.3);}
.closed-banner{background:#b3261e;color:#fff;text-align:center;padding:10px 16px;font-size:14px;line-height:1.5;}

.delivery-fee-card{border:1.5px solid rgba(179,87,31,.45);background:rgba(179,87,31,.08);border-radius:20px;padding:22px 24px;margin:0 0 24px;}
.dfc-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px;color:var(--brand-orange);}
.dfc-head h3{font-size:20px;margin:0;color:inherit;}
.dfc-head span{font-size:13px;opacity:.75;margin-left:auto;}
.dfc-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;}
.dfc-row{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(128,128,128,.22);}
.dfc-area{font-size:13.5px;opacity:.85;}
.dfc-fee{font-size:26px;line-height:1.2;color:var(--brand-orange);}
.dfc-free{font-size:12.5px;color:#2e9d57;font-weight:700;min-height:16px;}
.dfc-note{margin:14px 0 0;font-size:13.5px;opacity:.85;}
.dfc-note a{color:var(--brand-orange);font-weight:700;}
.delivery-fee-card.is-compact{padding:14px 18px;}
.delivery-fee-card.is-compact .dfc-fee{font-size:20px;}
.delivery-fee-card.is-compact .dfc-row{padding:10px 12px;}

.store-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;margin-bottom:20px;border-left:6px solid #9a9a9a;}
.store-switch.is-open{border-left-color:#2e9d57;}
.store-switch.is-closed{border-left-color:#d9534f;}
.ss-info{display:flex;align-items:center;gap:14px;}
.ss-info h3{margin:0;font-size:22px;}
.ss-info p{margin:2px 0 0;font-size:13.5px;opacity:.7;}
.ss-dot{width:16px;height:16px;border-radius:50%;background:#9a9a9a;flex:none;}
.is-open .ss-dot{background:#2e9d57;box-shadow:0 0 0 5px rgba(46,157,87,.25);}
.is-closed .ss-dot{background:#d9534f;box-shadow:0 0 0 5px rgba(217,83,79,.25);}
.ss-buttons{display:flex;flex-wrap:wrap;gap:8px;}
.ss-buttons .btn{border:2px solid rgba(128,128,128,.4);background:transparent;color:inherit;min-width:110px;}
.ss-buttons .ss-open.is-on{background:#2e9d57;border-color:#2e9d57;color:#fff;}
.ss-buttons .ss-close.is-on{background:#d9534f;border-color:#d9534f;color:#fff;}
.ss-buttons .ss-auto.is-on{background:var(--brand-orange);border-color:var(--brand-orange);color:#fff;}
.ss-buttons .ss-open:hover{border-color:#2e9d57;}
.ss-buttons .ss-close:hover{border-color:#d9534f;}
@media (max-width:600px){.dfc-head span{margin-left:0;flex-basis:100%;}.ss-buttons{width:100%;}.ss-buttons .btn{flex:1;min-width:0;}}

/* ===== Modern footer ===== */
.ftm{padding:0;margin-top:90px;}
.ftm-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto;padding:0 0 calc(22px + env(safe-area-inset-bottom,0px));}
.ftm-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:-46px;padding:28px 32px;border-radius:24px;background:var(--brand-orange);color:#fff;box-shadow:0 22px 50px rgba(0,0,0,.35);}
.ftm-cta h3{margin:0 0 4px;font-size:clamp(1.25rem,2.6vw,1.75rem);color:#fff;}
.ftm-cta p{margin:0;opacity:.9;color:#fff;}
.ftm-cta-btns{display:flex;flex-wrap:wrap;gap:10px;}
.ftm-cta .btn-primary{background:#fff;border-color:#fff;color:var(--brand-orange);box-shadow:none;}
.ftm-ghost{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;}
.ftm-ghost:hover{background:rgba(255,255,255,.14);color:#fff;}
.ftm-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.3fr;gap:36px;padding:56px 0 40px;}
.ftm-brand p{margin:10px 0 0;color:rgba(255,246,236,.65);max-width:260px;}
.ftm-brand .hours-badge{margin-top:16px;}
.ftm-col h4,.ftm-visit h4{margin:0 0 14px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-orange);font-family:var(--font-body);}
.ftm-col a{display:block;padding:6px 0;color:rgba(255,246,236,.78);text-decoration:none;font-size:14.5px;}
.ftm-col a:hover{color:var(--brand-orange);transform:translateX(4px);}
.ftm-visit{padding:22px;border-radius:20px;border:1px solid rgba(255,246,236,.14);background:rgba(255,246,236,.04);}
.ftm-line{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:14.5px;color:rgba(255,246,236,.8);}
.ftm-line .ic{flex:none;margin-top:2px;color:var(--brand-orange);}
.ftm-dir{display:inline-block;margin-top:2px;font-weight:700;color:var(--brand-orange);text-decoration:none;}
.ftm-dir:hover{text-decoration:underline;}
.ftm-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:20px;border-top:1px solid rgba(255,246,236,.12);}
.ftm-bottom p{margin:0;font-size:13px;color:rgba(255,246,236,.5);}
.ftm-legal{display:flex;flex-wrap:wrap;gap:6px 20px;}
.ftm-legal a{color:rgba(255,246,236,.75);font-weight:600;text-decoration:none;}
.ftm-legal a:hover{color:var(--brand-orange);}
.ftm-bottom .ftm-disclaimer{color:rgba(255,246,236,.75);font-weight:700;letter-spacing:.02em;}
@media (max-width:980px){.ftm-grid{grid-template-columns:1fr 1fr;}.ftm-brand,.ftm-visit{grid-column:1/-1;}}
@media (max-width:560px){.ftm-cta{padding:22px;margin-top:-34px;}.ftm-grid{grid-template-columns:1fr 1fr;gap:28px 20px;padding-top:40px;}.ftm-bottom{flex-direction:column;text-align:center;}}

/* ===== Projector-friendly light mode =====
   Projectors wash out dark backgrounds, faint greys and soft transparency. In light mode we use darker text,
   stronger borders and solid (not see-through) panels so the site looks the same on any screen or projector. */
[data-theme="light"]{
  --char:#1A120C;
  --text-rgb:26,18,12;
  --bg:#FFFAF3;
  --line:rgba(26,18,12,0.5);
  --muted-boost:.3;
  --line-boost:.35;
  --brand-text:var(--brand-orange);
  --header-bg:#FFFAF3;
  --glass:#FFFFFF;
  --glass-2:#FFFFFF;
}
[data-theme="light"] .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid rgba(26,18,12,.25);}
[data-theme="light"] .card{border-color:rgba(26,18,12,.28);}


/* cart badge pop when an item is added (no page reload) */
@keyframes cartBump{0%{transform:scale(1);}40%{transform:scale(1.35);}100%{transform:scale(1);}}
.cart-count.bump{animation:cartBump .35s ease;}

/* Business Package card: keep the text together instead of pushing the
   description to the top and the freebies box to the bottom */
.pizza-card.package-card .body{justify-content:center;gap:16px;padding:28px 28px 30px;}
.pizza-card.package-card .desc{flex:none;font-size:15.5px;line-height:1.6;}
.pizza-card.package-card .freebies{margin:2px 0 4px;}
.pizza-card.package-card .meta-row{margin-top:8px;}
@media (max-width:760px){.pizza-card.package-card .body{padding:22px 20px 24px;}}

/* =====================================================================
   MOBILE RESPONSIVE FIXES — cart, order summary, footer
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box;}
.cart-layout > *{min-width:0;}
.cart-line .info{min-width:0;}
.summary-row > span:last-child{text-align:right;white-space:nowrap;}
.summary-row{gap:12px;}
.summary-hint{overflow-wrap:anywhere;}
@media (max-width:640px){
  #cartLinesWrap{padding:6px 16px !important;}
  .summary-card{padding:20px;position:static;}
  .cart-line{gap:12px;}
  .cart-line .thumb-sm{width:60px;height:60px;}
  .cart-line .info .row-bottom{flex-wrap:wrap;gap:10px 12px;}
  .cart-line .info .row-bottom > div{flex:1 1 auto;justify-content:space-between;min-width:0;}
  .summary-row.total{font-size:18px;}
  .ftm-legal{justify-content:center;}
  .ftm-bottom{align-items:center;}
  .ftm-disclaimer{text-align:center;width:100%;}
}

/* =====================================================================
   FOOTER READABILITY — all footer text uses the same bright color as the
   "Educational Purposes" notice (the footer is always dark, in both themes)
   ===================================================================== */
.ftm{--ftm-text:#FFF6EC;--ftm-accent:#F59A4E;}
.ftm-brand p,
.ftm-col a,
.ftm-line,
.ftm-bottom p,
.ftm-legal a,
.ftm-bottom .ftm-disclaimer{color:var(--ftm-text);}
.ftm-brand p,.ftm-bottom p{opacity:.92;}
.ftm-col h4,.ftm-visit h4,.ftm-line .ic,.ftm-dir{color:var(--ftm-accent);}
.ftm-col a:hover,.ftm-legal a:hover{color:var(--ftm-accent);}
.ftm-visit{border-color:rgba(255,246,236,.28);}
.ftm-bottom{border-top-color:rgba(255,246,236,.28);}

/* =====================================================================
   NEW: free-delivery progress bar (cart) + FAQ page
   ===================================================================== */
.free-ship{margin:14px 0 4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;}
.free-ship p{margin:0 0 10px;font-size:13.5px;}
.free-ship-bar{height:8px;border-radius:99px;background:rgba(var(--text-rgb),.15);overflow:hidden;}
.free-ship-bar span{display:block;height:100%;border-radius:99px;background:var(--brand-orange);transition:width .4s ease;}
.faq-item{border-bottom:1px solid var(--line);padding:4px 0;}
.faq-item:last-child{border-bottom:none;}
.faq-item summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:22px;line-height:1;color:var(--brand-text);flex:none;}
.faq-item[open] summary::after{content:"−";}
.faq-item p{margin:0 0 16px;line-height:1.6;}
