/* ---- Scroll reveal ---- */
html.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.js [data-reveal].in{opacity:1;transform:none}
.delivery li[data-reveal]{transition-delay:calc(var(--i,0) * .09s)}
footer div[data-reveal]{transition-delay:calc(var(--i,0) * .08s)}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* ---- Specials carousel ---- */
.specials{background:var(--cream)}
.carousel{position:relative;margin-top:36px;display:flex;align-items:center;gap:14px}
.carousel-track{position:relative;list-style:none;margin:0;padding:6px 2px 18px;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1 1 0;min-width:0;outline:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track:focus-visible{box-shadow:0 0 0 3px var(--gold)}
.special-card{flex:0 0 min(86vw,420px);scroll-snap-align:center;background:var(--red-dark);color:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px -18px rgba(67,16,13,.55);transition:transform .4s ease,box-shadow .4s ease}
.special-card:hover{transform:translateY(-4px);box-shadow:0 28px 50px -18px rgba(67,16,13,.65)}
.special-card img{width:100%;height:230px;object-fit:cover;display:block}
.special-card>div{padding:24px 26px 28px;display:flex;flex-direction:column;gap:8px;flex:1}
.special-card .eyebrow{color:#f4c94f;margin:0}
.special-card h3{font-size:1.9rem;margin:0}
.special-card p{margin:0;color:#f3e4c8;font-size:.95rem;line-height:1.5}
.special-cta{margin-top:auto;color:#f4c94f;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.special-cta span{transition:transform .3s ease}
.special-card:hover .special-cta span{transform:translateX(5px)}

.carousel-arrow{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--red);background:var(--cream);color:var(--red);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-content:center;transition:background .25s ease,color .25s ease,opacity .25s ease}
.carousel-arrow:hover{background:var(--red);color:#fff}
.carousel-arrow:disabled{opacity:.3;cursor:default}
.carousel-arrow:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:6px}
.carousel-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(121,17,13,.28);cursor:pointer;transition:background .25s ease,transform .25s ease}
.carousel-dots button[aria-selected=true]{background:var(--red);transform:scale(1.35)}
.carousel-dots button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

@media(max-width:760px){
  .carousel-arrow{display:none}
  .special-card img{height:200px}
  .special-card h3{font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){
  .carousel-track{scroll-behavior:auto}
  .special-card,.special-cta span{transition:none}
}
