/* =====================================================================
   TEMA GEA – foglio di stile principale
   ===================================================================== */

/* ---------- 0. Font (ospitati nel tema) ---------- */
@font-face { font-family: "Bricolage Grotesque"; src: url(../fonts/bricolage-grotesque.woff2) format("woff2-variations"), url(../fonts/bricolage-grotesque.woff2) format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url(../fonts/plus-jakarta-sans.woff2) format("woff2-variations"), url(../fonts/plus-jakarta-sans.woff2) format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url(../fonts/plus-jakarta-sans-italic.woff2) format("woff2-variations"), url(../fonts/plus-jakarta-sans-italic.woff2) format("woff2"); font-weight: 200 800; font-style: italic; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url(../fonts/instrument-serif.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url(../fonts/instrument-serif-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

/* ---------- 1. Colori, font, misure ---------- */
:root {
	--g9: #13270A;      /* verde notte */
	--g8: #213D14;      /* verde scuro card */
	--g7: #2E4A1F;      /* linee su scuro */
	--g6: #437D1D;      /* verde GEA */
	--lime: #D5EF72;
	--lime-soft: #E1EFA9;
	--gold: #E2B85A;
	--cream: #F4EFE6;
	--sand: #E9E2D4;
	--line: #CFC7B8;
	--muted: #4D5546;
	--on-dark: #C3D2B4;
	--display: "Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif;
	--body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--serif: "Instrument Serif", Georgia, serif;
	--ease: cubic-bezier(.16, 1, .3, 1);
	--wrap: 1280px;
	--gutter: 24px;
	--header-h: 84px;
	--top: var(--wp-admin--admin-bar--height, 0px);
	/* nomi usati dalle sezioni della home */
	--gea-g9: var(--g9); --gea-g6: var(--g6); --gea-lime: var(--lime); --gea-gold: var(--gold); --gea-cream: var(--cream);
	--gea-display: var(--display); --gea-serif: var(--serif); --gea-body: var(--body); --gea-ease: var(--ease);
}

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--g9); font-family: var(--body); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--g6); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color .25s; }
a:hover { color: var(--g9); }
h1, h2, h3, h4, h5, h6 { font-family: var(--display); font-weight: 800; line-height: 1.05; letter-spacing: -0.03em; color: inherit; margin: 1.6em 0 .55em; text-wrap: balance; }
h1 { letter-spacing: -0.045em; }
h4, h5, h6 { font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; }
h1 em, h2 em, h3 em, p em.gea-serif, .gea-serif { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: 0; }
p { margin: 0 0 1.1em; }
:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--lime); color: var(--g9); }

.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; }
.gea-skip { position: fixed; left: 16px; top: -100px; z-index: 2000; background: var(--lime); color: var(--g9); padding: 12px 18px; border-radius: 999px; font-weight: 700; text-decoration: none; }
.gea-skip:focus { top: calc(var(--top) + 12px); }

.gea-wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }

/* ---------- 3. Pulsanti ---------- */
.gea-btn,
.wp-block-button__link,
.wp-element-button,
.everest-forms button[type="submit"], .everest-forms input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: .85em 1.6em; border: 0; border-radius: 999px;
	background: var(--g9); color: #fff; font-family: var(--body); font-size: 16px; font-weight: 700; line-height: 1.2;
	text-decoration: none; cursor: pointer;
	transition: transform .3s var(--ease), box-shadow .3s, background-color .3s, color .3s;
}
.gea-btn:hover, .wp-block-button__link:hover, .wp-element-button:hover,
.everest-forms button[type="submit"]:hover, .everest-forms input[type="submit"]:hover {
	color: #fff; transform: translateY(-3px) rotate(-1.5deg); box-shadow: 6px 6px 0 var(--lime);
}
.gea-btn:active, .wp-block-button__link:active { transform: scale(.97); }
.gea-btn svg { transition: transform .3s var(--ease); }
.gea-btn:hover svg { transform: translateX(4px) rotate(-45deg); }
.gea-btn-lime, .gea-btn-lime .wp-block-button__link { background: var(--lime) !important; color: var(--g9) !important; }
.gea-btn-lime:hover, .gea-btn-lime .wp-block-button__link:hover { color: var(--g9) !important; box-shadow: 6px 6px 0 #fff; }
.gea-btn-white, .gea-btn-white .wp-block-button__link { background: #fff !important; color: var(--g9) !important; }
.gea-btn-white:hover, .gea-btn-white .wp-block-button__link:hover { color: var(--g9) !important; box-shadow: 6px 6px 0 var(--lime); }
.gea-btn-ghost, .is-style-outline > .wp-block-button__link, .wp-block-button__link.is-style-outline {
	background: transparent !important; color: currentColor !important; box-shadow: inset 0 0 0 1.5px currentColor;
}
.gea-btn-ghost:hover, .is-style-outline > .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px currentColor, 6px 6px 0 var(--lime); }
.wp-block-buttons { gap: 12px; }
/* le classi gea-btn-* sul contenitore del blocco Pulsante colorano solo il link interno */
.wp-block-button[class*="gea-btn"], .wp-block-button[class*="gea-btn"]:hover { background: none !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
.is-style-outline > .wp-block-button__link { border: 0 !important; }

/* ---------- 4. Header ---------- */
.gea-header {
	position: sticky; top: var(--top); z-index: 900;
	background: rgba(19, 39, 10, .97); color: #fff;
	border-bottom: 1px solid rgba(213, 239, 114, .14);
	transition: box-shadow .3s, background-color .3s;
}
@supports (backdrop-filter: blur(10px)) { .gea-header { background: rgba(19, 39, 10, .9); backdrop-filter: saturate(140%) blur(12px); } }
.gea-header.is-scrolled { box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .6); }
.gea-header-in { max-width: calc(var(--wrap) + var(--gutter) * 2); margin-inline: auto; padding: 0 var(--gutter); height: var(--header-h); display: flex; align-items: center; gap: 28px; transition: height .3s var(--ease); }
.gea-header.is-scrolled .gea-header-in { height: 68px; }

.gea-brand { display: flex; align-items: center; gap: 14px; color: #fff; text-decoration: none; flex: none; }
.gea-brand:hover { color: #fff; }
.gea-brand-logo { width: 52px; height: 52px; border-radius: 50%; background: #fff; display: grid; place-items: center; padding: 5px; flex: none; transition: transform .5s var(--ease); }
.gea-brand:hover .gea-brand-logo { transform: rotate(-10deg) scale(1.05); }
.gea-brand-logo img { width: 100%; height: 100%; object-fit: contain; }
.gea-brand-txt { display: flex; flex-direction: column; line-height: 1.15; }
.gea-brand-name { font-family: var(--display); font-weight: 800; font-size: 21px; letter-spacing: -0.02em; white-space: nowrap; }
.gea-brand-sub { font-size: 12px; color: var(--on-dark); white-space: nowrap; }

.gea-nav { margin-left: auto; }
.gea-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 26px; }
.gea-nav-link { position: relative; display: inline-block; padding: 8px 0; color: #E4EED9; font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.gea-nav-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; border-radius: 2px; background: var(--lime); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease); }
.gea-nav-link:hover, .gea-nav-link[aria-current="page"] { color: #fff; }
.gea-nav-link:hover::after, .gea-nav-link[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }

.gea-actions { display: flex; align-items: center; gap: 10px; flex: none; }
.gea-icon-btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid #3E5C2C; background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; padding: 0; transition: background-color .3s, color .3s, transform .4s var(--ease), border-color .3s; }
.gea-icon-btn svg { display: block; }
.gea-icon-btn:hover { background: var(--lime); color: var(--g9); border-color: var(--lime); transform: rotate(-10deg); }
.gea-header-cta { min-height: 46px; padding: .7em 1.3em; font-size: 15px; }
.gea-burger { width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--lime); cursor: pointer; display: grid; place-content: center; gap: 6px; padding: 0; transition: transform .4s var(--ease), background-color .3s; }
.gea-burger span { display: block; width: 22px; height: 2px; border-radius: 2px; background: var(--g9); transition: transform .4s var(--ease), width .3s; }
.gea-burger span:last-child { width: 14px; justify-self: end; }
.gea-burger:hover { transform: rotate(-8deg) scale(1.05); }
.gea-burger:hover span:last-child { width: 22px; }
.gea-menu-open .gea-burger span:first-child { transform: translateY(4px) rotate(45deg); }
.gea-menu-open .gea-burger span:last-child { width: 22px; transform: translateY(-4px) rotate(-45deg); }

@media (max-width: 1199px) { .gea-nav { display: none; } .gea-actions { margin-left: auto; } }
@media (max-width: 900px) { .gea-brand-sub { display: none; } }
@media (max-width: 560px) {
	:root { --header-h: 72px; --gutter: 18px; }
	.gea-header-cta { display: none; }
	.gea-brand-name { font-size: 18px; }
	.gea-brand-logo { width: 44px; height: 44px; }
	.gea-icon-btn { width: 42px; height: 42px; }
	.gea-burger { width: 48px; height: 48px; }
}

/* ---------- 5. Menu a schermo intero ---------- */
.gea-overlay { position: fixed; inset: var(--top) 0 0 0; z-index: 950; background: var(--g9); color: #fff; overflow-y: auto; opacity: 0; transform: translateY(-12px); transition: opacity .35s var(--ease), transform .45s var(--ease); }
.gea-overlay::before { content: ""; position: fixed; inset: 0; pointer-events: none; background-image: radial-gradient(rgba(213, 239, 114, .08) 1px, transparent 1.4px); background-size: 22px 22px; }
.gea-menu-open .gea-overlay { opacity: 1; transform: none; }
.gea-menu-open { overflow: hidden; }
.gea-overlay-in { position: relative; max-width: calc(var(--wrap) + var(--gutter) * 2); margin-inline: auto; padding: 22px var(--gutter) 60px; }
.gea-overlay-top { display: flex; align-items: center; justify-content: space-between; height: 52px; margin-bottom: 28px; }
.gea-overlay-kicker { font-family: var(--serif); font-style: italic; font-size: 24px; color: var(--lime); }
.gea-overlay-close { width: 52px; height: 52px; }
.gea-search { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 clamp(32px, 5vw, 56px); }
.gea-search input[type="search"] { flex: 1 1 260px; min-height: 56px; border-radius: 999px; border: 1.5px solid #3E5C2C; background: rgba(255, 255, 255, .04); color: #fff; padding: 0 24px; font: 500 17px/1 var(--body); }
.gea-search input[type="search"]::placeholder { color: #9DB58A; }
.gea-search input[type="search"]:focus { outline: none; border-color: var(--lime); box-shadow: 0 0 0 4px rgba(213, 239, 114, .18); }
.gea-search .gea-btn { min-height: 56px; }
.gea-overlay-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: clamp(32px, 6vw, 96px); }
.gea-overlay-main { list-style: none; margin: 0; padding: 0; counter-reset: gea-om; border-top: 1px solid var(--g7); }
.gea-overlay-main li { counter-increment: gea-om; border-bottom: 1px solid var(--g7); }
.gea-overlay-link { display: grid; grid-template-columns: 56px minmax(0, 1fr) 40px; align-items: center; gap: 12px; padding: 16px 0; color: #fff; text-decoration: none; font-family: var(--display); font-weight: 800; font-size: clamp(26px, 4vw, 48px); line-height: 1.02; letter-spacing: -0.035em; transition: color .3s, padding .45s var(--ease); }
.gea-overlay-link::before { content: counter(gea-om, decimal-leading-zero); font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 22px; color: var(--lime); letter-spacing: 0; }
.gea-overlay-link::after { content: "\2192"; justify-self: end; font-size: 26px; opacity: .3; transition: transform .45s var(--ease), opacity .3s; }
.gea-overlay-link:hover, .gea-overlay-link[aria-current="page"] { color: var(--lime); padding-left: 14px; }
.gea-overlay-link:hover::after { opacity: 1; transform: rotate(-45deg); }
.gea-menu-open .gea-overlay-main li { animation: gea-up .6s var(--ease) both; }
.gea-menu-open .gea-overlay-main li:nth-child(2) { animation-delay: .04s; } .gea-menu-open .gea-overlay-main li:nth-child(3) { animation-delay: .08s; }
.gea-menu-open .gea-overlay-main li:nth-child(4) { animation-delay: .12s; } .gea-menu-open .gea-overlay-main li:nth-child(5) { animation-delay: .16s; }
.gea-menu-open .gea-overlay-main li:nth-child(6) { animation-delay: .2s; } .gea-menu-open .gea-overlay-main li:nth-child(7) { animation-delay: .24s; }
.gea-overlay-h { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--lime); margin: 0 0 10px; }
.gea-overlay-sub { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 10px; }
.gea-overlay-sub a, .gea-overlay-contact a { color: #E4EED9; text-decoration: none; font-size: 18px; font-weight: 600; transition: color .25s, padding .3s var(--ease); }
.gea-overlay-sub a:hover, .gea-overlay-contact a:hover { color: var(--lime); padding-left: 6px; }
.gea-overlay-contact { margin: 0 0 28px; line-height: 1.9; }
.gea-overlay[data-mode="search"] .gea-search input { border-color: var(--lime); }
@media (max-width: 860px) { .gea-overlay-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 6. Apertura delle pagine (titolo) ---------- */
.gea-pill { display: inline-flex; align-items: center; gap: 10px; border: 1px solid #3E5C2C; border-radius: 999px; padding: 8px 16px 8px 12px; font-size: 13px; font-weight: 600; color: #E4EED9; margin: 0 0 22px; }
.gea-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); flex: none; }
.gea-pill a { color: inherit; text-decoration: none; }
.gea-pill a:hover { color: var(--lime); }
.gea-pagehead { position: relative; overflow: hidden; background: var(--g9); color: #fff; padding: clamp(48px, 7vw, 96px) 0 clamp(48px, 6vw, 80px); }
.gea-pagehead::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(rgba(213, 239, 114, .1) 1px, transparent 1.4px); background-size: 22px 22px; }
.gea-pagehead::after { content: ""; position: absolute; right: -140px; top: -140px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid var(--g7); pointer-events: none; }
.gea-pagehead .gea-wrap { position: relative; }
.gea-pagehead-title { font-size: clamp(40px, 6vw, 84px); line-height: .95; margin: 0; max-width: 20ch; animation: gea-up .9s var(--ease) both; }
.gea-pagehead-title em { color: var(--lime); }
.gea-pagehead-lead { font-size: clamp(17px, 1.5vw, 20px); color: var(--on-dark); max-width: 640px; margin: 20px 0 0; }
.gea-pagehead-meta { font-family: var(--serif); font-style: italic; font-size: 20px; color: var(--lime); margin: 18px 0 0; }
.gea-pagehead .gea-pill { animation: gea-up .8s var(--ease) both; }
.gea-pagehead .gea-search { margin: 28px 0 0; max-width: 640px; }
.gea-404 p:last-child { margin-top: 24px; }

/* ---------- 7. Contenuti delle pagine ---------- */
.gea-content-full > * { margin-top: 0; margin-bottom: 0; }
.gea-content-full > .alignfull { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; width: auto !important; }
.gea-prose { padding: clamp(40px, 6vw, 80px) var(--gutter); }
.gea-prose > * { max-width: 780px; margin-left: auto; margin-right: auto; }
.gea-prose > :is(.wp-block-group, .wp-block-media-text, .wp-block-columns, .wp-block-gallery, .wp-block-video, .wp-block-embed, .wp-block-cover, .wp-block-table, .wp-block-image, .wp-block-buttons, section, figure, [class*="gutentor"]) { max-width: 1120px; }
.gea-prose > .alignwide { max-width: var(--wrap); }
.gea-prose > .alignfull { max-width: none; width: auto; margin-left: calc(var(--gutter) * -1); margin-right: calc(var(--gutter) * -1); }
.gea-prose-left > * { margin-left: 0; }
.gea-prose > :first-child { margin-top: 0; }
.gea-prose h2 { font-size: clamp(30px, 3.6vw, 46px); }
.gea-prose h3 { font-size: clamp(24px, 2.6vw, 32px); }
.gea-prose h4 { font-size: 21px; }
.gea-prose ul, .gea-prose ol { padding-left: 1.3em; }
.gea-prose li { margin: .3em 0; }
.gea-prose li::marker { color: var(--g6); }
.gea-prose blockquote, .wp-block-quote { border-left: 0; margin: 2em auto; padding: 28px 32px; background: #fff; border-radius: 24px; font-family: var(--serif); font-style: italic; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.3; box-shadow: 8px 8px 0 var(--lime); }
.wp-block-quote cite { display: block; margin-top: 12px; font-family: var(--body); font-style: normal; font-size: 14px; color: var(--muted); }
.gea-prose img, .wp-block-image img { border-radius: 18px; }
.wp-block-image figcaption, .wp-element-caption { font-size: 14px; color: var(--muted); text-align: center; margin-top: 10px; }
.gea-prose table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 16px; overflow: hidden; font-size: 15px; }
.gea-prose th, .gea-prose td { padding: 12px 16px; border-bottom: 1px solid var(--sand); text-align: left; }
.gea-prose th { background: var(--g9); color: #fff; font-weight: 700; }
.wp-block-separator { border: 0; height: 2px; background: currentColor; opacity: .25; margin: 2.5em auto; }
.wp-block-group.has-background, .wp-block-column.has-background, .wp-block-cover:not(.alignfull) { border-radius: 24px; }
.has-background:not(.alignfull):not(.wp-block-button__link):not(.wp-block-separator) { padding: clamp(20px, 3vw, 36px); }
.wp-block-media-text { border-radius: 24px; overflow: hidden; }
.wp-block-embed iframe { border-radius: 18px; }
.wp-block-columns { gap: clamp(20px, 3vw, 40px); }

/* FAQ / blocco Dettagli */
.wp-block-details { border-bottom: 1px solid var(--line); padding: 0; margin: 0; }
.wp-block-details summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; font-family: var(--display); font-weight: 700; font-size: 1.2rem; letter-spacing: -0.01em; transition: color .25s; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); color: var(--g9); font-size: 24px; font-weight: 400; line-height: 1; transition: transform .35s var(--ease), background-color .3s; }
.wp-block-details[open] summary::after { transform: rotate(135deg); background: var(--lime); }
.wp-block-details summary:hover { color: var(--g6); }
.wp-block-details > :not(summary) { margin-top: 0; padding-bottom: 20px; }

/* elenco articoli nel blocco Query (pagine vecchie e news) */
.wp-block-post-template { gap: 18px; }
.wp-block-post { border-radius: 22px; transition: transform .4s var(--ease), box-shadow .4s, background-color .35s; }
.wp-block-post-featured-image { overflow: hidden; border-radius: 16px; margin: 0 0 12px; }
.wp-block-post-featured-image img { border-radius: 16px; transition: transform .7s var(--ease); }
.wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.wp-block-post-title { font-size: 20px; letter-spacing: -0.015em; line-height: 1.15; margin: 6px 0; }
.wp-block-post-title a { color: var(--g9); text-decoration: none; }
.wp-block-post-title a:hover { color: var(--g6); }
.wp-block-post-date { font-family: var(--serif); font-style: italic; font-size: 1.05rem; color: var(--g6); }
.wp-block-query-pagination { gap: 10px; margin-top: 28px; }

/* moduli Everest Forms */
.everest-forms input[type="text"], .everest-forms input[type="email"], .everest-forms input[type="tel"], .everest-forms input[type="date"], .everest-forms input[type="number"], .everest-forms input[type="url"], .everest-forms select, .everest-forms textarea {
	width: 100%; border-radius: 12px !important; border: 1.5px solid var(--line) !important; background: #fff !important; padding: 12px 14px !important; font-family: var(--body) !important; font-size: 16px; transition: border-color .25s, box-shadow .25s;
}
.everest-forms input:focus, .everest-forms select:focus, .everest-forms textarea:focus { border-color: var(--g6) !important; box-shadow: 0 0 0 4px rgba(67, 125, 29, .15) !important; outline: none !important; }
.everest-forms label { font-weight: 600; color: var(--g9); }

/* slider Gutentor nelle pagine vecchie */
.gutentor-image-slider { border-radius: 28px; overflow: hidden; }
.gutentor-button { border-radius: 999px !important; background: var(--lime) !important; color: var(--g9) !important; font-weight: 700 !important; }

/* ---------- 8. Sezioni (home e pagine nuove) ---------- */
.gea-sec { padding: clamp(64px, 9vw, 120px) var(--gutter) !important; margin: 0 !important; }
.gea-sec-tight { padding-top: clamp(32px, 5vw, 56px) !important; padding-bottom: clamp(32px, 5vw, 56px) !important; }
.gea-sec-sand { background: var(--sand); }
.gea-sec-dark { background: var(--g9); color: #fff; position: relative; overflow: hidden; }
.gea-sec-dark .gea-muted { color: var(--on-dark); }
.gea-sec-dark::before, .gea-sec-dark::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid var(--g7); pointer-events: none; }
.gea-sec-dark::before { right: -180px; top: -180px; width: 520px; height: 520px; }
.gea-sec-dark::after { right: -100px; top: -100px; width: 360px; height: 360px; }
.gea-sec-dark > * { position: relative; z-index: 1; }
.gea-sec > .gea-wrap { padding-inline: 0; }
.gea-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: clamp(32px, 4vw, 52px) !important; }
.gea-big { font-size: clamp(40px, 5.4vw, 76px) !important; line-height: .95 !important; letter-spacing: -0.04em !important; margin: 0 !important; font-family: var(--display); font-weight: 800; }
.gea-big em { color: var(--g6); }
.gea-sec-dark .gea-big em { color: var(--gold); }
.gea-huge { font-size: clamp(52px, 7vw, 104px) !important; line-height: .88 !important; letter-spacing: -0.05em !important; margin: 0 0 18px !important; }
.gea-muted { color: var(--muted); max-width: 420px; margin: 0 !important; }
.gea-kicker { font-size: 13px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--g6); margin: 0 0 20px !important; }

/* hero */
.gea-hero { background: var(--g9); color: #fff; padding: clamp(48px, 7vw, 96px) var(--gutter) clamp(72px, 9vw, 120px) !important; margin: 0 !important; position: relative; overflow: hidden; }
.gea-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(rgba(213, 239, 114, .1) 1px, transparent 1.4px); background-size: 22px 22px; }
.gea-hero > * { position: relative; }
.gea-hero-cols { position: relative; gap: clamp(32px, 5vw, 64px) !important; margin: 0 auto !important; }
.gea-hero-text > * { animation: gea-up 1s var(--ease) both; }
.gea-hero-text > *:nth-child(2) { animation-delay: .12s; }
.gea-hero-text > *:nth-child(3) { animation-delay: .24s; }
.gea-hero-text > *:nth-child(4) { animation-delay: .36s; }
.gea-hero-title { font-size: clamp(46px, 6.6vw, 100px) !important; line-height: .92 !important; letter-spacing: -0.045em !important; color: #fff !important; margin: 0 0 24px !important; }
.gea-hero-title em { color: var(--lime); font-size: 1.08em; }
.gea-hero-lead { font-size: clamp(17px, 1.5vw, 19px) !important; color: var(--on-dark); max-width: 560px; margin: 0 0 28px !important; }
.gea-hero-btns { gap: 14px !important; }
.gea-btn-ghost .wp-block-button__link { color: #fff !important; box-shadow: inset 0 0 0 1.5px #5C7C47 !important; background: transparent !important; }
.gea-btn-ghost .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px #5C7C47, 6px 6px 0 var(--lime) !important; }
.gea-hero-visual { position: relative; aspect-ratio: 1 / 1; max-width: 560px; width: 100%; margin-left: auto !important; margin-right: auto !important; animation: gea-up 1.1s .3s var(--ease) both; }
.gea-orbits { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.gea-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid #3E5C2C; animation: gea-pulse 6s ease-in-out infinite; }
.gea-ring-2 { inset: 9%; border-style: dashed; border-color: #4F6E3B; animation: none; }
.gea-orbit { position: absolute; inset: 0; animation: gea-spin 38s linear infinite; }
.gea-orbit i { position: absolute; top: -9px; left: calc(50% - 9px); width: 18px; height: 18px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 6px rgba(213, 239, 114, .18); }
.gea-orbit-2 { inset: 9%; animation-duration: 26s; animation-direction: reverse; }
.gea-orbit-2 i { top: auto; bottom: -6px; left: calc(50% - 6px); width: 12px; height: 12px; background: var(--gold); box-shadow: none; }
.gea-badge { position: absolute; top: 2%; right: 2%; width: 136px; height: 136px; border-radius: 50%; background: var(--gold); display: flex; align-items: center; justify-content: center; }
.gea-badge svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: gea-spin 18s linear infinite; }
.gea-badge text { font-family: var(--body); font-size: 10.5px; font-weight: 700; letter-spacing: 2px; fill: var(--g9); }
.gea-badge b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 34px; color: var(--g9); }
.gea-hero-photo { position: absolute !important; inset: 19%; margin: 0 !important; z-index: 1; border-radius: 50% 50% 28px 50%; overflow: hidden; background: #2B4A1B; animation: gea-float 8s 1.4s ease-in-out infinite; }
.gea-hero-photo a, .gea-hero-photo img { display: block; width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
.gea-hero-photo figcaption { position: absolute; right: 14px; bottom: 14px; left: auto; max-width: 78%; margin: 0; background: #fff; color: var(--g9); border-radius: 16px; padding: 12px 16px; font-family: var(--display); font-weight: 700; font-size: 15px; line-height: 1.2; text-align: left; }
.gea-hero-page { padding-bottom: clamp(56px, 7vw, 96px) !important; }
.gea-hero-page > * { max-width: var(--wrap); margin-left: auto !important; margin-right: auto !important; }
.gea-hero-page > .gea-pill { display: flex; width: fit-content; margin-left: max(0px, calc((100% - var(--wrap)) / 2)) !important; animation: gea-up .8s var(--ease) both; }
.gea-hero-page .gea-hero-title { font-size: clamp(42px, 6vw, 88px) !important; animation: gea-up 1s var(--ease) both; }
.gea-hero-intro { gap: clamp(24px, 4vw, 56px) !important; margin-top: 12px !important; animation: gea-up 1s .2s var(--ease) both; }
.gea-hero-intro .gea-hero-lead { max-width: none; margin: 0 !important; }

/* nastro scorrevole */
.gea-band { background: var(--lime); color: var(--g9); overflow: hidden; padding: 20px 0; border-top: 2px solid var(--g9); border-bottom: 2px solid var(--g9); margin: 0 !important; }
.gea-marquee { display: flex; gap: 40px; width: max-content; white-space: nowrap; animation: gea-marquee 32s linear infinite; font-family: var(--display); font-weight: 700; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -0.02em; }
.gea-marquee em { font-family: var(--serif); font-weight: 400; }
.gea-band:hover .gea-marquee { animation-play-state: paused; }

/* cosa facciamo */
.gea-bento { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(250px, auto); gap: 16px !important; }
.gea-bento > * { margin: 0 !important; }
.gea-tile { position: relative; overflow: hidden; border-radius: 28px; padding: 30px !important; display: flex !important; flex-direction: column; justify-content: flex-end; gap: 8px; transition: transform .45s var(--ease), box-shadow .45s; }
.gea-tile > * { position: relative; z-index: 1; margin: 0 !important; }
.gea-tile > h3 { position: static; }
.gea-tile:hover { transform: translateY(-8px) rotate(-.6deg); box-shadow: 10px 12px 0 var(--g9); }
.gea-tile h3 { font-size: clamp(24px, 2.2vw, 34px) !important; line-height: 1.02 !important; }
.gea-tile h3 a { color: inherit !important; text-decoration: none !important; }
.gea-tile h3 a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.gea-tile h3 a::before { content: "\2192"; position: absolute; right: 26px; top: 26px; width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; z-index: 2; transition: transform .4s var(--ease); }
.gea-tile:hover h3 a::before { transform: rotate(-45deg) scale(1.1); }
.gea-num { font-family: var(--serif) !important; font-style: italic; font-size: 64px !important; line-height: 1 !important; margin-bottom: auto !important; transition: transform .6s var(--ease); }
.gea-tile:hover .gea-num { transform: translate(-6px, -6px) scale(1.1) rotate(-6deg); }
.gea-tile-photo { grid-column: span 2; grid-row: span 2; min-height: 520px; background: #2B4A1B; color: #fff; }
.gea-tile-photo .gea-num { font-size: 96px !important; color: var(--lime); }
.gea-tile-photo h3 { font-size: clamp(32px, 3.4vw, 46px) !important; }
.gea-tile-photo p:not(.gea-num) { color: #D4DFC8; max-width: 440px; }
.gea-tile-photo h3 a::before { background: var(--lime); color: var(--g9); }
.gea-tile-bg { position: absolute !important; inset: 0; z-index: 0 !important; margin: 0 !important; }
.gea-tile-bg img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .8s var(--ease); }
.gea-tile-photo::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(19, 39, 10, .15) 20%, rgba(19, 39, 10, .92) 100%); }
.gea-tile:hover .gea-tile-bg img { transform: scale(1.06); }
.gea-tile-gold { grid-column: span 2; background: var(--gold); color: var(--g9); }
.gea-tile-gold h3 a::before { background: var(--g9); color: var(--gold); }
.gea-tile-outline { background: #fff; color: var(--g9); border: 2px solid var(--g9); }
.gea-tile-outline .gea-num { color: var(--g6); }
.gea-tile-outline h3 a::before { background: var(--g9); color: #fff; width: 42px; height: 42px; }
.gea-tile-green { background: var(--g6); color: #fff; }
.gea-tile-green .gea-num { color: var(--lime); }
.gea-tile-green h3 a::before { background: var(--lime); color: var(--g9); width: 42px; height: 42px; }
.gea-tile-outline p:not(.gea-num), .gea-tile-green p:not(.gea-num) { font-size: 14px; }

/* programmi */
.gea-rows { border-top: 2px solid var(--g9); counter-reset: gea-row; }
.gea-row { margin: 0 !important; border-bottom: 1px solid var(--line); counter-increment: gea-row; }
.gea-row a { display: grid; grid-template-columns: 70px minmax(0, 1fr) 48px; align-items: center; gap: 20px; padding: 26px 0; color: var(--g9) !important; text-decoration: none !important; font-family: var(--display); font-weight: 700; font-size: clamp(24px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -0.03em; background-image: linear-gradient(var(--g6), var(--g6)); background-repeat: no-repeat; background-size: 0% 100%; transition: background-size .55s var(--ease), color .35s, padding .45s var(--ease); }
.gea-row a::before { content: counter(gea-row, decimal-leading-zero); font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 26px; color: var(--g6); transition: color .35s; }
.gea-row a::after { content: "\2192"; justify-self: end; font-size: 30px; opacity: .35; transition: transform .45s var(--ease), opacity .35s; }
.gea-row a:hover { background-size: 100% 100%; color: #fff !important; padding-left: 28px; padding-right: 28px; }
.gea-row a:hover::before { color: var(--lime); }
.gea-row a:hover::after { transform: rotate(-45deg); opacity: 1; }

/* news nella home (blocco Query) */
.gea-news .wp-block-post-template { gap: 18px !important; }
.gea-news .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 960px) { .gea-news .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .gea-news .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; } }
.gea-news .wp-block-post { background: var(--cream); padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.gea-news .wp-block-post:hover { transform: translateY(-10px); background: #fff; box-shadow: 8px 8px 0 var(--g6); }
.gea-news .wp-block-post-featured-image { margin: 0 !important; }
.gea-news .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s var(--ease), border-radius .6s; }
.gea-news .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(.94) rotate(-2deg); border-radius: 60px 14px 60px 14px; }
.gea-news .wp-block-post-date, .gea-news .wp-block-post-title { margin: 0 !important; }

/* la rete GEA */
.gea-clubs { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 16px !important; margin-bottom: 36px !important; position: relative; z-index: 1; }
.gea-clubs > * { margin: 0 !important; }
.gea-club { position: relative; background: var(--g8); border-radius: 24px; padding: 28px !important; min-height: 240px; display: flex !important; flex-direction: column; justify-content: space-between; gap: 8px; transition: transform .45s var(--ease), background-color .35s, color .35s; }
.gea-club > * { margin: 0 !important; }
.gea-club h3 { font-size: 24px !important; font-weight: 700 !important; }
.gea-club h3 a { color: inherit !important; text-decoration: none !important; }
.gea-club h3 a::after { content: ""; position: absolute; inset: 0; }
.gea-club p:not(.gea-club-mark) { color: #B9C9AA; font-size: 14px; }
.gea-club-mark { font-family: var(--display); font-weight: 800; font-size: 72px !important; line-height: .9 !important; color: transparent; -webkit-text-stroke: 1.5px var(--lime); margin-bottom: auto !important; transition: -webkit-text-stroke-color .35s, transform .5s var(--ease); }
.gea-club:hover { transform: translateY(-10px) rotate(1deg); background: var(--lime); color: var(--g9); }
.gea-club:hover p:not(.gea-club-mark) { color: var(--g7); }
.gea-club:hover .gea-club-mark { -webkit-text-stroke-color: var(--g9); transform: translateY(-6px) scale(1.08); }
.gea-pills { gap: 10px 12px !important; position: relative; z-index: 1; }
.gea-pills .wp-block-button__link { padding: .6em 1.3em !important; min-height: 44px; font-size: 15px !important; color: #fff !important; box-shadow: inset 0 0 0 1px #4F6E3B !important; }
.gea-pills .wp-block-button__link:hover { background: var(--lime) !important; color: var(--g9) !important; box-shadow: none !important; transform: translateY(-3px) rotate(-2deg); }

/* loghi partner */
.gea-logos { overflow: hidden; padding: 0 0 clamp(48px, 7vw, 90px); margin: 0 !important; }
.gea-logos-track { display: flex; gap: 16px; width: max-content; animation: gea-marquee-r 40s linear infinite; }
.gea-logos:hover .gea-logos-track { animation-play-state: paused; }
.gea-logos-track span { width: 220px; height: 100px; flex: none; border-radius: 18px; background: var(--sand); display: flex; align-items: center; justify-content: center; padding: 18px; transition: transform .35s var(--ease), background-color .35s; }
.gea-logos-track span:hover { transform: scale(1.06) rotate(-2deg); background: #fff; }
.gea-logos-track img { max-height: 64px; max-width: 100%; width: auto; object-fit: contain; border-radius: 0; }

/* FAQ in due colonne */
.gea-faq { gap: clamp(32px, 5vw, 56px) !important; }
.gea-faq .wp-block-buttons { margin-top: 20px; }
.gea-faq .wp-block-details:first-of-type { border-top: 2px solid var(--g9); }

/* sostieni / brochure */
.gea-support { background: var(--gold); border-radius: 36px; padding: clamp(32px, 5vw, 72px) !important; gap: 44px !important; }
.gea-support .gea-huge, .gea-support p { color: var(--g9); }
.gea-iban { background: var(--g9); color: #fff; border-radius: 24px; padding: 32px !important; max-width: 440px; margin-inline: auto; transform: rotate(-3deg); box-shadow: 12px 12px 0 #fff; transition: transform .5s var(--ease); }
.gea-iban:hover { transform: rotate(0deg) scale(1.03); }
.gea-iban p { color: #E4EED9 !important; margin: 0 0 8px !important; }
.gea-iban .gea-iban-k { font-size: 12px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lime) !important; }
.gea-iban .gea-iban-n { font-family: var(--display); font-weight: 700; font-size: 22px !important; color: #fff !important; letter-spacing: .02em; }
.gea-iban .gea-iban-s { color: #B9C9AA !important; margin: 0 !important; }
.gea-brochure .gea-kicker { color: var(--g9); }
.gea-brochure-cover { margin: 0 auto !important; max-width: 300px; transform: rotate(4deg); box-shadow: 14px 14px 0 var(--g9); border-radius: 16px; overflow: hidden; transition: transform .5s var(--ease); }
.gea-brochure-cover:hover { transform: rotate(0) scale(1.03); }
.gea-brochure-cover img { display: block; width: 100%; border-radius: 0 !important; }

/* pagine interne: aree, persone, sedi */
.gea-areas { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 18px !important; }
.gea-areas > * { margin: 0 !important; }
.gea-area { background: #fff; border-radius: 28px; padding: 16px 16px 28px !important; display: flex !important; flex-direction: column; gap: 12px; transition: transform .45s var(--ease), box-shadow .45s; }
.gea-area > * { margin: 0 !important; padding-inline: 12px; }
.gea-area > .gea-area-img { padding: 0; }
.gea-area:hover { transform: translateY(-8px) rotate(-.5deg); box-shadow: 10px 12px 0 var(--g9); }
.gea-area-img { border-radius: 20px; overflow: hidden; aspect-ratio: 16 / 10; }
.gea-area-img img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .8s var(--ease); }
.gea-area:hover .gea-area-img img { transform: scale(1.06); }
.gea-area .gea-num { font-size: 48px !important; color: var(--g6); margin: 8px 0 0 !important; }
.gea-area h3 { font-size: clamp(24px, 2.2vw, 30px) !important; line-height: 1.05 !important; }
.gea-area p:not(.gea-num) { color: var(--muted); }
.gea-ticks { list-style: none !important; padding-left: 0 !important; margin: 4px 0 !important; display: grid; gap: 8px; }
.gea-ticks li { position: relative; padding-left: 30px; font-weight: 600; color: var(--g9); margin: 0; }
.gea-ticks li::before { content: ""; position: absolute; left: 0; top: .35em; width: 18px; height: 18px; border-radius: 50%; background: var(--lime); box-shadow: inset 0 0 0 5px var(--g9); }
.wp-block-details .gea-ticks li { font-weight: 500; }
.gea-people { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 18px !important; position: relative; z-index: 1; }
.gea-people > * { margin: 0 !important; }
.gea-person { background: var(--g8); border-radius: 28px; padding: 28px !important; display: flex !important; flex-direction: column; gap: 10px; transition: transform .45s var(--ease), background-color .35s; }
.gea-person > * { margin: 0 !important; }
.gea-person:hover { transform: translateY(-6px); background: #27461A; }
.gea-person-img { width: 120px; height: 120px; border-radius: 50%; overflow: hidden; background: var(--sand); box-shadow: 0 0 0 4px var(--lime); margin-bottom: 10px !important; transition: transform .5s var(--ease); }
.gea-person:hover .gea-person-img { transform: rotate(-6deg) scale(1.05); }
.gea-person-img img { width: 100%; height: 100% !important; object-fit: cover; object-position: top; border-radius: 0 !important; }
.gea-person h3 { font-size: clamp(26px, 2.4vw, 34px) !important; color: #fff; }
.gea-person p:not(.gea-role) { color: var(--on-dark); font-size: 15px; line-height: 1.6; }
.gea-role { font-family: var(--serif) !important; font-style: italic; font-size: 20px !important; color: var(--lime); }
.gea-places { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px !important; margin: 28px 0 !important; }
.gea-places > * { margin: 0 !important; }
.gea-place { background: var(--sand); border-radius: 22px; padding: 24px !important; transition: transform .4s var(--ease), background-color .3s; }
.gea-place > * { margin: 0 !important; }
.gea-place:hover { transform: translateY(-5px); background: #fff; }
.gea-place .gea-role { color: var(--g6); margin-bottom: 6px !important; }
.gea-place-addr { font-family: var(--display); font-weight: 700; font-size: 20px; line-height: 1.3; letter-spacing: -0.01em; }
.gea-place-btns { gap: 12px !important; }

/* ---------- 9. Card degli elenchi (news, ricerca, archivi) ---------- */
.gea-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 20px; }
.gea-card { margin: 0; }
.gea-card-link { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 16px 16px 22px; border-radius: 22px; background: #fff; color: var(--g9); text-decoration: none; transition: transform .4s var(--ease), box-shadow .4s; }
.gea-sec-sand .gea-card-link { background: var(--cream); }
.gea-card-link:hover { color: var(--g9); transform: translateY(-8px); box-shadow: 8px 8px 0 var(--g6); }
.gea-card-img { display: block; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: var(--sand); }
.gea-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease), border-radius .6s; }
.gea-card-link:hover .gea-card-img img { transform: scale(1.05); }
.gea-card-meta { font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--g6); }
.gea-card-title { font-family: var(--display); font-weight: 700; font-size: 21px; line-height: 1.15; letter-spacing: -0.015em; }
.gea-pagination { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 8px; }
.gea-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 46px; height: 46px; padding: 0 14px; border-radius: 999px; background: #fff; color: var(--g9); text-decoration: none; font-weight: 700; transition: background-color .3s, transform .3s var(--ease); }
.gea-pagination .page-numbers:hover { background: var(--lime); transform: translateY(-2px); }
.gea-pagination .current { background: var(--g9); color: #fff; }
.gea-empty { padding: 40px 0; }

/* ---------- 10. Singolo articolo e corso ---------- */
.gea-article-cover { max-width: calc(980px + var(--gutter) * 2); margin: clamp(-40px, -3vw, -24px) auto 0; padding-inline: var(--gutter); position: relative; z-index: 2; }
.gea-article-cover img { width: 100%; border-radius: 24px; box-shadow: 12px 12px 0 var(--lime); }
.gea-corso-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: clamp(28px, 4vw, 56px); padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(56px, 8vw, 100px); align-items: start; }
.gea-corso-main .gea-prose { padding: 0; }
.gea-corso-box { background: #fff; border-radius: 24px; padding: clamp(22px, 3vw, 36px); margin-bottom: 18px; }
.gea-corso-h { font-size: clamp(24px, 2.4vw, 32px); margin: 0 0 14px; }
.gea-corso-box .gea-prose > * { max-width: none; }
.gea-corso-side { position: sticky; top: calc(var(--top) + 90px); display: grid; gap: 18px; }
.gea-corso-img { margin: 0; }
.gea-corso-img img { width: 100%; border-radius: 22px; }
.gea-corso-cta { background: var(--g9); color: var(--on-dark); border-radius: 24px; padding: 28px; }
.gea-corso-cta-h { font-family: var(--display); font-weight: 800; font-size: 26px; line-height: 1.05; color: #fff; margin: 0 0 10px; }
.gea-corso-back { display: inline-block; margin-top: 16px; color: var(--lime); text-decoration: none; font-weight: 600; }
@media (max-width: 900px) { .gea-corso-grid { grid-template-columns: minmax(0, 1fr); } .gea-corso-side { position: static; } }

/* ---------- 11. Footer ---------- */
.gea-footer { background: var(--g9); color: var(--on-dark); padding: clamp(56px, 7vw, 96px) 0 0; position: relative; overflow: hidden; font-size: 15px; }
.gea-footer::before { content: ""; position: absolute; left: -160px; top: -160px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid var(--g7); pointer-events: none; }
.gea-footer a { color: #E4EED9; text-decoration: none; transition: color .25s, transform .3s var(--ease); }
.gea-footer a:hover { color: var(--lime); }
.gea-foot-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; padding-bottom: clamp(36px, 5vw, 56px); margin-bottom: clamp(36px, 5vw, 56px); border-bottom: 1px solid var(--g7); position: relative; }
.gea-foot-claim { font-family: var(--display); font-weight: 800; color: #fff; font-size: clamp(34px, 4.6vw, 64px); line-height: .98; letter-spacing: -0.04em; margin: 0; max-width: 14ch; }
.gea-foot-claim em { font-family: var(--serif); font-weight: 400; letter-spacing: 0; color: var(--lime); }
.gea-foot-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.gea-footer .gea-btn-lime { color: var(--g9); }
.gea-footer .gea-btn-ghost { color: #fff; box-shadow: inset 0 0 0 1.5px #4F6E3B; }
.gea-foot-cols { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1.2fr; gap: clamp(28px, 4vw, 48px); position: relative; }
.gea-foot-h { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--lime); margin: 0 0 14px; }
.gea-foot-txt { line-height: 1.6; margin: 0 0 14px; }
.gea-foot-txt strong { color: #fff; font-weight: 600; }
.gea-foot-small { font-size: 13px; line-height: 1.55; color: #9DB58A; margin: 0; }
.gea-foot-iban { font-family: var(--display); font-weight: 700; font-size: 17px; color: #fff; letter-spacing: .02em; margin: 0 0 6px; }
.gea-foot-brand .gea-brand-logo { width: 64px; height: 64px; }
.gea-foot-name { font-family: var(--display); font-weight: 800; font-size: 24px; color: #fff; letter-spacing: -0.02em; margin: 14px 0 2px; }
.gea-foot-sub { font-size: 14px; margin: 0 0 20px; }
.gea-foot-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.gea-foot-links a { display: inline-block; }
.gea-foot-links a:hover { transform: translateX(6px); }
.gea-socials { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.gea-socials a { width: 46px; height: 46px; border-radius: 50%; background: var(--g8); color: #fff; display: grid; place-items: center; transition: background-color .3s, color .3s, transform .4s var(--ease); }
.gea-socials a:hover { background: var(--lime); color: var(--g9); transform: rotate(-12deg) scale(1.08); }
.gea-giant { font-family: var(--display); font-weight: 800; font-size: clamp(110px, 25vw, 360px); line-height: .78; letter-spacing: -0.06em; color: transparent; -webkit-text-stroke: 2px #3E5C2C; margin: clamp(40px, 6vw, 72px) 0 0; white-space: nowrap; user-select: none; transition: -webkit-text-stroke-color .5s, color .5s; }
.gea-giant:hover { color: var(--g6); -webkit-text-stroke-color: var(--g6); }
.gea-foot-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; border-top: 1px solid var(--g7); padding: 20px 0 24px; font-size: 13px; color: #9DB58A; position: relative; }
.gea-foot-bottom p { margin: 0; }
.gea-foot-legal { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.gea-foot-bottom a { color: #9DB58A; }
.gea-foot-bottom a:hover { color: var(--lime); }
@media (max-width: 1100px) { .gea-foot-cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .gea-foot-cols { grid-template-columns: 1fr; } }

/* ---------- 12. Animazioni ---------- */
@keyframes gea-up { from { opacity: 0; transform: translateY(36px); } to { opacity: 1; transform: none; } }
@keyframes gea-spin { to { transform: rotate(360deg); } }
@keyframes gea-marquee { to { transform: translateX(-50%); } }
@keyframes gea-marquee-r { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@keyframes gea-float { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-14px) rotate(-1deg); } }
@keyframes gea-pulse { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.06); opacity: 1; } }
/* comparsa allo scorrimento (attivata dal JavaScript del tema) */
.gea-js-reveal .gea-reveal { opacity: 0; translate: 0 34px; transition: opacity .8s var(--ease) var(--gea-delay, 0ms), translate .9s var(--ease) var(--gea-delay, 0ms); }
.gea-js-reveal .gea-reveal.is-in { opacity: 1; translate: 0 0; }

/* ---------- 13. Tablet e telefono ---------- */
@media (max-width: 900px) {
	.gea-bento { grid-template-columns: minmax(0, 1fr); }
	.gea-tile-photo, .gea-tile-gold { grid-column: auto; grid-row: auto; }
	.gea-tile-photo { min-height: 420px; }
	.gea-row a { grid-template-columns: 44px minmax(0, 1fr) 32px; gap: 12px; }
}
@media (max-width: 781px) {
	.gea-hero-visual { max-width: 420px; }
	.gea-badge { width: 104px; height: 104px; }
	.gea-overlay-link { grid-template-columns: 40px minmax(0, 1fr) 28px; }
}

/* ---------- 14. Chi preferisce meno movimento ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.gea-marquee, .gea-logos-track { flex-wrap: wrap; width: auto; }
}

/* =========================================================
   Tema GEA – classi personalizzate delle pagine esistenti
   (portate dal CSS aggiuntivo del vecchio tema)
   ========================================================= */
.lingue-orizzontali ul { display: flex !important; flex-direction: row !important; list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 12px; }
.lingue-orizzontali li { display: flex !important; align-items: center !important; gap: 4px; }
.mia-riga-griglia { border-bottom: 1px solid rgba(255,255,255,1) !important; padding-bottom: 25px !important; margin-bottom: 10px !important; box-sizing: border-box !important; width: 100% !important; }
@media only screen and (min-width: 769px) {
.mie-colonne-test .wp-block-grid > *:not(:nth-child(3n)) .mia-riga-griglia { border-right: 1px solid rgba(255,255,255,1) !important; padding-right: 15px !important; }
.mie-colonne-test .wp-block-grid > *:nth-child(3n) .mia-riga-griglia { border-right: none !important; }
}
@media only screen and (max-width: 768px) and (min-width: 481px) {
.mie-colonne-test .wp-block-grid > * .mia-riga-griglia { border-right: none !important; }
.mie-colonne-test .wp-block-grid > *:not(:nth-child(2n)) .mia-riga-griglia { border-right: 1px solid rgba(255,255,255,1) !important; padding-right: 15px !important; }
}
@media only screen and (max-width: 480px) { .mia-riga-griglia { border-right: none !important; } }
@media (max-width: 767px) {
.wp-block-columns.has-nested-images { flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }
.wp-block-columns.has-nested-images > .wp-block-column { flex-basis: calc(25% - 10px) !important; max-width: calc(25% - 10px) !important; margin: 0 !important; }
.wp-block-columns.has-nested-images img { width: 100% !important; height: auto !important; max-width: 60px !important; margin: 0 auto !important; }
}
.wp-block-group.gruppo-icone-contenitore { max-width: 100% !important; width: 100% !important; margin: 0 auto !important; padding: 20px 40px !important; box-sizing: border-box !important; }
.wp-block-gallery.griglia-icone-fisse { display: grid !important; grid-template-columns: repeat(10, minmax(0, 1fr)) !important; gap: 8px !important; padding: 0 !important; margin: 0 auto !important; max-width: 1400px !important; }
.griglia-icone-fisse .wp-block-image { margin: 0 !important; width: 100% !important; display: flex !important; justify-content: center !important; }
.griglia-icone-fisse .wp-block-image img { width: 110px !important; height: 110px !important; object-fit: contain !important; }
@media (max-width: 1024px) and (min-width: 768px) {
.wp-block-gallery.griglia-icone-fisse { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 12px !important; }
.griglia-icone-fisse .wp-block-image img { width: 100px !important; height: 100px !important; }
}
@media (max-width: 767px) {
.wp-block-gallery.griglia-icone-fisse { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
.griglia-icone-fisse .wp-block-image img { width: 120px !important; height: 120px !important; }
}
.wp-block-group.forza-tutto-schermo { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; box-sizing: border-box !important; border-radius: 0 !important; }
.wp-block-group.forza-tutto-schermo > * { max-width: 1200px !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box !important; }
.elenco-svg-custom li { list-style-type: none !important; position: relative !important; padding-left: 70px !important; min-height: 50px !important; margin-bottom: 25px !important; display: block !important; background-repeat: no-repeat !important; background-position: left center !important; background-size: 50px 50px !important; }
.elenco-solo-animato li { position: relative !important; margin-bottom: 15px !important; display: block !important; }
.elenco-svg-custom li:nth-child(1) { background-image: url('/wp-content/uploads/2026/07/organization.svg') !important; }
.elenco-svg-custom li:nth-child(2) { background-image: url('/wp-content/uploads/2026/07/columns.svg') !important; }
.elenco-svg-custom li:nth-child(3) { background-image: url('/wp-content/uploads/2026/07/artificial-intelligence.svg') !important; }
.elenco-svg-custom li:nth-child(4) { background-image: url('/wp-content/uploads/2026/07/networking.svg') !important; }
.elenco-svg-custom li:nth-child(5) { background-image: url('/wp-content/uploads/2026/07/team-spirit.svg') !important; }
details:not([open]) .elenco-svg-custom li, details:not([open]) .elenco-solo-animato li { opacity: 0 !important; }
details[open] .elenco-svg-custom li, details[open] .elenco-solo-animato li { opacity: 0; animation: geaComparsaMorbida .5s ease-out forwards !important; }
details[open] li:nth-child(1) { animation-delay: .1s !important; }
details[open] li:nth-child(2) { animation-delay: .3s !important; }
details[open] li:nth-child(3) { animation-delay: .5s !important; }
details[open] li:nth-child(4) { animation-delay: .7s !important; }
details[open] li:nth-child(5) { animation-delay: .9s !important; }
@keyframes geaComparsaMorbida { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.scheda-partner { transition: transform .3s ease-in-out, box-shadow .3s ease-in-out; position: relative; }
@media (min-width: 1025px) { .scheda-partner:hover { transform: scale(1.03); box-shadow: 0 10px 25px rgba(0,0,0,.12); z-index: 2; } }
@media (max-width: 1024px) {
.griglia-partner-responsive { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; }
.scheda-partner h4 { font-size: 1.2rem !important; }
.scheda-partner p { font-size: .95rem !important; }
}
@media (max-width: 768px) {
.scheda-partner:hover { transform: none; box-shadow: none; }
.griglia-partner-responsive { display: grid !important; grid-template-columns: 1fr !important; gap: 15px !important; }
.scheda-partner { padding: 15px !important; }
.scheda-partner h4 { font-size: 1.05rem !important; }
.scheda-partner p { font-size: .85rem !important; }
}
.griglia-corsi-uguali ul.wp-block-post-template { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; gap: 20px !important; align-items: stretch !important; padding: 0 !important; margin: 0 !important; }
.griglia-corsi-uguali ul.wp-block-post-template > li { display: flex !important; flex-direction: column !important; list-style: none !important; }
.griglia-corsi-uguali ul.wp-block-post-template > li > .wp-block-group { flex-grow: 1 !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; }
@media (max-width: 480px) { .griglia-corsi-uguali ul.wp-block-post-template { grid-template-columns: 1fr !important; gap: 15px !important; } }
.zoom-gruppo-img { overflow: hidden; transition: box-shadow .4s ease; }
.zoom-gruppo-img img { transition: transform .4s ease; }
.zoom-gruppo-img:hover { box-shadow: 0 10px 25px rgba(0,0,0,.08); }
.zoom-gruppo-img:hover img { transform: scale(1.125); }
.zoom-gruppo-img ul.wp-block-post-template { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory !important; gap: 24px !important; padding-bottom: 20px !important; margin: 0 !important; width: 100% !important; }
.zoom-gruppo-img ul.wp-block-post-template > li { flex: 0 0 calc(50% - 12px) !important; min-width: calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; scroll-snap-align: start !important; box-sizing: border-box !important; list-style-type: none !important; }
.zoom-gruppo-img ul.wp-block-post-template li img { transform: scale(1) !important; transition: transform .7s cubic-bezier(.25,1,.5,1) !important; }
.zoom-gruppo-img ul.wp-block-post-template li:hover img { transform: scale(1.03) !important; }
.zoom-gruppo-img:hover, .zoom-gruppo-img img:hover { transform: none !important; }
.zoom-gruppo-img ul.wp-block-post-template::-webkit-scrollbar { height: 6px !important; }
.zoom-gruppo-img ul.wp-block-post-template::-webkit-scrollbar-track { background: #f1f1f1 !important; border-radius: 10px !important; }
.zoom-gruppo-img ul.wp-block-post-template::-webkit-scrollbar-thumb { background: #2c4a1e !important; border-radius: 10px !important; }
@media (max-width: 768px) { .zoom-gruppo-img ul.wp-block-post-template > li { flex: 0 0 85% !important; min-width: 85% !important; max-width: 85% !important; } }
.gutentor-hero-slider .gutentor-button, .gutentor-hero-slider a, .gutentor-hero-slider .wp-block-button__link { position: relative !important; z-index: 20 !important; pointer-events: auto !important; cursor: pointer !important; }
.gutentor-hero-slider .slick-arrow, .gutentor-hero-slider .slick-dots, .gutentor-hero-slider .slick-dots li button { z-index: 20 !important; pointer-events: auto !important; cursor: pointer !important; }
.gutentor-hero-slider .slick-slide { pointer-events: auto !important; }
@media (max-width: 767px) {
.slider-hero-home h1, .slider-hero-home .gutentor-slide-title { font-size: 6.5vw !important; line-height: 1.2 !important; }
.slider-hero-home h2, .slider-hero-home p, .slider-hero-home .gutentor-slide-description { font-size: 4vw !important; line-height: 1.3 !important; }
.slider-hero-home .wp-block-gutentor-single-slide:nth-child(1) { background-position: right center !important; }
.slider-hero-home .wp-block-gutentor-single-slide:nth-child(3) { background-position: left center !important; }
}
.logo-millionaire { flex: 0 0 auto !important; width: auto !important; margin-right: 20px !important; }
.logo-millionaire img { height: 140px !important; width: auto !important; margin-top: 30px !important; }

/* ---------- 15. Pagine principali (Sharing TV Europa e simili) ---------- */
.gea-x > * { max-width: var(--wrap); margin-left: auto !important; margin-right: auto !important; }
.gea-x .gea-sec-head { width: 100%; }
.gea-lead { font-size: clamp(18px, 1.6vw, 21px) !important; line-height: 1.55 !important; max-width: 640px; }
.gea-sec-dark .gea-lead, .gea-hero .gea-lead { color: var(--on-dark); }
.gea-sec-dark .gea-kicker, .gea-hero .gea-kicker { color: var(--lime); }
.gea-sec-dark h2, .gea-sec-dark h3 { color: #fff; }
.gea-live { display: inline-flex !important; align-items: center; gap: 10px; width: fit-content; background: #E5484D; color: #fff !important; border-radius: 999px; padding: 7px 16px 7px 12px !important; font-size: 13px !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 22px !important; }
.gea-live::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #fff; animation: gea-blink 1.4s ease-in-out infinite; }
@keyframes gea-blink { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .25; transform: scale(.7); } }
.gea-screen { position: relative; margin: 0 !important; border-radius: 28px; overflow: hidden; background: #000; border: 10px solid var(--g8); box-shadow: 16px 16px 0 var(--lime); transform: rotate(1.2deg); transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.gea-screen:hover { transform: rotate(0) scale(1.01); box-shadow: 10px 10px 0 var(--lime); }
.gea-screen video, .gea-screen img, .gea-screen iframe { display: block; width: 100%; height: auto; border-radius: 0 !important; aspect-ratio: 16 / 9; object-fit: cover; }
.gea-screen figcaption { position: absolute; left: 14px; top: 14px; margin: 0; background: rgba(19, 39, 10, .82); color: #fff; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700; }
.gea-channels { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px !important; }
.gea-channels > * { margin: 0 !important; }
.gea-channel { background: #fff; border-radius: 24px; padding: 18px 14px 20px !important; display: flex !important; flex-direction: column; align-items: center; gap: 10px; text-align: center; transition: transform .45s var(--ease), box-shadow .45s, background-color .35s; }
.gea-channel > * { margin: 0 !important; }
.gea-channel figure { margin: 0 !important; }
.gea-channel img { width: 92px !important; height: 92px !important; object-fit: contain; border-radius: 0 !important; transition: transform .6s var(--ease); }
.gea-channel p { font-family: var(--display); font-weight: 700; font-size: 16px !important; line-height: 1.15; color: var(--g9); }
.gea-channel:hover { transform: translateY(-8px) rotate(-1.5deg); box-shadow: 8px 10px 0 var(--g9); background: var(--lime); }
.gea-channel:hover img { transform: scale(1.12) rotate(6deg); }
.gea-sec-dark .gea-channel { background: var(--g8); }
.gea-sec-dark .gea-channel p { color: #fff; }
.gea-sec-dark .gea-channel:hover p { color: var(--g9); }
.gea-chips { overflow: hidden; margin: 0 !important; padding: 8px 0; }
.gea-chips-track { display: flex; gap: 14px; width: max-content; animation: gea-marquee 36s linear infinite; }
.gea-chips:hover .gea-chips-track { animation-play-state: paused; }
.gea-chips-track span { display: inline-flex; align-items: center; gap: 12px; background: #fff; border: 2px solid var(--g9); border-radius: 999px; padding: 8px 22px 8px 8px; font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--g9); white-space: nowrap; transition: transform .35s var(--ease), background-color .3s; }
.gea-chips-track span:hover { transform: rotate(-3deg) scale(1.05); background: var(--lime); }
.gea-chips-track img { width: 52px; height: 52px; object-fit: contain; border-radius: 0; }
.gea-split { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px) !important; align-items: center; }
.gea-split > * { margin: 0 !important; }
.gea-split.is-flip > :first-child { order: 2; }
.gea-split h2 { font-size: clamp(34px, 4vw, 56px) !important; line-height: 1 !important; letter-spacing: -0.035em !important; margin: 0 0 18px !important; }
.gea-split h2 em { color: var(--g6); }
.gea-sec-dark .gea-split h2 em { color: var(--gold); }
.gea-split p { margin: 0 0 14px !important; }
.gea-split-text > * { margin-top: 0 !important; }
.gea-frame { margin: 0 !important; border-radius: 32px; overflow: hidden; background: var(--sand); transition: transform .6s var(--ease); }
.gea-frame img { display: block; width: 100%; height: auto; border-radius: 0 !important; transition: transform .8s var(--ease); }
.gea-frame:hover img { transform: scale(1.04); }
.gea-frame-blob { border-radius: 50% 50% 32px 50%; }
.gea-frame-tilt { transform: rotate(-2.5deg); box-shadow: 14px 14px 0 var(--g9); }
.gea-frame-tilt:hover { transform: rotate(0); }
.gea-frame-plain { background: transparent; border-radius: 0; overflow: visible; }
.gea-frame-plain img { border-radius: 0 !important; }
.gea-phone { margin: 0 auto !important; max-width: 340px; animation: gea-float 7s ease-in-out infinite; filter: drop-shadow(18px 22px 0 rgba(19, 39, 10, .18)); }
.gea-phone img { display: block; width: 100%; height: auto; border-radius: 0 !important; }
.gea-outlets { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px !important; }
.gea-outlets > * { margin: 0 !important; }
.gea-outlet { position: relative; background: #fff; border-radius: 26px; padding: 18px 18px 22px !important; display: flex !important; flex-direction: column; gap: 14px; transition: transform .45s var(--ease), box-shadow .45s; }
.gea-outlet > * { margin: 0 !important; }
.gea-outlet figure { background: var(--cream); border-radius: 18px; height: 150px; display: flex; align-items: center; justify-content: center; padding: 18px; margin: 0 !important; }
.gea-outlet figure img { max-height: 110px; width: auto !important; max-width: 100%; object-fit: contain; border-radius: 0 !important; transition: transform .6s var(--ease); }
.gea-outlet h3 { font-size: 22px !important; line-height: 1.1 !important; padding-right: 50px; }
.gea-outlet h3 a { color: var(--g9) !important; text-decoration: none !important; }
.gea-outlet h3 a::after { content: ""; position: absolute; inset: 0; }
.gea-outlet h3 a::before { content: "\2192"; position: absolute; right: 18px; bottom: 18px; width: 40px; height: 40px; border-radius: 50%; background: var(--g9); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; transition: transform .4s var(--ease), background-color .3s, color .3s; }
.gea-outlet:hover { transform: translateY(-8px) rotate(.6deg); box-shadow: 10px 12px 0 var(--g6); }
.gea-outlet:hover figure img { transform: scale(1.08); }
.gea-outlet:hover h3 a::before { transform: rotate(-45deg); background: var(--lime); color: var(--g9); }
.gea-feats { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px !important; }
.gea-feats > * { margin: 0 !important; grid-column: span 2; }
.gea-feats > :nth-child(4), .gea-feats > :nth-child(5) { grid-column: span 3; }
.gea-feat { background: var(--g8); color: #fff; border-radius: 26px; padding: 28px !important; display: flex !important; flex-direction: column; gap: 10px; min-height: 230px; transition: transform .45s var(--ease), background-color .35s, color .35s; }
.gea-feat > * { margin: 0 !important; }
.gea-feat .gea-num { font-size: 52px !important; color: var(--lime); margin-bottom: auto !important; }
.gea-feat h3 { font-size: clamp(21px, 1.8vw, 26px) !important; line-height: 1.1 !important; color: inherit; }
.gea-feat p:not(.gea-num) { color: var(--on-dark); font-size: 15px; line-height: 1.55; }
.gea-feat:hover { transform: translateY(-8px) rotate(-.8deg); background: var(--lime); color: var(--g9); }
.gea-feat:hover p:not(.gea-num) { color: var(--g7); }
.gea-feat:hover .gea-num { color: var(--g6); }
.gea-sec-sand .gea-feat, .gea-x-light .gea-feat { background: #fff; color: var(--g9); }
.gea-sec-sand .gea-feat .gea-num, .gea-x-light .gea-feat .gea-num { color: var(--g6); }
.gea-sec-sand .gea-feat p:not(.gea-num), .gea-x-light .gea-feat p:not(.gea-num) { color: var(--muted); }
.gea-who { border-top: 2px solid var(--g9); margin: 0 !important; padding: 0 !important; list-style: none !important; }
.gea-who li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--line); margin: 0; transition: padding .45s var(--ease), background-color .35s; }
.gea-who li strong { font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2vw, 26px); line-height: 1.15; letter-spacing: -0.02em; color: var(--g9); }
.gea-who li:hover { background: var(--lime); padding-left: 22px; padding-right: 22px; }
.gea-sec-dark .gea-who { border-color: var(--lime); }
.gea-sec-dark .gea-who li { border-color: var(--g7); color: var(--on-dark); }
.gea-sec-dark .gea-who li strong { color: #fff; }
.gea-sec-dark .gea-who li:hover { color: var(--g9); }
.gea-sec-dark .gea-who li:hover strong { color: var(--g9); }
.gea-steps { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px !important; counter-reset: gea-step; position: relative; }
.gea-steps > * { margin: 0 !important; }
.gea-step { counter-increment: gea-step; position: relative; border-top: 3px solid var(--g9); padding: 28px 4px 0 !important; }
.gea-step::before { content: counter(gea-step); position: absolute; top: -26px; left: 0; width: 50px; height: 50px; border-radius: 50%; background: var(--lime); color: var(--g9); border: 3px solid var(--g9); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-style: italic; font-size: 26px; transition: transform .5s var(--ease); }
.gea-step:hover::before { transform: scale(1.18) rotate(-12deg); }
.gea-step > * { margin: 0 0 8px !important; }
.gea-step h3 { font-size: clamp(22px, 2vw, 28px) !important; line-height: 1.1 !important; margin-top: 12px !important; }
.gea-step p { color: var(--muted); }
.gea-sec-dark .gea-step { border-color: var(--lime); }
.gea-sec-dark .gea-step p { color: var(--on-dark); }
.gea-sec-lime { background: var(--lime); color: var(--g9); }
.gea-sec-lime .gea-big em, .gea-sec-lime .gea-split h2 em { color: var(--g6); }
.gea-sec-lime .gea-kicker { color: var(--g9); }
.gea-sec-lime .gea-ticks li::before { background: #fff; }
.gea-quote { font-family: var(--serif) !important; font-style: italic; font-size: clamp(28px, 3vw, 42px) !important; line-height: 1.12 !important; letter-spacing: -0.01em; margin: 0 !important; }
.gea-chapters { gap: 10px !important; }
.gea-chapters .wp-block-button__link { background: transparent !important; color: var(--g9) !important; box-shadow: inset 0 0 0 1.5px var(--g9) !important; min-height: 42px; padding: .55em 1.2em !important; font-size: 15px !important; }
.gea-chapters .wp-block-button__link:hover { background: var(--g9) !important; color: #fff !important; box-shadow: 5px 5px 0 var(--lime) !important; }
.gea-stats { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 !important; border-top: 2px solid var(--g9); border-bottom: 2px solid var(--g9); }
.gea-stats > * { margin: 0 !important; padding: 22px 20px !important; border-right: 1px solid var(--line); }
.gea-stats > :last-child { border-right: 0; }
.gea-stats p { margin: 0 !important; }
.gea-stat-n { font-family: var(--display); font-weight: 800; font-size: clamp(44px, 5vw, 72px) !important; line-height: .9 !important; letter-spacing: -0.04em; color: var(--g9); }
.gea-stat-n em { font-family: var(--serif); font-weight: 400; color: var(--g6); }
.gea-stat-l { color: var(--muted); font-weight: 600; margin-top: 6px !important; }
.gea-cta-box { background: var(--g9); color: #fff; border-radius: 36px; padding: clamp(32px, 5vw, 72px) !important; display: grid !important; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px !important; align-items: center; position: relative; overflow: hidden; }
.gea-cta-box > * { margin: 0 !important; position: relative; z-index: 1; }
.gea-cta-box::after { content: ""; position: absolute; right: -120px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid var(--g7); }
.gea-cta-box h2 { color: #fff; font-size: clamp(34px, 4vw, 58px) !important; line-height: 1 !important; letter-spacing: -0.035em !important; margin: 0 0 16px !important; }
.gea-cta-box h2 em { color: var(--lime); }
.gea-cta-box p { color: var(--on-dark); }
.gea-cta-box .gea-kicker { color: var(--lime); }
.gea-cta-box .gea-brochure-cover { box-shadow: 14px 14px 0 var(--lime); max-width: 260px; }
.gea-player { margin: 0 !important; border-radius: 28px; overflow: hidden; background: #000; aspect-ratio: 16 / 9; border: 10px solid var(--g8); }
.gea-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.gea-app-badge { margin: 0 !important; }
.gea-app-badge img { width: 190px !important; height: auto; border-radius: 0 !important; transition: transform .4s var(--ease); }
.gea-app-badge img:hover { transform: rotate(-3deg) scale(1.05); }
.gea-content-full [id] { scroll-margin-top: calc(var(--top) + 100px); }
.gea-hero .gea-split { align-items: center; }
.gea-hero-light { background: var(--cream); color: var(--g9); }
.gea-hero-light::before { background-image: radial-gradient(rgba(19, 39, 10, .09) 1px, transparent 1.4px); }
.gea-hero-light .gea-hero-title { color: var(--g9) !important; }
.gea-hero-light .gea-hero-title em { color: var(--g6); }
.gea-hero-light .gea-lead { color: var(--muted); }
.gea-hero-light .gea-pill { background: var(--g9); color: #fff; border-color: var(--g9); }
.gea-hero-light .gea-phone { max-width: 380px; }
.gea-split-top { align-items: start !important; }
.gea-stack { display: grid; gap: clamp(64px, 8vw, 110px); }
.gea-stack > * { width: 100%; }
.gea-center { text-align: center; }
.gea-center-head { flex-direction: column; align-items: center !important; text-align: center; }
.gea-center-head .gea-muted { max-width: 560px; }
.gea-screen-wide { max-width: 1040px !important; transform: none; }
.gea-stats-band { margin-top: 0 !important; margin-bottom: 0 !important; background: var(--cream); }
.gea-chips-sec { padding-left: 0 !important; padding-right: 0 !important; }
.gea-chips-sec > .gea-chips { max-width: none !important; }
.gea-chips-sec .gea-kicker { margin-bottom: 18px !important; }
.gea-area-contain { background: var(--cream); }
.gea-area-contain img { object-fit: contain !important; padding: 18px; }
.gea-sf-head { margin-bottom: clamp(32px, 4vw, 56px) !important; }
.gea-sf-head .gea-quote { max-width: 820px; }
.gea-app-row { margin-top: 36px !important; background: #fff; border-radius: 26px; padding: 24px 30px !important; grid-template-columns: minmax(0, 1fr) auto !important; }
.gea-app-row h3 { margin: 0 !important; font-size: clamp(22px, 2.2vw, 30px) !important; }
.gea-app-row .gea-kicker { margin-bottom: 8px !important; }
.gea-who li span { color: var(--muted); }
.gea-sec-dark .gea-who li span { color: var(--on-dark); }
.gea-who li:hover span { color: var(--g7) !important; }
.gea-sec-head .gea-live { margin: 0 !important; }
@media (max-width: 1024px) {
.gea-channels { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gea-outlets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gea-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gea-feats > *, .gea-feats > :nth-child(4), .gea-feats > :nth-child(5) { grid-column: span 1; }
.gea-feats > :nth-child(5) { grid-column: span 2; }
}
@media (max-width: 781px) {
.gea-split, .gea-cta-box, .gea-app-row { grid-template-columns: 1fr !important; }
.gea-split.is-flip > :first-child { order: 0; }
.gea-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gea-channel img { width: 76px !important; height: 76px !important; }
.gea-outlets, .gea-feats, .gea-steps, .gea-stats { grid-template-columns: 1fr; }
.gea-feats > :nth-child(5) { grid-column: span 1; }
.gea-steps { gap: 48px !important; }
.gea-stats > * { border-right: 0; border-bottom: 1px solid var(--line); }
.gea-stats > :last-child { border-bottom: 0; }
.gea-who li { grid-template-columns: 1fr; gap: 6px; }
.gea-screen { transform: none; box-shadow: 8px 8px 0 var(--lime); border-width: 6px; }
.gea-hero-light .gea-phone { max-width: 260px; }
}

/* ritocchi sezione 15 */
.gea-stats-band { width: min(var(--wrap), calc(100% - var(--gutter) * 2)); margin: 0 auto !important; }
.gea-stats-band > * { max-width: none !important; }
.gea-screen-wide { margin: 0 auto !important; width: 100%; }
.gea-screen figcaption { left: auto; right: 14px; top: auto; bottom: 14px; }
.gea-channel img { width: 124px !important; height: 124px !important; }
.gea-app-badge img { width: 72px !important; }
.gea-area .gea-app-badge { padding-inline: 12px; }
@media (max-width: 781px) { .gea-channel img { width: 96px !important; height: 96px !important; } }
/* fine sezione 15 */

/* mappa (Dove siamo) */
.gea-map { position: relative; margin: 0 !important; border-radius: 32px; overflow: hidden; background: var(--sand); aspect-ratio: 4 / 5; max-height: 640px; width: 100%; box-shadow: 14px 14px 0 var(--g9); transform: rotate(1.2deg); transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.gea-map:hover { transform: rotate(0); box-shadow: 8px 8px 0 var(--g9); }
.gea-map iframe { display: block; width: 100%; height: 100%; border: 0; filter: saturate(.85); }
.gea-map figcaption { position: absolute; left: 16px; bottom: 16px; margin: 0; background: var(--lime); color: var(--g9); border-radius: 999px; padding: 10px 18px 10px 14px; font-family: var(--display); font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; gap: 8px; pointer-events: none; }
.gea-map figcaption::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--g9); box-shadow: 0 0 0 4px rgba(19, 39, 10, .2); }
.gea-places-stack { grid-template-columns: 1fr 1fr !important; }
.gea-places-stack > :first-child { grid-column: 1 / -1; background: var(--g9); color: #fff; }
.gea-places-stack > :first-child .gea-role { color: var(--lime); }
@media (max-width: 781px) { .gea-map { aspect-ratio: 1 / 1; transform: none; box-shadow: 8px 8px 0 var(--g9); } .gea-places-stack { grid-template-columns: 1fr !important; } }

/* ---------- 16. Corsi (elenco con filtri e singolo corso) ---------- */
.gea-live-lime { background: var(--lime) !important; color: var(--g9) !important; }
.gea-live-lime::before { background: var(--g9) !important; }
.gea-course-feat { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 0; background: var(--g9); color: #fff; border-radius: 36px; overflow: hidden; margin: 0 0 clamp(48px, 6vw, 80px); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.gea-course-feat:hover { transform: translateY(-6px); box-shadow: 12px 12px 0 var(--lime); }
.gea-course-feat-img { margin: 0; min-height: 360px; background: var(--g8); }
.gea-course-feat-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; display: block; }
.gea-course-feat-txt { padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.gea-course-feat-txt h2 { color: #fff; font-size: clamp(34px, 4vw, 56px); line-height: 1; letter-spacing: -0.035em; margin: 0; }
.gea-course-feat-txt p { color: var(--on-dark); margin: 0; }
.gea-course-feat-txt .gea-live { margin: 0 !important; }
.gea-course-feat-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 8px; }
.gea-course-feat-btns .gea-btn-ghost { color: #fff; box-shadow: inset 0 0 0 1.5px #5C7C47; }
.gea-course-feat-price { font-family: var(--serif); font-style: italic; font-size: 30px; color: var(--lime); margin-left: 6px; }
.gea-filter { position: sticky; top: calc(var(--top) + 76px); z-index: 20; display: grid; grid-template-columns: minmax(0, 1fr) 280px auto; gap: 14px 18px; align-items: center; background: rgba(244, 239, 230, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--line); border-radius: 26px; padding: 12px; margin: 0 0 24px; }
.gea-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gea-filter-chips button { font: 700 15px/1 var(--body); color: var(--g9); background: #fff; border: 0; box-shadow: inset 0 0 0 1.5px var(--line); border-radius: 999px; padding: 11px 16px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: transform .3s var(--ease), background-color .25s, color .25s, box-shadow .25s; }
.gea-filter-chips button span { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 16px; color: var(--g6); }
.gea-filter-chips button:hover { transform: translateY(-2px) rotate(-1.5deg); box-shadow: inset 0 0 0 1.5px var(--g9); }
.gea-filter-chips button.is-on { background: var(--g9); color: #fff; box-shadow: 4px 4px 0 var(--lime); }
.gea-filter-chips button.is-on span { color: var(--lime); }
.gea-filter-search { position: relative; display: block; }
.gea-filter-search svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.gea-filter-search input { width: 100%; min-height: 46px; border: 0; box-shadow: inset 0 0 0 1.5px var(--line); border-radius: 999px; background: #fff; padding: 0 18px 0 46px; font: 500 16px var(--body); color: var(--g9); outline: none; transition: box-shadow .25s; }
.gea-filter-search input:focus { box-shadow: inset 0 0 0 2px var(--g9), 0 0 0 4px rgba(213, 239, 114, .6); }
.gea-filter-count { margin: 0 8px 0 0; color: var(--muted); white-space: nowrap; }
.gea-filter-count b { font-family: var(--display); font-size: 22px; color: var(--g9); }
.gea-courses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gea-course { position: relative; background: #fff; border-radius: 26px; overflow: hidden; display: flex; flex-direction: column; transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.gea-course[hidden] { display: none; }
.gea-course:hover { transform: translateY(-8px) rotate(-.6deg); box-shadow: 10px 12px 0 var(--g9); }
.gea-course-img { margin: 0; aspect-ratio: 16 / 10; background: var(--sand); overflow: hidden; }
.gea-course-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; display: block; transition: transform .8s var(--ease); }
.gea-course:hover .gea-course-img img { transform: scale(1.07); }
.gea-course-noimg { display: flex; height: 100%; align-items: center; justify-content: center; font-family: var(--display); font-weight: 800; font-size: 48px; color: transparent; -webkit-text-stroke: 1.5px var(--g6); }
.gea-course-body { padding: 18px 22px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.gea-course-area { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--g6); }
.gea-course-title { margin: 0; font-size: clamp(20px, 1.7vw, 24px); line-height: 1.1; letter-spacing: -0.02em; }
.gea-course-title a { color: var(--g9); text-decoration: none; }
.gea-course-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gea-course-for { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.gea-course-foot { margin: auto 0 0; padding-top: 12px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--sand); }
.gea-course-price { font-family: var(--display); font-weight: 800; font-size: 20px; color: var(--g9); }
.gea-course-go { width: 40px; height: 40px; border-radius: 50%; background: var(--g9); color: #fff; display: inline-flex; align-items: center; justify-content: center; margin-left: auto; transition: transform .4s var(--ease), background-color .3s, color .3s; }
.gea-course:hover .gea-course-go { transform: rotate(-45deg); background: var(--lime); color: var(--g9); }
.gea-courses-empty { text-align: center; padding: 48px 20px; font-size: 18px; color: var(--muted); }
.gea-corso-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 22px; }
.gea-corso-crumbs .gea-pill { text-decoration: none; }
.gea-corso-tag { display: inline-flex; align-items: center; border-radius: 999px; padding: 7px 14px; background: var(--g8); color: var(--lime); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gea-corso-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
.gea-corso-meta .gea-btn-ghost { color: #fff; box-shadow: inset 0 0 0 1.5px #5C7C47; }
.gea-corso-price { display: inline-flex; flex-direction: column; justify-content: center; min-height: 48px; padding: 6px 20px; border-radius: 18px; background: var(--g8); color: #fff; font-family: var(--display); font-weight: 800; font-size: 22px; line-height: 1.1; }
.gea-corso-price small { font: 700 11px var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
.gea-corso-intro { font-weight: 700; color: var(--g9); margin-bottom: 8px !important; }
.gea-corso-box .gea-ticks { margin: 0 0 14px !important; }
.gea-corso-more { padding-bottom: clamp(56px, 8vw, 100px); }
.gea-courses-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) {
.gea-courses, .gea-courses-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gea-filter { grid-template-columns: minmax(0, 1fr) auto; }
.gea-filter-chips { grid-column: 1 / -1; }
}
@media (max-width: 781px) {
.gea-course-feat { grid-template-columns: 1fr; }
.gea-course-feat-img { min-height: 220px; aspect-ratio: 16 / 10; }
.gea-filter { position: static; grid-template-columns: 1fr; }
.gea-filter-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -12px; padding: 2px 12px 6px; }
.gea-filter-chips button { flex: none; }
.gea-filter-count { display: none; }
}
@media (max-width: 600px) { .gea-courses, .gea-courses-3 { grid-template-columns: 1fr; } }

/* corsi: dettagli pagina */
.gea-stats-dark { border-color: var(--lime) !important; }
.gea-stats-dark > * { border-color: var(--g7) !important; }
.gea-stats-dark .gea-stat-n { color: #fff; }
.gea-stats-dark .gea-stat-n em { color: var(--lime); }
.gea-stats-dark .gea-stat-l { color: var(--on-dark); }
.gea-hero .gea-stats { grid-template-columns: 1fr; align-self: center; }
.gea-hero .gea-stats > * { border-right: 0; border-bottom: 1px solid var(--g7); padding: 20px 4px !important; }
.gea-hero .gea-stats > :last-child { border-bottom: 0; }
.gea-paths { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px !important; }
.gea-paths > * { margin: 0 !important; min-height: 270px; }
.gea-cta-solo { grid-template-columns: 1fr !important; text-align: left; }
.gea-cta-solo > * { max-width: 760px; }
@media (max-width: 781px) { .gea-paths { grid-template-columns: 1fr; } .gea-paths > * { min-height: 220px; } }
.gea-course-feat-img img { object-position: top; }

/* corsi: pannello filtri */
.gea-filter { grid-template-columns: minmax(0, 1fr) 260px auto auto; }
.gea-filter-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 18px; border: 0; border-radius: 999px; background: #fff; color: var(--g9); box-shadow: inset 0 0 0 1.5px var(--line); font: 700 15px var(--body); cursor: pointer; transition: background-color .25s, color .25s, box-shadow .25s, transform .3s var(--ease); }
.gea-filter-toggle:hover { box-shadow: inset 0 0 0 1.5px var(--g9); transform: translateY(-2px); }
.gea-filter-toggle.has-active, .gea-filter.is-open .gea-filter-toggle { background: var(--g9); color: #fff; box-shadow: 4px 4px 0 var(--lime); }
.gea-filter-badge { min-width: 22px; height: 22px; border-radius: 999px; background: var(--lime); color: var(--g9); font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; }
.gea-filter-badge[hidden] { display: none; }
.gea-filter-panel { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; border-top: 1px solid var(--line); padding: 20px 8px 6px; animation: gea-up .45s var(--ease) both; }
.gea-filter-panel[hidden] { display: none; }
.gea-filter-panel fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.gea-filter-panel legend { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--g9); margin-bottom: 10px; padding: 0; }
.gea-filter-panel legend small { font: 500 13px var(--body); color: var(--muted); }
.gea-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.gea-opt { font: 600 14px/1 var(--body); color: var(--g9); background: #fff; border: 0; box-shadow: inset 0 0 0 1.5px var(--line); border-radius: 999px; padding: 10px 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; transition: background-color .25s, color .25s, box-shadow .25s, transform .3s var(--ease); }
.gea-opt span { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 15px; color: var(--g6); }
.gea-opt:hover { box-shadow: inset 0 0 0 1.5px var(--g9); transform: translateY(-1px); }
.gea-opt.is-on { background: var(--lime); box-shadow: inset 0 0 0 1.5px var(--g9); }
.gea-opt.is-on span { color: var(--g9); }
.gea-opts[data-group="for"] .gea-opt.is-on::before, .gea-opts[data-group="full"] .gea-opt.is-on::before { content: "✓"; font-weight: 800; }
.gea-filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; padding-top: 6px; }
.gea-filter-reset { background: none; border: 0; padding: 10px 6px; font: 700 15px var(--body); color: var(--g9); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.gea-filter-reset:hover { color: var(--g6); }
.gea-filter.is-open { box-shadow: 0 24px 60px -30px rgba(19, 39, 10, .45); background: rgba(244, 239, 230, .98); }
@media (max-width: 1024px) {
.gea-filter { grid-template-columns: minmax(0, 1fr) auto auto; }
.gea-filter-panel { grid-template-columns: 1fr; }
}
@media (max-width: 781px) {
.gea-filter { grid-template-columns: minmax(0, 1fr) auto; }
.gea-filter-search { grid-column: 1 / 2; }
.gea-filter-actions { justify-content: space-between; }
.gea-filter-actions .gea-btn { flex: 1; }
}

/* ---------- 17. Scuola dei Talenti ---------- */
.gea-feats-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.gea-feats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.gea-feats-4 > *, .gea-feats-2 > * { grid-column: auto !important; }
.gea-feat .gea-ticks li { color: inherit; font-weight: 500; font-size: 15px; }
.gea-feat:hover .gea-ticks li::before { background: #fff; }
.gea-bigstat { display: flex !important; flex-direction: column; justify-content: center; align-items: flex-start; background: var(--lime); color: var(--g9); border-radius: 36px; padding: clamp(28px, 4vw, 56px) !important; min-height: 360px; transform: rotate(-2deg); box-shadow: 14px 14px 0 #fff; transition: transform .6s var(--ease); }
.gea-bigstat:hover { transform: rotate(0) scale(1.02); }
.gea-bigstat > * { margin: 0 !important; }
.gea-bigstat-n { font-family: var(--display); font-weight: 800; font-size: clamp(110px, 14vw, 200px) !important; line-height: .85 !important; letter-spacing: -0.06em; }
.gea-bigstat-l { font-family: var(--serif); font-style: italic; font-size: clamp(24px, 2.4vw, 34px) !important; line-height: 1.1 !important; max-width: 16ch; margin-top: 12px !important; }
.gea-plans { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; }
.gea-plans > * { margin: 0 !important; }
.gea-plan { position: relative; background: var(--g8); color: #fff; border-radius: 28px; padding: 28px 24px !important; display: flex !important; flex-direction: column; gap: 10px; min-height: 300px; transition: transform .45s var(--ease), background-color .35s, color .35s, box-shadow .45s; }
.gea-plan > * { margin: 0 !important; }
.gea-plan-k { font-size: 12px !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
.gea-plan-p { font-family: var(--display); font-weight: 800; font-size: clamp(40px, 4vw, 56px) !important; line-height: .95 !important; letter-spacing: -0.04em; color: #fff; }
.gea-plan-p em { font-family: var(--serif); font-weight: 400; font-size: .5em; letter-spacing: 0; color: var(--on-dark); }
.gea-plan h3 { font-size: 21px !important; line-height: 1.15 !important; color: #fff; }
.gea-plan p:not(.gea-plan-k):not(.gea-plan-p) { color: var(--on-dark); font-size: 15px; line-height: 1.55; margin-top: auto !important; }
.gea-plan:hover { transform: translateY(-10px) rotate(-1deg); background: var(--lime); color: var(--g9); box-shadow: 10px 12px 0 #fff; }
.gea-plan:hover .gea-plan-k, .gea-plan:hover .gea-plan-p, .gea-plan:hover h3 { color: var(--g9); }
.gea-plan:hover .gea-plan-p em, .gea-plan:hover p:not(.gea-plan-k):not(.gea-plan-p) { color: var(--g7); }
.gea-plan-star { background: var(--gold); color: var(--g9); }
.gea-plan-star .gea-plan-k, .gea-plan-star .gea-plan-p, .gea-plan-star h3 { color: var(--g9); }
.gea-plan-star .gea-plan-p em, .gea-plan-star p:not(.gea-plan-k):not(.gea-plan-p) { color: var(--g7); }
.gea-note { display: flex !important; align-items: center; gap: 14px; margin-top: 28px !important; padding: 18px 22px !important; border-radius: 20px; background: var(--g8); color: #fff; font-weight: 600; }
.gea-note::before { content: "!"; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--lime); color: var(--g9); display: flex; align-items: center; justify-content: center; font-family: var(--display); font-weight: 800; }
.gea-form-box { background: #fff; border-radius: 32px; padding: clamp(24px, 4vw, 56px) !important; max-width: 920px !important; box-shadow: 14px 14px 0 var(--g9); }
.gea-form-box > h2 { font-size: clamp(30px, 3.4vw, 46px) !important; line-height: 1 !important; margin: 0 0 10px !important; }
.gea-form-box > h2 em { color: var(--g6); }
.gea-form-box > p { color: var(--muted); margin: 0 0 24px !important; }
.gea-acc { max-width: 920px !important; }
.gea-acc .wp-block-details { border-bottom: 1px solid var(--line); padding: 4px 0; }
.gea-acc .wp-block-details:first-child { border-top: 2px solid var(--g9); }
.gea-acc summary { cursor: pointer; list-style: none; font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2vw, 26px); padding: 20px 56px 20px 0; position: relative; color: var(--g9); }
.gea-acc summary::-webkit-details-marker { display: none; }
.gea-acc summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; background: var(--g9); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; transition: transform .4s var(--ease), background-color .3s, color .3s; }
.gea-acc details[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--lime); color: var(--g9); }
.gea-acc details > :not(summary) { margin: 0 0 16px; max-width: 760px; }
@media (max-width: 1024px) { .gea-feats-4, .gea-plans { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 781px) { .gea-feats-4, .gea-feats-2, .gea-plans { grid-template-columns: 1fr !important; } .gea-bigstat { min-height: 0; transform: none; } .gea-plan { min-height: 0; } }
.gea-steps-2 { grid-template-columns: 1fr !important; gap: 52px !important; padding-top: 30px; }
.gea-hero .gea-hero-visual { margin: 0 auto !important; }
/* elenchi su scuro */
.gea-sec-dark .gea-ticks li, .gea-feat .gea-ticks li { color: inherit; }
.gea-sec-dark .gea-ticks li { color: #fff; }
.gea-feat h3 a { color: inherit !important; text-decoration: none !important; }
.gea-feat h3 a:hover { text-decoration: underline !important; text-underline-offset: 4px; }

/* indice laterale (pagine lunghe) */
.gea-prose.gea-has-toc { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 0 auto; align-items: start; }
.gea-prose.gea-has-toc > * { max-width: none; margin: 0; }
.gea-toc-body > * { max-width: 780px; margin-left: 0; margin-right: 0; }
.gea-toc-body > .alignwide, .gea-toc-body > .alignfull, .gea-toc-body > .wp-block-columns, .gea-toc-body > .wp-block-group { max-width: none; margin-left: 0 !important; margin-right: 0 !important; width: auto; }
.gea-toc-body > :first-child { margin-top: 0; }
.gea-toc-body [id] { scroll-margin-top: calc(var(--top) + 110px); }
.gea-toc { position: sticky; top: calc(var(--top) + 100px); max-height: calc(100vh - var(--top) - 130px); overflow: auto; scrollbar-width: thin; }
.gea-toc-box { background: #fff; border-radius: 24px; padding: 18px 18px 14px; }
.gea-toc-box summary { list-style: none; cursor: pointer; font-family: var(--display); font-weight: 700; font-size: 17px; color: var(--g9); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gea-toc-box summary::-webkit-details-marker { display: none; }
.gea-toc-box summary span { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--g6); font-size: 18px; }
.gea-toc ol { list-style: none; margin: 12px 0 0; padding: 0; border-left: 2px solid var(--sand); }
.gea-toc li { margin: 0; }
.gea-toc a { display: block; padding: 7px 10px 7px 14px; margin-left: -2px; border-left: 2px solid transparent; color: var(--muted); text-decoration: none; font-size: 14px; line-height: 1.35; transition: color .2s, border-color .2s, background-color .2s; }
.gea-toc .gea-toc-h3 a { padding-left: 26px; font-size: 13px; }
.gea-toc a:hover { color: var(--g9); background: var(--cream); }
.gea-toc a.is-on { color: var(--g9); font-weight: 700; border-left-color: var(--g6); background: var(--lime-soft); }
@media (max-width: 960px) {
.gea-prose.gea-has-toc { grid-template-columns: minmax(0, 1fr); }
.gea-toc { position: sticky; top: calc(var(--top) + 76px); z-index: 15; max-height: none; overflow: visible; }
.gea-toc-box { box-shadow: 0 12px 30px -18px rgba(19, 39, 10, .5); }
.gea-toc-box[open] ol { max-height: 55vh; overflow: auto; }
}

/* certificazioni */
.gea-certs .gea-outlet { padding-bottom: 72px !important; }
.gea-certs .gea-outlet h3 { padding-right: 0; }
.gea-certs .gea-outlet h3 a::before { bottom: 20px; right: 20px; }
.gea-certs .gea-outlet > p:not(.gea-course-area):not(.gea-outlet-mark) { color: var(--muted); font-size: 15px; line-height: 1.55; }
.gea-certs .gea-outlet .gea-course-area { margin-bottom: -6px !important; }
.gea-outlet-mark { background: var(--g9); border-radius: 18px; height: 150px; display: flex; align-items: center; justify-content: center; font-family: var(--display); font-weight: 800; font-size: 72px !important; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1.5px var(--lime); margin: 0 !important; transition: -webkit-text-stroke-color .3s, background-color .3s; }
.gea-outlet:hover .gea-outlet-mark { background: var(--g6); -webkit-text-stroke-color: #fff; }
.gea-related { margin-top: clamp(32px, 4vw, 48px) !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.gea-related .gea-kicker { margin: 0 !important; }
.gea-proc-btns { margin-top: 36px !important; }
.gea-certs { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .gea-certs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .gea-certs { grid-template-columns: 1fr !important; } }

/* ---------- 18. Certificazione delle competenze ---------- */
.gea-hero-wide { max-width: 1040px; }
.gea-chapters-dark { margin-top: 8px !important; }
.gea-chapters-dark .wp-block-button__link { color: #fff !important; box-shadow: inset 0 0 0 1.5px #5C7C47 !important; }
.gea-chapters-dark .wp-block-button__link:hover { background: var(--lime) !important; color: var(--g9) !important; box-shadow: 5px 5px 0 #fff !important; }
.gea-tags { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.gea-tags li { margin: 0; background: #fff; border-radius: 999px; padding: 10px 18px; font-family: var(--display); font-weight: 700; font-size: 16px; color: var(--g9); box-shadow: inset 0 0 0 1.5px var(--line); transition: transform .3s var(--ease), background-color .25s, box-shadow .25s; }
.gea-tags li:nth-child(3n+1) { background: var(--lime-soft); }
.gea-tags li:hover { transform: translateY(-3px) rotate(-2deg); background: var(--lime); box-shadow: 4px 4px 0 var(--g9); }
.gea-feat-text p:not(.gea-num) { font-size: 15.5px !important; line-height: 1.6 !important; }
.gea-sec-sand .gea-feat-text p:not(.gea-num) { color: var(--g9) !important; }
.gea-sticky { position: sticky; top: calc(var(--top) + 110px); }
.gea-panel { background: var(--g8); border-radius: 28px; padding: clamp(24px, 3vw, 40px) !important; }
.gea-panel .gea-corso-intro { color: var(--lime) !important; }
.gea-panel-light { background: #fff; border-radius: 28px; padding: clamp(24px, 3vw, 40px) !important; }
.gea-cards-list { list-style: none !important; margin: 0 0 32px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 14px; }
.gea-cards-list li { margin: 0; background: #fff; border-radius: 22px; padding: 22px; font-weight: 600; line-height: 1.45; color: var(--g9); display: flex; flex-direction: column; gap: 10px; transition: transform .4s var(--ease), box-shadow .4s; }
.gea-cards-list li span { font-family: var(--serif); font-style: italic; font-size: 34px; line-height: 1; color: var(--g6); }
.gea-cards-list li:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 8px 8px 0 var(--g9); }
.gea-lead-dark { font-size: clamp(18px, 1.6vw, 21px) !important; line-height: 1.55 !important; color: var(--g9); max-width: 860px; margin: 0 !important; }
.gea-numlist { padding-left: 1.4em !important; }
.gea-numlist li { margin-bottom: 10px; padding-left: 6px; }
.gea-numlist li::marker { font-family: var(--serif); font-style: italic; color: var(--g6); font-size: 1.15em; }
.gea-subh { font-size: 20px !important; margin: 26px 0 10px !important; }
.gea-acc-dark .wp-block-details { border-color: var(--g7); }
.gea-acc-dark .wp-block-details:first-child { border-top-color: var(--lime); }
.gea-acc-dark summary { color: #fff; }
.gea-acc-dark summary::after { background: var(--lime); color: var(--g9); }
.gea-acc-dark details > :not(summary) { color: var(--on-dark); }
.gea-acc-dark .gea-ticks li { color: #fff; }
.gea-acc-gap { margin-top: clamp(32px, 4vw, 52px) !important; }
.gea-x > .gea-acc { margin-top: 32px !important; }
.gea-center-p { max-width: 760px !important; margin: 32px auto 0 !important; text-align: center; }
.gea-acc details p { margin: 0 0 14px; }
.gea-acc details .gea-ticks, .gea-acc details .gea-numlist { margin: 0 0 16px !important; }
@media (max-width: 781px) { .gea-sticky { position: static; } }
/* ritocchi 18 */
.gea-cards-list li { display: block; }
.gea-cards-list li span { display: block; margin-bottom: 12px; }
.gea-sec-dark a:not(.wp-block-button__link):not(.gea-btn) { color: var(--lime); }
/* allineamento colonna */
.gea-x > .gea-cards-list, .gea-x > .gea-tags { margin-left: auto !important; margin-right: auto !important; }
.gea-x > .gea-lead-dark, .gea-x > .gea-muted, .gea-x > .gea-kicker, .gea-x > .gea-note { margin-left: max(0px, calc((100% - var(--wrap)) / 2)) !important; margin-right: auto !important; }
.gea-x > .gea-player { margin-left: auto !important; margin-right: auto !important; max-width: var(--wrap) !important; }
.gea-x > .gea-acc { margin-left: max(0px, calc((100% - var(--wrap)) / 2)) !important; margin-right: auto !important; }

/* ---------- 19. GEA-GEPS ---------- */
.gea-seats-box { background: var(--g8); border-radius: 32px; padding: clamp(22px, 3vw, 36px) !important; }
.gea-seats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0 0 22px; padding: 0; }
.gea-seats li { aspect-ratio: 1; border-radius: 50%; margin: 0; background: var(--c, var(--lime)); box-shadow: inset 0 0 0 2px rgba(19, 39, 10, .25); animation: gea-seat .5s var(--ease) both; animation-delay: calc(var(--i) * 45ms + .3s); }
.gea-seats li[data-k="az"] { --c: var(--lime); }
.gea-seats li[data-k="pa"] { --c: var(--gold); }
.gea-seats li[data-k="fo"] { --c: #fff; }
.gea-seats li[data-k="un"] { --c: #8FC26A; }
.gea-seats li[data-k="its"] { --c: #F4EFE6; }
.gea-seats li[data-k="cc"] { --c: #C9B98E; }
.gea-seats li[data-k="hub"] { --c: #6BA34A; }
.gea-seats li[data-k="ex"] { background: transparent; box-shadow: inset 0 0 0 2px var(--lime); background-image: repeating-linear-gradient(45deg, transparent 0 5px, rgba(213, 239, 114, .25) 5px 7px); }
@keyframes gea-seat { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }
.gea-seats-legend { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; color: var(--on-dark); font-size: 14px; }
.gea-seats-legend li { display: flex; align-items: center; gap: 10px; margin: 0; }
.gea-seats-legend b { font-family: var(--display); color: #fff; font-size: 16px; min-width: 1.4em; }
.gea-seats-legend i { flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--c); }
.gea-seats-legend i[data-k="ex"] { background: transparent; box-shadow: inset 0 0 0 2px var(--lime); }
.gea-seats-cap { margin: 18px 0 0 !important; padding-top: 16px; border-top: 1px solid var(--g7); color: #fff; font-family: var(--display); font-weight: 700; font-size: 18px; }
.gea-pillars { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; }
.gea-pillars > * { margin: 0 !important; }
.gea-pillar { position: relative; background: #fff; border-radius: 24px; padding: 24px !important; display: flex !important; flex-direction: column; gap: 10px; min-height: 200px; transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.gea-pillar > * { margin: 0 !important; }
.gea-pillar h3 { font-size: 22px !important; line-height: 1.12 !important; }
.gea-pillar h3 a { color: var(--g9) !important; text-decoration: none !important; }
.gea-pillar h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 24px; }
.gea-pillar h3 a:focus-visible { outline: none; }
.gea-pillar:has(a:focus-visible) { box-shadow: 0 0 0 3px var(--g9), 0 0 0 6px var(--lime); }
.gea-pillar p { color: var(--muted); font-size: 15px; line-height: 1.55; margin-top: auto !important; }
.gea-pillar:hover { transform: translateY(-4px); box-shadow: 8px 8px 0 var(--g9); }
.gea-seekers { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--g9); }
.gea-seekers li { margin: 0; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; padding: 18px 16px 18px 0; border-bottom: 1px solid var(--line); }
.gea-seekers img { width: 40px; height: 40px; object-fit: contain; border-radius: 0; }
.gea-seekers span { font-weight: 600; color: var(--g9); line-height: 1.3; }
.gea-seekers b { font-family: var(--display); font-weight: 800; font-size: 28px; color: var(--g9); letter-spacing: -0.03em; }
.gea-seekers-note { margin-top: 20px !important; color: var(--muted); max-width: 760px; }
.gea-x > .gea-seekers-note { margin-left: max(0px, calc((100% - var(--wrap)) / 2)) !important; }
.gea-geps-logo { margin: 0 !important; background: #fff; border-radius: 28px; padding: clamp(20px, 3vw, 40px); }
.gea-geps-logo img { width: 100%; height: auto; border-radius: 0 !important; }
@media (max-width: 1100px) { .gea-pillars, .gea-seekers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .gea-pillars, .gea-seekers { grid-template-columns: 1fr; } .gea-seats { gap: 9px; } .gea-seats-legend { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .gea-seats li { animation: none; } }
:root { --seat-az: var(--lime); --seat-pa: var(--gold); --seat-fo: #fff; --seat-un: #8FC26A; --seat-its: #F4EFE6; --seat-cc: #C9B98E; --seat-hub: #6BA34A; --seat-ex: transparent; }
.gea-hero-title-s { font-size: clamp(38px, 4.6vw, 68px) !important; line-height: .98 !important; }
.gea-motto { color: var(--lime); max-width: 12ch; }
/* posti: 10 per riga */
.gea-seats { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 600px) { .gea-seats { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* ---------- 20. Revisione accessibilità (14/10) ---------- */
/* verde GEA un po' più scuro: i testi piccoli in verde superano il contrasto AA (4,5:1) su crema e sabbia */
:root { --g6: #386B17; }
/* pulsante "contorno" sulle sezioni chiare: scuro, non bianco */
.gea-sec:not(.gea-sec-dark) .gea-btn-ghost .wp-block-button__link,
.gea-hero-light .gea-btn-ghost .wp-block-button__link { color: var(--g9) !important; box-shadow: inset 0 0 0 1.5px var(--g9) !important; }
.gea-sec:not(.gea-sec-dark) .gea-btn-ghost .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px var(--g9), 6px 6px 0 var(--lime) !important; }
.gea-sec .gea-cta-box .gea-btn-ghost .wp-block-button__link { color: #fff !important; box-shadow: inset 0 0 0 1.5px #5C7C47 !important; }
/* segnale "In onda": rosso più scuro per il testo bianco */
.gea-live { background: #C8323A; }
/* moduli: testo d'aiuto leggibile */
.everest-forms .everest-forms-upload-hint, .everest-forms .evf-field-description { color: var(--muted) !important; }
/* pulsante per fermare le animazioni continue (WCAG 2.2.2) */
.gea-motion-toggle { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); z-index: 3; width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--g9); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 0 0 3px var(--lime); }
.gea-motion-toggle svg { width: 14px; height: 14px; }
.gea-band, .gea-chips, .gea-logos { position: relative; }
.gea-logos .gea-motion-toggle { top: 50px; }
/* la pausa ferma solo le animazioni decorative che girano di continuo, mai la comparsa dei contenuti */
html.gea-paused .gea-ring, html.gea-paused .gea-orbit, html.gea-paused .gea-badge svg, html.gea-paused .gea-hero-photo, html.gea-paused .gea-marquee, html.gea-paused .gea-logos-track, html.gea-paused .gea-live::before, html.gea-paused .gea-chips-track, html.gea-paused .gea-phone { animation-play-state: paused !important; }
/* geps colonna */
.gea-x > .gea-seekers { margin-left: auto !important; margin-right: auto !important; }

/* ---------- 21. Revisione stile (14/10): meno "schema fisso" ---------- */
/* etichette sopra i titoli: corsivo piccolo, non più maiuscolo spaziato */
.gea-kicker { font-family: var(--serif) !important; font-style: italic; font-weight: 400 !important; font-size: 21px !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.2 !important; margin-bottom: 12px !important; }
.gea-course-area, .gea-plan-k, .gea-corso-tag, .gea-live { text-transform: none !important; letter-spacing: .01em !important; }
.gea-course-area { font-size: 13px; font-weight: 700; }
.gea-plan-k { font-size: 14px !important; font-weight: 700; }
.gea-corso-tag { font-size: 14px; font-weight: 700; }
.gea-live { font-size: 14px !important; font-weight: 700; }
/* elenchi senza numerazione dove l'ordine non conta */
.gea-row a { grid-template-columns: minmax(0, 1fr) 48px; }
.gea-row a::before { content: none; display: none; }
@media (max-width: 781px) { .gea-row a { grid-template-columns: minmax(0, 1fr) 32px; } }
.gea-feat:not(:has(.gea-num)) { min-height: 0; }
.gea-feat:not(:has(.gea-num)) h3 { margin-top: 4px !important; }
.gea-area:not(:has(.gea-num)) h3 { margin-top: 6px !important; }
.gea-tile:not(:has(.gea-num)) { justify-content: flex-end; }
/* una sola chiusura: se la pagina ha già il suo riquadro finale, il footer non ripete l'invito */
body:has(.gea-content-full .gea-cta-box) .gea-foot-cta { display: none; }


/* ---------- 22. Pagine secondarie (14/10): colori leggibili e misure ---------- */
body { --wp--preset--color--ti-accent: #386B17; }
/* testo chiaro finito su fondi chiari (vecchio tema) */
.gea-prose :is(.has-ti-accent-secondary-background-color, .has-ti-bg-background-color, .has-ti-bg-alt-background-color, .has-gea-lime-background-color) :is(.has-ti-fg-alt-color, .has-ti-bg-color),
.gea-prose :is(.has-ti-accent-secondary-background-color, .has-ti-bg-background-color, .has-ti-bg-alt-background-color, .has-gea-lime-background-color):is(.has-ti-fg-alt-color, .has-ti-bg-color) { color: var(--g9) !important; }
/* testo scuro su fondo scuro */
.gea-prose .has-ti-bg-inv-background-color :is(.has-ti-fg-color, .has-ti-bg-inv-color),
.gea-prose .has-ti-bg-inv-background-color:is(.has-ti-fg-color, .has-ti-bg-inv-color) { color: var(--cream) !important; }
/* immagini molto alte nel testo: non oltre l'altezza dello schermo */
.gea-prose .wp-block-image img, .gea-prose .wp-block-post-featured-image img { max-height: 80vh; object-fit: contain; width: auto; margin-inline: auto; }
.gea-prose .wp-block-image.size-full img, .gea-prose .wp-block-image.alignfull img, .gea-prose .wp-block-image.alignwide img { width: auto; }
/* blocchi colorati del vecchio tema: stessi angoli e respiro delle pagine nuove */
.gea-prose > .wp-block-group.has-background, .gea-prose > section.wp-block-group.has-background { border-radius: 24px; padding: clamp(24px, 4vw, 48px) !important; }

/* copertine con foto: velo verde notte uniforme, così il testo bianco si legge sempre */
.gea-prose .wp-block-cover { border-radius: 24px; overflow: hidden; }
.gea-prose .wp-block-cover .wp-block-cover__background { background-color: var(--g9) !important; opacity: .62 !important; }
.gea-prose .wp-block-cover .wp-block-cover__inner-container, .gea-prose .wp-block-cover .wp-block-cover__inner-container :is(h1,h2,h3,h4,p,a:not(.wp-block-button__link)) { color: #fff !important; }


/* ---------- 23. 404, ricerca, articoli (14/10) ---------- */
.gea-prose { overflow-wrap: break-word; }
.gea-prose a { overflow-wrap: anywhere; }
.gea-quick { margin-top: 28px; }
.gea-quick-h { font-family: var(--serif); font-style: italic; font-size: 21px; margin: 0 0 12px; }
.gea-quick ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.gea-quick a { display: inline-block; padding: 10px 18px; border-radius: 999px; font-family: var(--display); font-weight: 700; font-size: 16px; text-decoration: none; color: var(--g9); background: #fff; box-shadow: inset 0 0 0 1.5px var(--line); transition: background-color .2s, transform .2s var(--ease); }
.gea-quick a:hover, .gea-quick a:focus-visible { background: var(--lime); transform: translateY(-2px); }
.gea-pagehead .gea-quick-h { color: var(--cream); }
.gea-pagehead .gea-quick a { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45); }
.gea-pagehead .gea-quick a:hover, .gea-pagehead .gea-quick a:focus-visible { background: var(--lime); color: var(--g9); box-shadow: none; }
.gea-card-img .gea-course-noimg { font-size: 56px; }


/* ---------- 24. Pagine secondarie: blocchi del vecchio sito allineati allo stile (14/10) ---------- */
/* spaziatori: niente più buchi enormi tra un blocco e l'altro */
.gea-prose .wp-block-spacer { max-height: 32px; }
@media (max-width: 700px) { .gea-prose .wp-block-spacer { max-height: 16px; } }
/* titoli: allineati a sinistra e nel verde notte, come nelle pagine principali */
.gea-prose > :is(h2, h3, h4, p).has-text-align-center,
.gea-prose > .wp-block-group:not(.has-background) > :is(h2, h3, h4).has-text-align-center,
.gea-prose > .wp-block-group:not(.has-background) > .wp-block-group__inner-container > :is(h2, h3, h4).has-text-align-center { text-align: left !important; }
.gea-prose :is(h2, h3, h4):is(.has-ti-accent-color, .has-ti-fg-color, .has-gea-lime-color):not(.has-background) { color: var(--g9) !important; }
.gea-prose .has-ti-bg-inv-background-color :is(h2, h3, h4).has-ti-accent-color { color: var(--lime) !important; }
.gea-prose h4 { font-family: var(--display); font-size: clamp(19px, 1.8vw, 22px); line-height: 1.25; }
/* separatori: una riga sottile, non una barra */
.gea-prose .wp-block-separator { height: 1px; opacity: 1; background: var(--line); max-width: 780px; }
.gea-prose .wp-block-separator.has-background { background: var(--line) !important; }
/* colonne e media-testo: immagini con gli stessi angoli del sito */
.gea-prose :is(.wp-block-column, .wp-block-media-text__media) img { border-radius: 18px; }
.gea-prose .wp-block-media-text { background: #fff; }
.gea-prose .wp-block-media-text .wp-block-media-text__content { padding: clamp(20px, 3vw, 40px); }
.gea-prose .wp-block-media-text .wp-block-media-text__media img { border-radius: 0; }
@media (max-width: 600px) { .gea-prose .wp-block-columns { gap: 20px; } }
/* video incorporati */
.gea-prose .wp-block-embed iframe, .gea-prose .wp-block-video video { border-radius: 18px; width: 100%; }
.gea-prose .wp-block-embed.is-type-video .wp-block-embed__wrapper { aspect-ratio: 16 / 9; }
.gea-prose .wp-block-embed.is-type-video iframe { height: 100%; }
/* sezioni apribili (blocco Dettagli) dentro al testo */
.gea-prose .wp-block-details { max-width: 780px; }
.gea-prose .wp-block-details > :not(summary) { padding-bottom: 18px; }
/* elenchi: punti nel verde GEA */
.gea-prose li::marker { color: var(--g6); }

/* testi "enormi" del vecchio sito: diventano titoli di misura normale */
.gea-prose :is(.has-huge-font-size, .has-xx-large-font-size, .has-x-large-font-size) { font-family: var(--display); font-size: clamp(28px, 3.4vw, 44px) !important; line-height: 1.1; letter-spacing: -.01em; }
.gea-prose :is(.wp-block-column, .wp-block-media-text__content, .wp-block-cover__inner-container) :is(.has-huge-font-size, .has-xx-large-font-size, .has-x-large-font-size, h2) { font-size: clamp(24px, 2.4vw, 32px) !important; }
.gea-prose :is(.has-large-font-size) { font-size: clamp(19px, 1.7vw, 22px) !important; line-height: 1.4; }
.gea-prose :is(h1, h2, h3, h4, .has-huge-font-size, .has-x-large-font-size) { overflow-wrap: normal; hyphens: manual; }

/* testo mai sotto i 15-16px nelle pagine secondarie */
.gea-prose .has-medium-font-size { font-size: clamp(16px, 1.3vw, 19px) !important; }
.gea-prose .has-small-font-size { font-size: 15px !important; }

/* ---------- 25. Contenuti esterni in attesa del consenso ---------- */
iframe._iub_cs_activate[src="about:blank"] { background: var(--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' fill='none' stroke='%235C7C47' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / 48px no-repeat; min-height: 280px; }
.gea-consent-note { margin: 10px 0 0 !important; font-size: 15px; color: var(--muted); }
.gea-consent-note a { color: var(--g9); font-weight: 700; }
iframe._iub_cs_activate-activated + .gea-consent-note, iframe._iub_cs_activate:not([src="about:blank"]) + .gea-consent-note { display: none; }


/* ---------- 26. Club dei 10 (14/10) ---------- */
.gea-x > .gea-areas-4 { margin-left: auto !important; margin-right: auto !important; }
.gea-areas-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .gea-areas-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .gea-areas-4 { grid-template-columns: 1fr !important; } }
.gea-x > .gea-club-note { max-width: 68ch; margin-top: 28px !important; }
.gea-x > .gea-club-uni { max-width: 760px; margin-left: auto !important; margin-right: auto !important; margin-top: 40px !important; }
.gea-club-uni p { font-size: 18px; }
.gea-x > .gea-club-btns { margin-top: 36px !important; }
.gea-x > .gea-club-paypal { margin-top: clamp(48px, 6vw, 80px) !important; padding-top: clamp(32px, 4vw, 48px); border-top: 1px solid var(--line); align-items: center; }
.gea-club-qr { display: flex; justify-content: center; }
.gea-qr { margin: 0 !important; background: #fff; border-radius: 24px; padding: 20px; box-shadow: inset 0 0 0 1.5px var(--line); }
.gea-qr img { width: 220px; max-width: 100%; height: auto; border-radius: 0 !important; display: block; }
.gea-sec-dark .gea-plans .gea-plan:not(.gea-plan-star) h3 { color: #fff; }
.gea-club-lead { font-size: clamp(19px, 1.6vw, 22px) !important; line-height: 1.5; max-width: 34ch; }


/* ---------- 27. Vaticano (14/10) ---------- */
.gea-vat-videos { display: grid !important; grid-template-columns: 1fr; gap: 20px !important; align-self: start; }
.gea-vat-videos > * { margin: 0 !important; }
.gea-vat-videos video, .gea-vat-prayer-video video { width: 100%; display: block; border-radius: 18px; background: var(--g9); }
.gea-vat-portrait .gea-vat-photo { margin: 0 !important; }
.gea-vat-photo img { width: 100%; max-height: 640px; object-fit: cover; object-position: top; border-radius: 28px !important; display: block; }
.gea-vat-photo figcaption { font-family: var(--serif); font-style: italic; font-size: 19px; color: var(--cream); opacity: .8; margin-top: 12px; }
.gea-x > .gea-vat-comitato { margin-top: clamp(40px, 5vw, 72px) !important; }
.gea-vat-dates { display: grid !important; gap: 0 !important; border-left: 2px solid var(--lime); padding-left: 22px; margin-bottom: 24px !important; }
.gea-vat-dates p { margin: 0 0 18px !important; position: relative; color: var(--cream); }
.gea-vat-dates p::before { content: ""; position: absolute; left: -30px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--lime); }
.gea-vat-dates b { display: block; font-family: var(--display); font-size: 20px; color: var(--lime); }
.gea-x > .gea-vat-prayer { max-width: 760px; margin-left: auto !important; margin-right: auto !important; text-align: center; }
.gea-vat-prayer .gea-big { margin-bottom: 28px !important; }
.gea-vat-prayer-text { font-family: var(--serif); font-style: italic; font-size: clamp(22px, 2.2vw, 28px) !important; line-height: 1.5 !important; color: var(--g9); }
.gea-x > .gea-vat-prayer-video { max-width: 420px; margin: 40px auto 0 !important; }
@media (max-width: 700px) { .gea-vat-videos { grid-template-columns: 1fr; } }
.gea-hero-visual .gea-vat-mark { margin: 0 !important; width: 100%; transform: rotate(-2deg); transition: transform .6s var(--ease); }
.gea-hero-visual .gea-vat-mark:hover { transform: rotate(0); }
.gea-vat-mark img { width: 100%; height: auto !important; display: block; border-radius: 28px !important; box-shadow: 0 30px 60px -30px rgba(19,39,10,.45); }


/* ---------- 28. Comitato Scientifico (15/10) ---------- */
/* apertura: il "muro dei volti" */
.gea-faces { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(10px, 1.4vw, 18px); max-width: 520px; margin-left: auto; padding: 10px 0 30px; }
.gea-face { display: block; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--g8); box-shadow: 0 0 0 3px var(--g9), 0 0 0 5px rgba(213,239,114,.35); transition: transform .5s var(--ease), box-shadow .3s; }
.gea-face img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; filter: grayscale(.25); transition: filter .4s; }
.gea-face:nth-child(4n+2), .gea-face:nth-child(4n+4) { transform: translateY(28px); }
.gea-face:hover { box-shadow: 0 0 0 3px var(--g9), 0 0 0 6px var(--lime); }
.gea-face:hover img { filter: none; }
.gea-face-1, .gea-face-2, .gea-face-3 { box-shadow: 0 0 0 3px var(--g9), 0 0 0 6px var(--lime); }
.gea-faces-wrap { align-self: center; }
@media (max-width: 900px) { .gea-faces { max-width: 100%; margin: 20px 0 0; grid-template-columns: repeat(6, 1fr); } .gea-face:nth-child(n) { transform: none; } }
/* schede persone */
.gea-x > .gea-people-3 { margin-left: auto !important; margin-right: auto !important; }
.gea-people-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 1000px) { .gea-people-3 { grid-template-columns: 1fr !important; } }
.gea-x > .gea-people-light { margin-left: auto !important; margin-right: auto !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)) !important; }
.gea-person-light { background: #fff; box-shadow: inset 0 0 0 1.5px var(--line); }
.gea-person-light:hover { background: #fff; box-shadow: inset 0 0 0 1.5px var(--g6); }
.gea-person-light h3 { color: var(--g9) !important; font-size: clamp(24px, 2vw, 28px) !important; }
.gea-person-light p:not(.gea-role) { color: var(--ink, #2b3a24) !important; }
.gea-person-light .gea-person-img { box-shadow: 0 0 0 4px var(--sand); }
.gea-person .wp-block-details { border-bottom: 0; border-top: 1px solid rgba(255,255,255,.15); margin-top: auto !important; }
.gea-person-light .wp-block-details { border-top-color: var(--line); }
.gea-person .wp-block-details summary { font-size: 16px; padding: 16px 0; color: var(--lime); }
.gea-person-light .wp-block-details summary { color: var(--g9); }
.gea-person .wp-block-details summary::after { width: 32px; height: 32px; font-size: 20px; }
.gea-person .wp-block-details p { font-size: 15px !important; line-height: 1.6; margin: 0 0 12px !important; }


/* ---------- 29. Responsive: telefoni piccoli, tablet, tocco (15/10) ---------- */
/* intestazione: a 320-360px logo e pulsanti non escono più dallo schermo */
@media (max-width: 380px) {
  .gea-header-in { gap: 8px; }
  .gea-brand { min-width: 0; flex-shrink: 1; gap: 8px; }
  .gea-brand-logo { width: 36px !important; height: 36px !important; flex: none; }
  .gea-brand-txt { min-width: 0; }
  .gea-brand-name { font-size: 15px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .gea-brand-txt small, .gea-brand-sub { display: none !important; }
  .gea-actions { gap: 6px !important; flex-shrink: 0; }
}
/* titoli lunghi e parole lunghe (anche in maiuscolo) vanno a capo invece di uscire */
:is(h1, h2, h3, h4) { overflow-wrap: break-word; }
.gea-prose :is(h1, h2, h3, h4, .has-huge-font-size, .has-x-large-font-size) { overflow-wrap: break-word; }
@media (max-width: 480px) {
  :is(h1, h2, h3) { hyphens: auto; -webkit-hyphens: auto; }
  .gea-huge { font-size: clamp(38px, 11vw, 52px) !important; }
}
.gea-ticks li, .wp-block-details li, .gea-prose li { overflow-wrap: anywhere; }
/* corso in evidenza: niente colonna a larghezza fissa sui telefoni */
@media (max-width: 700px) { .gea-course-feat { grid-template-columns: minmax(0, 1fr) !important; } .gea-course-feat > * { min-width: 0; max-width: 100%; } .gea-course-feat-img { width: 100% !important; } .gea-course-feat-img img { width: 100% !important; max-width: 100%; height: auto; } }
/* filtri dei corsi: su tablet le aree vanno a capo invece di scorrere */
@media (min-width: 600px) { .gea-filter-chips { flex-wrap: wrap !important; overflow: visible !important; } }
/* aree di tocco di almeno 24px (WCAG 2.5.8) */
footer a:not(.gea-btn):not(.wp-block-button__link):not(.gea-socials a):not(.gea-brand):not(.gea-foot-brand a) { display: inline-block; padding-block: 4px; }
.gea-pagehead .gea-pill a, .gea-pill a { display: inline-block; padding-block: 4px; }
/* moduli: caselle e testi più grandi */
.everest-forms input[type="checkbox"], .everest-forms input[type="radio"] { width: 20px !important; height: 20px !important; accent-color: var(--g6); vertical-align: -4px; margin-right: 8px !important; }
.everest-forms .everest-forms-field-sublabel { font-size: 14px !important; }
.gea-iban-k { font-size: 13px !important; }
.gea-overlay li a:not(.gea-btn) { display: inline-block; padding-block: 3px; }

/* ---------- 30. Informativa privacy ---------- */
.gea-prose > .gea-privacy-box { max-width: 780px; margin-top: 56px !important; background: var(--sand); border-radius: 24px; padding: clamp(24px, 4vw, 40px) !important; }
.gea-privacy-box h3 { margin-top: 0 !important; }
.gea-privacy-box ul { list-style: none; padding-left: 0 !important; }
.gea-privacy-box li { padding: 8px 0; border-bottom: 1px solid var(--line); }
.gea-privacy-box li a { font-weight: 700; color: var(--g9); }


/* ---------- 31. NYC Green School Conference (16/10) ---------- */
.gea-stats.gea-ny-stats, .gea-content-full .gea-stats-band:has(> :nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .gea-content-full .gea-stats-band:has(> :nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gea-content-full .gea-stats-band:has(> :nth-child(4)) > * { border-bottom: 1px solid var(--line); } }
.gea-ny-visual { aspect-ratio: auto !important; display: flex; align-items: center; }
.gea-ny-visual .gea-ny-photo { margin: 0 !important; width: 100%; transform: rotate(2deg); }
.gea-ny-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 28px !important; display: block; box-shadow: 0 30px 70px -30px rgba(0,0,0,.6); }
.gea-ny-card { margin: 0 !important; }
.gea-ny-card img { width: 100%; height: auto; border-radius: 24px !important; display: block; }
.gea-ny-logo .gea-ny-card img { background: #fff; padding: 18px; }
.gea-ny-lead { font-size: clamp(19px, 1.6vw, 22px) !important; line-height: 1.5; }
.gea-ny-live .gea-live { display: inline-flex; margin-bottom: 14px !important; }
.gea-ny-sharing { margin: 0 0 16px !important; }
.gea-ny-sharing img { max-width: 260px; height: auto; border-radius: 0 !important; }
.gea-x > .gea-ny-msg { max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
.gea-ny-big { font-family: var(--serif); font-style: italic; font-size: clamp(26px, 3vw, 40px) !important; line-height: 1.25 !important; color: var(--g9); margin: 24px 0 !important; }
.gea-ny-big em { font-style: italic; }

/* ---------- 32. Distretto Innovazione / Villaggi Benessere (16/10) ---------- */
.gea-dist-promo { display: flex !important; align-items: center; gap: 18px; margin-top: 32px !important; flex-wrap: wrap; }
.gea-dist-promo > * { margin: 0 !important; }
.gea-dist-promo-k { font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--muted); }
.gea-dist-logo img { height: 72px; width: auto; object-fit: contain; border-radius: 0 !important; }
.gea-dist-visual { aspect-ratio: auto !important; display: flex; justify-content: center; }
.gea-dist-cover { margin: 0 !important; max-width: 400px; transform: rotate(-2.5deg); transition: transform .6s var(--ease); }
.gea-dist-cover:hover { transform: rotate(0); }
.gea-dist-cover img { width: 100%; height: auto; border-radius: 28px !important; display: block; box-shadow: 0 30px 70px -30px rgba(19,39,10,.5); }
.gea-x > .gea-dist-pillars { margin-left: auto !important; margin-right: auto !important; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; }
.gea-dist-pillars > * { margin: 0 !important; }
.gea-dist-pillar { border-radius: 28px; padding: 32px 26px 28px !important; min-height: 240px; display: flex !important; flex-direction: column; justify-content: flex-end; transition: transform .45s var(--ease); }
.gea-dist-pillar:hover { transform: translateY(-6px); }
.gea-dist-pillar h3 { font-size: clamp(22px, 2vw, 28px) !important; margin: 0 0 8px !important; }
.gea-dist-pillar p { margin: 0 !important; font-size: 16px; }
.gea-dist-p1 { background: var(--g9); color: #fff; } .gea-dist-p1 h3 { color: var(--lime) !important; } .gea-dist-p1 p { color: var(--on-dark); }
.gea-dist-p2 { background: var(--lime); color: var(--g9); }
.gea-dist-p3 { background: var(--sand); color: var(--g9); }
.gea-dist-p4 { background: var(--gold); color: var(--g9); }
@media (max-width: 1000px) { .gea-x > .gea-dist-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .gea-x > .gea-dist-pillars { grid-template-columns: 1fr; } .gea-dist-pillar { min-height: 0; } }
.gea-x > .gea-dist-why, .gea-x > .gea-dist-end { max-width: 980px; margin-left: auto !important; margin-right: auto !important; }
.gea-dist-big { font-family: var(--display); font-weight: 700; font-size: clamp(26px, 3.2vw, 44px) !important; line-height: 1.18 !important; letter-spacing: -0.02em; margin: 0 !important; }
.gea-sec-dark .gea-dist-big { color: #fff; }
.gea-sec-lime .gea-dist-big { color: var(--g9); }
.gea-dist-big em { font-family: var(--serif); font-weight: 400; }

.gea-cta-box p a:not(.wp-block-button__link) { color: var(--lime) !important; text-decoration: underline; text-underline-offset: 3px; }


/* ---------- 33. Documenti: Regolamento e Codice etico (16/10) ---------- */
.gea-doc-visual { aspect-ratio: auto !important; display: flex; justify-content: center; align-items: center; }
.gea-doc-sheet { position: relative; width: min(100%, 360px); aspect-ratio: 210 / 297; background: #fff; border-radius: 22px; box-shadow: 0 40px 80px -40px rgba(19,39,10,.45), inset 0 0 0 1.5px var(--line); padding: 34px 32px; display: flex; overflow: hidden; flex-direction: column; transform: rotate(3deg); transition: transform .6s var(--ease); }
.gea-doc-sheet { box-shadow: 18px 18px 0 0 var(--sand), 0 40px 80px -40px rgba(19,39,10,.45), inset 0 0 0 1.5px var(--line) !important; }
.gea-doc-sheet:hover { transform: rotate(0); }
.gea-doc-sheet-k { padding-right: 76px; line-height: 1.2; font-family: var(--serif); font-style: italic; font-size: 20px; color: var(--g6); }
.gea-doc-sheet-n { font-family: var(--display); font-weight: 800; font-size: clamp(110px, 12vw, 170px); line-height: .85; letter-spacing: -.06em; color: var(--g9); margin-top: auto; }
.gea-doc-sheet-l { font-family: var(--display); font-weight: 700; font-size: 22px; color: var(--g9); margin-bottom: 22px; }
.gea-doc-lines { display: grid; gap: 9px; }
.gea-doc-lines i { display: block; height: 6px; border-radius: 3px; background: var(--sand); }
.gea-doc-lines i:nth-child(2) { width: 86%; } .gea-doc-lines i:nth-child(4) { width: 70%; } .gea-doc-lines i:nth-child(5) { width: 45%; }
.gea-doc-seal { position: absolute; top: 26px; right: 26px; width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; background: var(--lime); color: var(--g9); font-family: var(--display); font-weight: 800; font-size: 15px; transform: rotate(-12deg); }
.gea-x > .gea-doc { display: grid !important; grid-template-columns: 290px minmax(0, 1fr); gap: clamp(32px, 5vw, 72px) !important; align-items: start; margin-left: auto !important; margin-right: auto !important; }
.gea-doc > * { margin: 0 !important; }
.gea-doc-aside { position: sticky; top: calc(var(--top) + var(--header-h) + 24px); }
.gea-doc-index-h { font-family: var(--serif); font-style: italic; font-size: 21px; color: var(--g6); margin: 0 0 12px !important; }
.gea-doc-index ol { list-style: none; margin: 0; padding: 0; max-height: calc(100vh - var(--header-h) - var(--top) - 150px); overflow-y: auto; border-left: 2px solid var(--line); }
.gea-doc-index li { margin: 0; }
.gea-doc-index a { display: flex; gap: 10px; padding: 7px 0 7px 14px; margin-left: -2px; border-left: 2px solid transparent; font-size: 15px; line-height: 1.35; color: var(--g9); text-decoration: none; transition: border-color .2s, color .2s; }
.gea-doc-index a span { flex: none; width: 22px; font-family: var(--display); font-weight: 800; color: var(--g6); }
.gea-doc-index a:hover, .gea-doc-index a:focus-visible, .gea-doc-index a.is-on { border-left-color: var(--g6); color: var(--g6); }
.gea-doc-aside-btns { margin-top: 20px !important; }
.gea-doc-main > * { margin: 0 !important; }
.gea-doc-art { padding: clamp(28px, 4vw, 44px) 0 !important; border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.gea-doc-art:first-child { border-top: 0; padding-top: 0 !important; }
.gea-doc-num { display: inline-block; font-family: var(--display); font-weight: 800; font-size: 14px; letter-spacing: .02em; background: var(--lime); color: var(--g9); border-radius: 999px; padding: 5px 12px; margin-bottom: 14px !important; }
.gea-doc-h { font-size: clamp(26px, 2.6vw, 36px) !important; line-height: 1.12 !important; margin: 0 0 18px !important; scroll-margin-top: 110px; max-width: 26ch; }
.gea-doc-art p, .gea-doc-art li { font-size: 18px; line-height: 1.65; max-width: 70ch; }
.gea-doc-art p { margin: 0 0 14px !important; }
.gea-doc-art ul, .gea-doc-art ol { margin: 0 0 16px !important; padding-left: 1.3em; }
.gea-doc-art li::marker { color: var(--g6); }
.gea-doc-art h4 { font-size: 20px; margin: 22px 0 10px !important; }
@media (max-width: 900px) {
  .gea-x > .gea-doc { grid-template-columns: 1fr; }
  .gea-doc-aside { position: static; }
  .gea-doc-index ol { max-height: none; columns: 2; column-gap: 16px; border-left: 0; }
  .gea-doc-index a { padding-left: 0; border-left: 0; font-size: 14px; break-inside: avoid; }
  .gea-doc-sheet { width: min(80%, 300px); }
}
@media (max-width: 480px) { .gea-doc-index ol { columns: 1; } }


/* ---------- 34. Abbonamenti Sharing TV Europa (16/10) ---------- */
.gea-abb-visual { aspect-ratio: auto !important; display: flex; justify-content: center; align-items: center; }
.gea-abb-pass { position: relative; width: min(100%, 380px); background: var(--g9); color: #fff; border-radius: 28px; padding: 32px 32px 26px; display: flex; flex-direction: column; box-shadow: 0 40px 80px -40px rgba(19,39,10,.6); transform: rotate(-3deg); transition: transform .6s var(--ease); }
.gea-abb-pass:hover { transform: rotate(0); }
.gea-abb-pass-k { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--lime); }
.gea-abb-pass-n { font-family: var(--display); font-weight: 800; font-size: clamp(120px, 13vw, 180px); line-height: .85; letter-spacing: -.06em; margin-top: 28px; }
.gea-abb-pass-l { font-family: var(--display); font-weight: 700; font-size: 22px; margin-bottom: 24px; }
.gea-abb-pass-row { display: flex; flex-wrap: wrap; gap: 8px; }
.gea-abb-pass-row b { font-family: var(--display); font-size: 14px; font-weight: 700; color: var(--g9); background: var(--lime); border-radius: 999px; padding: 6px 12px; }
.gea-abb-pass-cut { display: block; margin: 24px -32px 18px; border-top: 2px dashed var(--g7); position: relative; }
.gea-abb-pass-cut::before, .gea-abb-pass-cut::after { content: ""; position: absolute; top: -13px; width: 24px; height: 24px; border-radius: 50%; background: var(--cream); }
.gea-abb-pass-cut::before { left: -12px; } .gea-abb-pass-cut::after { right: -12px; }
.gea-abb-pass-foot { font-size: 14px; color: var(--on-dark); }
.gea-abb-outlets { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px !important; }
.gea-abb-outlets > * { margin: 0 !important; }
.gea-abb-outlet { background: #fff; border-radius: 22px; padding: 24px !important; display: flex; flex-direction: column; box-shadow: inset 0 0 0 1px var(--line); }
.gea-abb-outlet > * { margin: 0 !important; }
.gea-abb-logo { height: 86px; display: flex; align-items: center; margin-bottom: 18px !important; }
.gea-abb-logo img { max-height: 86px; max-width: 100%; width: auto !important; height: auto; object-fit: contain; }
.gea-abb-tag { font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--g6); margin-bottom: 4px !important; }
.gea-abb-outlet h3 { font-size: 24px !important; line-height: 1.15 !important; margin-bottom: 10px !important; }
.gea-abb-outlet p:not(.gea-abb-tag) { font-size: 16px; line-height: 1.55; color: var(--muted); }
.gea-abb-link { margin-top: auto !important; padding-top: 16px; }
.gea-abb-link a { font-weight: 700; color: var(--g6) !important; display: inline-block; padding-block: 6px; }
.gea-abb-checks { list-style: none; padding: 0 !important; margin: 28px 0 0 !important; display: grid; gap: 4px; }
.gea-abb-checks li { position: relative; padding: 12px 0 12px 40px; border-top: 1px solid var(--g7); font-size: 18px; line-height: 1.45; }
.gea-abb-checks li::before { content: ""; position: absolute; left: 0; top: 13px; width: 24px; height: 24px; border-radius: 50%; background: var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313270A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 16px no-repeat; }
.gea-abb-poster { align-self: center; }
.gea-abb-poster-img { margin: 0 !important; }
.gea-abb-poster-img img { border-radius: 22px; width: min(100%, 440px); height: auto; margin-inline: auto; display: block; box-shadow: 0 40px 80px -40px rgba(0,0,0,.7); }
.gea-abb-grid { display: grid !important; grid-template-columns: 1fr 1.3fr 1.2fr; gap: 20px !important; align-items: stretch; }
.gea-abb-grid > * { margin: 0 !important; }
.gea-abb-card { border-radius: 24px; padding: clamp(24px, 3vw, 34px) !important; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.gea-abb-card > * { margin-top: 0 !important; }
.gea-abb-card p, .gea-abb-card li { font-size: 16px; line-height: 1.55; }
.gea-abb-card h3 { font-size: 26px !important; margin-bottom: 14px !important; }
.gea-abb-card h4 { font-size: 18px !important; margin: 18px 0 6px !important; }
.gea-abb-card ul { padding-left: 1.2em; margin: 0 !important; }
.gea-abb-price { background: var(--lime); box-shadow: none; display: flex; flex-direction: column; }
.gea-abb-price .gea-abb-tag { color: var(--g9); }
.gea-abb-card .gea-abb-amount { font-family: var(--display); font-weight: 800; font-size: clamp(64px, 6vw, 88px); line-height: 1; letter-spacing: -.04em; color: var(--g9); margin: 10px 0 14px !important; }
.gea-abb-card .gea-abb-eur { font-size: .5em; vertical-align: .6em; margin-right: 4px; }
.gea-abb-card .gea-abb-amount s { font-size: 24px; font-weight: 600; letter-spacing: 0; color: var(--g8); margin-left: 8px; opacity: .75; }
.gea-abb-note { margin-top: auto !important; padding-top: 14px; font-weight: 700; color: var(--g9); }
.gea-abb-bank { margin: 0; display: grid; gap: 0; }
.gea-abb-bank div { padding: 10px 0; border-top: 1px solid var(--line); }
.gea-abb-bank dt { font-size: 13px; font-weight: 700; color: var(--g6); }
.gea-abb-bank dd { margin: 2px 0 0; font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }
.gea-abb-iban { font-family: var(--display); font-weight: 700; font-size: 18px !important; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) { .gea-abb-outlets { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gea-abb-grid { grid-template-columns: 1fr 1fr; } .gea-abb-tax { grid-column: 1 / -1; } }
@media (max-width: 640px) { .gea-abb-outlets, .gea-abb-grid { grid-template-columns: 1fr; } .gea-abb-pass { width: min(86%, 320px); } }


/* ---------- 35. Articoli: componenti comuni (16/10) ---------- */
.gea-prose > p, .gea-prose > ul, .gea-prose > ol { font-size: 19px; line-height: 1.7; }
.gea-prose > .gea-art-lead { font-family: var(--display); font-weight: 600; font-size: clamp(22px, 2.2vw, 27px); line-height: 1.4; color: var(--g9); margin-bottom: 1.2em; }
.gea-prose > h2 { margin-top: 1.6em; margin-bottom: .5em; line-height: 1.1; }
.gea-prose > h3 { margin-top: 1.4em; margin-bottom: .45em; line-height: 1.15; }
.gea-prose .gea-art-facts { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px !important; margin-block: 32px !important; }
.gea-art-facts > * { margin: 0 !important; background: #fff; border-radius: 20px; padding: 20px 22px !important; box-shadow: inset 0 0 0 1px var(--line); }
.gea-art-facts > *:first-child { background: var(--lime); box-shadow: none; }
.gea-art-facts p { margin: 0 !important; }
.gea-art-fact-k { font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--g6); }
.gea-art-facts > *:first-child .gea-art-fact-k { color: var(--g9); }
.gea-art-fact-v { font-family: var(--display); font-weight: 800; font-size: clamp(21px, 2vw, 26px); overflow-wrap: normal; hyphens: none; line-height: 1.15; color: var(--g9); margin-top: 4px !important; }
.gea-art-fact-v s { font-weight: 600; font-size: .7em; opacity: .7; margin-right: 6px; }
.gea-prose .gea-art-box { background: var(--g9); color: var(--cream); border-radius: 24px; padding: clamp(24px, 4vw, 40px) !important; margin-block: 36px !important; }
.gea-art-box > * { margin-top: 0 !important; max-width: 64ch; }
.gea-art-box :is(h2, h3, h4) { color: #fff !important; font-size: clamp(24px, 2.4vw, 30px) !important; margin-bottom: 10px !important; }
.gea-art-box p, .gea-art-box li { color: var(--on-dark); font-size: 18px; line-height: 1.6; }
.gea-art-box a:not(.wp-block-button__link) { color: var(--lime) !important; font-weight: 700; display: inline-block; padding-block: 3px; }
.gea-art-box .wp-block-buttons { margin-top: 20px !important; }
.gea-art-box > p { margin-bottom: 12px !important; }
.gea-art-box .gea-btn-ghost .wp-block-button__link { box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55) !important; border-color: rgba(255,255,255,.55) !important; color: #fff !important; }
.gea-prose .gea-art-note { background: var(--sand); border-radius: 18px; padding: 18px 22px !important; font-size: 17px !important; line-height: 1.6; }
.gea-prose .gea-art-list { list-style: none; padding-left: 0 !important; }
.gea-prose .gea-art-list li { position: relative; padding-left: 30px; margin: .45em 0; }
.gea-prose .gea-art-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 14px; height: 14px; border-radius: 50%; background: var(--lime); box-shadow: inset 0 0 0 3px var(--g6); }
.gea-prose .gea-art-cols { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px !important; margin-block: 24px !important; }
.gea-art-cols > * { margin: 0 !important; background: #fff; border-radius: 20px; padding: 22px 24px !important; box-shadow: inset 0 0 0 1px var(--line); }
.gea-art-cols > * > :first-child { margin-top: 0 !important; }
.gea-art-cols h3 { font-size: 22px !important; margin-bottom: 8px !important; }
.gea-art-cols ul { margin: 0 !important; }
.gea-art-cols li { font-size: 17px; }
.gea-prose .gea-art-poster { margin-block: 40px !important; text-align: center; }
.gea-prose .gea-art-poster img { width: min(100%, 520px) !important; max-height: none !important; box-shadow: 10px 10px 0 var(--lime); }
.gea-prose .gea-art-poster figcaption { font-size: 15px; color: var(--muted); margin-top: 14px; }
.gea-prose > .gea-art-sign { margin-top: 2em; padding-top: 18px; border-top: 1px solid var(--line); font-size: 17px; line-height: 1.5; }
.gea-art-sign strong { font-family: var(--display); font-size: 20px; color: var(--g9); }
.gea-prose > .gea-art-claim { font-family: var(--serif); font-style: italic; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; color: var(--g6); margin-block: 1.2em; }
@media (max-width: 640px) { .gea-prose .gea-art-cols { grid-template-columns: 1fr; } .gea-prose > p, .gea-prose > ul, .gea-prose > ol { font-size: 18px; } }


/* ---------- 36. Dipartimento Europa–Africa (16/10) ---------- */
.gea-dea-visual { aspect-ratio: auto !important; display: flex; justify-content: center; }
.gea-dea-cover { margin: 0 !important; }
.gea-dea-cover img { width: min(100%, 380px) !important; height: auto; border-radius: 0 !important; box-shadow: none !important; }
.gea-dea-person { display: grid !important; grid-template-columns: minmax(220px, 360px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px) !important; align-items: center; }
.gea-dea-person > * { margin: 0 !important; }
.gea-dea-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 26px; }
.gea-dea-person-text > * { margin-top: 0 !important; }
.gea-dea-person-text h2 { font-size: clamp(38px, 4.6vw, 60px) !important; line-height: 1 !important; margin-bottom: 8px !important; }
.gea-dea-role { font-family: var(--serif); font-style: italic; font-size: clamp(21px, 2vw, 26px); color: var(--g6); margin-bottom: 20px !important; }
.gea-dea-person-text p:not(.gea-dea-role):not(.gea-kicker) { font-size: 19px; line-height: 1.65; max-width: 60ch; }
.gea-dea-tiles { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; margin-top: 8px !important; }
.gea-dea-tiles-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gea-dea-tiles > * { margin: 0 !important; }
.gea-dea-tile { background: #fff; border-radius: 24px; padding: 28px 24px !important; display: flex; flex-direction: column; gap: 18px; box-shadow: inset 0 0 0 1px var(--line); }
.gea-dea-tile > * { margin: 0 !important; }
.gea-dea-ico img { width: 64px !important; height: 64px !important; object-fit: contain; border-radius: 0 !important; }
.gea-dea-tile-t { font-family: var(--display); font-weight: 800; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.1; color: var(--g9); }
.gea-sec-lime .gea-dea-tile { box-shadow: none; }
.gea-dea-after { font-size: 20px; line-height: 1.6; max-width: 62ch; margin-top: 28px !important; }
.gea-dea-after-big { font-family: var(--serif); font-style: italic; font-size: clamp(26px, 3vw, 38px) !important; line-height: 1.2 !important; color: var(--g9); }
.gea-dea-scuola blockquote { margin: 24px 0 !important; background: var(--g8) !important; color: var(--cream); box-shadow: 8px 8px 0 var(--lime) !important; }
.gea-dea-scuola blockquote p { color: var(--cream) !important; }
.gea-dea-note { max-width: 880px; margin-inline: auto !important; background: var(--g9); color: var(--cream); border-radius: 26px; padding: clamp(26px, 4vw, 44px) !important; }
.gea-dea-note > * { margin-top: 0 !important; }
.gea-dea-note p:not(.gea-kicker) { font-size: clamp(20px, 2vw, 24px); line-height: 1.5; color: #fff; margin-bottom: 0 !important; }
.gea-dea-note .gea-kicker { color: var(--lime) !important; }
.gea-dea-video { max-width: 1000px; margin: 8px auto 0 !important; }
.gea-dea-video .wp-block-embed__wrapper, .gea-dea-video iframe { border-radius: 24px; overflow: hidden; }
@media (max-width: 900px) { .gea-dea-cover img { width: min(70%, 280px) !important; } .gea-dea-person { grid-template-columns: 1fr; } .gea-dea-photo { max-width: 360px; } .gea-dea-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gea-dea-tiles-3 { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 560px) { .gea-dea-tiles-3 { grid-template-columns: 1fr; } .gea-dea-tile { flex-direction: row; align-items: center; } .gea-dea-ico img { width: 48px !important; height: 48px !important; } }


/* ---------- 37. Dicono di noi e uscite stampa (16/10) ---------- */
.gea-press-head { width: 100%; max-width: var(--wrap) !important; margin-inline: auto !important; }
.gea-press-head > * { max-width: 900px; }
.gea-press-hero { padding-bottom: clamp(40px, 5vw, 72px) !important; }
.gea-press-hero + .gea-sec { padding-top: clamp(32px, 4vw, 56px) !important; }
.gea-press-head .gea-pill a { color: inherit; text-decoration: none; }
.gea-press-src, .gea-press-count { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 26px 0 0 !important; padding: 12px 20px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); font-size: 16px; color: var(--g9); }
.gea-press-src span { font-weight: 700; color: var(--g6); }
.gea-press-src b, .gea-press-count b { font-family: var(--display); font-weight: 800; font-size: 19px; }
.gea-press-src i { font-family: var(--serif); font-size: 18px; color: var(--muted); }
.gea-press-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 72px) !important; align-items: start; }
.gea-press-grid > * { margin: 0 !important; }
.gea-press-main > * { margin-top: 0 !important; }
.gea-press-main > p { font-size: 19px; line-height: 1.7; max-width: 68ch; margin-bottom: 1.1em !important; }
.gea-press-main .gea-art-facts { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px !important; margin: 8px 0 28px !important; }
.gea-press-main .gea-dea-video { margin: 32px 0 0 !important; }
.gea-press-aside { position: sticky; top: calc(var(--top) + var(--header-h) + 24px); }
.gea-press-card { background: var(--g9); color: var(--cream); border-radius: 26px; padding: 30px 28px !important; }
.gea-press-card > * { margin-top: 0 !important; }
.gea-press-card-out { font-family: var(--display); font-weight: 800; font-size: 34px; line-height: 1; color: #fff; margin-bottom: 6px !important; }
.gea-press-card-k { font-family: var(--serif); font-style: italic; font-size: 19px; color: var(--lime); margin-bottom: 16px !important; }
.gea-press-card p:not([class]) { font-size: 16px; line-height: 1.55; color: var(--on-dark); }
.gea-press-card .wp-block-buttons { margin-top: 18px !important; }
.gea-press-list { display: grid !important; gap: 12px !important; margin-bottom: 28px !important; }
.gea-press-item, .gea-press-tile { display: grid; text-decoration: none; color: var(--g9); background: #fff; border-radius: 22px; box-shadow: inset 0 0 0 1px var(--line); transition: transform .3s var(--ease), box-shadow .3s; }
.gea-press-item { grid-template-columns: 180px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 20px 24px; }
.gea-press-item:hover, .gea-press-item:focus-visible, .gea-press-tile:hover, .gea-press-tile:focus-visible { transform: translateY(-3px); box-shadow: inset 0 0 0 2px var(--g6); }
.gea-press-item-out, .gea-press-tile-out { font-family: var(--display); font-weight: 800; font-size: 22px; line-height: 1.1; }
.gea-press-item-t { font-size: 17px; line-height: 1.45; }
.gea-press-item-go, .gea-press-tile-go { font-family: var(--display); font-weight: 700; font-size: 15px; background: var(--lime); border-radius: 999px; padding: 8px 16px; white-space: nowrap; justify-self: start; }
.gea-press-wall { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px !important; }
.gea-press-wall > * { margin: 0 !important; }
.gea-press-tile { gap: 10px; align-content: start; padding: clamp(26px, 3vw, 38px); }
.gea-press-tile-out { font-size: clamp(32px, 3.4vw, 46px); line-height: 1; letter-spacing: -.02em; }
.gea-press-tile-k { font-family: var(--serif); font-style: italic; font-size: 19px; color: var(--g6); }
.gea-press-tile-t { font-family: var(--display); font-weight: 700; font-size: 21px; line-height: 1.25; margin-top: 10px; }
.gea-press-tile-l { font-size: 16px; line-height: 1.55; color: var(--muted); }
.gea-press-tile-go { margin-top: 14px; }
@media (max-width: 900px) { .gea-press-grid { grid-template-columns: 1fr; } .gea-press-aside { position: static; } .gea-press-wall { grid-template-columns: 1fr; } .gea-press-item { grid-template-columns: 1fr; gap: 8px; } }

/* sec-head con kicker */
.gea-sec-head:has(> .gea-kicker:first-child), :is(.gea-press-more, .gea-dea-rete, .gea-dea-pil, .gea-abb-canali, .gea-abb-buy, .gea-dea-intv, .gea-ade-quote) .gea-sec-head { display: flex !important; flex-direction: column; align-items: flex-start !important; justify-content: flex-start !important; gap: 6px !important; }
.gea-sec-head:has(> .gea-kicker:first-child) > *, :is(.gea-press-more, .gea-dea-rete, .gea-dea-pil, .gea-abb-canali, .gea-abb-buy, .gea-dea-intv, .gea-ade-quote) .gea-sec-head > * { margin: 0 !important; text-align: left !important; }
.gea-press-hero { min-height: 0 !important; }


/* ---------- 38. Pagine collegate: adesioni, modulo, GEA Social, ECM, RepuQuality, ETV (16/10) ---------- */
.gea-btn-dark .wp-block-button__link { background: var(--g9) !important; color: #fff !important; border-color: var(--g9) !important; }
.gea-pg-visual { aspect-ratio: auto !important; display: flex; justify-content: center; align-items: center; }
.gea-pg-icon { margin: 0 !important; } .gea-pg-icon img { width: min(100%, 380px) !important; height: auto; border-radius: 28px !important; box-shadow: 12px 12px 0 var(--lime); }
@media (max-width: 900px) { .gea-pg-icon img, .gea-pg-shot img { width: min(80%, 320px) !important; } }
.gea-pg-shot { margin: 0 !important; } .gea-pg-shot img { width: min(100%, 520px) !important; height: auto; border-radius: 24px; box-shadow: 12px 12px 0 var(--lime); }
.gea-pg-photo img { width: 100%; border-radius: 24px; margin-bottom: 18px; }
.gea-pg-poster { margin: 0 !important; } .gea-pg-poster img { width: min(100%, 420px) !important; }
.gea-ade-intro { font-family: var(--display); font-weight: 600; font-size: clamp(21px, 2vw, 26px) !important; line-height: 1.4; color: var(--g9); max-width: 46ch; }
.gea-quotas { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; }
.gea-quotas > * { margin: 0 !important; }
.gea-quota { background: #fff; border-radius: 24px; padding: 26px 24px !important; box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; }
.gea-quota > * { margin: 0 !important; }
.gea-quota.is-hl { background: var(--lime); box-shadow: none; }
.gea-quota-n { font-family: var(--display); font-weight: 700; font-size: 18px; line-height: 1.3; color: var(--g9); min-height: 3.9em; }
.gea-quota-p { font-family: var(--display); font-weight: 800; font-size: clamp(32px, 3vw, 42px); letter-spacing: -.03em; color: var(--g9); margin: 14px 0 12px !important; }
.gea-quota p:last-child { font-size: 15px; line-height: 1.55; color: var(--muted); }
.gea-quota.is-hl p:last-child { color: var(--g8); }
.gea-form-card { background: #fff; border-radius: 28px; padding: clamp(22px, 4vw, 48px) !important; box-shadow: inset 0 0 0 1px var(--line); max-width: 920px; margin-inline: auto !important; }
.gea-form-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(24px, 4vw, 48px) !important; align-items: start; }
.gea-form-grid > * { margin: 0 !important; }
.gea-form-grid .gea-form-card { max-width: none; }
.gea-form-aside { position: sticky; top: calc(var(--top) + var(--header-h) + 24px); }
.gea-form-aside .gea-art-box { margin: 0 0 16px !important; background: var(--g9); color: var(--cream); border-radius: 24px; padding: 28px !important; }
.gea-form-aside .gea-art-box ul { padding-left: 1.1em; margin: 0 0 12px !important; }
.gea-form-aside .gea-art-box li, .gea-form-aside .gea-art-box p { font-size: 16px; }
.gea-form-alt { font-size: 16px; line-height: 1.55; }
.gea-form-alt a { font-weight: 700; color: var(--g6); }
.gea-ecm-pass .gea-abb-pass-n, .gea-etv-pass .gea-abb-pass-n { margin-top: 18px; }
.gea-ecm-cols { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px !important; }
.gea-ecm-cols > * { margin: 0 !important; }
.gea-ecm-col { background: #fff; border-radius: 24px; padding: 28px !important; box-shadow: inset 0 0 0 1px var(--line); }
.gea-ecm-col > * { margin-top: 0 !important; }
.gea-ecm-col h3 { font-size: 24px !important; margin-bottom: 12px !important; }
.gea-ecm-col li, .gea-ecm-col p:not(.gea-kicker) { font-size: 17px; line-height: 1.55; }
.gea-ecm-risk { background: var(--g9); box-shadow: none; color: var(--cream); }
.gea-ecm-risk h3 { color: #fff !important; } .gea-ecm-risk p:not(.gea-kicker) { color: var(--on-dark); } .gea-ecm-risk .gea-kicker { color: var(--lime) !important; }
.gea-ecm-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px !important; }
.gea-ecm-grid > * { margin: 0 !important; }
.gea-ecm-card { display: flex; flex-direction: column; gap: 6px; background: #fff; border-radius: 22px; overflow: hidden; text-decoration: none; color: var(--g9); box-shadow: inset 0 0 0 1px var(--line); padding-bottom: 20px; height: 100%; transition: transform .3s var(--ease); }
a.gea-ecm-card:hover, a.gea-ecm-card:focus-visible { transform: translateY(-3px); }
.gea-ecm-card img { width: 100%; height: auto; aspect-ratio: auto; margin-bottom: 10px; border-radius: 0 !important; }
.gea-ecm-k { font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--g6); padding-inline: 20px; }
.gea-ecm-t { font-family: var(--display); font-weight: 700; font-size: 20px; line-height: 1.25; padding-inline: 20px; }
.gea-ecm-go { margin: auto 20px 0; padding-top: 12px; font-weight: 700; font-size: 15px; color: var(--g6); }
.gea-repu-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px !important; }
.gea-repu-grid > * { margin: 0 !important; }
.gea-repu-lv { border-radius: 24px; padding: 30px 28px !important; background: #fff; box-shadow: inset 0 10px 0 var(--c, var(--line)), inset 0 0 0 1px var(--line); padding-top: 40px !important; }
.gea-repu-lv > * { margin: 0 !important; }
.gea-repu-lv.is-bronze { --c: #B8793F; } .gea-repu-lv.is-silver { --c: #A7ADB2; } .gea-repu-lv.is-gold { --c: var(--gold); }
.gea-repu-n { font-family: var(--display); font-weight: 800; font-size: 30px; color: var(--g9); }
.gea-repu-p { font-family: var(--display); font-weight: 800; font-size: clamp(36px, 3.4vw, 48px); letter-spacing: -.03em; color: var(--g9); margin: 8px 0 10px !important; }
.gea-repu-lv p:last-child { font-size: 16px; color: var(--muted); }
.gea-repu-note { margin-top: 18px !important; font-size: 15px; color: var(--muted); }
.gea-repu-griglia { grid-template-columns: 1fr !important; margin-top: 0 !important; }
.gea-etv-steps { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; counter-reset: none; }
.gea-etv-steps > * { margin: 0 !important; }
.gea-etv-step { background: #fff; border-radius: 24px; padding: 26px 24px !important; box-shadow: inset 0 0 0 1px var(--line); }
.gea-etv-step > * { margin-top: 0 !important; }
.gea-etv-n { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--lime); font-family: var(--display); font-weight: 800; font-size: 20px; color: var(--g9); margin-bottom: 16px !important; }
.gea-etv-step h3 { font-size: 22px !important; margin-bottom: 8px !important; }
.gea-etv-step p:last-child { font-size: 16px; line-height: 1.55; color: var(--muted); }
@media (max-width: 1100px) { .gea-quotas, .gea-etv-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gea-ecm-cols { grid-template-columns: 1fr 1fr; } .gea-ecm-risk { grid-column: 1 / -1; } }
@media (max-width: 900px) { .gea-form-grid { grid-template-columns: 1fr; } .gea-form-aside { position: static; } .gea-repu-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .gea-quotas, .gea-etv-steps, .gea-ecm-cols { grid-template-columns: 1fr; } .gea-quota-n { min-height: 0; } }


/* ---------- 39. ITS Academy GEA (19/10) ---------- */
.gea-its-visual { aspect-ratio: auto !important; display: flex; justify-content: center; align-items: center; }
.gea-its-card { width: min(100%, 460px); background: #fff; border-radius: 28px; padding: 30px 30px 26px; box-shadow: 14px 14px 0 var(--lime), 0 40px 80px -40px rgba(19,39,10,.45); transform: rotate(-2deg); transition: transform .6s var(--ease); }
.gea-its-card:hover { transform: rotate(0); }
.gea-its-card img { display: block; width: 100%; height: auto; border-radius: 0; }
.gea-its-card-q { font-family: var(--serif); font-style: italic; font-size: 22px; line-height: 1.3; color: var(--g9); margin: 18px 0 14px; padding-top: 16px; border-top: 1px solid var(--line); }
.gea-its-card-k { display: inline-block; margin: 0; font-family: var(--display); font-weight: 700; font-size: 14px; color: #fff; background: #0D4E9B; border-radius: 999px; padding: 6px 14px; }
.gea-its-band { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0 !important; background: var(--g9); border-radius: 28px; overflow: hidden; }
.gea-its-band > *, .gea-its-band .wp-block-html { display: contents; }
.gea-its-stat { display: flex; flex-direction: column; gap: 6px; padding: 28px 26px; border-left: 1px solid var(--g7); }
.gea-its-stat:first-child { border-left: 0; }
.gea-its-stat-n { font-family: var(--display); font-weight: 800; font-size: clamp(34px, 3.4vw, 48px); line-height: 1; letter-spacing: -.03em; color: var(--lime); }
.gea-its-stat-l { font-size: 16px; line-height: 1.4; color: var(--on-dark); }
.gea-its-band-lime { background: #fff; }
.gea-its-band-lime .gea-its-stat { border-left-color: var(--line); }
.gea-its-band-lime .gea-its-stat-n { color: var(--g9); }
.gea-its-band-lime .gea-its-stat-l { color: var(--muted); }
.gea-its-sedi { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px !important; }
.gea-its-sedi > * { margin: 0 !important; }
.gea-its-sede { background: #fff; border-radius: 28px; padding: clamp(22px, 3vw, 32px) !important; box-shadow: inset 0 0 0 1px var(--line); }
.gea-its-sede > * { margin: 0 !important; }
.gea-its-sede-h { margin: 0 0 18px !important; font-family: var(--serif); font-style: italic; font-size: 20px; color: var(--g6); }
.gea-its-sede-h b { display: block; font-family: var(--display); font-style: normal; font-weight: 800; font-size: clamp(24px, 2.4vw, 30px); color: var(--g9); }
.gea-its-courses { display: grid !important; gap: 12px !important; margin-top: 18px !important; }
.gea-its-courses > * { margin: 0 !important; }
.gea-its-course { background: var(--cream); border-radius: 20px; padding: 20px 22px !important; }
.gea-its-course > * { margin: 0 !important; }
.gea-its-code { font-family: var(--display); font-weight: 700; font-size: 14px; color: var(--g6); margin-bottom: 6px !important; }
.gea-its-course h3, .gea-its-extra h3 { font-size: clamp(19px, 1.8vw, 22px) !important; line-height: 1.3 !important; }
.gea-its-extra { margin-top: 20px !important; background: var(--lime); border-radius: 22px; padding: 20px 24px !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; }
.gea-its-extra > * { margin: 0 !important; }
.gea-its-extra .gea-its-code { color: var(--g9); }
.gea-its-why-grid, .gea-its-eco-grid, .gea-its-req-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px !important; }
.gea-its-why-grid > *, .gea-its-eco-grid > *, .gea-its-req-grid > * { margin: 0 !important; }
.gea-its-why-i, .gea-its-eco-i { background: #fff; border-radius: 24px; padding: 26px 24px !important; box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; }
.gea-its-why-i > *, .gea-its-eco-i > *, .gea-its-req > * { margin: 0 !important; }
.gea-its-why-i h3, .gea-its-eco-i h3 { font-size: 22px !important; line-height: 1.2 !important; margin-bottom: 8px !important; }
.gea-its-why-i p, .gea-its-eco-i p { font-size: 16px; line-height: 1.55; color: var(--muted); }
.gea-its-why-i { border-top: 6px solid var(--lime); }
.gea-its-eco-l { margin-top: auto !important; padding-top: 14px; }
.gea-its-eco-l a { font-weight: 700; color: var(--g6) !important; display: inline-block; padding-block: 4px; }
.gea-its-partner-lead { color: var(--on-dark) !important; max-width: 70ch; font-size: 18px; line-height: 1.6; }
.gea-its-req { background: var(--g8); border-radius: 22px; padding: 22px 22px !important; }
.gea-its-req h3 { color: #fff !important; font-size: 20px !important; margin-bottom: 6px !important; }
.gea-its-req p { color: var(--on-dark); font-size: 16px; line-height: 1.5; }
.gea-its-partner-b { margin-top: 40px !important; margin-bottom: 28px !important; }
.gea-its-partner-b h3 { color: #fff !important; font-size: 24px !important; margin-bottom: 10px !important; }
.gea-its-partner-b p, .gea-its-partner-b li { color: var(--on-dark); font-size: 17px; line-height: 1.6; }
.gea-its-partner-b strong { color: #fff; }
@media (max-width: 1000px) { .gea-its-why-grid, .gea-its-eco-grid, .gea-its-req-grid { grid-template-columns: 1fr 1fr; } .gea-its-sedi { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .gea-its-why-grid, .gea-its-eco-grid, .gea-its-req-grid { grid-template-columns: 1fr; } .gea-its-stat { border-left: 0; border-top: 1px solid var(--g7); } .gea-its-band-lime .gea-its-stat { border-top-color: var(--line); } .gea-its-stat:first-child { border-top: 0; } .gea-its-card { width: min(88%, 380px); } }

/* header con 7 voci */
@media (max-width: 1279px) { .gea-nav { display: none; } .gea-actions { margin-left: auto; } }
@media (min-width: 1280px) and (max-width: 1519px) {
  .gea-header-in { gap: 18px; }
  .gea-nav ul { gap: 18px; }
  .gea-brand-sub { display: none; }
  .gea-nav-link { font-size: 14.5px; }
}
