/* Mariangela Bartoli · tema a blocchi, versione 0.5
   L'aspetto del sito fatto con il Website Builder di Hostinger (vecchio-sito/screenshot/), rifatto con blocchi veri:
   testata bianca con il menu al centro, aperture in un riquadro sfumato, sezioni centrate su fondi menta e acqua,
   schede bianche che si aprono, riquadri con ombra leggera, fascia verde finale, «Contattami» con il modulo,
   piè di pagina verde acqua. Colori e misure dai blocchi HTML del vecchio sito (vecchio-sito/embed/). */

:root{
  --verde:var(--wp--preset--color--verde,#3A6B4D);
  --verde-medio:var(--wp--preset--color--verde-medio,#6B9080);
  --verde-chiaro:var(--wp--preset--color--verde-chiaro,#A4C3B2);
  --acqua:var(--wp--preset--color--acqua,#CCE3DE);
  --fondo:var(--wp--preset--color--fondo,#EAF4F4);
  --fondo-chiaro:var(--wp--preset--color--fondo-chiaro,#F6FFF8);
  --testo:var(--wp--preset--color--testo,#2D4A3A);
  --testo-2:var(--wp--preset--color--testo-2,#4A6741);
  --oro:#D4AF37;
  /* nomi usati dalle parti comuni (modulo, banner dei cookie, finestra della newsletter, articoli) */
  --ground:var(--fondo-chiaro);
  --surface:#FFFFFF;
  --field:var(--fondo);
  --field-2:var(--acqua);
  --accent:var(--verde);
  --accent-2:#2E5740;
  --deep:var(--verde);
  --ink:var(--testo);
  --muted:var(--testo-2);
  --serif:var(--wp--preset--font-family--display);
  --sans:var(--wp--preset--font-family--text);
  --fs-s:14px;
  --fs-b:16px;
  --fs-l:clamp(17px,1rem + .3vw,19px);
  --wrap:1224px;
  --m:clamp(16px,4vw,40px);
  --pad:max(var(--m),calc((100% - var(--wrap)) / 2));
  --gap:clamp(56px,7vw,100px);
  --r:20px;
  --ombra:0 8px 25px rgba(58,107,77,.1);
  --bar:76px;
  --top:var(--wp-admin--admin-bar--height,0px);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* base */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + var(--top) + 16px)}
body{margin:0;background:#fff;color:var(--testo);font-family:var(--sans);font-size:var(--fs-b);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde);text-underline-offset:.18em}
a:hover{color:var(--accent-2)}
:focus-visible{outline:3px solid var(--verde);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--verde);margin:0;line-height:1.2;text-wrap:balance}
h4{font-family:var(--sans);font-size:var(--fs-b);font-weight:600}
p{margin:0}
p+p{margin-top:1em}
strong{font-weight:600}
figure{margin:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-main>*,.wp-block-post-content>*,.wp-site-blocks>*{margin-block:0}

/* pulsanti: pillole, uno pieno e uno a contorno */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px 20px}
.wp-block-button__link,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 30px;border:2px solid var(--verde);border-radius:50px;background:var(--verde);color:#fff;font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;text-align:center;transition:transform .3s ease,box-shadow .3s ease}
.wp-block-button__link:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 20px rgba(58,107,77,.2)}
.is-style-contorno .wp-block-button__link{background:transparent;color:var(--verde)}
.is-style-contorno .wp-block-button__link:hover{color:var(--verde)}

/* TESTATA: bianca, logo a sinistra, menu al centro, social a destra */
.site-header{position:sticky;top:var(--top);z-index:40;background:#fff}
.site-header.is-scrolled{box-shadow:0 1px 0 rgba(45,74,58,.12)}
.bar__in{display:flex;align-items:center;gap:16px;min-height:var(--bar);padding-inline:var(--pad);box-sizing:border-box}
.bar__brand{display:inline-flex;flex:none;border-radius:50%}
.bar__brand img{width:56px;height:56px}
.bar__nav{flex:1;font-size:15px}
.bar__nav .wp-block-navigation__container{gap:8px 28px}
.bar__nav a{color:var(--testo);text-decoration:none}
.bar__nav .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:44px;padding-block:4px}
.bar__nav .wp-block-navigation-item__content:hover,.bar__nav .current-menu-item>.wp-block-navigation-item__content{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.bar__nav .wp-block-navigation__submenu-container{min-width:220px!important;padding:8px 0;border:1px solid var(--acqua)!important;border-radius:12px;background:#fff!important;box-shadow:var(--ombra)}
.bar__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:8px 20px!important;width:100%}
.bar__nav .wp-block-navigation__responsive-container-open,.bar__nav .wp-block-navigation__responsive-container-close{width:48px;height:48px;align-items:center;justify-content:center}
/* menu a tutto schermo (telefono): voci a sinistra, i servizi rientrati sotto «Servizi» con una linea verde */
.bar__nav .wp-block-navigation__responsive-container.is-menu-open{padding:24px var(--m)}
.bar__nav .is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start!important;padding-top:56px}
.bar__nav .is-menu-open .wp-block-navigation__container{align-items:flex-start!important;gap:0!important;width:100%;font-size:22px}
.bar__nav .is-menu-open .wp-block-navigation-item{align-items:flex-start!important;width:100%}
.bar__nav .is-menu-open .wp-block-navigation-item__content{padding-block:8px!important;min-height:48px}
.bar__nav .is-menu-open .wp-block-navigation__submenu-container{gap:0!important;margin:0 0 8px 4px;padding:0 0 0 18px!important;border:0!important;border-left:2px solid var(--verde-chiaro)!important;border-radius:0;box-shadow:none;font-size:19px}
.bar__nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:6px 0!important;color:var(--testo-2)}
.bar__nav .is-menu-open .wp-block-navigation__submenu-icon{display:none}
html.has-modal-open .wa-fisso{display:none}
.bar__social{flex:none;gap:14px}
.bar__social .wp-social-link{color:var(--testo)}
.bar__social .wp-social-link a,.foot__social .wp-social-link a{padding:10px}
.bar__social svg{width:20px;height:20px}
@media (max-width:999px){
  .bar__in .bar__social{display:none}
  .bar__in .bar__nav.wp-block-navigation{justify-content:flex-end}
}

/* CONTENITORE: le sezioni stanno nella colonna del sito, con il loro fondo */
.testa,.sez,.invito,.contattami{box-sizing:border-box;width:min(100% - 2 * var(--m),var(--wrap));margin-inline:auto}
/* in home apertura e servizi vanno da bordo a bordo, come nel Builder */
.eroe,.servizi{box-sizing:border-box;width:100%}

/* APERTURA DELLE PAGINE: riquadro sfumato, testo e foto */
.testa{display:grid;gap:32px;align-items:center;padding:clamp(28px,4vw,40px);background:linear-gradient(135deg,var(--fondo) 0%,var(--acqua) 100%)}
.testa h1{font-size:clamp(40px,1.6rem + 2.4vw,56px);margin-bottom:16px}
.testa__testo p{font-size:var(--fs-l);color:var(--testo-2);line-height:1.7}
.testa__testo .wp-block-buttons{margin-top:32px}
.testa__foto{border-radius:var(--r);overflow:hidden;box-shadow:0 20px 40px rgba(58,107,77,.1)}
.testa__foto img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 25%}

/* SEZIONI: titolo centrato, fondo menta chiaro o acqua */
.sez{padding:var(--gap) clamp(16px,3vw,40px);background:var(--fondo-chiaro)}
.sez--tinta{background:var(--fondo)}
.sez--sfumata{background:linear-gradient(180deg,var(--fondo) 0%,var(--fondo-chiaro) 100%)}
.sez__testa{max-width:640px;margin:0 auto clamp(32px,4vw,56px);text-align:center}
.sez__testa h2{font-size:clamp(32px,1.4rem + 1.6vw,45px)}
.sez__testa p{margin-top:16px;font-size:17px;color:var(--testo-2)}

/* SCHEDE CHE SI APRONO (prima erano pulsanti in un iframe, ora sono «details»: si aprono anche da tastiera) */
.voci{max-width:800px;margin-inline:auto;display:grid;gap:15px}
.voci .wp-block-details{margin:0;background:#fff;border:1px solid var(--acqua);border-radius:15px;box-shadow:var(--ombra);overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease}
.voci .wp-block-details:hover{border-color:var(--verde-chiaro);box-shadow:0 15px 35px rgba(58,107,77,.15)}
.voci summary{position:relative;display:block;padding:22px 64px 22px 30px;font-family:var(--serif);font-size:clamp(19px,1.1rem + .3vw,21px);font-weight:500;line-height:1.3;color:var(--verde);cursor:pointer;list-style:none}
.voci summary::-webkit-details-marker{display:none}
.voci summary::after{content:"+";position:absolute;right:28px;top:50%;font-family:var(--sans);font-size:28px;line-height:1;transform:translateY(-50%);transition:transform .3s ease}
.voci summary:hover{background:var(--fondo)}
.voci details[open] summary{background:var(--acqua)}
.voci details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.voci details>:not(summary){padding-inline:30px;color:var(--testo-2)}
.voci details>:not(summary):first-of-type{padding-top:20px}
.voci details>:last-child{padding-bottom:24px}
.voci details>*+*{margin-top:12px}
.voci details ul{padding-left:52px}
.voci details li+li{margin-top:4px}

/* RIQUADRI BIANCHI */
.carte{display:grid;gap:24px;max-width:1100px;margin-inline:auto}
.carta{padding:36px 30px;background:#fff;border:1px solid var(--acqua);border-radius:15px;box-shadow:var(--ombra);text-align:center}
.carta h3{font-size:clamp(20px,1.1rem + .4vw,23px);margin-bottom:12px}
.carta p{font-size:15px;color:var(--testo-2)}

/* A CHI SI RIVOLGE: tessere verdi */
.tessere{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px;max-width:1100px;margin-inline:auto}
.tessera{padding:32px 20px;border-radius:15px;background:linear-gradient(135deg,var(--verde-chiaro) 0%,var(--acqua) 100%);text-align:center}
.tessera h3{font-size:22px;color:var(--testo);margin-bottom:8px}
.tessera p{font-size:15px;color:var(--testo)}

/* la nota fra due sezioni */
.wp-block-separator.nota{position:relative;max-width:540px;margin:clamp(48px,6vw,80px) auto 0;border:0;border-top:1px solid var(--verde-chiaro);opacity:1;overflow:visible;height:0}
.wp-block-separator.nota::after{content:"♪";position:absolute;left:50%;top:-16px;transform:translateX(-50%);padding:0 16px;background:var(--fondo-chiaro);color:var(--verde);font-size:22px;line-height:32px}

/* PER TE CHE… */
.per-te{max-width:800px;margin:32px auto 0;padding:36px clamp(24px,4vw,48px);background:#fff;border-radius:15px;box-shadow:var(--ombra)}
.per-te h3{font-size:24px;text-align:center;margin-bottom:16px}
.recapiti-box{margin-top:0}
.recapiti-box .recapiti{margin:0}
.recapiti-box .recapiti li{border-bottom:1px solid var(--acqua)}
.recapiti-box .recapiti li:last-child{border-bottom:0}
.spunte{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--testo-2)}
.spunte li{position:relative;padding-left:28px}
.spunte li::before{content:"✓";position:absolute;left:0;color:var(--verde);font-weight:700}

/* FASCIA VERDE FINALE */
.invito{padding:clamp(48px,6vw,64px) clamp(20px,4vw,48px);background:linear-gradient(135deg,var(--verde) 0%,var(--verde-medio) 100%);color:#fff;text-align:center}
.invito h2{color:#fff;font-size:clamp(28px,1.3rem + 1vw,36px)}
.invito p{max-width:640px;margin:16px auto 0;font-size:17px}
.invito .wp-block-buttons{justify-content:center;margin-top:28px}
.invito .wp-block-button__link{background:#fff;border-color:#fff;color:var(--verde)}
.invito .wp-block-button__link:hover{color:var(--verde)}
.invito .is-style-contorno .wp-block-button__link{background:transparent;color:#fff}

/* CONTATTAMI: titolo a sinistra, modulo a destra (in fondo a ogni pagina, come nel Builder) */
.contattami{display:grid;gap:32px;padding:var(--gap) clamp(16px,3vw,40px);background:#fff}
.contattami h2{font-size:clamp(40px,1.6rem + 2vw,56px);font-weight:400;color:var(--testo)}
.contattami__testo p{margin-top:12px;color:var(--testo-2)}

/* HOME: apertura */
.eroe{display:grid;gap:32px;align-items:center;padding:clamp(32px,5vw,48px) var(--pad) 0;background:var(--fondo)}
.eroe h1{font-size:clamp(44px,1.8rem + 3.4vw,80px);font-weight:400;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;color:var(--testo)}
.eroe__ruolo{margin-top:12px;font-size:var(--fs-l);color:var(--testo-2)}
.eroe__citazione{margin-top:24px!important;max-width:30rem;font-family:var(--serif);font-size:20px;font-style:italic;line-height:1.5}
.eroe__autore{margin-top:6px!important;font-size:var(--fs-s);color:var(--testo-2)}
.eroe .wp-block-buttons{margin-top:28px}
.eroe__foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:45% 0 0 0 / 30% 0 0 0}

/* HOME: i miei servizi */
.servizi{padding:var(--gap) var(--pad);background:var(--fondo-chiaro);text-align:center}
.servizi h2{font-size:clamp(32px,1.4rem + 1.6vw,45px);margin-bottom:clamp(32px,4vw,48px)}
.servizi__griglia{display:grid;gap:24px 48px}
.servizio{position:relative}
.servizio__foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:12px}
.servizio__etichetta{position:absolute;left:0;right:0;bottom:16px;justify-content:center}
.servizio__etichetta .wp-block-button__link{min-width:58%}

/* CHI SONO: il percorso, a tappe alternate su una linea */
.linea{position:relative;display:grid;gap:24px;max-width:1000px;margin-inline:auto}
.tappa{position:relative;padding:24px 28px;background:#fff;border-left:3px solid var(--oro);border-radius:12px;box-shadow:var(--ombra)}
.tappa h3{font-size:22px}
.tappa__anni{display:inline-block;margin-bottom:10px;padding:4px 12px;border-radius:50px;background:var(--verde);color:#fff;font-size:13px;font-weight:600}
.tappa__dove{margin:6px 0 10px!important;color:var(--testo-2);font-size:15px}
.tappa>p:not([class]){font-size:15px}
.tappa__nota{display:inline-block;margin-top:12px!important;padding:3px 12px;border-radius:50px;background:var(--oro);color:#2B2208;font-size:13px;font-weight:600}
.wp-block-quote.visione{max-width:760px;margin:0 auto;padding:36px 40px;background:#fff;border:0;border-left:4px solid var(--verde);border-radius:15px;box-shadow:var(--ombra)}
.visione p{font-family:var(--serif);font-size:clamp(19px,1.1rem + .4vw,22px);font-style:italic;line-height:1.6;color:var(--testo)}
.visione cite{display:block;margin-top:16px;font-size:var(--fs-s);font-style:normal;color:var(--testo-2)}

/* PIÈ DI PAGINA: verde acqua, tre colonne */
.site-footer{background:var(--acqua);color:var(--testo)}
.foot{display:grid;gap:32px;padding:48px var(--pad) 32px;box-sizing:border-box;font-size:14px;line-height:1.6}
.foot h3{font-size:20px;color:var(--testo);margin-bottom:8px}
.foot h3:not(:first-of-type){margin-top:20px}
.foot a{color:var(--testo)}
.foot p+p{margin-top:10px}
.foot__logo{width:56px;height:56px;margin-bottom:12px}
.foot .newsletter{margin-top:16px}
.foot .newsletter .wp-block-button__link{min-height:44px;padding:10px 26px;color:#fff}
.foot__social{margin-top:20px;gap:12px}
.foot__social .wp-social-link{color:var(--testo)}
.foot__social svg{width:20px;height:20px}
.foot__fondo{grid-column:1/-1;padding-top:20px;border-top:1px solid rgba(45,74,58,.15);font-size:13px}
.foot__fondo a{display:inline-flex;align-items:center;min-height:44px}

/* WhatsApp sempre a portata, come nel vecchio sito */
.wa-fisso{position:fixed;right:16px;bottom:16px;z-index:50;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#1D8F4E;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.wa-fisso:hover{color:#fff;background:#167440}
.wa-fisso svg{width:30px;height:30px}
/* su telefono il banner dei cookie occupa la stessa striscia: WhatsApp torna dopo la scelta */
@media (max-width:640px){.cookie:not([hidden])~.wa-fisso{display:none}}

/* BLOG: titolo, poi gli articoli in colonna su fondo acqua */
.blog__testa{padding:clamp(40px,5vw,64px) var(--m);text-align:center}
.blog__testa h1{font-size:clamp(48px,2rem + 2.4vw,72px);font-weight:400;color:var(--testo)}
.blog .wp-block-query{padding:clamp(32px,4vw,48px) var(--m) var(--gap);background:var(--fondo)}
.articoli__lista{list-style:none;margin:0 auto;padding:0;max-width:640px;display:grid;gap:48px}
.articolo-scheda__foto img{width:100%;aspect-ratio:5/3;object-fit:cover}
.articolo-scheda__titolo{margin-top:16px;font-size:22px;color:var(--testo)}
.articolo-scheda__titolo a{color:inherit;text-decoration:none}
.articolo-scheda__titolo a:hover{text-decoration:underline}
.articolo-scheda__testo{margin-top:8px;font-size:15px;color:var(--testo-2)}
.articolo-scheda__testo .wp-block-post-excerpt__more-text{margin-top:8px}
.articolo-scheda__data{margin-top:8px;font-size:13px;color:var(--testo-2)}
.wp-block-query-pagination{display:flex;gap:16px;justify-content:center;margin-top:48px;font-weight:600}
.wp-block-query-pagination a{display:inline-flex;align-items:center;min-height:48px}

/* ARTICOLO */
.articolo{padding-bottom:var(--gap)}
.articolo__testa{max-width:var(--wrap);margin:0 auto;padding:clamp(32px,4vw,48px) var(--m) 0;text-align:center}
.articolo__titolo{font-size:clamp(30px,1.3rem + 1.6vw,42px);color:var(--testo)}
.articolo__firma{margin-top:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:var(--fs-s);color:var(--testo-2)}
.articolo__sommario{display:none}
.articolo__foto{margin-top:32px}
.articolo__foto img{width:100%;aspect-ratio:3/1;object-fit:cover}
.articolo__corpo,.autrice{max-width:760px;margin-inline:auto;padding-inline:var(--m);box-sizing:content-box}
.articolo__corpo{margin-top:clamp(32px,4vw,48px);font-family:var(--serif);font-size:19px;line-height:1.65}
.articolo__corpo h2{font-size:clamp(26px,1.2rem + 1vw,32px);color:var(--testo)}
.articolo__corpo h3,.articolo__corpo h4{color:var(--testo)}
.autrice{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:center;margin-top:56px;padding-block:24px;background:var(--fondo);border-radius:var(--r)}
.autrice__foto img{width:72px;height:72px;object-fit:cover;border-radius:50%}
.autrice p{font-size:var(--fs-s);line-height:1.55}

/* pagina semplice (Privacy) */
.pagina{padding:clamp(32px,5vw,72px) var(--pad) var(--gap)}
.pagina__titolo{margin-bottom:32px;font-size:clamp(36px,1.5rem + 2vw,52px)}
.pagina__contenuto{max-width:680px}
.pagina__contenuto h2{font-size:clamp(26px,1.2rem + 1vw,34px);margin-top:1.6em;margin-bottom:.5em}

/* TABLET */
@media (min-width:700px){
  .carte--2,.carte--3{grid-template-columns:repeat(2,1fr)}
  .servizi__griglia{grid-template-columns:repeat(3,1fr);gap:24px}
  .foot{grid-template-columns:1.2fr 1fr 1.3fr}
}
/* DESKTOP */
@media (min-width:1000px){
  .testa{grid-template-columns:1fr 1fr;gap:60px}
  .eroe{grid-template-columns:5fr 6fr;gap:48px;padding-right:0}
  .eroe__testo{padding-bottom:48px}
  .eroe__foto img{aspect-ratio:auto;height:min(560px,70vh)}
  .servizi__griglia{gap:48px;padding-inline:clamp(0px,4vw,48px)}
  .carte--3{grid-template-columns:repeat(3,1fr)}
  .contattami{grid-template-columns:5fr 7fr;gap:48px;align-items:start}
  .contattami__testo{padding-top:64px}
  /* il percorso: le tappe si alternano ai lati di una linea */
  .linea{grid-template-columns:1fr 1fr;column-gap:96px;row-gap:0}
  .linea::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--verde-chiaro);transform:translateX(-50%)}
  .tappa{margin-bottom:32px}
  .tappa:nth-child(odd){grid-column:1;text-align:right;border-left:0;border-right:3px solid var(--oro)}
  .tappa:nth-child(even){grid-column:2;margin-top:120px}
  .tappa::after{content:"";position:absolute;top:30px;width:12px;height:12px;border:3px solid var(--fondo-chiaro);border-radius:50%;background:var(--verde)}
  .tappa:nth-child(odd)::after{right:-57px}
  .tappa:nth-child(even)::after{left:-57px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
/* nell'editor: niente testata fissa, così la cliente vede e modifica tutto */
.editor-styles-wrapper .site-header{position:static}

/* TESTO DEGLI ARTICOLI */
.prosa>*+*{margin-top:1.1em}
.prosa h2{font-size:clamp(28px,1.3rem + 1.2vw,38px);margin-top:1.8em}
.prosa h3{margin-top:1.6em}
.prosa h4{margin-top:1.4em}
.prosa ul,.prosa ol{padding-left:1.2em}
.prosa li+li{margin-top:.4em}
.prosa .wp-block-quote{margin-inline:0;padding:24px 28px;background:var(--surface);border-left:4px solid var(--accent);border-radius:0 var(--r) var(--r) 0}
.prosa .wp-block-quote p{font-family:var(--serif);font-style:italic;font-size:var(--fs-l)}
.prosa .richiamo{padding:24px 28px;background:var(--field);border-radius:var(--r);font-size:var(--fs-l);line-height:1.55}
.prosa .wp-block-details{margin-top:10px}
.autrice{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:center;margin-top:56px;padding:24px;background:var(--surface);border-radius:var(--r)}
.autrice__foto img{width:72px;height:72px;object-fit:cover;border-radius:50%}
.autrice p{font-size:var(--fs-s);line-height:1.55}


/* CONTATTI: modulo */
.modulo-sezione{display:grid;gap:32px}
.modulo-sezione__testo h2{margin-bottom:12px}
.recapiti{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:4px}
.recapiti li{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;min-height:48px}
.recapiti strong{min-width:6.5em}
.recapiti a{display:inline-flex;align-items:center;min-height:44px}
.modulo-sezione__modulo{padding:clamp(20px,3vw,40px);background:var(--surface);border-radius:var(--r)}
.wpcf7-form p,.modulo p{margin:0 0 18px}
.wpcf7-form label,.modulo label{display:block;margin-bottom:6px;font-size:var(--fs-s);font-weight:600}
.wpcf7-form input:not([type=submit]):not([type=checkbox]),.wpcf7-form select,.wpcf7-form textarea,.modulo input,.modulo select,.modulo textarea{width:100%;min-height:52px;padding:12px 16px;border:2px solid var(--field-2);border-radius:12px;background:var(--ground);color:var(--ink);font:inherit;font-size:16px;box-sizing:border-box}
.wpcf7-form textarea,.modulo textarea{min-height:140px}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus,.modulo input:focus,.modulo select:focus,.modulo textarea:focus{outline:none;border-color:var(--accent);background:#fff}
.wpcf7-form ::placeholder,.modulo ::placeholder{color:#6B786F}
.wpcf7-form input[type=submit],.modulo button{width:100%;min-height:52px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.wpcf7-form input[type=submit]:hover,.modulo button:hover{background:var(--accent-2)}
.modulo__privacy{font-size:var(--fs-s);line-height:1.5}
.wpcf7-acceptance label{display:flex;gap:12px;align-items:flex-start;font-weight:400}
.wpcf7-acceptance input[type=checkbox]{flex:0 0 24px;width:24px;height:24px;margin:0;accent-color:var(--accent)}
.wpcf7-list-item{margin:0}
.wpcf7-not-valid-tip{margin-top:6px;font-size:var(--fs-s);color:#9B2C1F}
.wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:14px 16px;border:0;border-radius:12px;background:var(--field)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{background:#F7E3DF;color:#7A2116}
.modulo__nota{font-size:var(--fs-s);color:var(--muted)}

/* BANNER DEI COOKIE */
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:520px;padding:16px 18px;background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:0 12px 40px rgba(29,43,34,.22);font-size:var(--fs-s);line-height:1.55}
.cookie[hidden]{display:none}
.cookie h2{font-size:20px;margin-bottom:4px}
.cookie__azioni{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cookie__azioni button{min-height:48px;padding:10px 16px;border:2px solid var(--accent);border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.cookie__azioni button.cookie__no{background:transparent;color:var(--accent)}
.cookie__azioni button:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff}

/* FINESTRA DELLA NEWSLETTER */
.nl{width:min(100% - 24px,520px);max-height:calc(100svh - 24px);margin:auto;padding:0;border:0;border-radius:28px;background:var(--surface);color:var(--ink);box-shadow:0 24px 60px rgba(29,43,34,.3);overflow:auto}
.nl::backdrop{background:rgba(31,59,43,.55)}
.nl[open]{animation:nl-entra .3s var(--ease)}
@keyframes nl-entra{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.nl__form,.nl__grazie{position:relative;padding:clamp(28px,5vw,44px);padding-top:clamp(120px,22vw,150px);overflow:hidden;isolation:isolate}
.nl__form::before,.nl__grazie::before{content:"";position:absolute;z-index:-1;width:220px;height:220px;left:-40px;top:-120px;border-radius:50%;background:var(--accent)}
.nl__form::after,.nl__grazie::after{content:"";position:absolute;z-index:-1;width:110px;height:110px;left:150px;top:-30px;border-radius:50%;background:var(--field-2)}
.nl h2{font-size:clamp(28px,1.3rem + 1.2vw,36px)}
.nl__lead{margin-top:10px;font-size:var(--fs-l);line-height:1.5}
.nl__form>p{margin-top:18px}
.nl label{display:block;margin-bottom:6px;font-size:var(--fs-s);font-weight:600}
.nl input[type=email]{width:100%;min-height:52px;padding:12px 16px;border:2px solid var(--field-2);border-radius:12px;background:var(--ground);color:var(--ink);font:inherit;font-size:16px;box-sizing:border-box}
.nl input[type=email]:focus{outline:none;border-color:var(--accent);background:#fff}
.nl__consenso{display:flex;gap:12px;align-items:flex-start}
.nl__consenso input{flex:0 0 24px;width:24px;height:24px;margin:2px 0 0;accent-color:var(--accent)}
.nl__consenso label{margin:0;font-weight:400;line-height:1.5}
.nl__errore{padding:12px 14px;border-radius:12px;background:#F7E3DF;color:#7A2116;font-size:var(--fs-s)}
.nl__invia{width:100%;margin-top:20px}
.nl__invia[disabled]{opacity:.7;cursor:wait}
.nl__trappola{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl__chiudi{position:absolute;top:16px;right:16px;width:48px;height:48px;border:0;border-radius:50%;background:var(--field);cursor:pointer}
.nl__chiudi:hover{background:var(--field-2)}
.nl__chiudi span,.nl__chiudi span::before{position:absolute;left:50%;top:50%;width:18px;height:2px;background:var(--deep);transform:translate(-50%,-50%) rotate(45deg)}
.nl__chiudi span::before{content:"";transform:translate(-50%,-50%) rotate(-90deg)}
.nl__grazie>p+p{margin-top:12px}
.nl__social{font-size:var(--fs-s)}
.nl__grazie:focus{outline:none}
@media (prefers-reduced-motion:reduce){.nl[open]{animation:none}}

/* anteprima con password */
.pw{max-width:560px;padding-block:var(--gap)}
.pw__lead{font-size:var(--fs-l)}
.pw__error{margin-top:16px;color:#9B2C1F}
.pw__row{margin-top:24px}
.pw label{font-weight:600}
.pw__field{display:flex;gap:10px;margin-top:8px}
.pw input{flex:1;min-height:52px;padding:0 16px;border:2px solid var(--field-2);border-radius:12px;font:inherit}

