/* ===== STILE CONDIVISO — palette cioccolato + effetti (tutte le pagine) ===== */
:root{--marrone:#48362B; --marrone-scuro:#2E221B; --cappuccino:#E6DCCF; --crema:#F4EFE8;}

/* colori */
.btn-primary{background:var(--marrone);}
.btn-primary:hover{background:var(--oro);}
.btn-outline{border-color:var(--marrone); color:var(--marrone);}
.btn-outline:hover{border-color:var(--oro); color:var(--oro);}
.section-head h2::after{content:""; display:block; width:56px; height:1px; background:var(--oro); margin:20px auto 0;}
.card{background:var(--crema);}
.card .icon{background:var(--marrone);}
.hero{background:linear-gradient(165deg,#F9F4EC 0%,var(--cappuccino) 100%);}
.numeri{background:linear-gradient(135deg,var(--marrone-scuro),var(--marrone));}
.tecnologie{background:var(--cappuccino);}
.team{background:var(--cappuccino);}
.recensioni{background:linear-gradient(160deg,var(--marrone),var(--marrone-scuro));}
.rec-card{background:rgba(255,255,255,.07); border:1px solid rgba(201,169,104,.28);}
.cta-finale{background:linear-gradient(135deg,var(--marrone),var(--marrone-scuro)); color:#fff;}
.cta-finale h2,.cta-finale p{color:#fff;}
.cta-finale .eyebrow{color:var(--oro-chiaro);}
.cta-finale .btn-primary{background:var(--oro);}
.cta-finale .btn-primary:hover{background:#fff; color:var(--marrone);}
.cta-finale .btn-outline{border-color:#fff; color:#fff;}
footer{background:var(--marrone-scuro);}
.footer-grid{border-bottom-color:rgba(255,255,255,.14);}

/* testata delle pagine interne: cupola cioccolato sopra la fascia */
.hero-cat{position:relative; overflow:hidden;}
.hero-cat:has(+ .band-sottile)::after{content:""; position:absolute; left:50%; bottom:0; width:520px; height:64px; transform:translateX(-50%); background:linear-gradient(180deg,var(--marrone),var(--marrone-scuro)); border-radius:260px 260px 0 0; pointer-events:none;}
.hero-cat .hero-content{position:relative; z-index:1;}
.hero-cat:has(+ .band-sottile){padding-bottom:84px;}

/* comparsa al scroll */
.js .reveal{opacity:0; transform:translateY(34px); transition:opacity .9s ease, transform .9s ease;}
.js .reveal.in{opacity:1; transform:none;}

/* barre di testo che scorrono */
.marquee{overflow:hidden; white-space:nowrap; position:relative;}
.marquee-track{display:inline-flex; width:max-content; animation:mq 46s linear infinite; will-change:transform;}
.marquee.rev .marquee-track{animation-direction:reverse;}
.marquee.slow .marquee-track{animation-duration:70s;}
.marquee.fast .marquee-track{animation-duration:32s;}
@keyframes mq{from{transform:translateX(0);} to{transform:translateX(-50%);}}
.marquee-group{display:inline-flex; flex:none;}
.marquee-group span{padding:0 .55em;}
.marquee-group .sep{color:var(--oro); padding:0 .2em;}
.band-sottile{background:var(--marrone-scuro); color:var(--oro-chiaro); font-size:13px; letter-spacing:5px; text-transform:uppercase; padding:15px 0; font-weight:500;}
.band-sottile .marquee-group .sep{color:var(--tortora);}

/* sezioni con sfondo fermo (parallax) */
.parallax{position:relative; padding:0; min-height:520px; display:flex; flex-direction:column; justify-content:center; align-items:stretch; background-size:cover; background-position:center; background-attachment:fixed; overflow:hidden;}
.parallax::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(46,34,27,.50),rgba(46,34,27,.68));}
.parallax .bars{position:relative; z-index:1; display:flex; flex-direction:column; gap:20px; transform:rotate(-2.2deg); margin:0 -5%; padding:40px 0;}
.bar{padding:14px 0; font-family:'Cormorant Garamond',serif; font-size:46px; font-weight:600; text-transform:uppercase; letter-spacing:3px; background:rgba(244,239,232,.96); color:var(--nero); box-shadow:0 18px 40px rgba(0,0,0,.25);}
.bar.dark{background:rgba(46,34,27,.95); color:var(--oro-chiaro);}
.bar.dark .sep{color:var(--beige);}
.bar.gold{background:var(--oro); color:#fff;}
.bar.gold .sep{color:var(--beige);}

@media(max-width:900px){
  .parallax{background-attachment:scroll; min-height:400px;}
  .bar{font-size:28px; padding:10px 0;}
  .band-sottile{font-size:11px; letter-spacing:3px;}
  .hero-cat:has(+ .band-sottile)::after{width:300px; height:44px; border-radius:150px 150px 0 0;}
}
@media(hover:none){.parallax{background-attachment:scroll;}}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none;}
  .js .reveal{opacity:1; transform:none; transition:none;}
}

/* --- correzioni mobile --- */
.rec-grid.rec-grid-1{grid-template-columns:1fr !important;}
@media (max-width:640px){
  .rec-grid{grid-template-columns:1fr !important;}
}
@media (max-width:640px){
  .grid-4,.grid-3,.grid-2,.servizi-grid{grid-template-columns:1fr !important;}
  .card{padding:26px 22px !important;}
}
