* { font-family: 'Play', sans-serif; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: #0c0a09; color: #e7e5e4; }

.font-playfair { font-family: 'Playfair Display', serif; }

/* Scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #0c0a09; }
::-webkit-scrollbar-thumb { background: #f59e0b; border-radius: 3px; }

/* Animations */
.anim { opacity: 0; transition: opacity .7s ease, transform .7s ease; }
.anim-up    { transform: translateY(40px); }
.anim-left  { transform: translateX(-40px); }
.anim-right { transform: translateX(40px); }
.anim.visible { opacity: 1; transform: none; }

/* Nav */
nav { transition: background .3s, backdrop-filter .3s, box-shadow .3s; }
nav.scrolled { background: rgba(12,10,9,.96) !important; backdrop-filter: blur(14px); box-shadow: 0 1px 0 rgba(255,255,255,.06); }

/* Hero */
.hero-overlay { background: linear-gradient(135deg, rgba(12,10,9,.92) 0%, rgba(12,10,9,.55) 55%, rgba(220,38,38,.1) 100%); }

/* Divider accent */
.accent-bar { display: inline-block; width: 52px; height: 3px; background: linear-gradient(90deg, #f59e0b, #dc2626); border-radius: 2px; }

/* Pizza cards */
.pizza-card { background: #1c1917; border: 1px solid rgba(255,255,255,.06); border-radius: 16px; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.pizza-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(245,158,11,.14); }
.pizza-card .thumb { overflow: hidden; }
.pizza-card .thumb img { transition: transform .5s ease; width: 100%; height: 200px; object-fit: cover; display: block; }
.pizza-card:hover .thumb img { transform: scale(1.07); }

/* Promo */
.promo-card { background: linear-gradient(135deg, rgba(245,158,11,.08), rgba(220,38,38,.04)); border: 1px solid rgba(245,158,11,.18); border-radius: 20px; }

/* Gallery */
.gallery-item { overflow: hidden; border-radius: 12px; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.gallery-item:hover img { transform: scale(1.07); }

/* Form */
.f-input { width: 100%; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 14px 16px; font-size: 16px; color: #fff; transition: border-color .2s, background .2s; }
.f-input:focus { outline: none; border-color: #f59e0b; background: rgba(255,255,255,.07); }
.f-input::placeholder { color: rgba(255,255,255,.3); }
select.f-input option { background: #1c1917; color: #fff; }

/* CTA button */
.btn-cta { background: linear-gradient(135deg, #f59e0b, #d97706); color: #0c0a09; font-weight: 700; border-radius: 12px; transition: transform .2s, box-shadow .2s; }
.btn-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(245,158,11,.4); }
.btn-outline { border: 2px solid #f59e0b; color: #f59e0b; border-radius: 12px; transition: all .2s; }
.btn-outline:hover { background: #f59e0b; color: #0c0a09; }

/* Mobile nav */
#mobile-menu { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .35s ease, opacity .35s ease; }
#mobile-menu.open { max-height: 480px; opacity: 1; }

/* Pizza gallery items */
.pizza-gallery-item img:hover { transform: scale(1.06); }

/* Lightbox */
#lb { position: fixed; inset: 0; z-index: 9998; background: rgba(0,0,0,.96); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
#lb.open { opacity: 1; pointer-events: all; }
#lb-img { max-width: 90vw; max-height: 88vh; object-fit: contain; border-radius: 12px; display: block; transition: opacity .2s ease; }
#lb-img.fade { opacity: 0; }
#lb-close { position: fixed; top: 20px; right: 24px; background: rgba(255,255,255,.1); border: none; color: #fff; width: 44px; height: 44px; border-radius: 50%; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; z-index: 9999; }
#lb-close:hover { background: rgba(255,255,255,.22); }
.lb-arrow { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.1); border: none; color: #fff; width: 52px; height: 52px; border-radius: 50%; font-size: 24px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; z-index: 9999; }
.lb-arrow:hover { background: rgba(245,158,11,.35); }
#lb-prev { left: 20px; }
#lb-next { right: 20px; }
#lb-counter { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.45); font-size: 16px; z-index: 9999; letter-spacing: .05em; }

/* Toast */
#toast { position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(80px); background: #1c1917; border: 1px solid #f59e0b; color: #fff; padding: 14px 28px; border-radius: 12px; font-size: 16px; z-index: 9999; transition: transform .4s ease; pointer-events: none; white-space: nowrap; }
#toast.show { transform: translateX(-50%) translateY(0); }
