/* =========================================================
   RISERVA DELLA CASCINA — Home mobile-first, full-screen scroll
   Font e colori dai token del tema (theme.json).
   Le URL immagini sono placeholder /wp-content/uploads/2026/07/…
   da confermare dopo l'import.
   ========================================================= */
.rdc-home{
  --rdc-green:var(--wp--preset--color--gold, #3f7346);
  --rdc-ink:var(--wp--preset--color--accent, #2a2724);
  --rdc-cream:var(--wp--preset--color--shell, #faf7f1);
  --serif:var(--wp--preset--font-family--serif, 'Poiret One', sans-serif);
  --sans:var(--wp--preset--font-family--sans, 'Lexend Deca', sans-serif);
  font-family:var(--sans);
  /* snap dolce: aggancia le slide, ma lascia scorrere libere le sezioni finali */
  scroll-snap-type:y proximity;
}
/* --- HEADER del tema: trasparente sopra l'hero, solido quando si scrolla (solo home) --- */
body.home .wp-site-blocks > header.wp-block-template-part{
  position:fixed; left:0; right:0; top:0; background:transparent; border-bottom:none;
  background-image:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,0));
  transition:transform .35s ease, background-color .3s ease;
}
/* !important per battere la classe core .has-base-background-color sul div interno */
body.home:not(.rdc-scrolled) .fpst-header.has-background{background:transparent !important; border-bottom:none}
body.home:not(.rdc-scrolled) .fpst-header__logo{visibility:hidden}   /* sull'hero c'è già il logo grande */
body.home:not(.rdc-scrolled) .fpst-burger span{background:#fff}
body.home.rdc-scrolled .wp-site-blocks > header.wp-block-template-part{
  background:var(--wp--preset--color--base,#fff); background-image:none;
  border-bottom:1px solid var(--wp--preset--color--line,#e0e0e0);
}
body.home.rdc-scrolled .fpst-header{background:var(--wp--preset--color--base,#fff)}
body.home.rdc-scrolled .fpst-burger span{background:var(--wp--preset--color--accent,#2a2724)}
body.home.rdc-scrolled .fpst-header__actions .fpml-switcher__item{color:var(--wp--preset--color--accent,#2a2724)}
.rdc-slide{
  position:relative;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2rem;
  padding:clamp(1.5rem,6vw,3rem);
  text-align:center;
  scroll-snap-align:start;
  overflow:hidden;
}
.rdc-slide__kicker{
  font-family:var(--sans);
  font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  opacity:.75; margin:0;
}
.rdc-slide__title{
  font-family:var(--serif);
  font-weight:400; line-height:1.15;
  font-size:clamp(1.9rem,7.5vw,3rem);
  margin:0; max-width:15ch;
}
.rdc-slide__photo{
  display:block; width:min(78vw,340px); aspect-ratio:1/1;
  object-fit:cover; border-radius:6px;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.rdc-slide__link{
  font-family:var(--serif); font-size:1.05rem; letter-spacing:.02em;
  text-decoration:none; display:inline-flex; align-items:center; gap:.5rem;
  border-bottom:1px solid currentColor; padding-bottom:2px;
}
.rdc-slide__link::after{content:"\2192"; transition:transform .25s}
.rdc-slide__link:hover::after{transform:translateX(4px)}

/* --- varianti fondo --- */
.rdc-slide--light{background:#fff; color:var(--rdc-ink)}
.rdc-slide--dark{background:var(--rdc-ink); color:#fff}
.rdc-slide--photo{color:#fff}
.rdc-slide--photo::before{ /* overlay leggibilità su foto full-bleed */
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.15) 35%,rgba(0,0,0,.55) 100%);
}
.rdc-slide--photo > *{position:relative; z-index:1}
.rdc-bg{position:absolute; inset:0; z-index:0}
.rdc-bg, .rdc-bg img{width:100%; height:100%; object-fit:cover; display:block}
/* Hero art-directed: foto verticale su mobile, orizzontale su desktop */
.rdc-bg--hero{background:url(/wp-content/uploads/2026/07/home-hero.jpg) center/cover no-repeat}
@media (min-width:820px){ .rdc-bg--hero{background-image:url(/wp-content/uploads/2026/07/hero-desktop.jpg)} }

/* --- SLIDE 1 : HERO --- */
.rdc-hero{justify-content:space-between; padding-block:clamp(4rem,14vh,7rem) clamp(2.5rem,9vh,4rem)}
.rdc-hero__logo{width:min(72vw,300px); height:auto; margin-top:auto; filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.rdc-hero__cta{display:flex; flex-direction:column; gap:.85rem; width:min(86vw,320px); margin-top:auto}
.rdc-btn{
  font-family:var(--serif); letter-spacing:.03em; font-size:1.05rem;
  padding:.9rem 1.4rem; border-radius:var(--wp--custom--radius,4px);
  text-decoration:none; text-align:center; transition:transform .2s, background .2s;
}
.rdc-btn--solid{background:var(--rdc-green); color:#fff}
.rdc-btn--ghost{background:rgba(255,255,255,.10); color:#fff; border:1px solid rgba(255,255,255,.75); backdrop-filter:blur(2px)}
.rdc-btn:hover{transform:translateY(-2px)}
.rdc-hero__scroll{position:absolute; left:50%; bottom:1rem; transform:translateX(-50%) rotate(45deg); z-index:1;
  width:26px; height:26px; border-right:2px solid rgba(255,255,255,.85); border-bottom:2px solid rgba(255,255,255,.85);
  animation:rdcBounce 1.8s infinite}
@keyframes rdcBounce{0%,100%{transform:translate(-50%,0) rotate(45deg)}50%{transform:translate(-50%,8px) rotate(45deg)}}

/* --- sezioni libere finali --- */
.rdc-free{min-height:auto; padding-block:clamp(3rem,10vh,5rem); scroll-snap-align:none}
.rdc-sala{min-height:70svh}
.rdc-news{background:var(--rdc-ink); color:#fff; min-height:60svh}
.rdc-prefooter{background:var(--rdc-cream); color:var(--rdc-ink); gap:1.2rem; min-height:auto; padding-block:clamp(2.5rem,8vh,4rem)}
.rdc-prefooter .rdc-slide__title{font-size:clamp(1.5rem,6vw,2.2rem)}
.rdc-prefooter__btns{display:flex; gap:1rem; flex-wrap:wrap; justify-content:center}
.rdc-prefooter .rdc-btn--solid{background:var(--rdc-green)}
.rdc-prefooter .rdc-btn--outline{background:transparent; color:var(--rdc-ink); border:1px solid var(--rdc-ink)}

@media (min-width:820px){
  .rdc-slide__title{font-size:clamp(2.4rem,4vw,3.4rem)}
  .rdc-slide__photo{width:min(40vw,420px)}
  .rdc-hero__cta{flex-direction:row; width:auto}
  .rdc-btn{min-width:220px}
}
/* Colore testo su fondi scuri / foto: il theme.json forza il colore heading (accent
   scuro) sugli h2, battendo l'ereditarietà del colore di slide. Lo riforziamo qui. */
.rdc-slide--dark .rdc-slide__title,
.rdc-slide--photo .rdc-slide__title,
.rdc-news .rdc-slide__title,
.rdc-slide--dark .rdc-slide__link,
.rdc-slide--photo .rdc-slide__link,
.rdc-slide--dark .rdc-slide__kicker,
.rdc-slide--photo .rdc-slide__kicker,
.rdc-news .rdc-slide__kicker{ color:#fff; }
.rdc-slide--light .rdc-slide__title{ color:var(--rdc-ink); }

/* === Coppie FOTO + TESTO (mobile-first, full-screen) ===
   Il cliente vuole le immagini a tutto schermo: ogni blocco foto+testo è una
   coppia .rdc-duo di due .rdc-slide.
   • MOBILE: due slide separate a tutto schermo — prima la foto piena, poi il
     testo — ognuna con il suo scroll-snap.
   • DESKTOP: un'unica slide alta 100svh divisa a metà (foto | testo), con il
     lato foto alternato per ritmo editoriale. */
.rdc-imgslide{ padding:0; }
.rdc-imgslide .rdc-bg{ z-index:0; }              /* foto pulita, nessun overlay scuro */
.rdc-duo > .rdc-slide{ scroll-snap-align:start; }

/* Freccetta “continua” in fondo alla slide-foto (invita a scorrere al testo). */
.rdc-slide__more{
  position:absolute; left:50%; bottom:1.4rem; transform:translateX(-50%) rotate(45deg);
  width:22px; height:22px; z-index:1;
  border-right:2px solid rgba(255,255,255,.85); border-bottom:2px solid rgba(255,255,255,.85);
  animation:rdcBounce 1.8s infinite;
}

@media (min-width:820px){
  .rdc-duo{ display:flex; min-height:100svh; scroll-snap-align:start; }
  .rdc-duo > .rdc-slide{ flex:1 1 50%; min-height:auto; scroll-snap-align:none; }
  .rdc-imgslide{ position:relative; }
  .rdc-duo:nth-of-type(even){ flex-direction:row-reverse; }  /* alterna il lato foto */
  .rdc-slide__more{ display:none; }                          /* foto e testo già affiancati */
}
