.elementor-13708 .elementor-element.elementor-element-1481379{--display:flex;}/* Start custom CSS for html, class: .elementor-element-c719d3d *//* =========================================================
   Il Giardino Incantato — Per le scuole
   ========================================================= */

:root{
  --verde:        #374836;
  --verde-scuro:  #26311F;
  --salvia:       #9BAE94;
  --crema:        #F9FBF3;
  --crema-scura:  #EEF3E6;
  --bordo:        #DFE7D6;
  --oro:          #BE9A55;
  --camelia:      #B26480;
  --inchiostro:   #2E332C;
  --grigio:       #69735F;

  --max: 1120px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
}

body{
  margin:0;
  background:var(--crema);
  color:var(--inchiostro);
  font-family:'Lora', Georgia, serif;
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

.wrap{ max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter); }

/* ---------- tipografia ---------- */
h1,h2,h3{ font-family:'Lora', Georgia, serif; font-weight:600; line-height:1.15; margin:0; }
h2{ font-size:clamp(1.75rem, 3.4vw, 2.5rem); color:var(--verde); letter-spacing:-.01em; }
h3{ font-size:1.15rem; color:var(--verde); }
p{ margin:0 0 1rem; }

.eyebrow{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.7rem; font-weight:500;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--oro); margin:0 0 .9rem;
}

.lead{ font-size:1.16rem; color:#3D443B; max-width:56ch; }

/* ---------- sezioni ---------- */
section{ padding-block:clamp(3.5rem, 7vw, 6rem); }
.sez-crema{ background:var(--crema-scura); }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  background-color:var(--verde);   /* fallback se la foto non carica */
  min-height:min(88vh, 760px);
  display:flex; align-items:flex-end;
  padding:0;
  overflow:hidden;
  isolation:isolate;
}
.hero__bg{
  position:absolute; inset:0; z-index:-2;
  background:url('img/hero.jpg') center 38% / cover no-repeat;
  transform:scale(1.04);
  animation:respiro 24s ease-in-out infinite alternate;
}
@keyframes respiro{ to{ transform:scale(1); } }

.hero::after{
  content:''; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(to top, rgba(38,49,31,.96) 8%, rgba(55,72,54,.86) 45%, rgba(55,72,54,.62) 100%);
}

.hero__inner{
  width:100%; max-width:var(--max);
  margin-inline:auto; padding:clamp(2.5rem,6vw,5rem) var(--gutter) clamp(2.5rem,5vw,4rem);
  color:var(--crema);
}
.hero__logo{ width:78px; margin-bottom:1.6rem; }

.hero h1{
  font-size:clamp(2.3rem, 6.2vw, 4.15rem);
  color:var(--crema);
  letter-spacing:-.02em;
  margin-bottom:1.1rem;
  max-width:16ch;
}
.hero h1 em{ font-style:italic; color:var(--oro); }

.hero__sub{
  font-size:clamp(1.02rem, 1.7vw, 1.2rem);
  color:#DDE6D6; max-width:52ch; margin-bottom:2rem;
}

.hero__meta{
  display:flex; flex-wrap:wrap; gap:0 2.4rem;
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--salvia);
}
.hero__meta span{ border-left:2px solid var(--oro); padding-left:.85rem; margin-bottom:.6rem; }

/* =========================================================
   BOTTONI
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; gap:.7rem;
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.78rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  padding:1.05rem 2rem;
  text-decoration:none;
  border:1px solid transparent;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease;
}
.btn--pieno{ background:var(--oro); color:var(--verde-scuro); } !important
.btn--pieno:hover{ background:var(--crema); }
.btn--linea{ border-color:var(--salvia); color:var(--crema); }
.btn--linea:hover{ background:rgba(249,251,243,.12); }
.btn--verde{ background:var(--verde); color:var(--crema); }
.btn--verde:hover{ background:var(--verde-scuro); }

a:focus-visible, button:focus-visible{
  outline:2px solid var(--oro); outline-offset:3px;
}

/* =========================================================
   PERCORSI  +  FILTRO PER ORDINE  (elemento distintivo)
   ========================================================= */
.percorsi__testa{
  display:flex; flex-wrap:wrap; align-items:flex-end;
  justify-content:space-between; gap:1.5rem 2rem;
  margin-bottom:2rem;
}

.filtro{
  display:flex; flex-wrap:wrap; gap:.5rem;
  border-top:1px solid var(--bordo);
  padding-top:1.4rem; margin-bottom:2.4rem;
}
.filtro__label{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--grigio); align-self:center; margin-right:.6rem;
}
.chip{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.74rem; letter-spacing:.09em;
  padding:.55rem 1.1rem;
  background:transparent;
  border:1px solid var(--bordo);
  border-radius:999px;
  color:var(--grigio);
  cursor:pointer;
  transition:all .2s ease;
}
.chip:hover{ border-color:var(--salvia); color:var(--verde); }
.chip[aria-pressed="true"]{
  background:var(--verde); border-color:var(--verde); color:var(--crema);
}

.griglia{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(268px, 1fr));
  gap:1px;
  background:var(--bordo);
  border:1px solid var(--bordo);
}
.percorso{
  background:var(--crema);
  padding:1.6rem 1.5rem 1.4rem;
  display:flex; flex-direction:column;
  transition:background-color .2s ease, opacity .28s ease;
}
.percorso:hover{ background:#FDFEFA; }
.percorso[hidden]{ display:none; }

.percorso__num{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.72rem; letter-spacing:.16em;
  color:var(--oro); margin-bottom:.55rem;
}
.percorso h3{ margin-bottom:.5rem; font-size:1.08rem; line-height:1.3; }
.percorso__ordine{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--camelia); margin-bottom:.8rem;
}
.percorso p{
  font-size:.94rem; line-height:1.6; color:#3D443B;
  margin:0 0 1.1rem;
}
.percorso__meta{
  margin-top:auto; padding-top:.85rem;
  border-top:1px dotted var(--bordo);
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.7rem; letter-spacing:.06em; color:var(--grigio);
}

.vuoto{
  padding:2.5rem 0; color:var(--grigio); font-style:italic;
}

/* =========================================================
   OPEN DAY
   ========================================================= */
.openday{ background:var(--verde); color:var(--crema); }
.openday h2{ color:var(--crema); }
.openday .eyebrow{ color:var(--salvia); }
.openday p{ color:#DDE6D6; }

.openday__grid{
  display:grid; grid-template-columns:1fr; gap:2.5rem;
  align-items:start;
}
@media (min-width:820px){
  .openday__grid{ grid-template-columns:1fr 1fr; gap:4rem; }
}

.date{ list-style:none; margin:0 0 1.8rem; padding:0; }
.date li{
  display:flex; align-items:baseline; gap:1.2rem;
  padding:1.15rem 0;
  border-top:1px solid rgba(249,251,243,.22);
}
.date li:last-child{ border-bottom:1px solid rgba(249,251,243,.22); }
.date__giorno{
  font-family:'Lora', serif; font-size:1.45rem; font-weight:600;
  color:var(--oro); flex:0 0 auto; min-width:6.4rem;
}
.date__testo{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.82rem; letter-spacing:.06em; color:var(--crema);
}
.date__testo small{ display:block; color:var(--salvia); letter-spacing:.14em; text-transform:uppercase; font-size:.68rem; margin-top:.2rem; }

/* =========================================================
   DOWNLOAD
   ========================================================= */
.download{
  display:grid; gap:2rem; align-items:center;
  grid-template-columns:1fr;
  background:var(--crema);
  border:1px solid var(--bordo);
  border-left:4px solid var(--oro);
  padding:clamp(1.75rem, 4vw, 2.75rem);
}
@media (min-width:760px){
  .download{ grid-template-columns:1fr auto; gap:3rem; }
}
.download h2{ font-size:clamp(1.5rem,2.6vw,1.95rem); margin-bottom:.7rem; }
.download p{ margin:0; color:var(--grigio); font-size:.98rem; max-width:52ch; }
.download__peso{
  display:block; margin-top:.7rem;
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--salvia);
}

/* =========================================================
   INFORMAZIONI PRATICHE
   ========================================================= */
.info{
  display:grid; gap:0;
  grid-template-columns:1fr;
  border-top:1px solid var(--bordo);
}
@media (min-width:700px){ .info{ grid-template-columns:1fr 1fr; } }
@media (min-width:1000px){ .info{ grid-template-columns:repeat(3,1fr); } }

.info__voce{
  padding:1.5rem 1.5rem 1.5rem 0;
  border-bottom:1px solid var(--bordo);
}
.info__voce dt{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--verde); margin-bottom:.5rem;
}
.info__voce dd{ margin:0; font-size:.97rem; line-height:1.6; color:#3D443B; }

/* =========================================================
   GALLERIA
   ========================================================= */
.galleria{
  display:grid; gap:1px; background:var(--bordo);
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
}
.galleria figure{ margin:0; background:var(--crema); }
.galleria img{ aspect-ratio:4/3; object-fit:cover; width:100%; }
.galleria figcaption{
  padding:.9rem 1rem 1.2rem;
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:var(--grigio);
}

/* =========================================================
   CONTATTI
   ========================================================= */
.contatti{ background:var(--verde-scuro); color:var(--crema); }
.contatti h2{ color:var(--crema); }
.contatti .eyebrow{ color:var(--salvia); }
.contatti p{ color:#DDE6D6; max-width:52ch; }

.recapiti{ list-style:none; margin:2rem 0 0; padding:0; }
.recapiti li{
  display:grid; grid-template-columns:9rem 1fr; gap:1rem;
  padding:.95rem 0; border-top:1px solid rgba(249,251,243,.2);
  align-items:baseline;
}
.recapiti li:last-child{ border-bottom:1px solid rgba(249,251,243,.2); }
.recapiti dt, .recapiti .k{
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--salvia);
}
.recapiti a{ color:var(--crema); text-decoration:none; border-bottom:1px solid rgba(190,154,85,.6); }
.recapiti a:hover{ color:var(--oro); }

@media (max-width:560px){
  .recapiti li{ grid-template-columns:1fr; gap:.2rem; }
}

.pie{
  margin-top:3rem; padding-top:1.6rem;
  border-top:1px solid rgba(249,251,243,.2);
  font-family:'Poppins', system-ui, sans-serif;
  font-size:.68rem; letter-spacing:.1em; color:var(--salvia);
}/* End custom CSS */