/* Home sections below the hero */
.section__head{max-width:60ch;margin-bottom:1.5rem}
.section__head p{margin:0;color:var(--muted)}

/* Marquee */
.marquee{background:var(--oven);color:var(--kraft);overflow:hidden;white-space:nowrap;padding:.9rem 0;font:800 1.25rem var(--font-display);letter-spacing:-.01em}
.marquee__track{display:inline-flex;align-items:center;gap:1.5rem;animation:marquee 38s linear infinite}
.marquee i{width:10px;height:10px;border-radius:50%;background:var(--tomato);flex:none}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Categories */
.cats{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.9rem}
.cat{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem .5rem;background:#fff;border:2px solid var(--line);border-radius:var(--radius-md);text-decoration:none;font-weight:700;transition:transform .2s,border-color .2s,background .2s}
.cat__icon{font-size:2.2rem;line-height:1;transition:transform .3s}
.cat:hover{border-color:var(--tomato);transform:translateY(-4px)}
.cat:hover .cat__icon{transform:rotate(-12deg) scale(1.15)}

/* Dish cards */
.dish{background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s}
.dish:hover{transform:translateY(-6px)}
.dish__art{position:relative;background:var(--kraft-2);padding:1.25rem;display:grid;place-items:center}
.mini-pizza{width:62%;max-width:170px;transition:transform .8s}
.dish:hover .mini-pizza{transform:rotate(90deg) !important}
.dish__tags{position:absolute;top:.75rem;left:.75rem;display:flex;gap:.35rem;flex-wrap:wrap}
.dish__body{padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;flex:1}
.dish__body h3{margin-bottom:.25em}
.dish__body p{color:var(--muted);font-size:.95rem;flex:1}
.dish__foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.dish__foot strong{font-size:1.15rem}

/* Sideways scroller */
.scroller{display:flex;gap:1.25rem;overflow-x:auto;padding:.5rem max(1rem,calc((100vw - var(--wrap))/2)) 1.5rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
.scroller .dish{flex:0 0 clamp(240px,70vw,290px);scroll-snap-align:start}

/* Offers */
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:1.5rem}
.offer{padding:1.5rem;border-radius:var(--radius-md);background:var(--oven-2);border:2px dashed rgba(255,244,220,.3)}
.offer--code{background:var(--tomato);border:2px solid var(--tomato)}
.offer p{opacity:.85}
.code{font:800 1.1rem var(--font-display);letter-spacing:.04em;padding:.5rem 1rem;border:2px dashed var(--cheese);border-radius:var(--radius-sm);background:transparent;color:var(--cheese);cursor:pointer;min-height:44px}
.code.copied::after{content:" copied"}

/* Steps */
.steps{list-style:none;counter-reset:s;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.steps li{counter-increment:s;position:relative;padding:4.2rem 0 0}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--tomato);color:#fff;display:grid;place-items:center;font:800 1.5rem var(--font-display)}
.steps strong{display:block;font:800 1.3rem var(--font-display);margin-bottom:.25rem}
.steps span{color:var(--muted)}

/* Stats */
.stats{background:var(--basil);color:var(--cheese);padding:2.5rem 0}
.stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}
.stats b{display:block;font:800 clamp(2.6rem,6vw,4rem) var(--font-display);line-height:1}
.stats span{opacity:.9}

/* Reviews */
.review{margin:0;background:#fff;border-radius:var(--radius-md);padding:1.4rem;box-shadow:var(--shadow)}
.review__stars{color:var(--ember);font-size:1.2rem;letter-spacing:.1em}
.review blockquote{margin:.6rem 0 1rem;font-size:1.05rem}
.review figcaption{font-weight:700}

/* About */
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.about__list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.about__list li{padding:1rem 1.2rem;background:#fff;border-left:6px solid var(--tomato);border-radius:var(--radius-sm)}

/* Visit */
.visit{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:stretch}
.visit a{font-weight:700}
.hours{border-collapse:collapse;width:100%;max-width:340px;margin-top:1rem}
.hours th,.hours td{padding:.45rem .25rem;border-bottom:1px solid var(--line);text-align:left}
.hours td{text-align:right}
.hours .is-today{font-weight:800;color:var(--tomato-dark)}
.visit__map{min-height:340px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow)}
.visit__map iframe{width:100%;height:100%;min-height:340px;border:0}

/* Closing call to action */
.cta-band{background:var(--tomato);color:var(--cheese);padding:3rem 0;text-align:center}
.cta-band h2{margin-bottom:.75rem}

@media (max-width:860px){
  .about,.visit{grid-template-columns:1fr}
  .about{gap:1.5rem}
}
@media (prefers-reduced-motion:reduce){
  .marquee__track{animation:none}
}

.section__head h2 .btn{margin-left:1rem;vertical-align:middle;font-family:var(--font-body);letter-spacing:0}

/* Pictures uploaded in the admin panel */
.dish__photo{width:100%;height:100%;max-height:190px;object-fit:cover;border-radius:var(--radius-sm)}
.offer__img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:.75rem}

.offer--code p{opacity:1;color:var(--cheese)}

/* Hot pizza: four dishes on a dark background with flames at the bottom */
.section--fire{position:relative;overflow:hidden;background:linear-gradient(#1B1411 0%,#1B1411 55%,#2A1410 100%);color:var(--cheese);padding:clamp(2rem,4vw,3rem) 0 clamp(4.5rem,8vw,6rem)}
.section--fire .section__head p{color:rgba(255,244,220,.82)}
.fire-content{position:relative;z-index:1}
.grid--4{display:grid;gap:1.25rem;grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--4 .dish{background:transparent;box-shadow:none;border:1px solid rgba(255,244,220,.22);color:var(--cheese)}
.grid--4 .dish__art{background:transparent}
.grid--4 .dish__body p{color:rgba(255,244,220,.82)}
.grid--4 .dish__body h3 a{color:var(--cheese)}
@media (max-width:1000px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid--4{grid-template-columns:1fr}}

.fire{position:absolute;left:0;right:0;bottom:0;height:8rem;overflow:hidden;pointer-events:none;z-index:0}
.fire__glow{position:absolute;left:-10%;right:-10%;bottom:-35%;height:100%;background:radial-gradient(ellipse at 50% 100%,rgba(255,130,30,.6),rgba(214,46,27,.28) 45%,transparent 72%);animation:fire-glow 2.6s ease-in-out infinite alternate}
.fire__flame{position:absolute;bottom:-10%;left:var(--x);width:calc(var(--w) * .55);height:calc(var(--h) * .34);margin-left:calc(var(--w) * -.275);filter:blur(2px);opacity:.95;transform-origin:50% 100%;animation:fire-flicker var(--d) ease-in-out infinite alternate;will-change:transform}
.fire__ember{position:absolute;bottom:2%;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:#ffc25a;box-shadow:0 0 8px 2px rgba(255,140,40,.85);opacity:0;animation:fire-ember var(--d) linear infinite;animation-delay:var(--delay)}
@keyframes fire-flicker{
  0%{transform:scale(.92,.78) skewX(-6deg)}
  35%{transform:scale(1.05,1.05) skewX(4deg)}
  70%{transform:scale(.88,.9) skewX(-3deg)}
  100%{transform:scale(1,1.15) skewX(6deg)}
}
@keyframes fire-glow{from{opacity:.65}to{opacity:1}}
@keyframes fire-ember{
  0%{transform:translate(0,0) scale(1);opacity:0}
  12%{opacity:1}
  100%{transform:translate(var(--dx),-8rem) scale(.25);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .fire__flame,.fire__glow{animation:none}
  .fire__ember{display:none}
}
