/* ============ TOKENS ============ */
:root{
  --red: #E4231C;
  --red-dark: #A3110E;
  --yellow: #FFC629;
  --yellow-deep: #F2A900;
  --cream: #FFF8EA;
  --ink: #1B1310;
  --white: #FFFFFF;
  --shadow: 0 10px 30px rgba(27,19,16,.12);
  --radius: 18px;
  --ff-display: 'Anton', sans-serif;
  --ff-body: 'Manrope', sans-serif;
  --ff-mono: 'Space Mono', monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--ff-display);font-weight:400;line-height:1;margin:0;text-transform:uppercase;letter-spacing:.5px;}
p{margin:0;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.hl{color:var(--red);}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ============ SHARED ============ */
.eyebrow{
  font-family:var(--ff-mono);
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:2px;
  color:var(--red-dark);
  display:flex;align-items:center;gap:8px;
  margin-bottom:14px;
}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#2CB84B;box-shadow:0 0 0 4px rgba(44,184,75,.25);display:inline-block;}
.center{justify-content:center;text-align:center;}
.section-title{font-size:clamp(32px,5vw,52px);margin-bottom:10px;}
.section-title.center{text-align:center;}
.section-sub{font-size:17px;color:#5b4f49;max-width:560px;margin:0 auto 40px;}
.section-sub.center{text-align:center;}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ff-body);font-weight:800;font-size:15px;
  padding:14px 24px;border-radius:100px;border:2px solid transparent;
  cursor:pointer;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-3px);}
.btn-lg{padding:17px 30px;font-size:16px;}
.btn-primary{background:var(--red);color:var(--white);box-shadow:0 10px 24px rgba(228,35,28,.35);}
.btn-primary:hover{background:var(--red-dark);box-shadow:0 14px 28px rgba(228,35,28,.45);}
.btn-whatsapp{background:#1F8A3D;color:#fff;padding:10px 18px;font-size:14px;}
.btn-whatsapp:hover{background:#166b2f;}
.btn-ghost{background:var(--yellow);color:var(--ink);}
.btn-ghost:hover{background:var(--yellow-deep);}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-outline:hover{background:var(--ink);color:var(--white);}

/* ============ LOADER ============ */
.loader{position:fixed;inset:0;background:var(--red);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease, visibility .6s ease;}
.loader.done{opacity:0;visibility:hidden;}
.loader-bun{width:64px;height:64px;border-radius:50%;background:var(--yellow);animation:loaderPulse 1s ease-in-out infinite;}
@keyframes loaderPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.3);}}

/* ============ HEADER ============ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:500;
  background:rgba(255,248,234,0);
  transition:background .3s ease, box-shadow .3s ease, padding .3s ease;
  padding:18px 0;
}
.site-header.scrolled{background:rgba(255,248,234,.92);backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(27,19,16,.08);padding:10px 0;}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo{display:flex;align-items:center;}
.logo-img{height:56px;width:auto;display:block;transition:transform .2s ease;}
.logo:hover .logo-img{transform:scale(1.04);}
.logo-mark{
  width:40px;height:40px;border-radius:12px;background:var(--red);color:var(--white);
  display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-size:17px;
  transform:rotate(-6deg);box-shadow:3px 3px 0 var(--ink);
}
.logo-text{font-family:var(--ff-display);font-size:21px;letter-spacing:.5px;color:var(--ink);text-transform:uppercase;transition:color .3s ease;}
.logo-text em{font-style:normal;color:var(--red);}
.footer-logo-img{height:76px;width:auto;display:block;}

.main-nav{display:flex;gap:32px;}
.main-nav a{font-weight:700;font-size:14.5px;text-transform:uppercase;letter-spacing:.5px;position:relative;padding:4px 0;color:var(--ink);transition:color .3s ease;}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
.main-nav a:hover::after{width:100%;}

.header-cta{display:flex;align-items:center;gap:18px;}
.phone-link{font-family:var(--ff-mono);font-weight:700;font-size:14px;color:var(--ink);transition:color .3s ease;}

.site-header.scrolled .logo-text{color:var(--ink);}
.site-header.scrolled .main-nav a{color:var(--ink);}
.site-header.scrolled .phone-link{color:var(--ink);}

.burger-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.burger-btn span{width:24px;height:3px;background:var(--ink);border-radius:2px;}

/* ============ HERO ============ */
.hero{
  position:relative;
  background:linear-gradient(180deg, #FFFFFF 0%, #FFFAF2 100%);
  padding:150px 0 0;
  overflow:hidden;
}
.hero-visual-row{position:relative;}
.hero-top, .hero-visual-row, .hero-actions{position:relative;z-index:2;}
.hero-checker{height:14px;background-image:
  linear-gradient(45deg, var(--yellow) 25%, transparent 25%),
  linear-gradient(-45deg, var(--yellow) 25%, transparent 25%),
  linear-gradient(45deg, transparent 75%, var(--yellow) 75%),
  linear-gradient(-45deg, transparent 75%, var(--yellow) 75%);
  background-size:14px 14px;
  background-position:0 0,0 7px,7px -7px,-7px 0px;
  opacity:.85;
}
@keyframes floatY{0%,100%{transform:translateY(0px);}50%{transform:translateY(-16px);}}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* -- hero top: headline + intro -- */
.hero-top{
  display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;
  padding-top:10px;
}
.hero-title{font-size:clamp(46px,6.6vw,80px);color:var(--ink);letter-spacing:-1px;}
.hero-title .line{display:block;margin-bottom:4px;}
.hero-title .hl{
  background:var(--yellow);color:var(--ink);padding:4px 18px;display:inline-block;
  transform:rotate(-1.5deg);box-shadow:4px 4px 0 var(--ink);margin:8px 0;border-radius:4px;
}
.hero-intro{padding-top:14px;}
.hero-sub{font-size:17px;max-width:420px;color:#4a3d35;line-height:1.6;margin-bottom:28px;}
.hero-stats{display:flex;gap:0;padding-top:18px;border-top:1px solid rgba(27,19,16,.12);}
.stat{display:flex;flex-direction:column;padding-right:28px;margin-right:28px;border-right:1px solid rgba(27,19,16,.12);}
.stat:last-child{border-right:none;margin-right:0;padding-right:0;}
.stat-num{font-family:var(--ff-display);font-size:30px;color:var(--red);letter-spacing:-.5px;}
.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:#7a6d63;margin-top:2px;}

/* -- hero visual row: runner + product box -- */
.hero-visual-row{
  display:flex;align-items:flex-end;justify-content:center;gap:40px;
  padding:50px 24px 40px;position:relative;margin-top:16px;
}
.hero-runner{display:flex;flex-direction:column;align-items:center;gap:6px;animation:floatY 3.2s ease-in-out infinite;margin-bottom:40px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.4));}
.runner-label{font-family:var(--ff-mono);font-size:11px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:100px;padding:4px 12px;transform:rotate(-3deg);}

.hero-product{position:relative;width:min(94vw,560px);z-index:1;padding-bottom:20px;}
.hero-product::before{
  content:"";position:absolute;left:50%;top:50%;width:130%;height:130%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(255,255,255,.25) 0%, rgba(255,255,255,0) 65%);
  z-index:-1;pointer-events:none;
}
.hero-corner-checker{
  position:absolute;top:-30px;right:-20px;width:70px;height:70px;
  background-image:linear-gradient(45deg, var(--white) 25%, transparent 25%),linear-gradient(-45deg, var(--white) 25%, transparent 25%),linear-gradient(45deg, transparent 75%, var(--white) 75%),linear-gradient(-45deg, transparent 75%, var(--white) 75%);
  background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0px;
  opacity:.6;border-radius:8px;transform:rotate(-8deg);
}
.hero-box{
  position:relative;background:transparent;border-radius:28px;
  padding:0;text-align:center;
  transform:rotate(0deg);
  animation:floatY 4s ease-in-out infinite;
  overflow:visible;
  z-index:1;
}
.hero-box-video{
  width:100%;aspect-ratio:9/11;object-fit:cover;border-radius:28px;
  display:block;box-shadow:0 30px 60px -10px rgba(27,19,16,.35), 0 10px 20px rgba(27,19,16,.15);
}
.hero-box-tag{
  position:absolute;top:18px;left:18px;
  font-family:var(--ff-display);color:var(--white);font-size:15px;line-height:1;letter-spacing:.5px;
  background:var(--red);padding:7px 14px;border-radius:8px;
  white-space:nowrap;box-shadow:2px 2px 0 rgba(0,0,0,.25);
  z-index:2;
}

.quick-order{
  position:absolute;bottom:-24px;right:-10px;width:96px;height:96px;border-radius:50%;
  background:var(--yellow);border:4px solid var(--white);
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--ff-body);font-weight:800;font-size:13px;color:var(--ink);
  box-shadow:0 14px 28px rgba(27,19,16,.35);
  animation:spin 20s linear infinite, floatY 4s ease-in-out infinite;
  transition:transform .3s ease;
  z-index:2;
}
.quick-order:hover{background:var(--red);color:var(--white);}
.quick-order span{animation:counterSpin 20s linear infinite;}
@keyframes counterSpin{from{transform:rotate(0deg);}to{transform:rotate(-360deg);}}

.hero-pills{display:flex;gap:8px;justify-content:center;margin-top:30px;flex-wrap:wrap;position:relative;z-index:2;}
.pill-tag{font-family:var(--ff-mono);font-size:11.5px;background:var(--white);border:1.5px solid var(--ink);border-radius:100px;padding:6px 15px;font-weight:700;box-shadow:2px 2px 0 rgba(27,19,16,.15);}

.hero-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:38px 24px 50px;}

/* ============ MARQUEE ============ */
.marquee{background:var(--ink);color:var(--white);overflow:hidden;padding:14px 0;white-space:nowrap;}
.marquee-track{display:inline-flex;gap:14px;animation:marquee 26s linear infinite;font-family:var(--ff-mono);font-size:14px;letter-spacing:1px;text-transform:uppercase;font-weight:700;}
.marquee-track .sep{color:var(--yellow);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ============ POSTER GRID ============ */
.poster-section{background:var(--white);padding:70px 0;}
.poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.poster{
  border-radius:20px;padding:30px 26px;min-height:340px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  position:relative;overflow:hidden;
}
.poster h3{font-size:32px;line-height:1.05;color:var(--white);}
.poster p{color:rgba(255,255,255,.85);font-size:13.5px;max-width:220px;}
.poster-eyebrow{
  position:absolute;top:22px;left:26px;font-family:var(--ff-mono);font-size:11px;
  text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.85);
}
.poster-a{background:linear-gradient(160deg,#F2A900,var(--yellow) 60%);}
.poster-a h3, .poster-a .poster-eyebrow{color:var(--ink);}
.poster-a p{color:#4a3d35;}
.poster-b{background:linear-gradient(160deg,#c9130f,var(--red) 65%);}

.ticket-poster{
  background:var(--cream);border:2px solid var(--ink);color:var(--ink);
  box-shadow:6px 6px 0 var(--ink);justify-content:flex-start;
}
.ticket-poster-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--ff-mono);font-size:12px;letter-spacing:1px;text-transform:uppercase;border-bottom:2px dashed #ddd0b8;padding-bottom:14px;margin-bottom:16px;}
.ticket-poster h4{font-size:26px;margin-bottom:10px;}
.ticket-poster p{color:#5b4f49;font-size:13.5px;max-width:none;flex:1;}
.ticket-poster-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:2px dashed #ddd0b8;}
.tp-label{font-family:var(--ff-mono);font-size:11px;color:#8a7a5c;}
.tp-price{font-family:var(--ff-mono);font-weight:700;font-size:24px;color:var(--red);}
.ticket-poster-barcode{
  height:22px;margin-top:12px;
  background-image:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 5px);
}

/* ============ STORIA ============ */
.storia{padding:90px 0;background:var(--cream);}
.storia-panel{
  position:relative;background:var(--red);border-radius:32px;
  padding:70px 40px;text-align:center;color:var(--white);
  box-shadow:0 30px 60px rgba(163,17,14,.25);
  max-width:760px;margin:0 auto;
}
.storia-script{font-family:'Caveat',cursive;font-size:44px;color:var(--yellow);margin-bottom:6px;}
.storia-lead{font-size:19px;line-height:1.6;max-width:560px;margin:0 auto 30px;}
.btn-dark{background:var(--ink);color:var(--white);}
.btn-dark:hover{background:#000;}
.storia-photo-sq{
  position:absolute;width:64px;height:64px;border-radius:14px;background:var(--yellow);
  display:flex;align-items:center;justify-content:center;font-size:26px;
  border:3px solid var(--white);box-shadow:var(--shadow);
}
.storia-sq-1{top:-20px;left:30px;transform:rotate(-10deg);}
.storia-sq-2{bottom:-18px;right:40px;transform:rotate(9deg);}

/* ============ MENU ============ */
.menu-section{padding:110px 0;background:
  radial-gradient(circle at 15% 20%, rgba(228,35,28,.05), transparent 40%),
  var(--white);}
.menu-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:40px 0 46px;}
.menu-tab{
  font-family:var(--ff-body);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.3px;
  padding:11px 20px;border-radius:100px;border:2px solid var(--ink);background:transparent;cursor:pointer;
  transition:all .2s ease;
}
.menu-tab:hover{background:var(--yellow);}
.menu-tab.active{background:var(--red);border-color:var(--red);color:var(--white);}

.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}

.ticket{
  position:relative;background:var(--white);border:2px solid var(--ink);border-radius:14px;
  padding:20px 20px 18px;
  box-shadow:5px 5px 0 var(--ink);
  transition:transform .25s ease, box-shadow .25s ease;
  opacity:0;transform:translateY(16px);
  animation:cardIn .5s ease forwards;
}
.ticket-badge{
  position:absolute;top:-12px;right:16px;background:var(--yellow);color:var(--ink);
  font-family:var(--ff-mono);font-size:11px;font-weight:700;letter-spacing:1px;
  padding:4px 10px;border-radius:100px;border:2px solid var(--ink);
  transform:rotate(4deg);
}
@keyframes cardIn{to{opacity:1;transform:translateY(0);}}
.ticket:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--red);}
.ticket::before,.ticket::after{
  content:"";position:absolute;top:50%;width:20px;height:20px;background:var(--white);border-radius:50%;
  transform:translateY(-50%);border:2px solid var(--ink);
}
.ticket::before{left:-12px;}
.ticket::after{right:-12px;}
.ticket-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:2px dashed #ddd0b8;padding-bottom:12px;margin-bottom:12px;}
.ticket-name{font-family:var(--ff-display);font-size:19px;text-transform:uppercase;line-height:1.15;}
.ticket-kcal{font-family:var(--ff-mono);font-size:11px;color:#8a7a5c;white-space:nowrap;padding-top:3px;}
.ticket-desc{font-size:13.5px;color:#5b4f49;line-height:1.5;min-height:40px;margin-bottom:14px;}
.ticket-bottom{display:flex;align-items:center;justify-content:space-between;}
.ticket-price{font-family:var(--ff-mono);font-weight:700;font-size:20px;color:var(--red);}
.ticket-barcode{display:flex;gap:2px;align-items:flex-end;height:22px;}
.ticket-barcode span{width:2px;background:var(--ink);display:block;}

/* multi-price variant chef's grill / fried chicken */
.ticket-variants{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.variant-pill{font-family:var(--ff-mono);font-size:11.5px;background:var(--cream);border:1px solid #ddd0b8;border-radius:100px;padding:4px 9px;}

/* ============ ASSAGGI / VIDEO ============ */
.assaggi{padding:100px 0;background:var(--ink);color:var(--white);}
.assaggi .eyebrow{color:var(--yellow);}
.assaggi .section-sub{color:#c9bdb2;}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px;}
.video-card{
  aspect-ratio:9/13;border-radius:16px;
  background:linear-gradient(160deg,#2a201b,#161010);
  border:2px solid #3a2f28;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  position:relative;overflow:hidden;cursor:pointer;transition:transform .3s ease, border-color .3s ease;
}
.video-card:hover{transform:translateY(-6px);border-color:var(--yellow);}
.video-play{width:52px;height:52px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 0 0 8px rgba(228,35,28,.18);z-index:2;position:relative;transition:opacity .25s ease;}
.video-card span{font-family:var(--ff-mono);font-size:12.5px;color:#c9bdb2;padding:0 10px;text-align:center;z-index:2;position:relative;}
.video-card.has-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;}
.video-card.has-video span{background:linear-gradient(180deg, transparent, rgba(0,0,0,.75));border-radius:0;padding:26px 12px 12px;position:absolute;bottom:0;left:0;right:0;text-align:center;}

/* ============ DOVE SIAMO ============ */
.dove{padding:110px 0;background:var(--cream);}
.dove-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.dove-copy h2{margin-bottom:26px;font-size:clamp(30px,4.5vw,44px);}
.info-row{display:flex;gap:16px;margin-bottom:22px;align-items:flex-start;}
.info-ico{font-size:22px;}
.info-row div{font-size:15px;line-height:1.6;color:#4a3d35;}
.info-row a:hover{color:var(--red);}
.dove-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.dove-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:3px solid var(--white);aspect-ratio:1/1;}
.dove-map iframe{width:100%;height:100%;border:0;}

/* ============ FOOTER ============ */
.site-footer{background:var(--ink);color:#c9bdb2;padding:70px 0 0;}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid #3a2f28;}
.footer-brand p{margin-top:12px;font-size:14px;}
.footer-col h4{font-family:var(--ff-body);color:var(--white);text-transform:uppercase;font-size:13px;letter-spacing:1px;margin-bottom:16px;}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:14px;}
.footer-col a:hover{color:var(--yellow);}
.footer-bottom{padding:22px 24px;text-align:center;font-size:12.5px;color:#7a6d63;}

/* ============ WHATSAPP FLOAT ============ */
.wa-float{
  position:fixed;bottom:26px;right:26px;z-index:400;
  width:58px;height:58px;border-radius:50%;background:#1F8A3D;color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(31,138,61,.45);
  animation:pulseWa 2.4s ease-in-out infinite;
}
@keyframes pulseWa{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}

/* ============ SCROLL REVEAL ============ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ============ RESPONSIVE ============ */
@media(max-width:980px){
  .hero-top{grid-template-columns:1fr;}
  .hero-intro{padding-top:0;}
  .hero-runner{display:none;}
  .poster-grid{grid-template-columns:1fr;}
  .dove-inner{grid-template-columns:1fr;}
  .video-grid{grid-template-columns:repeat(2,1fr);}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .storia-panel{padding:56px 26px;}
}
@media(max-width:760px){
  .main-nav{
    position:fixed;top:0;right:0;height:100vh;width:78%;max-width:320px;
    background:var(--ink);flex-direction:column;padding:110px 30px;gap:26px;
    transform:translateX(100%);transition:transform .35s ease;z-index:450;
  }
  .main-nav.open{transform:translateX(0);}
  .main-nav a{color:var(--white);font-size:18px;}
  .header-cta .phone-link{display:none;}
  .burger-btn{display:flex;}
  .hero{padding-top:120px;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{justify-content:center;}
  .hero-stats{flex-wrap:wrap;gap:20px;}
  .video-grid{grid-template-columns:repeat(2,1fr);}
  .footer-inner{grid-template-columns:1fr;}
  .storia-script{font-size:34px;}
  .storia-lead{font-size:17px;}
}

/* ============ BLUE BACON CHEESE SPOTLIGHT ============ */
.blue-spotlight{
  padding:100px 0;
  background:linear-gradient(155deg, #0d2a6e 0%, #164ac9 55%, #0d2a6e 100%);
  overflow:hidden;
}
.blue-spotlight-inner{
  display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center;
}
.blue-spotlight-visuals{position:relative;display:flex;justify-content:center;}
.blue-poster-img{
  width:78%;border-radius:18px;box-shadow:0 30px 60px rgba(0,0,0,.4);
  transform:rotate(-3deg);
}
.blue-spotlight-video{
  position:absolute;bottom:-30px;right:0;width:42%;
  border-radius:16px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.45);
  border:4px solid var(--white);transform:rotate(3deg);
}
.blue-spotlight-video video{width:100%;display:block;aspect-ratio:9/16;object-fit:cover;}
.blue-eyebrow{color:var(--yellow);}
.blue-eyebrow .dot{background:var(--yellow);box-shadow:0 0 0 4px rgba(255,198,41,.25);}
.blue-title{
  font-family:'Lora', serif;font-weight:700;color:var(--white);
  font-size:clamp(38px,4.5vw,58px);line-height:1.05;margin-bottom:22px;text-transform:none;
}
.blue-title em{font-style:italic;color:#8ec1ff;font-weight:600;}
.blue-desc{color:#d8e3fb;font-size:17px;line-height:1.6;max-width:480px;margin-bottom:34px;}
.blue-price-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.blue-price{font-family:var(--ff-display);font-size:44px;color:var(--yellow);}
.blue-btn{background:var(--white);color:#0d2a6e;}
.blue-btn:hover{background:var(--yellow);color:var(--ink);}

@media(max-width:900px){
  .blue-spotlight-inner{grid-template-columns:1fr;}
  .blue-spotlight-visuals{margin-bottom:50px;}
  .blue-spotlight-video{width:48%;}
}

/* ============ I NOSTRI DOLCI ============ */
.dolci-section{padding:100px 0;background:var(--white);}
.dolci-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;}
.dolci-video{
  border-radius:20px;overflow:hidden;box-shadow:var(--shadow);
  border:3px solid var(--cream);
}
.dolci-video video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;}
.dolci-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.dolci-tags .pill-tag{background:var(--cream);border-color:var(--ink);}

@media(max-width:900px){
  .dolci-inner{grid-template-columns:1fr;}
}
