/* G&D Roma — stili delle sezioni. I colori e i caratteri vengono da theme.json (variabili --wp--preset--…).
   Le classi gd-* si assegnano ai blocchi dal pannello «Avanzate → Classi CSS aggiuntive»: così chi modifica
   il testo nell'editor non tocca l'aspetto. */
:root{
  --gd-grad: var(--wp--preset--gradient--marchio);
  --gd-fondo: var(--wp--preset--color--fondo);
  --gd-pannello: var(--wp--preset--color--pannello);
  --gd-pannello-2: var(--wp--preset--color--pannello-2);
  --gd-linea: var(--wp--preset--color--linea);
  --gd-linea-2: #34507A;
  --gd-testo: var(--wp--preset--color--testo);
  --gd-testo-2: var(--wp--preset--color--testo-2);
  --gd-testo-3: var(--wp--preset--color--testo-3);
  --gd-mono: var(--wp--preset--font-family--mono);
  --gd-titoli: var(--wp--preset--font-family--titoli);
}
html{scroll-behavior:smooth}
/* fondo: blu notte con una griglia tecnica appena visibile e un alone di luce in alto (niente immagini da scaricare) */
body{background-color:var(--gd-fondo);
  background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(52,174,228,.10),transparent 70%),
    linear-gradient(rgba(140,180,220,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(140,180,220,.045) 1px,transparent 1px);
  background-size:100% 100%,48px 48px,48px 48px; background-attachment:fixed}
h1,h2,h3{text-wrap:balance}
:where(.wp-site-blocks) :focus-visible{outline:2px solid var(--wp--preset--color--lime); outline-offset:3px}

/* parole in sfumatura dentro i titoli: <span class="gd-g"> */
.gd-g{background:var(--gd-grad); -webkit-background-clip:text; background-clip:text; color:transparent}

/* intestazione */
.gd-header{border-bottom:1px solid var(--gd-linea); position:sticky; top:0; z-index:50; background:rgba(11,22,38,.96)}
.admin-bar .gd-header{top:32px}
/* da computer la barra resta in alto mentre si scorre. Il «sticky» va sul contenitore del template
   (header.wp-block-template-part): sulla sola .gd-header non funziona, il suo contenitore è alto quanto lei */
@media (min-width:782px){
  .wp-site-blocks>header.wp-block-template-part{position:sticky; top:0; z-index:50}
  .admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}
  html{scroll-padding-top:96px} /* i link interni (es. #modulo) non finiscono sotto la barra */
}
.gd-brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--gd-testo)}
.gd-brand img{width:44px; height:auto}
.gd-brand b{font-family:var(--gd-titoli); font-size:1.36rem; line-height:1; display:block}
.gd-brand small{display:block; font-family:var(--gd-titoli); font-size:.58rem; font-weight:600; letter-spacing:.2em; color:var(--gd-testo-3); margin-top:3px}
.gd-brand .gd-brand-tit{letter-spacing:.02em; text-transform:none; font-weight:500; font-size:.56rem; margin-top:1px}
.gd-header .wp-block-navigation a{color:var(--gd-testo-2); text-decoration:none}
.gd-header .wp-block-navigation a:hover,.gd-header .wp-block-navigation .current-menu-item>a{color:var(--gd-testo)}
.gd-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--gd-fondo); color:var(--gd-testo)}

/* etichetta sopra i titoli */
.gd-eyebrow{font-family:var(--gd-mono); font-size:.72rem!important; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--gd-testo-3)}

/* apertura di pagina */
.gd-hero{padding-block:clamp(40px,7vw,80px)!important; position:relative; overflow:hidden}
.gd-hero::before{content:""; position:absolute; right:0; top:-20%; width:55%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle closest-side,rgba(52,174,228,.13) 0%,rgba(60,184,92,.06) 50%,transparent 100%); pointer-events:none}
.gd-hero>*{position:relative}
/* home: foto vera (patch panel dei nostri lavori) sotto la rete animata, scurita verso sinistra per tenere leggibile il testo.
   La foto sta nel tema (assets/img), non nei Media. Le scritte non cambiano. Per cambiare foto basta sostituire il file. */
.home .gd-hero{background:linear-gradient(90deg,#0B1626 20%,rgba(11,22,38,.82) 68%,rgba(11,22,38,.70)),
  url(../img/hero-home-patch-panel.webp) center 40%/cover no-repeat;
  /* a tutta larghezza come i blocchi «alignfull»: il contenuto resta allineato al resto della pagina */
  max-width:none!important; margin-inline:calc(var(--wp--style--root--padding-left,0px)*-1) calc(var(--wp--style--root--padding-right,0px)*-1)!important;
  padding-inline:var(--wp--style--root--padding-left,20px) var(--wp--style--root--padding-right,20px)!important;
  margin-block-start:0!important}
@media (max-width:781px){ .home .gd-hero{background:linear-gradient(rgba(11,22,38,.86),rgba(11,22,38,.86)),
  url(../img/hero-home-patch-panel.webp) center 40%/cover no-repeat} }
.gd-lead{font-size:var(--wp--preset--font-size--grande); color:var(--gd-testo-2); max-width:46ch}
.gd-herofoot{margin-top:2rem!important; padding-top:1.2rem; border-top:1px solid var(--gd-linea); gap:12px 34px!important}
.gd-herofoot p{font-size:.88rem; color:var(--gd-testo-3); margin:0}
.gd-herofoot strong{display:block; color:var(--gd-testo-2); font-family:var(--gd-titoli); font-size:1rem}

/* pulsanti: il secondo è a contorno */
.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent; color:var(--gd-testo); border:1px solid var(--gd-linea-2)}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{border-color:var(--wp--preset--color--ciano); color:var(--wp--preset--color--ciano)}
.wp-block-button:not(.is-style-outline)>.wp-block-button__link{background:var(--gd-grad); color:#04121f; transition:transform .18s ease, box-shadow .18s ease}
.wp-block-button:not(.is-style-outline)>.wp-block-button__link:hover{transform:translateY(-2px); box-shadow:0 8px 26px rgba(52,174,228,.28)}

/* sezioni */
.gd-sezione{padding-block:clamp(44px,6vw,66px)!important}
.gd-riga{border-top:1px solid var(--gd-linea)}
.gd-fascia{background:var(--gd-pannello); border-block:1px solid var(--gd-linea)}
.gd-testo-2,.gd-testo-2 p{color:var(--gd-testo-2)}

/* schede in griglia: colonne con la classe gd-cards */
.gd-cards{gap:1px!important; background:var(--gd-linea); border:1px solid var(--gd-linea); margin-top:1.8rem!important}
.gd-cards>.wp-block-column{background:var(--gd-pannello); padding:26px 24px; margin:0!important}
.gd-cards>.wp-block-column::before{content:""; display:block; width:26px; height:3px; background:var(--gd-grad); margin-bottom:15px}
.gd-cards>.wp-block-column p{font-size:.94rem; color:var(--gd-testo-2)}
.gd-cards>.wp-block-column h3{margin-top:0}
.gd-cards a{text-decoration:none; font-size:.86rem; font-weight:500}

/* passaggi numerati: colonne con la classe gd-steps (l'ordine è un vero processo) */
.gd-steps{counter-reset:passo; margin-top:1.8rem!important; gap:26px!important}
.gd-steps>.wp-block-column{padding-top:18px; border-top:2px solid var(--gd-linea); counter-increment:passo}
.gd-steps>.wp-block-column:nth-child(1){border-top-color:var(--wp--preset--color--blu)}
.gd-steps>.wp-block-column:nth-child(2){border-top-color:var(--wp--preset--color--ciano)}
.gd-steps>.wp-block-column:nth-child(3){border-top-color:var(--wp--preset--color--lime)}
.gd-steps>.wp-block-column:nth-child(4){border-top-color:var(--wp--preset--color--verde)}
.gd-steps>.wp-block-column::before{content:counter(passo,decimal-leading-zero); font-family:var(--gd-mono); font-size:.74rem; color:var(--gd-testo-3); letter-spacing:.1em}
.gd-steps h3{margin:8px 0 6px} .gd-steps p{font-size:.93rem; color:var(--gd-testo-2)}

/* due/tre riquadri affiancati */
.gd-split{gap:1px!important; background:var(--gd-linea); border:1px solid var(--gd-linea); margin-top:1.8rem!important}
.gd-split>.wp-block-column{background:var(--gd-pannello); padding:32px 28px; margin:0!important}
.gd-split p,.gd-split li{color:var(--gd-testo-2); font-size:.95rem}

/* elenco con trattino colorato */
.gd-lista{list-style:none; padding:0!important; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:0 40px; margin-top:1.4rem!important}
.gd-lista li{color:var(--gd-testo-2); padding:12px 0 12px 24px; border-bottom:1px solid var(--gd-linea); position:relative; font-size:.95rem}
.gd-lista li::before{content:""; position:absolute; left:0; top:22px; width:11px; height:2px; background:var(--gd-grad)}

/* riquadro di avvertenza */
.gd-warn{background:var(--gd-pannello); border:1px solid var(--gd-linea); border-left:3px solid var(--wp--preset--color--lime); padding:22px 24px!important; margin-top:1.8rem!important}
.gd-warn p{color:var(--gd-testo-2); margin:0; max-width:68ch}
.gd-warn strong{color:var(--gd-testo)}

/* frase forte */
.gd-stmt{font-family:var(--gd-titoli); font-size:clamp(1.3rem,2.7vw,1.95rem)!important; font-weight:600; line-height:1.26; max-width:24ch}

/* etichetta lime */
.gd-tag{display:inline-block; font-family:var(--gd-mono); font-size:.72rem!important; letter-spacing:.12em; text-transform:uppercase; color:var(--wp--preset--color--lime); border:1px solid rgba(199,229,44,.3); padding:6px 12px}

/* tabelle */
.wp-block-table{overflow-x:auto}
.wp-block-table table{border-collapse:collapse; min-width:560px; font-size:.93rem}
.wp-block-table th{font-family:var(--gd-titoli); font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gd-testo-3); text-align:left; padding:0 16px 12px 0; border:0; border-bottom:1px solid var(--gd-linea-2)}
.wp-block-table td{padding:15px 16px 15px 0; border:0; border-bottom:1px solid var(--gd-linea); color:var(--gd-testo-2); vertical-align:top}
.wp-block-table td:first-child{color:var(--gd-testo); font-weight:600}

/* domande frequenti (blocco Dettagli) */
.wp-block-details{border-bottom:1px solid var(--gd-linea); padding:18px 0}
.wp-block-details summary{font-family:var(--gd-titoli); font-weight:600; font-size:1.03rem; cursor:pointer}
.wp-block-details p{color:var(--gd-testo-2); margin:12px 0 0; max-width:64ch}

/* prima e dopo */
.gd-confronto{gap:22px!important; margin-top:1.8rem!important}
.gd-confronto>.wp-block-column{border:1px solid var(--gd-linea); background:var(--gd-pannello)}
.gd-confronto>.wp-block-column>*{margin-inline:20px}
.gd-confronto>.wp-block-column>.wp-block-image,.gd-confronto>.wp-block-column>.gd-foto-vuota{margin:0}
.gd-male{border-top:3px solid #E0583A!important} .gd-bene{border-top:3px solid var(--wp--preset--color--verde)!important}
.gd-foto-vuota{aspect-ratio:3/4; display:grid; place-items:center; text-align:center; padding:20px;
  background:repeating-linear-gradient(135deg,var(--gd-pannello) 0 14px,var(--gd-pannello-2) 14px 28px)}
.gd-foto-vuota p{font-family:var(--gd-mono); font-size:.78rem; color:var(--gd-testo-3); letter-spacing:.06em}
.gd-confronto ul{color:var(--gd-testo-2); font-size:.93rem; padding-bottom:18px}
.gd-confronto .wp-block-image img{aspect-ratio:3/4; object-fit:cover; object-position:top; width:100%}

/* PDF da scaricare */
.gd-pdf{border:1px solid var(--gd-linea-2); background:var(--gd-pannello); padding:22px 24px!important; margin-top:1.8rem!important; gap:22px!important}
.gd-pdf p{color:var(--gd-testo-2); margin:4px 0 0}

/* chiusura e piè di pagina */
.gd-final{border-top:1px solid var(--gd-linea); position:relative}
.gd-final::before{content:""; position:absolute; top:-1px; left:0; right:0; height:2px; background:var(--gd-grad)}
.gd-footer{border-top:1px solid var(--gd-linea); color:var(--gd-testo-3); font-size:.86rem}
.gd-footer strong{color:var(--gd-testo-2)}
.gd-footer a{color:var(--gd-testo-2)}
/* telefono ed e-mail nel piè di pagina: area di tocco di almeno 24 px sul telefono (PageSpeed «touch target») */
.gd-footer p a[href^="tel:"],.gd-footer p a[href^="mailto:"]{display:inline-block; padding-block:6px; min-height:24px}

/* news */
.gd-news .wp-block-post{border-top:2px solid var(--gd-linea-2); padding-top:16px}
.gd-news .wp-block-post-date{font-family:var(--gd-mono); font-size:.74rem; color:var(--gd-testo-3); letter-spacing:.08em}
.gd-news .wp-block-post-title a{text-decoration:none; color:var(--gd-testo)}
.gd-news .wp-block-post-excerpt{color:var(--gd-testo-2); font-size:.94rem}
.gd-articolo .wp-block-post-content p,.gd-articolo .wp-block-post-content li{color:#d6e0e7}

@media (max-width:781px){ .gd-cards>.wp-block-column,.gd-split>.wp-block-column{flex-basis:100%!important} }
@media (prefers-reduced-motion:reduce){ *:not(.gd-scorre-binario){transition:none!important; animation:none!important} html{scroll-behavior:auto} }

/* 11/10 dopo la prima prova: le schede vanno a capo (le colonne di WordPress le mettono tutte su una riga)
   e i testi stretti restano allineati a sinistra invece di centrarsi */
.wp-block-columns.gd-cards{display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.wp-block-columns.gd-cards-3{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.wp-block-columns.gd-split{display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.wp-block-columns.gd-steps{display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.wp-block-columns.gd-confronto{display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.is-layout-constrained>.gd-lead,.is-layout-constrained>.gd-testo-2,.is-layout-constrained>.gd-stmt,
.is-layout-constrained>.gd-warn,.is-layout-constrained>.gd-eyebrow{margin-left:max(0px,calc((100% - 1140px) / 2))!important}
/* nell'articolo la colonna è stretta (720 px): etichetta «News» e data allineate al testo, non alla griglia larga */
.gd-articolo.is-layout-constrained>.gd-eyebrow{margin-left:auto!important; margin-right:auto!important; width:100%; max-width:var(--wp--style--global--content-size)}
.gd-warn>p,.gd-warn>.wp-block-paragraph{margin-left:0!important; max-width:72ch}

/* disegni della Security Box: su fondo chiaro come nel PDF */
.gd-schema{background:#F2F7FB; border:1px solid #D6E2EC; border-radius:6px; padding:18px; margin-top:1.6rem!important}
.gd-schema img{width:100%; height:auto; display:block}
.gd-schema figcaption{color:#4a5a69!important; font-size:.85rem; text-align:center; margin-top:10px}
/* inviti all'azione */
.gd-cta>.wp-block-column{padding:30px 28px}
.gd-cta :is(h2,h3){font-size:1.4rem!important; font-weight:600; margin:.2rem 0 .4rem}
/* sottomenu */
.gd-header .wp-block-navigation__submenu-container{background:var(--gd-pannello)!important; border:1px solid var(--gd-linea)!important; padding:6px 0}
.gd-header .wp-block-navigation__submenu-container a{padding:8px 16px!important}
.gd-fascia{padding-inline:clamp(18px,3vw,32px)!important}

/* pulsante «torna su»: compare dopo un po' di scorrimento (classe messa da functions.php) */
.gd-su{position:fixed; right:18px; bottom:calc(84px + env(safe-area-inset-bottom,0px)); z-index:60; width:46px; height:46px;
  display:grid; place-items:center; border-radius:50%; background:var(--gd-pannello-2); border:1px solid var(--gd-linea-2);
  color:var(--gd-testo)!important; text-decoration:none; font-size:1.3rem; opacity:0; pointer-events:none; transition:opacity .2s ease}
.gd-su:hover{border-color:var(--wp--preset--color--ciano)}
.gd-su.visibile{opacity:1; pointer-events:auto}
/* recensioni */
.gd-stelle{color:#F5B301; font-size:1.4rem; letter-spacing:.12em}
.gd-recensioni-widget{border:1px dashed var(--gd-linea-2); padding:26px; margin-top:1.4rem; text-align:center; color:var(--gd-testo-3)}

/* ── 11/10 sera: sottomenu leggibile ── */
.gd-header .wp-block-navigation.has-background{background:transparent!important}
.gd-header .wp-block-navigation.has-background .wp-block-navigation-item>a{padding:.3em 0}
.gd-header .wp-block-navigation .wp-block-navigation__submenu-container{background:var(--gd-pannello)!important; color:var(--gd-testo)!important;
  border:1px solid var(--gd-linea-2)!important; border-radius:6px; padding:6px 0!important; box-shadow:0 14px 34px rgba(0,0,0,.45); min-width:220px!important}
.gd-header .wp-block-navigation .wp-block-navigation__submenu-container a{color:var(--gd-testo-2)!important; padding:9px 18px!important; display:block}
.gd-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover{color:var(--gd-testo)!important; background:var(--gd-pannello-2)}
.gd-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--gd-fondo)!important; color:var(--gd-testo)!important}
.gd-header .wp-block-navigation__responsive-container.is-menu-open a{color:var(--gd-testo)!important; font-size:1.1rem}
/* ── menu mobile (overlay APERTO): voci in colonna a tutta larghezza, sottomenu in linea e sempre visibili ── */
.gd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{width:100%!important; max-width:100%!important; margin:0!important; padding:0 18px!important; box-sizing:border-box!important; align-items:stretch!important; justify-content:flex-start!important; transform:none!important}
.gd-header .is-menu-open .wp-block-navigation__container{flex-direction:column!important; flex-wrap:nowrap!important; justify-content:flex-start!important; align-items:stretch!important; gap:2px!important; width:100%!important; max-width:100%!important; margin:0!important; padding:0!important; box-sizing:border-box!important}
.gd-header .is-menu-open .wp-block-navigation-item{width:100%!important; max-width:100%!important; margin:0!important; text-align:left!important}
.gd-header .is-menu-open .wp-block-navigation-item>a,
.gd-header .is-menu-open .wp-block-navigation-item>.wp-block-navigation-submenu__toggle{font-size:1.15rem!important; padding:12px 4px!important; width:100%!important; box-sizing:border-box!important; text-align:left!important; justify-content:flex-start!important; margin:0!important}
.gd-header .is-menu-open .wp-block-navigation__submenu-container{position:static!important; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; min-width:0!important; width:100%!important; max-width:100%!important; padding:0!important; margin:0!important; opacity:1!important; visibility:visible!important; transform:none!important; left:auto!important; top:auto!important}
.gd-header .is-menu-open .wp-block-navigation__submenu-container a{color:var(--gd-testo-2)!important; font-size:1rem!important; padding:10px 4px 10px 22px!important; width:100%!important; box-sizing:border-box!important; text-align:left!important; justify-content:flex-start!important; margin:0!important; display:block!important}
.gd-header .is-menu-open .wp-block-navigation__submenu-icon{display:none!important}

/* ── sezioni alternate: stesso blu, una tonalità più chiara (tema unico, niente bande bianche) ── */
.gd-chiaro{background:linear-gradient(180deg,rgba(24,43,73,.72),rgba(17,32,58,.72)); border-block:1px solid var(--gd-linea)}
.gd-chiaro :is(.gd-cards,.gd-split)>.wp-block-column,.gd-chiaro .gd-confronto>.wp-block-column{background:var(--gd-fondo)}
.gd-chiaro .gd-warn{background:var(--gd-fondo)}

/* ── rete animata nell'apertura (disegnata da functions.php) ── */
.gd-hero>canvas.gd-rete{position:absolute; inset:0; width:100%; height:100%; opacity:.6; pointer-events:none; z-index:0}
.gd-hero>*:not(canvas){position:relative; z-index:1}
/* stessa rete animata, più tenue, come sfondo di una sezione (si ferma quando esce dallo schermo) */
.gd-rete-sfondo{position:relative; overflow:hidden}
.gd-rete-sfondo>canvas.gd-rete{position:absolute; inset:0; width:100%; height:100%; opacity:.28; pointer-events:none; z-index:0}
.gd-rete-sfondo>*:not(canvas){position:relative; z-index:1}
/* rete tenue nelle sezioni di contenuto: sotto il testo, non sposta nulla (il canvas non conta come primo figlio) */
.gd-rete-tenue{position:relative; overflow:hidden}
.gd-rete-tenue>canvas.gd-rete{position:absolute; inset:0; width:100%!important; max-width:none!important; height:100%; margin:0!important; opacity:.28; pointer-events:none; z-index:0}
.gd-rete-tenue>*:not(canvas){position:relative; z-index:1}
.gd-rete-tenue>canvas.gd-rete+*{margin-block-start:0!important}

/* social e foto accanto al testo */
.gd-social{gap:14px!important; margin-top:.6rem!important}
.gd-social .wp-social-link{color:var(--gd-testo-2)!important; font-size:22px}
.gd-social .wp-social-link:hover{color:var(--wp--preset--color--ciano)!important}
.wp-block-columns.gd-affianco{display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); gap:36px!important; align-items:center}
.gd-affianco .gd-foto-vuota,.gd-affianco .wp-block-image img{aspect-ratio:4/3; width:100%; object-fit:cover; border-radius:4px}
.wp-block-social-links.gd-social{font-size:28px}
.gd-affianco .wp-block-image.gd-quadrata img{aspect-ratio:1/1; max-width:520px; margin-inline:auto}
/* foto verticali (armadi rack, PC): non si tagliano in orizzontale */
.gd-affianco .wp-block-image.gd-verticale img{aspect-ratio:3/4; max-width:400px; margin-inline:auto; display:block}
/* pagine legali: testo da leggere, titoli più piccoli */
.gd-legale h2{font-size:1.35rem!important; margin-top:2.2rem!important}
.gd-legale p,.gd-legale li{color:var(--gd-testo-2)}
.gd-legale>*{margin-left:max(0px,calc((100% - 1140px) / 2))!important; max-width:760px}

/* ── recensioni che scorrono (functions.php duplica le schede e aggiunge il pulsante Ferma) ── */
.gd-scorre{position:relative; overflow:hidden; margin-top:1.8rem!important;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.gd-scorre>.gd-scorre-binario{display:flex!important; flex-wrap:nowrap; gap:20px; width:max-content!important; max-width:none!important; margin:0!important;
  animation:gd-scorri var(--gd-durata,60s) linear infinite}
.gd-scorre:hover .gd-scorre-binario,.gd-scorre:focus-within .gd-scorre-binario,.gd-scorre.fermo .gd-scorre-binario{animation-play-state:paused}
@keyframes gd-scorri{to{transform:translateX(calc(-50% - 10px))}}
.gd-scorre-binario>.gd-rec{flex:0 0 340px; width:340px; max-width:340px!important; margin:0!important; background:var(--gd-pannello); border:1px solid var(--gd-linea); border-radius:6px; padding:22px 24px}
.gd-rec p{font-size:.94rem; color:var(--gd-testo-2); margin:0 0 .7rem}
.gd-rec .gd-stelle{font-size:1.05rem}
.gd-rec p.gd-rec-nome{font-family:var(--gd-titoli); color:var(--gd-testo); margin:0}
.gd-scorre-pausa{display:block; margin:12px 0 0 auto; background:transparent; color:var(--gd-testo-2); border:1px solid var(--gd-linea-2); border-radius:4px; padding:4px 12px; font:inherit; font-size:.8rem; cursor:pointer}
/* chi ha chiesto meno animazioni (Windows le spegne spesso da solo): scorre lo stesso ma a metà velocità, e c'è sempre «Ferma» */
@media (prefers-reduced-motion: reduce){ .gd-scorre>.gd-scorre-binario{animation-duration:calc(var(--gd-durata,60s) * 2)} }

/* mappa della sede */
.gd-mappa img{width:100%; height:auto; border:1px solid var(--gd-linea); border-radius:6px; aspect-ratio:1400/560; object-fit:cover}
@media (max-width:600px){ .gd-mappa img{aspect-ratio:4/3} }

/* ── modulo contatti ── */
.gd-modulo{display:grid; gap:16px; max-width:760px; margin-top:1.6rem; margin-left:max(0px,calc((100% - 1140px) / 2))!important}
.gd-modulo .gd-campi{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:16px}
.gd-modulo label{display:grid; gap:6px; font-size:.88rem; color:var(--gd-testo-2)}
.gd-modulo :is(input,select,textarea){width:100%; box-sizing:border-box; font:inherit; font-size:1rem; color:var(--gd-testo); background:var(--gd-fondo);
  border:1px solid var(--gd-linea-2); border-radius:4px; padding:11px 12px}
.gd-modulo :is(input,select,textarea):focus{outline:2px solid var(--wp--preset--color--ciano); outline-offset:1px; border-color:transparent}
.gd-modulo textarea{resize:vertical; min-height:140px}
.gd-modulo select{color-scheme:dark}
.gd-modulo .gd-trappola{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}
.gd-modulo-nota{font-size:.82rem; color:var(--gd-testo-3); margin:0}
.gd-modulo button.wp-block-button__link{border:0; cursor:pointer; font:inherit; font-weight:600}
.gd-esito{padding:14px 16px; border-radius:4px; margin:0; border:1px solid}
.gd-esito.ok{border-color:var(--wp--preset--color--verde); background:rgba(60,184,92,.12); color:var(--gd-testo)}
.gd-esito.ko{border-color:#E0583A; background:rgba(224,88,58,.12); color:var(--gd-testo)}

/* pulsante WhatsApp fisso (in basso a destra) */
.gd-wa{position:fixed; right:18px; bottom:18px; z-index:60; width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; background:#25D366; color:#fff; text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.35); transition:transform .18s ease}
.gd-wa:hover{transform:scale(1.08); color:#fff}

/* ══ MOVIMENTO E VITA (13/10): effetti leggeri, zero librerie, rispettano prefers-reduced-motion ══ */

/* micro-interazione sui 9 riquadri servizi: l'accento si "accende" (niente lift: sono una griglia connessa) */
.gd-cards>.wp-block-column{transition:background .25s ease}
.gd-cards>.wp-block-column h3{transition:color .25s ease}
.gd-cards>.wp-block-column::before{transition:width .25s ease}
.gd-cards>.wp-block-column:hover{background:var(--gd-pannello-2)}
.gd-cards>.wp-block-column:hover h3{color:var(--wp--preset--color--ciano)}
.gd-cards>.wp-block-column:hover::before{width:54px}

/* comparsa dolce allo scroll: la classe .gd-reveal la aggiunge il JS (functions.php); senza JS resta tutto visibile */
.gd-reveal{opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1)}
.gd-reveal.gd-in{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){ .gd-reveal{opacity:1!important; transform:none!important; transition:none!important} }
