/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* =====================================================================
   WELLIGENCE - Brand layer per Avada
   Colori e font provengono dalle Opzioni globali di Avada:
   --awb-color1 Bianco | --awb-color2 Grigio Welligence | --awb-color3 Grigio bordo
   --awb-color4 Arancio | --awb-color5 Blu | --awb-color6 Grigio testo
   --awb-color7 Viola | --awb-color8 Nero | --awb-custom_color_1 Viola scuro hover
   --awb-typography1 Playfair Display (titoli) | --awb-typography4 Be Vietnam Pro (testo)
   Classi riutilizzabili: wg-*
   ===================================================================== */

:root {
	--wg-display: var(--awb-typography1-font-family, 'Playfair Display', Georgia, serif);
	--wg-body: var(--awb-typography4-font-family, 'Be Vietnam Pro', sans-serif);
	--wg-viola: var(--awb-color7, #7B024D);
	--wg-viola-hover: var(--awb-custom_color_1, #5E0139);
	--wg-dark: var(--awb-color8, #1A1A1A);
	--wg-muted: var(--awb-color6, #5A5852);
	--wg-bg: var(--awb-color2, #EEEDE9);
	--wg-white: var(--awb-color1, #FFFFFF);
	--wg-header-h: 83px;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
html body [id="mission"], html body [id="observatory"], html body [id="advisory"], html body [id="first-edition"], html body [id="program"], html body [id="roles"], html body [id="contact"] { scroll-margin-top: var(--wg-header-h); }

/* Reset tipografico dentro le sezioni wg */
html body :where([class*="wg-"] .fusion-text) :is(h1, h2, h3, h4) { margin-top: 0; }
html body :where(.fusion-fullwidth[class*="wg-"]) .fusion-layout-column { margin-bottom: 0; }
html body :where(.fusion-fullwidth[class*="wg-"] .fusion-text) p { margin-top: 0; }

/* ═══════════ PULSANTE BRAND (riutilizzabile: classe wg-btn) ═══════════ */
html body .fusion-button.wg-btn {
	display: inline-block;
	font-family: var(--wg-body); font-size: 0.7rem; font-weight: 600;
	letter-spacing: 2px; text-transform: uppercase; line-height: normal;
	color: #fff; background: var(--wg-viola);
	padding: 15px 36px; border: 0; border-radius: 3px;
	transition: background 0.3s ease, transform 0.2s ease;
}
html body .fusion-button.wg-btn .fusion-button-text { color: #fff; font: inherit; letter-spacing: inherit; text-transform: inherit; }
html body .fusion-button.wg-btn:hover { background: var(--wg-viola-hover); transform: translateY(-2px); }

/* ═══════════ HEADER ═══════════ */
html body .wg-nav {
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	transition: box-shadow 0.3s ease;
}
html body .wg-nav.fusion-container-stuck, html body .wg-nav.fusion-sticky-transition { box-shadow: 0 2px 20px rgba(0,0,0,0.06); }
html body .wg-nav .fusion-builder-row { flex-wrap: nowrap; }
html body .wg-nav-logo img { height: 50px; width: auto; max-width: none; }
html body .wg-nav-right .fusion-column-wrapper { flex-wrap: nowrap; }
html body .wg-menu .awb-menu__main-a, html body .wg-menu .awb-menu__main-a .menu-text {
	font-family: var(--wg-body); font-size: 0.65rem; font-weight: 500;
	letter-spacing: 2px; text-transform: uppercase;
}
html body .wg-menu .awb-menu__main-a { padding: 6px 0; transition: color 0.3s ease; }
html body .wg-social {
	margin-left: 16px; padding-left: 16px;
	border-left: 1px solid rgba(26,26,26,0.12);
}
html body .wg-social .fusion-social-networks-wrapper { display: flex; gap: 14px; align-items: center; }
html body .wg-social .fusion-social-network-icon { margin: 0 !important; font-size: 15px !important; transition: color 0.3s; }

/* ═══════════ HERO ═══════════ */
html body .wg-hero { min-height: calc(100vh - var(--wg-header-h)); display: flex; align-items: center; }
html body .wg-hero > .fusion-builder-row { width: 100%; }
html body .fusion-fullwidth.wg-hero { padding: 17px 24px 60px !important; }
html body .wg-hero-col .fusion-column-wrapper { align-items: center; text-align: center; }
html body .wg-hero-logo { margin-bottom: 32px !important; }
html body .wg-hero .fusion-text { text-align: center; }
html body .wg-hero-text { margin-bottom: 0 !important; }
html body .wg-hero .hero-label {
	font-family: var(--wg-body); font-weight: 600; font-size: 0.7rem;
	letter-spacing: 3px; text-transform: uppercase; color: var(--wg-dark); margin-bottom: 20px;
}
html body .wg-hero .hero-title {
	font-family: var(--wg-display); font-size: clamp(2.8rem, 6vw, 4.2rem); font-weight: 700;
	line-height: 1.1; color: var(--wg-viola); margin: 0 0 28px; letter-spacing: 0;
}
html body .wg-hero .hero-info {
	font-family: var(--wg-body); font-size: 20px; font-weight: 400;
	color: var(--wg-viola); line-height: 1.7; margin-bottom: 40px;
}
html body .wg-hero .hero-desc {
	font-family: var(--wg-display); font-size: clamp(1.2rem, 2.2vw, 1.5rem); font-weight: 400;
	color: var(--wg-dark); max-width: 620px; line-height: 1.5; margin: 0 auto 36px;
}
html body .wg-hero .hero-tagline {
	font-family: var(--wg-body); font-weight: 500; font-size: 0.7rem;
	letter-spacing: 3px; text-transform: uppercase; color: var(--wg-dark); margin-bottom: 44px;
}

/* ═══════════ THEMES PREVIEW ═══════════ */
html body .fusion-fullwidth.wg-themes { padding: 80px 24px !important; }
html body .wg-themes > .fusion-builder-row { max-width: 1100px; margin-left: auto; margin-right: auto; }
html body .wg-themes h2 {
	font-family: var(--wg-display); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 400;
	color: var(--wg-white); text-align: center; margin-bottom: 50px; line-height: 1.2;
}
html body .wg-theme-col { margin-bottom: 36px !important; }
html body .wg-themes .theme-item { display: flex; align-items: flex-start; gap: 16px; }
html body .wg-themes .theme-icon {
	flex-shrink: 0; width: 50px; height: 50px; border-radius: 50%;
	background: rgba(255,255,255,0.15);
	display: flex; align-items: center; justify-content: center; font-size: 22px;
}
html body .wg-themes .theme-text h3 {
	font-family: var(--wg-body); font-size: 0.8rem; font-weight: 700; line-height: 1.4;
	letter-spacing: 1px; text-transform: uppercase; color: var(--wg-white); margin-bottom: 4px;
}
html body .wg-themes .theme-text p {
	font-family: var(--wg-body); font-size: 0.85rem; font-weight: 300;
	color: rgba(255,255,255,0.7); line-height: 1.5; margin: 0;
}
html body .wg-themes .theme-text strong { font-weight: 700; }

/* ═══════════ WHO JOINS ═══════════ */
html body .fusion-fullwidth.wg-who { padding: 100px 24px !important; }
html body .wg-who-head { margin-left: -80px !important; width: calc(100% + 80px) !important; }
html body .wg-who h2 {
	font-family: var(--wg-display); font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 700;
	color: var(--wg-dark); text-align: center; margin-bottom: 50px; line-height: 1.2;
}
html body .wg-who-block { margin-bottom: 40px !important; }
html body .wg-who-block h3 {
	font-family: var(--wg-body); font-size: 0.95rem; font-weight: 500; line-height: 1.4;
	color: var(--wg-dark); margin-bottom: 10px; letter-spacing: 0; text-transform: none;
}
html body .wg-who-block ul { list-style: disc; padding-left: 20px; margin: 0; }
html body .wg-who-block li { font-size: 0.9rem; line-height: 1.8; color: var(--wg-muted); font-weight: 300; }

/* ═══════════ THINK LAB + MISSION ═══════════ */
html body .wg-thinklab { min-height: 500px; }
html body .wg-thinklab-left > .fusion-column-wrapper, html body .wg-thinklab-right > .fusion-column-wrapper { padding: 80px 60px !important; }
html body .wg-thinklab-left .fusion-column-wrapper { flex-direction: column; }
html body .wg-thinklab h2 {
	font-family: var(--wg-display); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 700;
	color: var(--wg-viola); margin-bottom: 12px; line-height: 1.2;
}
html body .wg-thinklab .thinklab-subtitle {
	font-family: var(--wg-body); font-size: clamp(1rem, 1.8vw, 1.25rem); font-weight: 300;
	color: var(--wg-viola); line-height: 1.5; margin-bottom: 40px;
}
html body .wg-pittogramma img { width: 260px; height: auto; }
html body .wg-thinklab h3 {
	font-family: var(--wg-display); font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: 400;
	letter-spacing: 2px; text-transform: uppercase; color: var(--wg-viola); margin-bottom: 32px; line-height: 1.2;
}
html body .wg-thinklab-right p { font-size: 0.9rem; font-weight: 300; line-height: 1.85; color: var(--wg-dark); margin-bottom: 18px; }

/* ═══════════ WHY WELLIGENCE (split) ═══════════ */
html body .wg-split { min-height: 500px; }
html body .wg-split-image { min-height: 500px; }
html body .wg-split-text > .fusion-column-wrapper { padding: 70px 60px !important; justify-content: center; flex-direction: column; }
html body .wg-split h2 {
	font-family: var(--wg-display); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 700;
	color: var(--wg-dark); margin-bottom: 6px; line-height: 1.2;
}
html body .wg-split .split-label {
	font-family: var(--wg-body); font-weight: 600; font-size: 0.7rem; letter-spacing: 3px;
	text-transform: uppercase; color: var(--wg-viola); margin-bottom: 20px; margin-top: 4px;
}
html body .wg-split p { font-family: var(--wg-body); font-size: 0.9rem; font-weight: 300; line-height: 1.85; color: var(--wg-dark); margin-bottom: 14px; }
html body .wg-split .signature { font-weight: 500; margin-top: 8px; font-size: 0.85rem; }

/* ═══════════ OBSERVATORY ═══════════ */
html body .fusion-fullwidth.wg-observatory { padding: 100px 24px !important; }
html body .wg-observatory h2 {
	font-family: var(--wg-display); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 700;
	color: var(--wg-viola); margin-bottom: 12px; line-height: 1.2;
}
html body .wg-observatory .obs-subtitle {
	font-family: var(--wg-body); font-size: clamp(1rem, 1.8vw, 1.2rem); font-weight: 300;
	color: var(--wg-viola); line-height: 1.5; margin-bottom: 40px;
}
html body .wg-observatory .obs-footer { font-size: 0.9rem; font-weight: 300; line-height: 1.7; color: var(--wg-dark); margin-top: 40px; }
html body .wg-observatory h3 {
	font-family: var(--wg-display); font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 400;
	letter-spacing: 2px; text-transform: uppercase; color: var(--wg-viola); margin-bottom: 20px; line-height: 1.2;
}
html body .wg-observatory h3:not(:first-child) { margin-top: 48px; }
html body .wg-observatory ul { list-style: disc; padding-left: 20px; margin: 0; }
html body .wg-observatory li { font-size: 0.9rem; line-height: 1.9; color: var(--wg-dark); font-weight: 300; }

/* Frecce (chevron) */
html body .obs-chevrons { display: flex; gap: 0; overflow-x: auto; }
html body .obs-chevron {
	position: relative; padding: 14px 20px 14px 28px;
	font-family: var(--wg-body); font-size: 0.65rem; font-weight: 500; line-height: 1.3;
	letter-spacing: 0.5px; color: var(--wg-white); white-space: nowrap;
	clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%);
	display: flex; align-items: center; justify-content: center; min-height: 50px; text-align: center;
}
html body .obs-chevron:first-child { clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%); padding-left: 20px; }
html body .obs-chevron:nth-child(1) { background: var(--awb-custom_color_3, #F0D0F7); color: var(--wg-dark); }
html body .obs-chevron:nth-child(2) { background: var(--awb-custom_color_4, #E0A7E4); color: var(--wg-dark); }
html body .obs-chevron:nth-child(3) { background: var(--awb-custom_color_5, #C7789D); }
html body .obs-chevron:nth-child(4) { background: var(--awb-custom_color_6, #F8239D); }
html body .obs-chevron:nth-child(5) { background: var(--awb-custom_color_2, #7C1650); }

/* ═══════════ BANNER ═══════════ */
html body .wg-banner { height: 35vh; min-height: 220px; }
html body .wg-banner > .fusion-builder-row { width: 100%; }
html body .wg-banner-col .fusion-column-wrapper { padding: 24px !important; }
html body .wg-banner h2 {
	font-family: var(--wg-display); font-size: clamp(1.4rem, 2.8vw, 2.2rem); font-weight: 400;
	color: var(--wg-viola); line-height: 1.3; text-align: center; margin: 0;
}

/* ═══════════ ADVISORY ═══════════ */
html body .fusion-fullwidth.wg-advisory { padding: 100px 24px !important; }
html body .wg-advisory h2 {
	font-family: var(--wg-display); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 700;
	color: var(--wg-viola); margin-bottom: 12px; line-height: 1.2;
}
html body .wg-advisory .advisory-subtitle {
	font-family: var(--wg-body); font-size: clamp(1rem, 1.8vw, 1.2rem); font-weight: 300;
	color: var(--wg-viola); line-height: 1.5; margin-bottom: 32px;
}
html body .wg-adv-left p:not(.advisory-subtitle) { font-size: 0.9rem; font-weight: 300; line-height: 1.85; color: var(--wg-dark); margin-bottom: 18px; }
html body .wg-adv-right h3 {
	font-family: var(--wg-display); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 700;
	color: var(--awb-custom_color_2, #7C1650); line-height: 1.2; margin-bottom: 40px;
}
html body .wg-adv-right h4 {
	font-family: var(--wg-body); font-size: 0.75rem; font-weight: 700; line-height: 1.4;
	letter-spacing: 2px; text-transform: uppercase; color: var(--wg-dark); margin-bottom: 20px;
}
html body .services-list { list-style: none; padding: 0; margin: 0; }
html body .services-list li {
	font-family: var(--wg-body); font-size: 0.7rem; font-weight: 400; line-height: 1.6;
	letter-spacing: 1.5px; text-transform: uppercase; color: var(--wg-dark);
	padding: 12px 0; border-bottom: 1px solid rgba(26,26,26,0.12);
}
html body .services-list li:first-child { border-top: 1px solid rgba(26,26,26,0.12); }

/* ═══════════ 1ST EDITION ═══════════ */
html body .fusion-fullwidth.wg-first-edition { padding: 60px 24px !important; text-align: center; }
html body .wg-first-edition > .fusion-builder-row { max-width: 900px; margin-left: auto; margin-right: auto; }
html body .wg-first-edition .fe-label {
	font-family: var(--wg-display); font-style: italic; font-size: clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 700; color: var(--wg-white); margin-bottom: 8px; line-height: 1.3;
}
html body .wg-first-edition h2 {
	font-family: var(--wg-display); font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 700;
	color: var(--wg-white); margin-bottom: 16px; line-height: 1.2;
}
html body .wg-first-edition .fe-info { font-family: var(--wg-body); font-size: 15px; font-weight: 300; color: rgba(255,255,255,0.6); letter-spacing: 1px; }

/* ═══════════ IMMAGINE A TUTTA LARGHEZZA ═══════════ */
html body .wg-full-image .fusion-imageframe, html body .wg-full-img img { display: block; width: 100%; max-width: none; }
html body .wg-full-img img { height: auto; }

/* ═══════════ VIDEO ═══════════ */
html body .fusion-fullwidth.wg-video { padding: 80px 24px !important; }
html body .wg-video > .fusion-builder-row { max-width: 900px; margin-left: auto; margin-right: auto; }
html body .wg-video .fusion-video { max-width: 100% !important; width: 100%; margin: 0; }

/* ═══════════ GALLERY (marquee) ═══════════ */
html body .fusion-fullwidth.wg-gallery { padding: 0 0 80px !important; overflow: hidden; }
html body .wg-gallery .carousel-title {
	font-family: var(--wg-body); font-size: 0.7rem; font-weight: 600; letter-spacing: 3px;
	text-transform: uppercase; text-align: center; color: var(--wg-dark); margin-bottom: 32px;
}
html body .wg-marquee img { width: 300px; height: 200px; object-fit: cover; border-radius: 3px; display: block; }

/* ═══════════ PARTNER + PROGRAM ═══════════ */
html body .wg-pp-left > .fusion-column-wrapper, html body .wg-pp-right > .fusion-column-wrapper { padding: 80px 60px !important; }
html body .wg-pp h2, html body .wg-pp h3 {
	font-family: var(--wg-display); font-size: clamp(1.4rem, 2.5vw, 1.8rem); font-weight: 700;
	color: var(--wg-dark); margin-bottom: 28px; line-height: 1.2;
}
html body .wg-pp-left h3 { margin-top: 40px; }
html body .wg-round-grid .fusion-grid-column { padding-bottom: 32px; }
html body .wg-round-grid .fusion-gallery-image { width: 100px; height: 100px; margin: 0 auto; border-radius: 50%; overflow: hidden; background: var(--wg-white); border: 2px solid rgba(243,101,69,0.3); padding: 2px; }
html body .wg-round-grid .fusion-gallery-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
html body .wg-program-cover { text-align: center; margin-bottom: 24px !important; }
html body .wg-program-cover img { max-width: 320px; width: 100%; height: auto; box-shadow: 8px 8px 30px rgba(0,0,0,0.15); transform: rotate(1.5deg); }
html body .wg-pp .program-download-text { font-family: var(--wg-display); font-style: italic; font-size: 1.1rem; color: var(--wg-dark); text-align: center; margin-bottom: 48px; }
html body .wg-pp .program-download-text a { color: var(--wg-dark); text-decoration: underline; }
html body .wg-pp .program-download-text a:hover { color: var(--wg-viola); }

/* ═══════════ MANIFESTO ═══════════ */
html body .fusion-fullwidth.wg-manifesto { padding: 80px 24px !important; text-align: center; }
html body .wg-manifesto h2 {
	font-family: var(--wg-display); font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 700;
	color: var(--wg-dark); margin-bottom: 40px; line-height: 1.2;
}
html body .wg-manifesto-img img { max-width: 700px; width: 100%; height: auto; box-shadow: 4px 4px 24px rgba(0,0,0,0.1); }

/* ═══════════ CHOOSE YOUR ROLE ═══════════ */
html body .wg-choose { aspect-ratio: 2362 / 718; text-align: center; }
html body .wg-choose > .fusion-builder-row { width: 100%; max-width: 1100px; margin-left: auto; margin-right: auto; }
html body .wg-choose .choose-eyebrow {
	font-family: var(--wg-body); font-size: clamp(1rem, 1.8vw, 1.25rem); font-weight: 600;
	letter-spacing: 3px; text-transform: uppercase; color: var(--wg-dark); margin-bottom: 12px;
}
html body .wg-choose .choose-title {
	font-family: var(--wg-display); font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 700;
	color: var(--wg-viola); line-height: 1.2; margin-bottom: 8px;
}
html body .wg-choose .choose-sub { font-size: clamp(1rem, 1.8vw, 1.25rem); font-weight: 300; color: var(--wg-muted); }

/* ═══════════ ROLES ═══════════ */
html body .fusion-fullwidth.wg-roles { padding: 80px 60px !important; min-height: 240px; }
html body .wg-roles > .fusion-builder-row { width: 100%; }
html body .wg-roles .role-item h3 {
	font-family: var(--wg-display); font-style: italic; font-size: 1.4rem; font-weight: 700; line-height: 1.3;
	color: var(--wg-viola); margin-bottom: 6px; display: flex; align-items: center; gap: 10px;
}
html body .wg-roles .role-item h3 em { font-style: italic; }
html body .role-stars-1 { color: var(--awb-custom_color_8, #737373); font-size: 0.8rem; font-style: normal; }
html body .role-stars-2 { color: var(--awb-custom_color_7, #0049AD); font-size: 0.8rem; font-style: normal; }
html body .role-stars-3 { color: var(--awb-custom_color_2, #7C1650); font-size: 0.8rem; font-style: normal; }
html body .wg-roles .role-item p { font-family: var(--wg-body); font-size: 0.9rem; font-weight: 300; color: var(--wg-viola); margin: 0; }

/* ═══════════ FORM (Contact Form 7) ═══════════ */
html body .fusion-fullwidth.wg-form { padding: 100px 24px !important; text-align: center; }
html body .wg-form > .fusion-builder-row { max-width: 560px; margin-left: auto; margin-right: auto; }
html body .wg-form h2 {
	font-family: var(--wg-display); font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 700;
	color: var(--wg-viola); margin-bottom: 12px; line-height: 1.2;
}
html body .wg-form .form-subtitle {
	font-family: var(--wg-body); font-size: clamp(1rem, 1.8vw, 1.25rem); font-weight: 500;
	letter-spacing: 3px; text-transform: uppercase; color: var(--wg-dark); margin-bottom: 36px;
}
html body .wg-cf7 .wpcf7-form { display: flex; flex-direction: column; gap: 18px; text-align: left; }
html body .wg-cf7 .wpcf7-form > p, html body .wg-cf7 .wg-form-group > p, html body .wg-cf7 .wg-form-consent > p, html body .wg-cf7 .wg-form-submit > p { margin: 0; }
html body .wg-cf7 br { display: none; }
html body .wg-cf7 .wg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
html body .wg-cf7 .wg-form-group, html body .wg-cf7 .wg-form-group > p { display: flex; flex-direction: column; gap: 5px; }
html body .wg-cf7 .wg-form-group label {
	font-family: var(--wg-body); font-size: 0.65rem; font-weight: 500; letter-spacing: 2px;
	text-transform: uppercase; color: var(--wg-dark); margin: 0;
}
html body .wg-cf7 .wpcf7-form-control-wrap { display: block; }
html body .wg-cf7 input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]), html body .wg-cf7 textarea.wpcf7-form-control {
	width: 100%; height: auto; font-family: var(--wg-body); font-size: 0.9rem; font-weight: 300; line-height: 1.4;
	padding: 13px 15px; background: rgba(255,255,255,0.5); border: 1px solid rgba(0,0,0,0.12);
	border-radius: 3px; color: var(--wg-dark); outline: none; box-shadow: none;
	transition: border-color 0.3s, background 0.3s;
}
html body .wg-cf7 input.wpcf7-form-control::placeholder, html body .wg-cf7 textarea.wpcf7-form-control::placeholder { color: rgba(0,0,0,0.3); }
html body .wg-cf7 input.wpcf7-form-control:focus, html body .wg-cf7 textarea.wpcf7-form-control:focus { border-color: var(--wg-viola); background: #fff; }
html body .wg-cf7 textarea.wpcf7-form-control { resize: vertical; min-height: 90px; height: 90px; }
html body .wg-cf7 .wg-form-consent { font-family: var(--wg-body); font-size: 0.78rem; line-height: 1.6; color: var(--wg-muted); }
html body .wg-cf7 .wg-form-consent .wpcf7-list-item { margin: 0; }
html body .wg-cf7 .wg-form-consent label { display: flex; align-items: flex-start; gap: 10px; }
html body .wg-cf7 .wg-form-consent input[type="checkbox"] { margin-top: 3px; accent-color: var(--wg-viola); flex-shrink: 0; }
html body .wg-cf7 .wg-form-consent a { color: var(--wg-viola); text-decoration: none; border-bottom: 1px solid rgba(123,2,77,0.3); }
html body .wg-cf7 .wg-form-submit { text-align: center; position: relative; }
html body .wg-cf7 input.wpcf7-submit.wg-btn-submit {
	font-family: var(--wg-body); font-weight: 600; font-size: 0.75rem; letter-spacing: 3px; text-transform: uppercase;
	padding: 15px 36px; height: auto; line-height: normal; background: var(--wg-viola); color: #fff; border: none;
	border-radius: 3px; cursor: pointer; transition: background 0.3s, transform 0.2s;
}
html body .wg-cf7 input.wpcf7-submit.wg-btn-submit:hover { background: var(--wg-viola-hover); transform: translateY(-2px); }
html body .wg-cf7 .wpcf7-spinner { position: absolute; margin: 12px 0 0 12px; }
html body .wg-cf7 .wpcf7-response-output { font-family: var(--wg-body); font-size: 0.8rem; margin: 0 !important; text-align: center; }

/* ═══════════ FOOTER ═══════════ */
html body .wg-footer { text-align: center; }
html body .wg-copyright, html body .wg-copyright p { color: rgba(255,255,255,0.4); font-family: var(--wg-body); font-size: 0.65rem; font-weight: 400; letter-spacing: 1px; line-height: 1.6; margin: 0; }
html body .wg-copyright a { color: rgba(255,255,255,0.5); text-decoration: none; }
html body .wg-copyright a:hover { color: rgba(255,255,255,0.8); }

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width: 900px) {
	html body .wg-thinklab-left > .fusion-column-wrapper, html body .wg-thinklab-right > .fusion-column-wrapper, html body .wg-split-text > .fusion-column-wrapper { padding: 50px 24px !important; }
	html body .wg-pittogramma img { width: 180px; }
	html body .wg-split-image { min-height: 280px; }
	html body .wg-pp-left > .fusion-column-wrapper, html body .wg-pp-right > .fusion-column-wrapper { padding: 60px 24px !important; }
	html body .wg-observatory .wg-obs-left { margin-bottom: 40px !important; }
	html body .wg-advisory .wg-adv-left { margin-bottom: 50px !important; }
	html body .wg-roles .wg-role { margin-bottom: 28px !important; }
	html body .wg-roles .wg-role:last-child { margin-bottom: 0 !important; }
	html body .wg-cf7 .wg-form-row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	:root { --wg-header-h: 61px; }
	html body .wg-nav-logo img { height: 36px; }
	html body .wg-social { margin-left: 8px; padding-left: 8px; }
	html body .wg-social .fusion-social-networks-wrapper { gap: 10px; }
	html body .wg-social .fusion-social-network-icon { font-size: 13px !important; }
	html body .wg-hero { min-height: calc(90vh - var(--wg-header-h)); }
	html body .fusion-fullwidth.wg-hero { padding: 19px 20px 40px !important; }
	html body .wg-theme-col { margin-bottom: 28px !important; }
	html body .fusion-fullwidth.wg-who, html body .fusion-fullwidth.wg-observatory { padding: 60px 24px !important; }
	html body .wg-who-head { margin-left: 0 !important; width: 100% !important; }
	html body .wg-who-block { margin-bottom: 30px !important; }
	html body .wg-banner { height: 25vh; min-height: 160px; }
	html body .wg-marquee img { width: 240px; height: 160px; }
	html body .obs-chevrons { flex-wrap: nowrap; overflow-x: auto; }
	html body .obs-chevron { font-size: 0.5rem; padding: 10px 14px 10px 20px; min-height: 40px; }
	html body .obs-chevron:first-child { padding-left: 14px; }
	html body .wg-program-cover img { max-width: 150px; }
	html body .wg-choose { aspect-ratio: auto; min-height: 300px; }
	html body .wg-choose-col .fusion-column-wrapper { padding: 20px !important; }
	html body .fusion-fullwidth.wg-form { padding: 60px 20px !important; }
}


/* ═══════════ LARGHEZZE INTERNE ═══════════
   Avada imposta la larghezza delle righe 100% con stile inline !important:
   la larghezza utile del contenuto si ottiene con il padding laterale del container. */
html body .fusion-fullwidth.wg-themes { padding-left: max(24px, calc((100% - 1100px) / 2)) !important; padding-right: max(24px, calc((100% - 1100px) / 2)) !important; }
html body .fusion-fullwidth.wg-who { padding-left: max(24px, calc((100% - 800px) / 2 + 80px)) !important; padding-right: max(24px, calc((100% - 800px) / 2)) !important; }
html body .fusion-fullwidth.wg-roles { padding-left: max(100px, calc((100% - 920px) / 2)) !important; padding-right: max(100px, calc((100% - 920px) / 2)) !important; }
html body .fusion-fullwidth.wg-first-edition, html body .fusion-fullwidth.wg-video { padding-left: max(24px, calc((100% - 900px) / 2)) !important; padding-right: max(24px, calc((100% - 900px) / 2)) !important; }
html body .fusion-fullwidth.wg-form { padding-left: max(24px, calc((100% - 560px) / 2)) !important; padding-right: max(24px, calc((100% - 560px) / 2)) !important; }
html body .fusion-fullwidth.wg-choose { padding-left: max(0px, calc((100% - 1100px) / 2)) !important; padding-right: max(0px, calc((100% - 1100px) / 2)) !important; }
@media (max-width: 900px) {
	html body .fusion-fullwidth.wg-roles { padding-left: 60px !important; padding-right: 60px !important; }
}
@media (max-width: 600px) {
	html body .fusion-fullwidth.wg-who { padding-left: 24px !important; padding-right: 24px !important; }
	html body .fusion-fullwidth.wg-form { padding-left: 20px !important; padding-right: 20px !important; }
	html body .fusion-fullwidth.wg-roles { padding-left: 24px !important; padding-right: 24px !important; }
}


/* ═══════════ RIFINITURE DI FEDELTÀ ═══════════ */
html body .fusion-fullwidth.wg-observatory, html body .fusion-fullwidth.wg-advisory { padding-left: max(24px, calc((100% - 1152px) / 2)) !important; padding-right: max(24px, calc((100% - 1152px) / 2)) !important; }
html body .wg-themes .theme-icon img { max-width: none; width: auto; height: auto; }
html body .wg-theme-col:nth-last-child(-n+2), html body .wg-who-block:nth-last-child(-n+2) { margin-bottom: 0 !important; }
html body .wg-menu, html body .wg-menu .awb-menu__main-ul { min-height: 0 !important; }
/* line-height normale dove l'originale non lo definiva */
html body .wg-themes h2, html body .wg-themes .theme-text h3, html body .wg-who h2, html body .wg-who-block h3,
html body .wg-thinklab h2, html body .wg-thinklab h3, html body .wg-observatory h2, html body .wg-observatory h3,
html body .wg-advisory h2, html body .wg-adv-right h4, html body .wg-first-edition .fe-label, html body .wg-first-edition h2,
html body .wg-pp h2, html body .wg-pp h3, html body .wg-manifesto h2, html body .wg-form h2, html body .wg-roles .role-item h3 { line-height: normal; }
@media (max-width: 600px) {
	html body .wg-theme-col:nth-last-child(2) { margin-bottom: 28px !important; }
	html body .wg-who-block:nth-last-child(2) { margin-bottom: 30px !important; }
}

html body .wg-hero .hero-label, html body .wg-hero .hero-tagline, html body .wg-split .split-label, html body .wg-first-edition .fe-info,
html body .wg-gallery .carousel-title, html body .wg-pp .program-download-text, html body .wg-choose .choose-eyebrow, html body .wg-choose .choose-sub,
html body .wg-roles .role-item p, html body .wg-form .form-subtitle, html body .wg-cf7 .wg-form-group label, html body .wg-copyright, html body .wg-copyright p { line-height: normal; }
html body .wg-nav-logo { padding-bottom: 4px; }
html body .wg-marquee img { width: 100% !important; height: 200px !important; max-width: none !important; object-fit: cover; }
html body .wg-round-grid .fusion-grid-column { padding-top: 0 !important; padding-bottom: 32px !important; }
html body .wg-round-grid .fusion-grid-column:nth-last-child(-n+3) { padding-bottom: 0 !important; }
html body .wg-cf7 .wpcf7-form > p:empty, html body .wg-cf7 .wpcf7-form > .hidden-fields-container { display: none; }
html body .wg-cf7 input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]), html body .wg-cf7 textarea.wpcf7-form-control { line-height: normal; }
@media (max-width: 600px) {
	html body .wg-marquee img { height: 160px !important; }
}
html body .wg-marquee img { max-height: none !important; }
html body .fusion-gallery.wg-round-grid { margin: 0 0 -32px !important; }
html body .wg-marquee { margin: 0 !important; }
html body .wg-marquee .swiper-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Griglia loghi sempre a 3 colonne (come originale) */
html body .wg-round-grid { --awb-columns-small: 33.3333% !important; --awb-columns-medium: 33.3333% !important; }
html body .wg-round-grid .fusion-grid-column { width: 33.3333% !important; }
/* Menu mobile */
@media (max-width: 900px) {
	html body .wg-menu.awb-menu_mobile-toggle .awb-menu__main-ul { padding: 16px 0 !important; background: rgba(238,237,233,0.98) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid rgba(26,26,26,0.08); }
	html body .wg-menu.awb-menu_mobile-toggle .awb-menu__main-li { border: 0 !important; text-align: center; }
	html body .wg-menu.awb-menu_mobile-toggle .awb-menu__main-a { justify-content: center; padding: 8px 0 !important; min-height: 0 !important; }
	html body .wg-menu.awb-menu_mobile-toggle .awb-menu__main-a, html body .wg-menu.awb-menu_mobile-toggle .awb-menu__main-a .menu-text { font-size: 0.75rem; color: var(--wg-dark); }
	html body .wg-menu.awb-menu_mobile-toggle .awb-menu__main-a:hover .menu-text { color: var(--wg-viola); }
}
