.m-panel{height:190px;width:100%;overflow:hidden;border:2px solid rgba(229,9,20,.68);border-radius:10px;background:#050505}iframe{width:100%;height:100%;border:0}.strip{width:min(calc(100% - 48px),1180px);margin:36px auto 0;padding-top:30px;border-top:1px solid rgba(255,255,255,.14)}.strip-head{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:18px 34px;align-items:end;margin-bottom:20px}.strip-head h2{margin:0;color:var(--cream);font-size:clamp(48px,5vw,78px);line-height:.86;text-transform:uppercase}.strip-head p:not(.eyebrow){margin:0;color:rgba(244,240,232,.72);font:600 16px/1.5 Inter,sans-serif}.strip-slider .splide__track{overflow:visible}.proof-card{min-height:214px;padding:24px 22px 22px;border:2px solid rgba(229,9,20,.68);border-radius:10px;background:#080808;box-shadow:0 18px 48px rgba(0,0,0,.48)}.proof-card span{display:inline-flex;margin:0 0 16px;padding:8px 10px 7px;border-radius:6px;color:#ff1722;background:rgba(0,0,0,.36);font:400 clamp(28px,3vw,38px)/.9 "Bebas Neue",sans-serif}.proof-card h3{margin:0 0 10px;color:var(--cream);font-size:clamp(30px,3vw,42px);line-height:.9;text-transform:uppercase}.proof-card p{margin:0;color:rgba(244,240,232,.72);font:600 14px/1.45 Inter,sans-serif}

.proof-card small{display:block;margin-top:14px;color:rgba(244,240,232,.48);font:800 10px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}

.strip{position:relative;padding:34px 0 38px}.strip:before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--rough-black) center/620px 620px repeat;opacity:.22}.strip-head,.strip-slider{position:relative;z-index:1}.strip-head .review-button{width:max-content;margin-top:16px}.proof-card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(14,14,14,.95),rgba(3,3,3,.98)),var(--rough-black) center/560px 560px repeat}.proof-card:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:var(--rough-red) center/500px 200px repeat}.proof-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 15%,rgba(229,9,20,.18),transparent 35%),var(--rough-black) center/360px 360px repeat;opacity:.2}.proof-card span,.proof-card h3,.proof-card p{position:relative;z-index:1}.proof-card p{font-size:15px;line-height:1.5}.proof-card span{box-shadow:0 7px 0 rgba(0,0,0,.28)}


/* Full visual alignment pass */
.pizza-menu .section-title,
.appetizers .section-title,
.entrees > .section-title{
  width:min(calc(100% - 48px),1180px);
  margin-left:auto;
  margin-right:auto;
  text-align:left;
  display:block;
  text-shadow:0 5px 0 rgba(0,0,0,.32);
}
.pizza-menu .section-title:before,
.appetizers .section-title:before,
.entrees > .section-title:before{
  display:block;
  width:132px;
  height:10px;
  margin:0 0 16px;
  border:0;
  background:var(--rough-red) center/520px 200px repeat;
  box-shadow:0 5px 0 rgba(0,0,0,.28);
}
.pizza-menu .section-title:after,
.appetizers .section-title:after,
.entrees > .section-title:after{
  display:none;
}
.appetizers .script-label{
  width:min(calc(100% - 48px),1180px);
  margin:4px auto 22px;
  text-align:left;
  font-size:20px;
}
.strip{
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.42)),
    var(--rough-black) center/680px 680px repeat;
  border-top:2px solid rgba(229,9,20,.72);
  border-bottom:2px solid rgba(229,9,20,.72);
  padding:58px max(24px,calc((100vw - 1180px)/2)) 64px;
  width:100%;
  margin:0;
}
.strip:before{
  opacity:.28;
}
.strip-head{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.strip-slider{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.strip-head h2:before{
  content:"";
  display:block;
  width:132px;
  height:10px;
  margin:0 0 16px;
  background:var(--rough-red) center/520px 200px repeat;
  box-shadow:0 5px 0 rgba(0,0,0,.28);
}
.review-button{
  justify-self:start;
}
.proof-card{
  border-color:rgba(229,9,20,.82);
  min-height:250px;
}
.proof-card p{
  max-width:31ch;
}
.google-profile{
  margin-top:0;
}
.google-profile__copy h2,
.google-profile h2,
.business-card h3,
.hours-card h4{
  text-align:left;
}
@media(max-width:760px){
  .pizza-menu .section-title,
  .appetizers .section-title,
  .entrees > .section-title,
  .appetizers .script-label{
    width:min(calc(100% - 28px),1180px);
  }
  .strip{
    padding:48px 14px 56px;
  }
  .strip-head{
    display:block;
  }
  .review-button{
    margin-top:18px;
    width:100%;
  }
}


/* Review header left alignment fix */
.strip-head{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
}
.strip-head .eyebrow{
  grid-column:1 / -1;
  width:max-content;
  margin:0 0 14px;
}
.strip-head h2{
  grid-column:1 / -1;
  justify-self:start;
  text-align:left;
  margin:0 0 18px;
}
.strip-head h2:before{
  margin-left:0;
  margin-right:0;
}
.strip-head p:not(.eyebrow){
  grid-column:1;
  max-width:560px;
  text-align:left;
}
.strip-head .review-button{
  grid-column:2;
  justify-self:start;
  align-self:center;
  margin:0 0 0 18px;
}
@media(max-width:760px){
  .strip-head{
    grid-template-columns:1fr;
  }
  .strip-head .review-button{
    grid-column:1;
    margin:18px 0 0;
  }
}


/* Customer favorites visual pass */
.favorites{
  position:relative;
  padding:64px max(24px,calc((100vw - 1180px)/2)) 72px;
  background:linear-gradient(180deg,rgba(10,10,10,.96),rgba(2,2,2,.98));
  overflow:hidden;
  border-top:2px solid rgba(229,9,20,.55);
  border-bottom:2px solid rgba(229,9,20,.55);
}
.favorites:before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--rough-black) center/620px 620px repeat;
  opacity:.24;
  pointer-events:none;
}
.favorites:after{
  content:"HOT • FRESH • LOCAL • MIROBALLI PIZZA •";
  position:absolute;
  left:-20px;
  right:-20px;
  top:0;
  height:32px;
  display:flex;
  align-items:center;
  padding-left:24px;
  color:rgba(255,255,255,.78);
  background:var(--rough-red) center/680px 220px repeat;
  font:800 12px/1 Inter,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.favorites-head,.favorites-grid{
  position:relative;
  z-index:1;
  width:min(100%,1180px);
  margin-left:auto;
  margin-right:auto;
}
.favorites-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  gap:20px 38px;
  align-items:end;
  margin-bottom:28px;
}
.favorites-head .eyebrow{
  grid-column:1 / -1;
  width:max-content;
  margin:0;
}
.favorites-head h2{
  margin:0;
  color:var(--cream);
  font-size:clamp(54px,5.4vw,88px);
  line-height:.86;
  text-transform:uppercase;
  text-shadow:0 5px 0 rgba(0,0,0,.34);
}
.favorites-head h2:before{
  content:"";
  display:block;
  width:132px;
  height:10px;
  margin:0 0 16px;
  background:var(--rough-red) center/520px 200px repeat;
  box-shadow:0 5px 0 rgba(0,0,0,.28);
}
.favorites-head p:not(.eyebrow){
  margin:0;
  color:rgba(244,240,232,.74);
  font:700 16px/1.5 Inter,sans-serif;
}
.favorites-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}
.fav-card{
  position:relative;
  min-height:320px;
  overflow:hidden;
  border:2px solid rgba(229,9,20,.72);
  border-radius:12px;
  background:#070707;
  box-shadow:0 18px 48px rgba(0,0,0,.46);
}
.fav-wide{
  grid-row:span 2;
}
.fav-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  filter:saturate(1.08) contrast(1.05) brightness(.72);
}
.fav-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.86));
}
.fav-card:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  z-index:2;
  height:10px;
  background:var(--rough-red) center/520px 200px repeat;
}
.fav-card div{
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:3;
}
.fav-card span{
  display:inline-flex;
  margin-bottom:10px;
  padding:7px 10px 6px;
  color:#fff;
  background:var(--rough-red) center/520px 200px repeat;
  border-radius:5px;
  font:800 10px/1 Inter,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.fav-card h3{
  margin:0 0 8px;
  color:var(--cream);
  font-size:clamp(34px,3.3vw,52px);
  line-height:.88;
  text-transform:uppercase;
}
.fav-card p{
  max-width:30ch;
  margin:0;
  color:rgba(244,240,232,.78);
  font:700 14px/1.45 Inter,sans-serif;
}
@media(max-width:980px){
  .favorites-head{grid-template-columns:1fr;}
  .favorites-grid{grid-template-columns:1fr 1fr;}
  .fav-wide{grid-row:auto;grid-column:span 2;}
}
@media(max-width:640px){
  .favorites{padding:58px 14px 62px;}
  .favorites-grid{grid-template-columns:1fr;}
  .fav-wide{grid-column:auto;}
}

/* Create your own pizza builder */
.button-outline{border:1px solid rgba(255,255,255,.18);color:var(--cream);background:rgba(0,0,0,.35)}
.pizza-builder-trigger{cursor:pointer}
.pizza-builder-banner{width:min(calc(100% - 48px),1180px);margin:0 auto 24px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:2px solid rgba(229,9,20,.68);border-radius:12px;background:linear-gradient(90deg,rgba(229,9,20,.18),rgba(7,7,7,.96)),var(--rough-black) center/520px 520px repeat;box-shadow:0 18px 46px rgba(0,0,0,.35)}
.pizza-builder-banner span{display:block;color:#ff1722;font:800 11px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.pizza-builder-banner strong{display:block;margin-top:7px;color:var(--cream);font:400 clamp(34px,3.6vw,52px)/.9 "Bebas Neue",sans-serif;text-transform:uppercase}
.pizza-builder-banner p{margin:8px 0 0;color:rgba(244,240,232,.72);font:700 14px/1.4 Inter,sans-serif}
.pizza-builder-modal{position:fixed;inset:0;z-index:2000;display:none}
.pizza-builder-modal.active{display:block}
.builder-open{overflow:hidden}
.builder-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.builder-dialog{position:relative;z-index:1;width:min(calc(100% - 32px),1080px);max-height:calc(100vh - 32px);margin:16px auto;overflow:auto;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);border:2px solid rgba(229,9,20,.78);border-radius:18px;background:linear-gradient(180deg,rgba(12,12,12,.98),rgba(2,2,2,.99)),var(--rough-black) center/620px 620px repeat;box-shadow:0 30px 90px rgba(0,0,0,.68)}
.builder-close{position:absolute;right:16px;top:16px;z-index:4;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;background:rgba(0,0,0,.65);font-size:28px;line-height:1;cursor:pointer}
.builder-art{position:relative;min-height:620px;overflow:hidden;background:radial-gradient(circle at center,rgba(229,9,20,.22),transparent 58%)}
.builder-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.62))}
.builder-art img{position:absolute;width:118%;left:-22%;top:50%;transform:translateY(-50%) rotate(-8deg);filter:saturate(1.08) contrast(1.05)}
.builder-content{padding:38px clamp(24px,4vw,46px) 34px}
.builder-content h2{margin:0 0 16px;color:var(--cream);font-size:clamp(58px,6vw,92px);line-height:.84;text-transform:uppercase}
.builder-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 22px}
.builder-steps button{padding:11px 9px;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:rgba(244,240,232,.72);background:rgba(255,255,255,.04);font:800 11px/1 Inter,sans-serif;text-transform:uppercase;cursor:pointer}
.builder-steps button.active{color:#fff;background:var(--rough-red) center/520px 200px repeat}
.builder-form fieldset,.builder-summary-panel{display:none;margin:0;padding:0;border:0}
.builder-panel.active{display:grid;gap:10px}
.builder-panel legend,.builder-summary-panel h3{margin:0 0 10px;color:#ff1722;font:400 34px/.9 "Bebas Neue",sans-serif;text-transform:uppercase}
.builder-panel label{cursor:pointer}.builder-panel input{position:absolute;opacity:0;pointer-events:none}
.builder-panel label span{display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:58px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.045)}
.builder-panel label input:checked + span{border-color:rgba(229,9,20,.88);background:rgba(229,9,20,.16);box-shadow:inset 0 0 0 1px rgba(229,9,20,.42)}
.builder-panel b{color:var(--cream);font:800 15px/1.2 Inter,sans-serif}.builder-panel em{color:#ff1722;font:800 13px/1 Inter,sans-serif;font-style:normal;white-space:nowrap}
.builder-summary-text{margin:0;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:var(--cream);background:rgba(255,255,255,.045);font:800 16px/1.45 Inter,sans-serif}
.builder-total{display:block;margin:18px 0;color:#ff1722;font:400 62px/.85 "Bebas Neue",sans-serif}
.builder-actions-row,.builder-nav{display:flex;flex-wrap:wrap;gap:12px}.builder-nav{margin-top:22px;justify-content:space-between}.builder-nav button:disabled{opacity:.45;cursor:not-allowed}
.delivery-link{display:block;margin-top:14px;color:rgba(244,240,232,.55);font:700 12px/1.4 Inter,sans-serif}
@media(max-width:860px){.pizza-builder-banner{flex-direction:column;align-items:flex-start}.builder-dialog{grid-template-columns:1fr}.builder-art{min-height:230px}.builder-art img{width:82%;left:50%;transform:translate(-50%,-50%) rotate(-8deg)}}
@media(max-width:560px){.hero-actions{align-items:stretch}.hero-actions .button,.hero-actions .pizza-builder-trigger,.pizza-builder-banner .button,.builder-actions-row .button,.builder-nav .button{width:100%}.builder-steps{grid-template-columns:1fr 1fr}}

/* Ordering flow skeleton */
.order-fab{position:fixed;right:22px;bottom:22px;z-index:900;display:grid;place-items:center;width:86px;height:86px;border:2px solid rgba(255,255,255,.16);border-radius:50%;color:#fff;background:var(--rough-red) center/520px 220px repeat;box-shadow:0 18px 50px rgba(0,0,0,.48);font-family:Inter,sans-serif;text-transform:uppercase;cursor:pointer}.order-fab span{font:800 12px/1 Inter,sans-serif;letter-spacing:.12em}.order-fab strong{font:400 31px/.78 "Bebas Neue",sans-serif}.order-choice-modal,.delivery-choice-modal{position:fixed;inset:0;z-index:1990;display:none}.order-choice-modal.active,.delivery-choice-modal.active{display:block}.choice-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.choice-dialog,.delivery-choice-dialog{position:relative;z-index:1;width:min(calc(100% - 32px),720px);margin:clamp(24px,7vh,72px) auto 0;padding:34px;border:2px solid rgba(229,9,20,.78);border-radius:18px;background:linear-gradient(180deg,rgba(12,12,12,.98),rgba(2,2,2,.99)),var(--rough-black) center/620px 620px repeat;box-shadow:0 30px 90px rgba(0,0,0,.68)}.choice-logo{display:block;width:112px;max-height:74px;object-fit:contain;margin:0 0 18px}.choice-dialog h2,.delivery-choice-dialog h2{margin:0 0 18px;color:var(--cream);font:400 clamp(48px,5.4vw,76px)/.84 "Bebas Neue",sans-serif;text-transform:uppercase}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice-card{min-height:190px;padding:22px;text-align:left;border:1px solid rgba(255,255,255,.14);border-radius:14px;color:var(--cream);background:rgba(255,255,255,.045);cursor:pointer}.choice-card:hover{border-color:rgba(229,9,20,.9);background:rgba(229,9,20,.14)}.choice-card span{display:block;font-size:34px;margin-bottom:18px}.choice-card strong{display:block;font:400 42px/.88 "Bebas Neue",sans-serif;text-transform:uppercase}.choice-card em{display:block;margin-top:8px;color:rgba(244,240,232,.68);font:700 13px/1.4 Inter,sans-serif;font-style:normal}.choice-call,.delivery-choice-copy{margin:18px 0 0;color:rgba(244,240,232,.68);font:700 14px/1.45 Inter,sans-serif}.choice-call a{color:#ff1722}.delivery-frame-placeholder{min-height:280px;margin:18px 0;padding:28px;display:grid;place-items:center;text-align:center;border:2px dashed rgba(229,9,20,.56);border-radius:16px;background:rgba(255,255,255,.035)}.delivery-frame-placeholder span{color:#ff1722;font:800 11px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase}.delivery-frame-placeholder strong{display:block;color:var(--cream);font:400 clamp(38px,5vw,62px)/.88 "Bebas Neue",sans-serif;text-transform:uppercase}.delivery-frame-placeholder p{max-width:32ch;margin:0 auto;color:rgba(244,240,232,.62);font:700 14px/1.4 Inter,sans-serif}@media(max-width:640px){.order-fab{width:74px;height:74px;right:14px;bottom:14px}.choice-dialog,.delivery-choice-dialog{padding:24px}.choice-grid{grid-template-columns:1fr}.choice-card{min-height:150px}.delivery-frame-placeholder{min-height:220px}}

/* MyTaco reference visual pass */
.pizza-builder-banner{position:relative;overflow:hidden;margin-top:8px;margin-bottom:28px;background:linear-gradient(90deg,rgba(229,9,20,.2),rgba(6,6,6,.98) 62%),var(--rough-black) center/620px 620px repeat}.pizza-builder-banner:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:var(--rough-red) center/520px 200px repeat}.pizza-builder-banner>div,.pizza-builder-banner .button{position:relative;z-index:1}.pizza-builder-banner .button{white-space:nowrap}.order-fab{width:76px;height:76px;right:18px;bottom:18px;opacity:.94}.order-fab strong{font-size:28px}.difference-strip{position:relative;padding:58px max(24px,calc((100vw - 1180px)/2)) 64px;background:linear-gradient(180deg,rgba(8,8,8,.98),rgba(1,1,1,.99)),var(--rough-black) center/640px 640px repeat;border-top:2px solid rgba(229,9,20,.6);border-bottom:2px solid rgba(229,9,20,.6);overflow:hidden}.difference-strip:before{content:"HOT • FRESH • LOCAL • MADE TO SHARE •";position:absolute;left:-20px;right:-20px;top:0;height:30px;display:flex;align-items:center;padding-left:24px;color:rgba(255,255,255,.78);background:var(--rough-red) center/680px 220px repeat;font:800 12px/1 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase}.difference-head,.difference-grid{position:relative;z-index:1;width:min(100%,1180px);margin-left:auto;margin-right:auto}.difference-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:18px 36px;align-items:end;margin-bottom:24px}.difference-head .eyebrow{grid-column:1 / -1;width:max-content;margin:0}.difference-head h2{margin:0;color:var(--cream);font:400 clamp(54px,5.4vw,88px)/.86 "Bebas Neue",sans-serif;text-transform:uppercase;text-shadow:0 5px 0 rgba(0,0,0,.34)}.difference-head h2:before{content:"";display:block;width:132px;height:10px;margin:0 0 16px;background:var(--rough-red) center/520px 200px repeat;box-shadow:0 5px 0 rgba(0,0,0,.28)}.difference-head p:not(.eyebrow){margin:0;color:rgba(244,240,232,.72);font:700 16px/1.5 Inter,sans-serif}.difference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.difference-grid article{position:relative;min-height:190px;padding:22px;border:2px solid rgba(229,9,20,.62);border-radius:12px;background:rgba(255,255,255,.035);box-shadow:0 18px 46px rgba(0,0,0,.34)}.difference-grid article:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--rough-red) center/520px 200px repeat}.difference-grid span{display:block;margin-bottom:18px;color:#ff1722;font:400 38px/.85 "Bebas Neue",sans-serif}.difference-grid strong{display:block;color:var(--cream);font:400 38px/.88 "Bebas Neue",sans-serif;text-transform:uppercase}.difference-grid p{margin:10px 0 0;color:rgba(244,240,232,.7);font:700 14px/1.45 Inter,sans-serif}.photo-section-head{width:min(calc(100% - 48px),1180px);margin:42px auto 22px}.photo-section-head h2{margin:0;color:var(--cream);font:400 clamp(52px,5vw,76px)/.86 "Bebas Neue",sans-serif;text-transform:uppercase}.photo-section-head h2:before{content:"";display:block;width:132px;height:10px;margin:0 0 16px;background:var(--rough-red) center/520px 200px repeat}.photo-section-head p:not(.eyebrow){max-width:560px;margin:12px 0 0;color:rgba(244,240,232,.7);font:700 15px/1.5 Inter,sans-serif}.business-card{box-shadow:0 24px 70px rgba(0,0,0,.52)}.m-panel{height:230px}@media(max-width:980px){.difference-head{grid-template-columns:1fr}.difference-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.difference-strip{padding:54px 14px 58px}.difference-grid{grid-template-columns:1fr}.photo-section-head{width:min(calc(100% - 28px),1180px)}.pizza-builder-banner{width:min(calc(100% - 28px),1180px)}.order-fab{width:70px;height:70px;right:12px;bottom:12px}}

/* Slice Coke special promo pass */
.deal-feature{
  position:relative;
  width:min(calc(100% - 52px),1180px);
  min-height:178px;
  height:auto;
  margin:-3px auto 0;
  padding:18px 24px 18px 18px;
  display:grid;
  grid-template-columns:320px minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
  overflow:visible;
  border:2px solid rgba(229,9,20,.72);
  border-radius:0;
  background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(7,7,7,.98)),var(--rough-black) center/620px 620px repeat;
  box-shadow:0 18px 48px rgba(0,0,0,.38);
}
.deal-feature:before{
  opacity:.34;
}
.deal-art{
  position:relative;
  min-height:142px;
  padding-right:20px;
  border-right:1px solid rgba(255,255,255,.08);
}
.deal-feature .deal-art img{
  display:block;
  width:100%;
  height:142px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.65));
}
.deal-price{
  position:absolute;
  right:-62px;
  top:50%;
  transform:translateY(-50%) rotate(-2deg);
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:116px;
  min-height:72px;
  padding:10px 16px 8px;
  color:#fff;
  background:#0d4fc8;
  box-shadow:0 16px 30px rgba(0,0,0,.36);
  font:400 56px/.9 "Bebas Neue",sans-serif;
  letter-spacing:.01em;
}
.deal-feature .deal-copy{
  display:block;
  padding-left:18px;
}
.deal-feature .deal-copy span{
  display:block;
  margin-bottom:8px;
  color:#ff1722;
  font:800 11px/1 Inter,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.deal-feature h2{
  margin:0;
  max-width:7ch;
  color:var(--cream);
  font-size:clamp(48px,4.5vw,70px);
  line-height:.84;
  text-transform:uppercase;
  text-shadow:0 4px 0 rgba(0,0,0,.38);
}
.deal-feature .deal-copy p{
  max-width:38ch;
  margin:10px 0 0;
  color:rgba(244,240,232,.72);
  font:700 14px/1.45 Inter,sans-serif;
}
.deal-feature .deal-button{
  justify-self:end;
  min-width:188px;
  height:52px;
  white-space:nowrap;
}
@media(max-width:980px){
  .deal-feature{
    grid-template-columns:280px minmax(0,1fr);
    gap:26px 34px;
  }
  .deal-feature .deal-button{
    grid-column:2;
    justify-self:start;
  }
}
@media(max-width:760px){
  .deal-feature{
    width:calc(100% - 28px);
    margin:-34px 14px 0;
    grid-template-columns:1fr;
    gap:16px;
    padding:16px;
  }
  .deal-art{
    min-height:190px;
    padding-right:0;
    border-right:0;
  }
  .deal-feature .deal-art img{
    width:100%;
    height:190px;
    object-position:center;
  }
  .deal-price{
    right:12px;
    top:auto;
    bottom:12px;
    transform:rotate(-2deg);
    min-width:96px;
    min-height:62px;
    font-size:46px;
  }
  .deal-feature .deal-copy{
    padding-left:0;
  }
  .deal-feature h2{
    max-width:none;
    font-size:44px;
  }
  .deal-feature .deal-button{
    grid-column:auto;
    width:100%;
    justify-self:stretch;
    justify-content:center;
  }
}



/* Slice Coke coupon-strip correction */
.deal-feature{
  grid-template-columns:300px minmax(0,1fr) auto;
  gap:34px;
  min-height:158px;
  padding:16px 24px 16px 18px;
  overflow:hidden;
}
.deal-art{
  min-height:126px;
  padding-right:18px;
}
.deal-feature .deal-art img{
  height:126px;
  object-fit:contain;
  object-position:left center;
}
.deal-feature .deal-copy{
  padding-left:0;
}
.deal-feature h2{
  max-width:none;
  font-size:clamp(48px,4.8vw,76px);
  line-height:.84;
}
.deal-feature .deal-copy p{
  display:none;
}
.deal-offer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
}
.deal-price{
  position:static;
  transform:none;
  min-width:112px;
  min-height:68px;
  padding:9px 14px 7px;
  font-size:54px;
  box-shadow:0 14px 28px rgba(0,0,0,.32);
}
.deal-feature .deal-button{
  justify-self:auto;
  min-width:176px;
}
@media(max-width:980px){
  .deal-feature{
    grid-template-columns:250px minmax(0,1fr);
  }
  .deal-offer{
    grid-column:2;
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .deal-feature{
    grid-template-columns:1fr;
    overflow:visible;
  }
  .deal-art{
    min-height:176px;
  }
  .deal-feature .deal-art img{
    height:176px;
    object-position:center;
  }
  .deal-offer{
    grid-column:auto;
    width:100%;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px;
  }
  .deal-price{
    min-width:94px;
    min-height:58px;
    font-size:44px;
  }
  .deal-feature .deal-button{
    width:100%;
    min-width:0;
  }
}

/* Slice Coke corner badge correction */
.deal-feature{
  grid-template-columns:390px minmax(0,1fr) auto;
  min-height:178px;
  padding:12px 24px 12px 18px;
  gap:34px;
  overflow:hidden;
}
.deal-art{
  position:relative;
  min-height:154px;
  padding-right:24px;
  border-right:1px solid rgba(255,255,255,.08);
}
.deal-feature .deal-art img{
  width:100%;
  height:154px;
  object-fit:contain;
  object-position:left center;
  transform:scale(1.14);
  transform-origin:left center;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.65));
}
.deal-price{
  position:absolute;
  right:14px;
  top:18px;
  transform:rotate(-2deg);
  z-index:5;
  min-width:96px;
  min-height:58px;
  padding:8px 13px 6px;
  color:#fff;
  background:#0d4fc8;
  box-shadow:0 14px 28px rgba(0,0,0,.34);
  font:400 48px/.9 "Bebas Neue",sans-serif;
}
.deal-feature .deal-copy{
  padding-left:0;
}
.deal-feature h2{
  max-width:8ch;
  font-size:clamp(52px,5vw,78px);
  line-height:.84;
}
.deal-offer{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.deal-feature .deal-button{
  min-width:176px;
  height:52px;
  white-space:nowrap;
}
@media(max-width:980px){
  .deal-feature{
    grid-template-columns:330px minmax(0,1fr);
  }
  .deal-offer{
    grid-column:2;
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .deal-feature{
    grid-template-columns:1fr;
    gap:16px;
    padding:16px;
    overflow:visible;
  }
  .deal-art{
    min-height:206px;
    padding-right:0;
    border-right:0;
  }
  .deal-feature .deal-art img{
    height:206px;
    object-position:center;
    transform:scale(1.05);
    transform-origin:center;
  }
  .deal-price{
    right:14px;
    top:14px;
    min-width:92px;
    min-height:56px;
    font-size:44px;
  }
  .deal-feature h2{
    max-width:none;
    font-size:48px;
  }
  .deal-offer{
    grid-column:auto;
    width:100%;
  }
  .deal-feature .deal-button{
    width:100%;
    min-width:0;
    justify-content:center;
  }
}

/* Slice Coke ticket reference layout */
.deal-ticket-special{
  width:min(calc(100% - 52px),1180px);
  min-height:248px;
  margin:-3px auto 0;
  padding:22px 26px;
  display:grid;
  grid-template-columns:minmax(280px,360px) minmax(260px,1fr) minmax(250px,330px);
  align-items:center;
  gap:30px;
  overflow:hidden;
  border:2px solid rgba(229,9,20,.78);
  border-radius:0;
  background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(7,7,7,.98)),var(--rough-black) center/680px 680px repeat;
}
.deal-ticket-special:before{
  opacity:.28;
}
.deal-ticket-special .deal-art{
  position:relative;
  min-height:205px;
  padding:0;
  border:0;
}
.deal-ticket-special .deal-art:before{
  content:"";
  position:absolute;
  inset:10px 4px 8px 8px;
  z-index:0;
  background:radial-gradient(circle at 32% 55%,rgba(229,9,20,.34),transparent 58%);
  filter:blur(3px);
}
.deal-ticket-special .deal-art img{
  position:relative;
  z-index:1;
  width:100%;
  height:205px;
  object-fit:contain;
  object-position:left center;
  transform:scale(1.2);
  transform-origin:left center;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.72));
}
.deal-ticket-special .deal-copy{
  padding:0;
  text-align:left;
}
.deal-ticket-special .deal-copy span{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  color:#ff1722;
  font:800 clamp(18px,1.8vw,28px)/1 Inter,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.deal-ticket-special .deal-copy span:before,
.deal-ticket-special .deal-copy span:after{
  content:"★";
  font-size:.85em;
}
.deal-ticket-special h2{
  max-width:8ch;
  margin:0;
  color:var(--cream);
  font-size:clamp(62px,6.2vw,118px);
  line-height:.78;
  text-transform:uppercase;
  text-shadow:0 5px 0 rgba(0,0,0,.42);
}
.deal-ticket-special .deal-copy p{
  display:block;
  max-width:34ch;
  margin:18px 0 0;
  color:rgba(244,240,232,.74);
  font:800 clamp(14px,1.2vw,18px)/1.3 Inter,sans-serif;
}
.deal-ticket{
  position:relative;
  justify-self:end;
  width:min(100%,330px);
  min-height:190px;
  padding:24px 22px;
  display:grid;
  align-content:center;
  gap:18px;
  border:2px solid rgba(244,240,232,.72);
  background:linear-gradient(180deg,rgba(18,18,18,.95),rgba(5,5,5,.98)),var(--rough-black) center/520px 520px repeat;
  box-shadow:0 20px 50px rgba(0,0,0,.48);
}
.deal-ticket:before,
.deal-ticket:after{
  content:"";
  position:absolute;
  top:28px;
  bottom:28px;
  width:18px;
  background:radial-gradient(circle at center,transparent 0 8px,rgba(244,240,232,.7) 9px 10px,transparent 11px);
  background-size:18px 30px;
  opacity:.9;
}
.deal-ticket:before{left:-11px}
.deal-ticket:after{right:-11px}
.deal-ticket .deal-price{
  position:static;
  transform:none;
  min-width:0;
  min-height:84px;
  padding:8px 16px 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#0d4fc8;
  box-shadow:0 14px 30px rgba(0,0,0,.34);
  font:400 clamp(64px,6vw,96px)/.88 "Bebas Neue",sans-serif;
  letter-spacing:.01em;
}
.deal-ticket .deal-button{
  width:100%;
  min-width:0;
  height:58px;
  justify-content:center;
  white-space:nowrap;
}
@media(max-width:1040px){
  .deal-ticket-special{
    grid-template-columns:minmax(250px,330px) minmax(260px,1fr);
  }
  .deal-ticket{
    grid-column:2;
    justify-self:start;
  }
}
@media(max-width:760px){
  .deal-ticket-special{
    width:calc(100% - 28px);
    margin:-34px 14px 0;
    grid-template-columns:1fr;
    gap:20px;
    padding:18px;
  }
  .deal-ticket-special .deal-art{
    min-height:220px;
  }
  .deal-ticket-special .deal-art img{
    height:220px;
    object-position:center;
    transform:scale(1.08);
    transform-origin:center;
  }
  .deal-ticket-special h2{
    max-width:none;
    font-size:64px;
  }
  .deal-ticket{
    grid-column:auto;
    width:100%;
  }
}

/* ============================================================
   Visual pass improvements – June 2026
   ============================================================ */

/* 1. Gold stars on review cards */
.proof-card > span {
  color: #ffb443;
  background: rgba(255, 180, 67, 0.12);
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.22);
  letter-spacing: .05em;
}

/* 2. Fav-card hover — scale + border brighten */
.fav-card {
  transition:
    transform 0.28s cubic-bezier(.2, .8, .4, 1),
    border-color 0.28s ease,
    box-shadow 0.28s ease;
  cursor: default;
}
.fav-card:hover {
  transform: scale(1.025) translateY(-3px);
  border-color: rgba(229, 9, 20, 1);
  box-shadow: 0 32px 64px rgba(0, 0, 0, 0.58), 0 0 0 1px rgba(229, 9, 20, 0.55);
}

/* 3. Active dish choice — bump opacity */
.dish-choice.active {
  background: rgba(229, 9, 20, 0.14);
}

/* 4. Photo carousel edge fades */
.google-photo-slider {
  position: relative;
}
.google-photo-slider::before,
.google-photo-slider::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 72px;
  z-index: 10;
  pointer-events: none;
}
.google-photo-slider::before {
  left: 0;
  background: linear-gradient(90deg, #050505 0%, transparent 100%);
}
.google-photo-slider::after {
  right: 0;
  background: linear-gradient(270deg, #050505 0%, transparent 100%);
}

/* 5. Tab transition — add blur for premium feel */
@keyframes menuPanelIn {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(5px);
  }
  to {
    opacity: 1;
    transform: none;
    filter: blur(0);
  }
}

/* 6. Google proof-row stat labels */
.google-proof-row > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.google-proof-row small {
  display: block;
  color: rgba(244, 240, 232, 0.52);
  font: 700 10px/1 Inter, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* 7. Business card — match design system borders */
.business-card {
  border: 2px solid rgba(229, 9, 20, 0.52) !important;
  background:
    linear-gradient(145deg, rgba(20, 20, 20, 0.92), rgba(6, 6, 6, 0.97)) !important;
}

/* 8. Script label — bump size and add depth shadow */
.script-label {
  font-size: 22px !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
}

/* 9. App card price — bigger and glowing */
.app-card strong {
  font-size: 30px;
  text-shadow:
    0 0 14px rgba(229, 9, 20, 0.48),
    1px 2px 0 rgba(0, 0, 0, 0.72);
}

/* 10. Review card text — clamped to 6 lines for legibility */
.proof-card p {
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

/* 11. Difference number — make it a larger watermark-style label */
.difference-grid span {
  font-size: clamp(44px, 4.4vw, 60px);
  opacity: 0.65;
  line-height: .8;
}

/* 12. Difference card — accent first card */
.difference-grid article:first-child {
  background: rgba(229, 9, 20, 0.07);
  border-color: rgba(229, 9, 20, 0.85);
}

/* Mobile: narrow photo slider fades */
@media (max-width: 640px) {
  .google-photo-slider::before,
  .google-photo-slider::after {
    width: 32px;
  }
}

/* Extras second card — "Extra Toppings or Extra Cheese" has 3 lines so needs smaller text */
.extras > div:nth-child(2) .extra-copy p {
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1;
}
.extras > div:nth-child(2) .extra-copy strong {
  font-size: clamp(22px, 2.1vw, 28px);
}
.extras > div:nth-child(2) .extra-copy .extra-line {
  opacity: 0.78;
}

/* ============================================================
   Sandwiches & Pasta — two-column menu redesign
   ============================================================ */

.entrees-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  width: 100%;
}

/* Column card */
.entree-col {
  display: flex;
  flex-direction: column;
  border: 2px solid rgba(229, 9, 20, 0.62);
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(12, 12, 12, 0.96), rgba(4, 4, 4, 0.98));
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.44);
  position: relative;
}

/* Red texture top bar */
.entree-col::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 8px;
  background-color: var(--red);
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(0, 0, 0, .18)),
    var(--rough-red);
  background-size: auto, cover;
  background-blend-mode: normal, soft-light;
}

/* Column header */
.entree-col-head {
  padding: 28px 26px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(229, 9, 20, 0.07);
}

.entree-col-head .eyebrow {
  font-size: 14px;
  margin: 0 0 8px;
}

.entree-col-head h3 {
  margin: 0;
  color: var(--cream);
  font: 400 clamp(42px, 4vw, 60px) / 0.88 "Bebas Neue", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-shadow: 0 4px 0 rgba(0, 0, 0, 0.38);
}

/* Item list */
.entree-list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}

.entree-item {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 20px 26px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  transition: background 0.22s ease;
}

.entree-item:last-child {
  border-bottom: 0;
}

.entree-item:hover {
  background: rgba(229, 9, 20, 0.07);
}

/* Thumbnail */
.entree-img-wrap {
  width: 110px;
  height: 92px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}

.entree-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.12) contrast(1.06);
  transition: transform 0.32s ease;
}

.entree-item:hover .entree-img-wrap img {
  transform: scale(1.08);
}

/* Item text */
.entree-info {
  min-width: 0;
}

.entree-info strong {
  display: block;
  margin-bottom: 5px;
  color: var(--cream);
  font: 400 clamp(19px, 1.7vw, 24px) / 0.95 "Bebas Neue", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.entree-info p {
  margin: 0;
  color: rgba(244, 240, 232, 0.56);
  font: 600 13px / 1.48 Inter, sans-serif;
}

/* Price */
.entree-price {
  color: #ff1722;
  font: 400 clamp(21px, 1.9vw, 28px) / 1 "Bebas Neue", sans-serif;
  white-space: nowrap;
  letter-spacing: 0.01em;
  text-shadow: 0 0 12px rgba(229, 9, 20, 0.38);
}

/* Addon / combo strip */
.entree-addon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 24px;
  color: #fff;
  font-family: "Bebas Neue", sans-serif;
  text-transform: uppercase;
  background-color: var(--red);
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(0, 0, 0, .18)),
    var(--rough-red);
  background-size: auto, cover;
  background-blend-mode: normal, soft-light;
}

.entree-addon span {
  font-size: clamp(17px, 1.6vw, 23px);
  line-height: 0.9;
}

.entree-addon strong {
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 400;
  line-height: 0.9;
}

/* Dark variant (pasta add-on) */
.entree-addon-dark {
  background: rgba(5, 5, 5, 0.88);
  background-image: none;
  border-top: 1px solid rgba(229, 9, 20, 0.38);
  color: var(--cream);
}

.entree-addon-dark strong {
  color: #ff1722;
  text-shadow: 0 0 12px rgba(229, 9, 20, 0.38);
}

/* Responsive */
@media (max-width: 860px) {
  .entrees-cols {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 620px) {
  .entree-item {
    grid-template-columns: 84px 1fr auto;
    gap: 13px;
    padding: 15px 16px;
  }
  .entree-img-wrap {
    width: 84px;
    height: 70px;
  }
  .entree-col-head {
    padding: 22px 18px 16px;
  }
  .entree-addon {
    padding: 13px 16px;
    flex-wrap: wrap;
  }
}

/* ============================================================
   Entrees rougher texture pass
   ============================================================ */

/* Card — rough black texture background */
.entree-col {
  border-color: rgba(229, 9, 20, 0.82);
  background-color: #060606;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(0, 0, 0, .16)),
    var(--rough-black);
  background-size: auto, 980px 980px;
  background-blend-mode: normal, soft-light;
}

/* Noise film-grain overlay (sits behind children) */
.entree-col::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .09;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: screen;
}

/* Lift children above the grain overlay */
.entree-col-head,
.entree-list,
.entree-addon {
  position: relative;
  z-index: 1;
}

/* Red cap bar — taller, more stamped */
.entree-col::before {
  height: 11px;
}

/* Header — rough-red texture tint */
.entree-col-head {
  background-color: rgba(229, 9, 20, 0.13);
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(0, 0, 0, .10)),
    var(--rough-black);
  background-size: auto, 640px 640px;
  background-blend-mode: normal, soft-light;
  border-bottom-color: rgba(229, 9, 20, 0.28);
}

/* Dividers — dashed red chalk-line feel */
.entree-item {
  border-bottom: 1px dashed rgba(229, 9, 20, 0.26);
}

/* Thumbnail — grittier, slightly darker */
.entree-img-wrap {
  border-color: rgba(229, 9, 20, 0.28);
}

.entree-img-wrap img {
  filter: saturate(1.06) contrast(1.10) brightness(0.88);
}

/* Hover image — warm up on hover */
.entree-item:hover .entree-img-wrap img {
  filter: saturate(1.14) contrast(1.08) brightness(0.95);
}

/* Addon strip — rougher bottom edge treatment */
.entree-addon {
  border-top: 2px solid rgba(0, 0, 0, 0.28);
}

.entree-addon-dark {
  border-top-color: rgba(229, 9, 20, 0.42);
  background-color: #040404;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .012), rgba(0, 0, 0, .12)),
    var(--rough-black);
  background-size: auto, 640px 640px;
  background-blend-mode: normal, soft-light;
}

/* ============================================================
   Deal banner — clean panel (replaces ticket perforations)
   ============================================================ */

/* Suppress the old starred eyebrow treatment */
.deal-ticket-special .deal-copy span:before,
.deal-ticket-special .deal-copy span:after {
  display: none;
}

/* Clean price + button panel */
.deal-panel {
  position: relative;
  justify-self: end;
  width: min(100%, 280px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: stretch;
  padding: 26px 24px;
  border: 2px solid rgba(229, 9, 20, 0.78);
  background-color: #060606;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(0, 0, 0, .18)),
    var(--rough-black);
  background-size: auto, 640px 640px;
  background-blend-mode: normal, soft-light;
  box-shadow:
    0 0 0 1px rgba(229, 9, 20, 0.18) inset,
    0 24px 52px rgba(0, 0, 0, 0.52);
}

/* Price — red, no more blue */
.deal-panel .deal-price {
  position: static;
  transform: none;
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  text-align: center;
  color: #ff1722;
  background: none;
  box-shadow: none;
  font: 400 clamp(72px, 7vw, 102px) / 0.88 "Bebas Neue", sans-serif;
  letter-spacing: 0.01em;
  text-shadow:
    0 0 28px rgba(229, 9, 20, 0.45),
    0 4px 0 rgba(0, 0, 0, 0.55);
}

/* Button — full width */
.deal-panel .deal-button {
  width: 100%;
  min-width: 0;
  height: 52px;
  justify-content: center;
}

/* Responsive */
@media (max-width: 1040px) {
  .deal-panel {
    grid-column: 2;
    justify-self: start;
    width: auto;
    min-width: 230px;
  }
}

@media (max-width: 760px) {
  .deal-panel {
    grid-column: auto;
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
  }
  .deal-panel .deal-price {
    font-size: 58px;
    flex-shrink: 0;
  }
  .deal-panel .deal-button {
    flex: 1;
    height: 48px;
  }
}

/* ============================================================
   Deal Special — full redesign
   ============================================================ */

.deal-special {
  position: relative;
  width: min(calc(100% - 48px), 1180px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 300px 1fr auto;
  align-items: center;
  gap: 0;
  overflow: hidden;
  border: 2px solid rgba(229, 9, 20, 0.60);
  background-color: #070707;
  background-image:
    radial-gradient(ellipse at -8% 50%, rgba(229, 9, 20, 0.22) 0%, transparent 52%),
    linear-gradient(180deg, rgba(255, 255, 255, .018), rgba(0, 0, 0, .10)),
    var(--rough-black);
  background-size: auto, auto, 980px 980px;
  background-blend-mode: normal, normal, soft-light;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.52);
}

/* Food image — bleeds full height from the left */
.deal-special__fig {
  margin: 0;
  position: relative;
  align-self: stretch;
  overflow: hidden;
  border-right: 1px solid rgba(229, 9, 20, 0.22);
}

.deal-special__fig::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, transparent 55%, rgba(7, 7, 7, 0.92) 100%);
}

.deal-special__fig img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(1.1) contrast(1.06) brightness(0.88);
  transform: scale(1.06);
}

/* Center body — label + heading + desc */
.deal-special__body {
  padding: 36px 40px;
  min-width: 0;
}

.deal-special__label {
  margin: 0 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ff1722;
  font: 800 11px/1 Inter, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.deal-special__label::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: currentColor;
  flex-shrink: 0;
}

.deal-special__heading {
  margin: 0 0 16px;
  color: var(--cream);
  font: 400 clamp(52px, 5.8vw, 88px) / 0.82 "Bebas Neue", sans-serif;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-shadow: 0 5px 0 rgba(0, 0, 0, 0.42);
}

.deal-special__desc {
  margin: 0;
  color: rgba(244, 240, 232, 0.60);
  font: 600 14px / 1.55 Inter, sans-serif;
  max-width: 30ch;
}

/* Right CTA — price + button, divided from body */
.deal-special__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 36px 40px;
  border-left: 1px solid rgba(229, 9, 20, 0.30);
  align-self: stretch;
  justify-content: center;
}

.deal-special__price {
  margin: 0;
  color: #ff1722;
  font: 400 clamp(72px, 7.5vw, 108px) / 0.88 "Bebas Neue", sans-serif;
  letter-spacing: .01em;
  white-space: nowrap;
  text-shadow:
    0 0 32px rgba(229, 9, 20, 0.44),
    0 4px 0 rgba(0, 0, 0, 0.52);
}

.deal-special__btn {
  width: 100%;
  min-width: 170px;
  height: 52px;
  justify-content: center;
  white-space: nowrap;
}

/* Responsive — tablet */
@media (max-width: 1000px) {
  .deal-special {
    grid-template-columns: 240px 1fr;
    grid-template-rows: auto auto;
  }
  .deal-special__cta {
    grid-column: 2;
    flex-direction: row;
    border-left: 0;
    border-top: 1px solid rgba(229, 9, 20, 0.25);
    padding: 20px 40px;
    gap: 24px;
    align-self: auto;
    justify-content: flex-start;
  }
  .deal-special__price {
    font-size: clamp(52px, 6vw, 72px);
  }
  .deal-special__btn {
    width: auto;
    min-width: 160px;
  }
  .deal-special__fig {
    grid-row: 1 / 3;
  }
}

/* Responsive — mobile */
@media (max-width: 640px) {
  .deal-special {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
    grid-template-rows: 220px auto auto;
  }
  .deal-special__fig {
    grid-row: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(229, 9, 20, 0.22);
  }
  .deal-special__fig img {
    position: static;
    width: 100%;
    height: 220px;
    object-fit: cover;
    transform: none;
  }
  .deal-special__body {
    padding: 24px 20px 16px;
  }
  .deal-special__cta {
    grid-column: auto;
    padding: 16px 20px 24px;
    border-top: 1px solid rgba(229, 9, 20, 0.22);
    flex-direction: row;
    justify-content: space-between;
  }
  .deal-special__price {
    font-size: 58px;
  }
  .deal-special__btn {
    width: auto;
    min-width: 0;
    flex: 1;
    max-width: 200px;
  }
}

/* ============================================================
   Sandwiches & Pasta — photo card grid redesign
   ============================================================ */

.entree-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: 100%;
}

/* Each card */
.entree-card {
  position: relative;
  height: clamp(210px, 21vw, 290px);
  overflow: hidden;
  cursor: default;
  isolation: isolate;
  /* Rough black base */
  background-color: #070707;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .018), rgba(0, 0, 0, .12)),
    var(--rough-black);
  background-size: auto, 680px 680px;
  background-blend-mode: normal, soft-light;
  border: 1px solid rgba(229, 9, 20, 0.35);
}

/* Noise overlay */
.entree-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: screen;
}

/* Food image — floats centered, contained */
.entree-card > img {
  position: absolute;
  left: 50%;
  top: -4%;
  width: 100%;
  height: 82%;
  transform: translateX(-50%);
  object-fit: contain;
  object-position: center top;
  filter:
    saturate(1.12) contrast(1.06) brightness(0.90)
    drop-shadow(0 14px 22px rgba(0, 0, 0, 0.72));
  transition: transform 0.45s cubic-bezier(.2, .8, .3, 1);
  z-index: 2;
}

.entree-card:hover > img {
  transform: translateX(-50%) scale(1.06);
}

/* Bottom info overlay */
.entree-card__info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 36px 18px 16px;
  background: linear-gradient(0deg,
    rgba(0, 0, 0, 0.96) 0%,
    rgba(0, 0, 0, 0.72) 55%,
    transparent 100%);
}

.entree-card__info span {
  display: block;
  margin-bottom: 5px;
  color: #ff1722;
  font: 800 10px/1 Inter, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.entree-card__info h3 {
  margin: 0 0 4px;
  color: var(--cream);
  font: 400 clamp(22px, 2.3vw, 32px) / 0.9 "Bebas Neue", sans-serif;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.6);
}

.entree-card__info strong {
  color: #ff1722;
  font: 400 clamp(17px, 1.7vw, 22px) / 1 "Bebas Neue", sans-serif;
  text-shadow: 0 0 10px rgba(229, 9, 20, 0.45);
  letter-spacing: .01em;
}

/* Offer strips below the grid */
.entree-offers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
  width: 100%;
}

.entree-offer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 26px;
  font-family: "Bebas Neue", sans-serif;
  text-transform: uppercase;
  color: #fff;
  background-color: var(--red);
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(0, 0, 0, .18)),
    var(--rough-red);
  background-size: auto, cover;
  background-blend-mode: normal, soft-light;
}

.entree-offer span {
  font-size: clamp(16px, 1.6vw, 22px);
  line-height: 0.9;
}

.entree-offer strong {
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 400;
  line-height: 0.9;
  white-space: nowrap;
}

.entree-offer-dark {
  background-color: #060606;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .015), rgba(0, 0, 0, .12)),
    var(--rough-black);
  background-size: auto, 640px 640px;
  background-blend-mode: normal, soft-light;
  border: 1px solid rgba(229, 9, 20, 0.55);
  color: var(--cream);
}

.entree-offer-dark strong {
  color: #ff1722;
  text-shadow: 0 0 10px rgba(229, 9, 20, 0.38);
}

/* Responsive */
@media (max-width: 760px) {
  .entree-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .entree-card {
    height: clamp(180px, 40vw, 240px);
  }
  .entree-offers {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .entree-card {
    height: clamp(160px, 46vw, 220px);
  }
  .entree-card__info {
    padding: 28px 14px 12px;
  }
}

/* ============================================================
   Pizza Builder Banner — repositioning & visual pass overrides
   ============================================================ */
.pizza-builder-banner {
  margin-top: 36px !important;
  margin-bottom: 12px !important;
  background: linear-gradient(180deg, rgba(14, 14, 14, 0.95), rgba(4, 4, 4, 0.98)),
              var(--rough-black) center/620px 620px repeat !important;
}

.pizza-builder-banner .button {
  font-weight: 800 !important;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  letter-spacing: 0.04em !important;
}

/* ============================================================
   Google Review Cards — layout normalization
   ============================================================ */
.proof-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 330px !important;
  box-sizing: border-box;
}

.proof-card span {
  align-self: flex-start;
  margin-bottom: 10px !important;
  flex-shrink: 0;
}

.proof-card h3 {
  height: 52px;
  margin-bottom: 10px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 0;
}


