/*
Theme Name: Maschile Sostenibile
Template: blocksy
Version: 1.3.16
Description: Tema child di Blocksy per Maschile Sostenibile.
Text Domain: maschile-sostenibile
*/

:root {
	--ms-foresta: #2E4A3B; --ms-foresta-scuro: #1E3128;
	--ms-argilla: #A5492E; --ms-argilla-scuro: #8A3B24;
	--ms-ink: #22271F; --ms-testo: #3A4236; --ms-testo-2: #4A5445;
	--ms-crema: #F6F2EA; --ms-sabbia: #EFE7DA; --ms-salvia: #E3E8DA; --ms-carta: #FFFDF8;
	--ms-bordo: #D9CFBC; --ms-linea: #E2D9C8; --ms-chip: #EADFCB;
	--ms-barra: var(--ms-foresta); /* barra del menu su desktop */
	--ms-serif: 'Fraunces', Georgia, serif;
	--ms-sans: 'Nunito Sans', system-ui, sans-serif;
	--ms-pad-y: clamp(64px, 9vw, 120px);
	--ms-radius: 20px;
}

html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
:focus-visible { outline: 3px solid var(--ms-argilla) !important; outline-offset: 3px; border-radius: 4px; }
a { text-underline-offset: 3px; }

/* Header fisso senza Blocksy Pro. Con Pro: rimuovi e usa Header > Sticky. */
#header { position: sticky; top: 0; z-index: 50; }

/* Header: simbolo + nome (testo, H1 in Home) al centro nella riga di mezzo; menu nella riga sotto,
   in una barra larga come il contenuto, attaccata alla foto dell'hero. Quando la pagina scorre la barra
   si allarga a tutta la pagina, come le fasce delle sezioni */
body[data-header*="type-1"] .ct-header [data-id="logo"] .site-title { --theme-font-family: var(--ms-serif); --theme-font-weight: 600; --theme-font-size: 30px; --theme-line-height: 1.1; --theme-letter-spacing: -.01em; --theme-link-initial-color: var(--ms-foresta-scuro); --theme-link-hover-color: var(--ms-foresta-scuro); margin: 0; }
body[data-header*="type-1"] .ct-header [data-id="logo"] .site-title em { font-style: italic; color: var(--ms-argilla); }
body[data-header*="type-1"] .ct-header [data-id="logo"] { --logo-max-height: 52px; --logo-spacing: 12px; }
@media (max-width: 999.98px) {
	body[data-header*="type-1"] .ct-header [data-id="logo"] { --logo-max-height: 40px; --logo-spacing: 10px; }
}
@media (min-width: 1000px) {
	/* la riga del logo scorre via, la barra del menu resta in alto */
	#header { top: -84px; }
	html { scroll-padding-top: 76px; }
	body[data-header*="type-1"] .ct-header [data-device="desktop"] [data-row*="middle"] { --height: 84px; background: var(--ms-crema); border: 0; box-shadow: none; }
	body[data-header*="type-1"] .ct-header [data-device="desktop"] [data-row*="bottom"] { --height: 60px; background: var(--ms-crema); border: 0; box-shadow: none; }
	body[data-header*="type-1"] .ct-header [data-device="desktop"] [data-row*="bottom"] > .ct-container { background: var(--ms-barra); border-radius: var(--ms-radius) var(--ms-radius) 0 0; justify-content: center; }
	/* Pagina scorsa (dopo i 84px della riga del logo): la riga sotto la barra prende il colore della barra e gli
	   angoli tondi spariscono. Animazione legata allo scorrimento: dove non c'è (Firefox) la barra resta com'è */
	@supports (animation-timeline: scroll()) {
		body[data-header*="type-1"] .ct-header [data-device="desktop"] [data-row*="bottom"] { animation: ms-barra-riga linear both; animation-timeline: scroll(root); animation-range: 60px 84px; }
		body[data-header*="type-1"] .ct-header [data-device="desktop"] [data-row*="bottom"] > .ct-container { animation: ms-barra-angoli linear both; animation-timeline: scroll(root); animation-range: 60px 84px; }
	}
	body[data-header*="type-1"] .ct-header [data-row*="bottom"] [data-id="menu"] { --menu-items-spacing: clamp(10px, 1.7vw, 28px); }
	/* i colori del menu Blocksy li imposta sul link: vanno ridefiniti lì */
	body[data-header*="type-1"] .ct-header [data-row*="bottom"] [data-id="menu"] > ul > li > a { --theme-link-initial-color: var(--ms-crema); --theme-link-hover-color: #fff; --theme-link-active-color: #fff; font: 700 clamp(12px, 1.05vw, 14px)/1 var(--ms-sans); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
	body[data-header*="type-1"] .ct-header [data-row*="bottom"] [data-id="menu"] > ul > li { position: relative; }
	body[data-header*="type-1"] .ct-header [data-row*="bottom"] [data-id="menu"] > ul > li + li::before { content: ""; position: absolute; left: 0; top: 50%; height: 16px; margin-top: -8px; border-left: 1px solid rgba(246, 242, 234, .35); }
}
@keyframes ms-barra-riga { to { background: var(--ms-barra); box-shadow: 0 1px 0 rgba(0, 0, 0, .08); } }
@keyframes ms-barra-angoli { to { border-radius: 0; } }
/* Pulsante del menu sul telefono: l'icona resta di 18px, l'area da toccare diventa 44 × 44px.
   Il margine negativo tiene l'icona dov'era */
body[data-header*="type-1"] .ct-header .ct-header-trigger { --toggle-button-size: 44px; --margin: 0 -13px 0 -3px; }
/* Menu del telefono (pannello di Blocksy): verde foresta come la barra del menu su desktop, righe sottili fra le voci */
body[data-header*="type-1"] #offcanvas .ct-panel-inner { background-color: var(--ms-foresta); }
body[data-header*="type-1"] #offcanvas .mobile-menu ul li + li { border-top: 1px solid rgba(246, 242, 234, .15); }
/* Voci del menu che portano a una sezione (/#cose, /#bio…): in Home WordPress le segna tutte come pagina corrente
   e Blocksy le colora come voce attiva. Restano del colore normale; il colore al passaggio del mouse resta */
nav[class*="menu"] li[class*="current-menu-"] > a[href*="#"] { color: var(--theme-link-initial-color); }
nav[class*="menu"] li[class*="current-menu-"] > a[href*="#"]:hover { color: var(--theme-link-hover-color); }
/* Logo su una riga sui telefoni (Blocksy lo imposta a 30px su tutti i dispositivi) */
@media (max-width: 689.98px) {
	body[data-header*="type-1"] .ct-header [data-id="logo"] .site-title { --theme-font-size: clamp(18px, 5.6vw, 22px); white-space: nowrap; }
}

/* Sezioni */
.ms-section { padding: var(--ms-pad-y) 24px; margin-block: 0 !important; }
/* Cos'è segue l'hero: meno spazio sopra */
.ms-section#cose { padding-top: clamp(40px, 5vw, 72px); }
.ms-bg-salvia { background: var(--ms-salvia); }
.ms-bg-sabbia { background: var(--ms-sabbia); }
.ms-bg-foresta { background: var(--ms-foresta); color: #DCE3D3; }
.ms-bg-carta { background: var(--ms-carta); border-bottom: 1px solid var(--ms-linea); }
.ms-colonne { gap: clamp(24px, 4vw, 48px) !important; }
/* Intestazioni delle sezioni (Percorso, Cosa offriamo, Chi siamo): titolo e testo partono alla stessa altezza */
.ms-intestazione { align-items: flex-start !important; margin-bottom: clamp(32px, 5vw, 56px) !important; }

/* Tipografia */
.ms-eyebrow { font: 600 14px/1.4 var(--ms-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ms-argilla); margin: 0 0 16px !important; }
.ms-bg-salvia .ms-eyebrow, .ms-bg-sabbia .ms-eyebrow { color: var(--ms-argilla-scuro); }
.ms-bg-foresta .ms-eyebrow, .ms-footer .ms-eyebrow { color: #E8C4B0; }
.ms-h1, .ms-h2, .ms-h3, .ms-lead, .ms-logo { font-family: var(--ms-serif); color: var(--ms-foresta-scuro); }
.ms-h1 { font-weight: 600; font-size: clamp(44px, 7vw, 84px); line-height: 1.02; letter-spacing: -.02em; margin: 0; }
.ms-h1 em { font-style: italic; font-weight: 600; color: var(--ms-foresta); }
.ms-h2 { font-weight: 600; font-size: clamp(34px, 4.6vw, 56px); line-height: 1.08; letter-spacing: -.015em; text-wrap: balance; margin: 0 0 clamp(24px, 4vw, 48px); }
/* margine 0 solo se il titolo chiude la colonna: in Newsletter/Contatti segue un paragrafo */
.ms-intestazione .ms-h2, .ms-section .wp-block-column > .ms-h2:last-child { margin-bottom: 0; }
.ms-section .wp-block-column > .ms-h2:not(:last-child) { margin-bottom: 24px; }
.ms-bg-foresta .ms-h2 { color: var(--ms-carta); }
.ms-h3 { font-weight: 600; font-size: clamp(26px, 3vw, 32px); line-height: 1.2; margin: 0; }
.ms-lead { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.45; color: #2B3327; }
.ms-intro { font-size: clamp(18px, 2vw, 21px); line-height: 1.6; color: var(--ms-testo-2); max-width: 560px; }
.ms-bg-foresta .ms-intro { color: #DCE3D3; }
.ms-muted { color: var(--ms-testo-2); }
.ms-ruolo { font-size: 15px; font-weight: 600; letter-spacing: .04em; color: var(--ms-argilla-scuro); margin: 0 !important; }
.ms-piccolo { font-size: 14px; line-height: 1.55; color: #56604F; }
.ms-nota { padding-top: 20px; border-top: 1px solid var(--ms-linea); }
.ms-link a { font-weight: 600; color: var(--ms-foresta); }
.ms-link a:hover { color: var(--ms-argilla); }

/* Card */
.ms-card { background: var(--ms-carta); border-radius: var(--ms-radius); padding: clamp(28px, 4vw, 48px); display: flex; flex-direction: column; gap: 20px; height: 100%; color: var(--ms-testo); }
.ms-card > * { margin: 0 !important; }
.ms-card--bordo { border: 1px solid var(--ms-bordo); padding: 32px; }
.ms-card .ms-link, .ms-card .wp-block-buttons { margin-top: auto !important; }
.ms-card[class*="ms-icona"]::before { content: ""; width: 56px; height: 56px; border-radius: 50%; flex: none; }
.ms-icona-cerchio::before { background: radial-gradient(circle, transparent 11px, var(--ms-foresta) 11.5px 14px, transparent 14.5px), var(--ms-salvia); }
.ms-icona-due::before { background: radial-gradient(circle at 22px 28px, transparent 7px, var(--ms-argilla-scuro) 7.5px 10px, transparent 10.5px), radial-gradient(circle at 34px 28px, transparent 7px, var(--ms-argilla-scuro) 7.5px 10px, transparent 10.5px), var(--ms-chip); }
.ms-icona-punto::before { background: radial-gradient(circle, var(--ms-foresta) 6px, transparent 6.5px 13px, var(--ms-foresta) 13.5px 15px, transparent 15.5px), var(--ms-salvia); }

/* Percorso 2026-27 */
.ms-fatti { gap: 0 24px !important; margin-bottom: clamp(40px, 6vw, 72px) !important; }
/* auto-fit: i 4 dati occupano tutta la larghezza (la griglia core usa auto-fill e lascia una 5ª colonna vuota) */
.wp-block-group.ms-fatti { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }
.ms-fatto { padding: 20px 0; border-top: 1.5px solid var(--ms-foresta); display: flex; flex-direction: column; gap: 4px; }
.ms-fatto > * { margin: 0 !important; }
.ms-fatto-num { font: 600 clamp(28px, 3vw, 36px)/1.1 var(--ms-serif); color: var(--ms-foresta-scuro); }
.ms-fatto-txt { font-size: 15px; color: var(--ms-testo-2); }
.ms-mb { margin-bottom: 20px !important; }
.ms-programma { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--ms-linea); counter-reset: ms; }
.ms-programma li { counter-increment: ms; display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: baseline; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--ms-linea); font-weight: 600; line-height: 1.5; color: #2B3327; }
.ms-programma li::before { content: counter(ms, decimal-leading-zero); font: 600 22px var(--ms-serif); color: var(--ms-argilla); }
.ms-card--scura { background: var(--ms-foresta); color: #DCE3D3; height: auto; gap: 14px; margin-bottom: 20px !important; }
.ms-card--scura .ms-h3 { color: var(--ms-carta); }
.ms-card--crema { background: var(--ms-crema); border: 1px solid var(--ms-bordo); height: auto; gap: 14px; margin-bottom: 20px !important; }

.ms-card--scura .wp-block-buttons, .ms-card--crema .wp-block-buttons { margin-top: 6px !important; }

/* Pagina Percorso 2026-27 */
.ms-formato { gap: 20px !important; }
.ms-formato .ms-h3 { font-size: clamp(22px, 2.2vw, 26px); }
.ms-sessioni { counter-reset: sessione; border-top: 1px solid var(--ms-bordo); }
.ms-sessione { counter-increment: sessione; display: grid; grid-template-columns: 56px 1fr; gap: 6px 16px; padding: 28px 0; border-bottom: 1px solid var(--ms-bordo); margin: 0 !important; }
.ms-sessione::before { content: counter(sessione, decimal-leading-zero); grid-row: 1 / span 3; font: 600 28px/1.1 var(--ms-serif); color: var(--ms-argilla-scuro); }
.ms-sessione > * { grid-column: 2; margin: 0 !important; }
.ms-sessione .ms-h3 { font-size: clamp(22px, 2.4vw, 26px); }
.ms-sessione-data { font-size: 15px; font-weight: 600; letter-spacing: .04em; color: var(--ms-argilla-scuro); }
.ms-sessione .ms-segnaposto { margin-top: 8px !important; }
/* Telefono: numero accanto a data e titolo, descrizione su tutta la larghezza e un po' più piccola */
@media (max-width: 599.98px) {
	.ms-sessione { grid-template-columns: 44px 1fr; }
	.ms-sessione::before { grid-row: 1 / span 2; font-size: 24px; }
	.ms-sessione > p:not(.ms-sessione-data) { grid-column: 1 / -1; margin-top: 6px !important; font-size: 16px; }
}

/* Testi lunghi (Privacy e cookie): colonna leggibile e titoli proporzionati */
/* a sinistra, allineata al titolo: stesso bordo del contenitore Blocksy */
.ms-legale { max-width: 760px; margin-left: calc((100% - min(var(--theme-normal-container-max-width, 1200px), var(--theme-container-edge-spacing, 90vw))) / 2) !important; }
/* titolo della pagina (Blocksy, h1): grande come i titoli di sezione della Home, non più piccolo degli h2 del testo */
.entry-header .page-title { font-size: clamp(36px, 4.6vw, 52px) !important; line-height: 1.08 !important; letter-spacing: -.015em; }
.ms-legale h2 { font-size: clamp(26px, 3vw, 32px); line-height: 1.2; margin: 48px 0 16px; }
.ms-legale h3 { font-size: 22px; line-height: 1.3; margin: 32px 0 8px; }
.ms-legale ul { padding-left: 1.2em; }

/* Liste */
.ms-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ms-chips li { margin: 0; padding: 6px 14px; border-radius: 999px; background: var(--ms-chip); color: #4A2A1C; font-size: 15px; font-weight: 600; }
.ms-voci { list-style: none; padding: 0; border-top: 1px solid var(--ms-linea); }
.ms-voci li { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--ms-linea); display: flex; gap: 10px; align-items: center; font-weight: 600; color: #2B3327; }
.ms-voci li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ms-argilla); flex: none; }
/* Pagina Risorse: un elenco per parte; ogni voce ha titolo (link o corsivo), autore e una riga di commento dopo l'a capo */
.ms-risorse { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--ms-linea); }
.ms-risorse li { margin: 0; padding: 16px 0; border-bottom: 1px solid var(--ms-linea); line-height: 1.55; }
.ms-risorse li > a:first-child, .ms-risorse li > em:first-child { font-weight: 600; color: var(--ms-foresta-scuro); }
.ms-risorse li > a:first-child:hover { color: var(--ms-argilla); }
/* Da computer il titolo della parte resta fermo mentre scorre un elenco lungo (sotto la barra del menu fissa) */
@media (min-width: 1000px) {
	.ms-section .wp-block-column:has(+ .wp-block-column > .ms-risorse) { position: sticky; top: 100px; align-self: flex-start; }
}
/* Pagine che finiscono con una sezione colorata: niente striscia bianca sopra il footer.
   Blocksy aggiunge 60px sotto il contenuto delle pagine nuove; la Privacy, che finisce con del testo, li tiene */
[data-vertical-spacing*="bottom"]:has(.entry-content > .ms-section:last-child, .entry-content > .ms-section + p:empty:last-child) { padding-bottom: 0 !important; }
/* Domande frequenti (blocco Dettagli con la classe ms-faq): si apre con un clic, + e − in magenta */
.ms-faq { margin: 0 !important; border-bottom: 1px solid var(--ms-linea); }
.ms-faq:first-child { border-top: 1px solid var(--ms-linea); }
.ms-faq > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 18px 0; font-weight: 600; font-size: 18px; line-height: 1.4; color: var(--ms-foresta-scuro); }
.ms-faq > summary::-webkit-details-marker { display: none; }
.ms-faq > summary::after { content: "+"; flex: none; font-size: 26px; line-height: 1; color: var(--ms-argilla); }
.ms-faq[open] > summary::after { content: "−"; }
.ms-faq > summary:hover { color: var(--ms-argilla); }
.ms-faq > :not(summary) { margin: 0 0 20px !important; }

/* Citazioni (blocco Citazione): bordo nel colore dell'identità (Blocksy usa il colore 1 della sua palette,
   rimasto quello della grafica di prima), testo in corsivo, firma piccola sotto. Solo sulle fasce chiare */
.ms-section .wp-block-quote { margin-block: 28px; max-width: 46em; }
.ms-section .wp-block-quote:where(:not(.is-style-plain)) { border-inline-start: 4px solid var(--ms-argilla); padding-inline-start: 1.25em; }
.ms-section .wp-block-quote p { font-style: italic; font-size: 1.08em; line-height: 1.55; color: var(--ms-ink); }
.ms-section .wp-block-quote cite { display: block; margin-top: 8px; font-style: normal; font-size: 14px; color: var(--ms-testo-2); }

/* Immagini */
.ms-hero { padding-bottom: 0; margin-top: 0 !important; }
.ms-hero-img { margin: 0 !important; }
/* figure.wp-block-image: batte la regola core .wp-block-image.alignfull img { height: auto } */
/* !important: batte anche lo stile in linea (height: auto) che l'editor scrive quando l'immagine è ridimensionata */
figure.wp-block-image.ms-hero-img img { width: 100% !important; height: clamp(240px, 30.2vw, 403px) !important; object-fit: cover; object-position: center 30%; display: block; border-radius: var(--ms-radius); }
/* foto originale: la metà bassa (tappeti) sfuma nel colore della pagina */
.ms-hero-img img { -webkit-mask-image: linear-gradient(to bottom, #000 50%, transparent 100%); mask-image: linear-gradient(to bottom, #000 50%, transparent 100%); }
/* foto e riquadro larghi come l'header: stesse variabili di Blocksy (.ct-container) */
.ms-hero > figure.ms-hero-img, .ms-hero > .ms-hero-wrap { width: var(--theme-container-width, 90vw); max-width: var(--theme-normal-container-max-width, 1200px) !important; margin-inline: auto !important; }
.ms-hero > figure.ms-hero-img { margin-top: 16px !important; }
/* pagine che iniziano con la hero: niente spazio di Blocksy sopra il contenuto, la foto sta sotto il menu come in Home */
[data-vertical-spacing*="top"]:has(> article > .entry-content > .ms-hero:first-child) { padding-top: 0 !important; }
/* da 1000px la foto è attaccata alla barra del menu: angoli arrotondati solo in basso */
@media (min-width: 1000px) {
	.ms-hero > figure.ms-hero-img { margin-top: 0 !important; }
	figure.wp-block-image.ms-hero-img img { border-radius: 0 0 var(--ms-radius) var(--ms-radius); }
}
.ms-hero-wrap { padding: 0; margin-top: 0 !important; }
.ms-hero-card { position: relative; margin-top: clamp(-140px, -10vw, -60px) !important; margin-left: 0 !important; max-width: 760px !important; background: var(--ms-carta); border-radius: var(--ms-radius); padding: clamp(24px, 4vw, 44px); }
/* il nome è già nell'header (H1 in Home): nel riquadro resta la frase */
.ms-hero-card .ms-h1 { display: none; }
.ms-hero-card .ms-intro { font-size: clamp(19px, 2vw, 23px); color: #2B3327; max-width: 600px; }
/* più specifico della regola di layout core (margin-left: auto !important stampata dopo il tema) */
.ms-hero-wrap > .ms-hero-card { margin-left: 0 !important; }
.ms-hero-card .ms-eyebrow { color: var(--ms-argilla); }
.ms-mani img { width: 100%; height: 260px; object-fit: cover; border-radius: 14px; display: block; }
.ms-ritratto img { width: 100%; max-width: 320px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; display: block; }

/* Pulsanti */
.wp-block-button[class*="is-style-ms-"] .wp-block-button__link { display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; border-radius: 999px; font: 600 17px/1 var(--ms-sans); text-decoration: none; border: 1.5px solid transparent; transition: background-color .15s, color .15s; }
.is-style-ms-primario .wp-block-button__link { background: var(--ms-argilla); color: var(--ms-carta); }
.is-style-ms-primario .wp-block-button__link:hover { background: var(--ms-argilla-scuro); color: var(--ms-carta); }
.is-style-ms-secondario .wp-block-button__link { background: transparent; color: var(--ms-foresta); border-color: var(--ms-foresta) !important; padding: 0 24px !important; }
.is-style-ms-secondario .wp-block-button__link:hover { background: var(--ms-foresta); color: var(--ms-carta); }
.is-style-ms-scuro .wp-block-button__link { background: var(--ms-foresta); color: var(--ms-carta); }
.is-style-ms-scuro .wp-block-button__link:hover { background: var(--ms-foresta-scuro); color: var(--ms-carta); }
.ms-card .is-style-ms-secondario .wp-block-button__link { min-height: 40px; padding: 0 16px !important; font-size: 15px; border-color: #C9BCA5 !important; }

/* Condivisione (pattern MS · 12 e 13): pulsanti a contorno con l'icona. Icone di WhatsApp, Telegram, Facebook, LinkedIn,
   Email e Copia da Blocksy (GPL). "Condividi" e "Copia link" si vedono solo se il browser li sa fare (assets/condividi.js) */
.ms-condividi { gap: 10px !important; }
.ms-condividi .wp-block-button[class*="is-style-ms-"] .wp-block-button__link { gap: 8px; min-height: 44px; padding: 0 18px !important; font-size: 16px; }
/* Blocksy usa il ::before dei pulsanti per un'ombra sfocata dietro (assoluto, blur, z-index -1): qui diventa l'icona */
.ms-condividi .wp-block-button__link::before { content: ""; position: static !important; inset: auto !important; z-index: auto !important; display: block !important; opacity: 1 !important; filter: none !important; border-radius: 0 !important; transform: none !important; width: 18px; height: 18px; flex: none; background: currentColor; -webkit-mask: var(--ms-icona) center / contain no-repeat; mask: var(--ms-icona) center / contain no-repeat; }
.ms-cond-nativo, .ms-cond-copia { display: none !important; }
.ms-puo-condividere .ms-cond-nativo, .ms-puo-copiare .ms-cond-copia { display: block !important; }
.ms-cond-nativo { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1l4.5 4.5-1.4 1.4L11 4.8V13H9V4.8L6.9 6.9 5.5 5.5 10 1zM3 9h3v2H4v6h12v-6h-2V9h3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1z'/%3E%3C/svg%3E"); }
.ms-cond-whatsapp { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10,0C4.5,0,0,4.5,0,10c0,1.9,0.5,3.6,1.4,5.1L0.1,20l5-1.3C6.5,19.5,8.2,20,10,20c5.5,0,10-4.5,10-10S15.5,0,10,0zM6.6,5.3c0.2,0,0.3,0,0.5,0c0.2,0,0.4,0,0.6,0.4c0.2,0.5,0.7,1.7,0.8,1.8c0.1,0.1,0.1,0.3,0,0.4C8.3,8.2,8.3,8.3,8.1,8.5C8,8.6,7.9,8.8,7.8,8.9C7.7,9,7.5,9.1,7.7,9.4c0.1,0.2,0.6,1.1,1.4,1.7c0.9,0.8,1.7,1.1,2,1.2c0.2,0.1,0.4,0.1,0.5-0.1c0.1-0.2,0.6-0.7,0.8-1c0.2-0.2,0.3-0.2,0.6-0.1c0.2,0.1,1.4,0.7,1.7,0.8s0.4,0.2,0.5,0.3c0.1,0.1,0.1,0.6-0.1,1.2c-0.2,0.6-1.2,1.1-1.7,1.2c-0.5,0-0.9,0.2-3-0.6c-2.5-1-4.1-3.6-4.2-3.7c-0.1-0.2-1-1.3-1-2.6c0-1.2,0.6-1.8,0.9-2.1C6.1,5.4,6.4,5.3,6.6,5.3z'/%3E%3C/svg%3E"); }
.ms-cond-telegram { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M19.9,3.1l-3,14.2c-0.2,1-0.8,1.3-1.7,0.8l-4.6-3.4l-2.2,2.1c-0.2,0.2-0.5,0.5-0.9,0.5l0.3-4.7L16.4,5c0.4-0.3-0.1-0.5-0.6-0.2L5.3,11.4L0.7,10c-1-0.3-1-1,0.2-1.5l17.7-6.8C19.5,1.4,20.2,1.9,19.9,3.1z'/%3E%3C/svg%3E"); }
.ms-cond-facebook { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M20,10.1c0-5.5-4.5-10-10-10S0,4.5,0,10.1c0,5,3.7,9.1,8.4,9.9v-7H5.9v-2.9h2.5V7.9C8.4,5.4,9.9,4,12.2,4c1.1,0,2.2,0.2,2.2,0.2v2.5h-1.3c-1.2,0-1.6,0.8-1.6,1.6v1.9h2.8L13.9,13h-2.3v7C16.3,19.2,20,15.1,20,10.1z'/%3E%3C/svg%3E"); }
.ms-cond-linkedin { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M18.6,0H1.4C0.6,0,0,0.6,0,1.4v17.1C0,19.4,0.6,20,1.4,20h17.1c0.8,0,1.4-0.6,1.4-1.4V1.4C20,0.6,19.4,0,18.6,0z M6,17.1h-3V7.6h3L6,17.1L6,17.1zM4.6,6.3c-1,0-1.7-0.8-1.7-1.7s0.8-1.7,1.7-1.7c0.9,0,1.7,0.8,1.7,1.7C6.3,5.5,5.5,6.3,4.6,6.3z M17.2,17.1h-3v-4.6c0-1.1,0-2.5-1.5-2.5c-1.5,0-1.8,1.2-1.8,2.5v4.7h-3V7.6h2.8v1.3h0c0.4-0.8,1.4-1.5,2.8-1.5c3,0,3.6,2,3.6,4.5V17.1z'/%3E%3C/svg%3E"); }
.ms-cond-email { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10,10.1L0,4.7C0.1,3.2,1.4,2,3,2h14c1.6,0,2.9,1.2,3,2.8L10,10.1z M10,11.8c-0.1,0-0.2,0-0.4-0.1L0,6.4V15c0,1.7,1.3,3,3,3h4.9h4.3H17c1.7,0,3-1.3,3-3V6.4l-9.6,5.2C10.2,11.7,10.1,11.7,10,11.8z'/%3E%3C/svg%3E"); }
.ms-cond-copia { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M20 3.89v6.667a3.89 3.89 0 0 1-3.89 3.89h-.55v-2.223h.55c.921 0 1.667-.746 1.667-1.667V3.889c0-.92-.746-1.666-1.666-1.666H9.443c-.92 0-1.667.746-1.667 1.666v6.668c0 .92.746 1.667 1.667 1.667h1.674v2.222H9.443a3.89 3.89 0 0 1-3.89-3.889V3.889A3.89 3.89 0 0 1 9.444 0h6.668A3.89 3.89 0 0 1 20 3.89Zm-9.443 1.664H8.891v2.222h1.666c.92 0 1.667.746 1.667 1.667v6.668c0 .92-.746 1.666-1.667 1.666H3.889c-.92 0-1.666-.746-1.666-1.666V9.443c0-.92.746-1.667 1.666-1.667h.55V5.554h-.55A3.89 3.89 0 0 0 0 9.443v6.668A3.89 3.89 0 0 0 3.89 20h6.667a3.89 3.89 0 0 0 3.89-3.89V9.444a3.89 3.89 0 0 0-3.89-3.89Z'/%3E%3C/svg%3E"); }
.ms-cond-scarica { --ms-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M9 1h2v9.2l3.1-3.1 1.4 1.4L10 14 4.5 8.5l1.4-1.4L9 10.2V1zM2 15h2v2h12v-2h2v4H2v-4z'/%3E%3C/svg%3E"); }
/* Pagina Percorso: il volantino nel riquadro a destra */
.ms-volantino-img img { width: 100%; max-width: 320px; aspect-ratio: 1; object-fit: cover; border-radius: 12px; box-shadow: 0 6px 24px rgba(42, 31, 45, .12); display: block; }
.ms-scarica { margin-top: 4px !important; }
/* Home: riga in fondo alla sezione Percorso */
.ms-condividi-riga { margin-top: clamp(32px, 5vw, 56px) !important; padding-top: 24px; border-top: 1px solid var(--ms-linea); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.ms-condividi-riga > p { margin: 0 !important; }

/* Box moduli (CF7) */
.ms-form-box { background: var(--ms-carta); color: var(--ms-ink); border-radius: var(--ms-radius); padding: clamp(24px, 4vw, 40px); }
.ms-form-box--bordo { border: 1px solid var(--ms-bordo); }
.ms-segnaposto { font: 12px/1.5 monospace; color: #6A5A48; padding: 16px; border: 1.5px dashed #C9BCA5; border-radius: 8px; }

/* Contact Form 7 */
.wpcf7 label { display: block; font-size: 15px; font-weight: 600; color: var(--ms-foresta-scuro); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea { width: 100%; min-height: 52px; margin-top: 8px; padding: 0 16px; border-radius: 12px; border: 1.5px solid #9E927E; background: #fff; font: 400 17px var(--ms-sans); color: var(--ms-ink); }
.wpcf7 textarea { padding: 14px 16px; min-height: 150px; line-height: 1.55; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 3px solid var(--ms-argilla); outline-offset: 2px; border-color: var(--ms-foresta); }
.ms-cf7-riga { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 18px; }
/* CF7 avvolge le due label in un unico <p>: lo si "scioglie" così che le label siano celle della griglia */
.ms-cf7-riga > p { display: contents; }
.ms-cf7-riga > p > br { display: none; }
.ms-cf7-riga label { margin-bottom: 27px; } /* = spazio tra i <p> del modulo */
/* Moduli d'iscrizione: titoletti di gruppo e testo d'aiuto */
.wpcf7 .ms-cf7-sezione { margin: 8px 0 16px; padding-top: 20px; border-top: 1px solid var(--ms-linea); font: 600 14px/1.4 var(--ms-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ms-argilla-scuro); }
.wpcf7 .ms-aiuto { display: block; margin-top: 2px; font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--ms-testo-2); }
/* CF7 mette un <br> dopo il testo d'aiuto: lo spazio c'è già con il margine del campo */
.wpcf7 .ms-aiuto + br { display: none; }
/* Campi obbligatori (asterisco, aggiunto da functions.php) e facoltativi */
.wpcf7 .ms-cf7-nota { margin: 0 0 20px; font-size: 14px; line-height: 1.5; color: var(--ms-testo-2); }
.wpcf7 .ms-obbligatorio { color: var(--ms-argilla-scuro); font-weight: 700; }
.wpcf7 .ms-facoltativo { font-weight: 400; color: var(--ms-testo-2); }
/* .wpcf7 + .wpcf7-list-item: batte la regola di Blocksy che rimette display: block */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; line-height: 1.5; color: var(--ms-testo); }
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
/* Link nelle caselle (informativa privacy): sottolineati, il colore da solo non basta a distinguerli dal testo */
.wpcf7 .wpcf7-list-item-label a { text-decoration: underline; }
.wpcf7 input[type="checkbox"] { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--ms-foresta); flex: none; }
.wpcf7-submit { width: 100%; min-height: 52px; border: 0; border-radius: 999px; background: var(--ms-foresta); color: var(--ms-carta); font: 600 17px var(--ms-sans); cursor: pointer; }
.wpcf7-submit:hover { background: var(--ms-foresta-scuro); }
.wpcf7-not-valid-tip { color: var(--ms-argilla); font-weight: 600; font-size: 15px; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: 12px; }

/* Footer */
.ms-footer { background: var(--ms-foresta-scuro); color: #DCE3D3; padding: clamp(48px, 6vw, 72px) 24px 32px; font-size: 15px; }
.ms-footer a { color: var(--ms-carta); }
.ms-footer .ms-logo { font-weight: 600; font-size: 26px; line-height: 1.1; color: var(--ms-carta); margin: 0; }
/* simbolo e "Sostenibile" come nel logo chiaro (functions.php aggiunge il simbolo e il corsivo) */
.ms-footer .ms-logo-simbolo { display: inline-block; width: 44px; height: 44px; margin-right: 12px; vertical-align: middle; }
.ms-footer .ms-logo em { font-style: italic; color: #E0A084; }
.ms-footer-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 40px !important; padding-top: 24px; border-top: 1px solid #3A5144; font-size: 14px; }
.ms-footer-base > * { margin: 0 !important; }
.ms-footer-base a { color: #DCE3D3; }

/* Font: Fraunces (titoli, 600) + Nunito Sans (testi 400, pulsanti/enfasi 600-700). Da servire in locale con OMGF. */
body { font-family: var(--ms-sans); font-size: 18px; line-height: 1.6; }
h1, h2, h3, .ms-logo { font-family: var(--ms-serif); font-weight: 600; }
.wp-block-button__link, .wpcf7-submit { font-family: var(--ms-sans); font-weight: 700; }

/* Didascalia sopra l'immagine hero: in Gutenberg usa la didascalia nativa dell'immagine */
.ms-hero-img { position: relative; }
/* la foto ora è l'originale: la vecchia didascalia "Immagine rielaborata…" non va mostrata */
.ms-hero-img figcaption { display: none; }
