/**
 * Home page (post ID 2038), ricostruita 2026-09-14 dal mockup approvato
 * (https://claude.ai/code/artifact/27a77c39-1a0f-4ce3-a28d-cddb2d4e7160,
 * v10). Token ridichiarati come in chi-siamo.css/contact-page.css —
 * questa non è una pagina .wc-gd-detail, gd-details.css non è caricata
 * qui. L'header/nav del mockup (schematico, mai inteso come reale) non
 * è stato portato: questa pagina usa l'header nativo di Astra, già
 * caricato prima di questo shortcode.
 */
.wc-home {
	--wc-navy: #1A237E;
	--wc-navy-soft: #4A5299;
	--wc-cyan: #0092A8;
	--wc-yellow: #FFC107;
	--wc-yellow-ink: #1A237E;
	--wc-line: #E2E5EA;
	--wc-surface: #FFFFFF;
	--wc-surface-2: #EEF1F5;
	--wc-text: #20233A;
	--wc-text-soft: #5B6178;
	--wc-text-faint: #8286A0;
	--wc-green: #4CAF50;
	--wc-cyan-deep: #0092A8;
	--wc-live: #D9432E;
	--wc-radius: 14px;
	--wc-shadow: 0 1px 2px rgba(26,35,126,.06), 0 12px 28px -16px rgba(26,35,126,.22);
	font-family: 'Karla', sans-serif;
	line-height: 1.6;
	color: var(--wc-text);
}
.wc-home h1, .wc-home h2, .wc-home h3 { font-family: 'Rubik', sans-serif; text-wrap: balance; margin: 0; }
.wc-home .wrap { max-width: var(--wc-page-width, 1200px); margin: 0 auto; padding: 0 20px 90px; }

/* hero — piena larghezza, esce dal contenitore centrato di Astra con la
   classica tecnica full-bleed (100vw + margini negativi) invece di
   limitarsi a max-width:100%, che manterrebbe comunque il letterboxing
   laterale del container pagina. */
.wc-home .hm-hero {
	position: relative; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;
	overflow: hidden; min-height: 480px; display: flex; align-items: center;
	background: #12210f center 42% / cover no-repeat;
}
.wc-home .hm-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(8,16,10,.42) 0%, rgba(6,12,8,.5) 45%, rgba(5,9,6,.82) 100%); }
.wc-home .hm-hero-img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; display: block; }
.wc-home .hm-hero-inner { position: relative; z-index: 1; padding: 64px clamp(20px,5vw,64px); color: #fff; width: 100%; max-width: 820px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; }
@media (min-width: 900px) { .wc-home .hm-hero-inner { max-width: 980px; } }
.wc-home .hm-eyebrow { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .78rem; letter-spacing: .09em; text-transform: uppercase; color: #9FEAF3; margin: 0 0 12px; text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.wc-home .hm-hero h1 { font-weight: 800; font-size: clamp(2.1rem,5.4vw,3.1rem); margin: 0 0 14px; text-shadow: 0 2px 16px rgba(0,0,0,.55); color: #fff; }
.wc-home .hm-hero p { margin: 0 0 28px; font-size: 1.08rem; color: #F3F6FA; max-width: 52ch; text-shadow: 0 1px 10px rgba(0,0,0,.5); }
/* Ricerca hero — widget nativo GeoDirectory [gd_search] (2026-09-16),
   sostituisce la forma finta del 14/9 (.hm-search, dismessa). Skin sopra
   il markup reale (classi .geodir-*/gd-search-field-*/search_text/snear,
   bootstrap "bsui" del plugin) per riportarlo alla stessa pillola bianca
   del mockup — prima volta che questo markup viene skinnato sul sito,
   scoperto scoping su .wc-home per non toccare /dove-dormire/ e le altre
   pagine che usano lo stesso widget col look di default del plugin. */
.wc-home .hm-search-wrap { width: 100%; margin-top: 14px; }
.wc-home .geodir-search-form-wrapper { margin-bottom: 0 !important; }
.wc-home .geodir-listing-search { width: 100%; }
.wc-home .geodir-search {
	background: #fff; border-radius: 100px; padding: 6px; box-shadow: var(--wc-shadow);
	margin: 0 !important; flex-wrap: nowrap;
}
/* Bootstrap (.bsui .row>*) applica margin-top:var(--bs-gutter-y) ad ogni
   figlio della riga ma nessun margin-bottom - sbilanciava lo spazio sopra
   vs sotto dentro la pillola (8px sopra, 0 sotto), gli elementi non
   risultavano centrati verticalmente rispetto al bianco. Specchiato lo
   stesso valore anche in basso. */
.wc-home .geodir-search > * { margin-bottom: var(--bs-gutter-y, .5rem) !important; }
.wc-home .gd-search-input-wrapper, .wc-home .gd-search-field-search, .wc-home .gd-search-field-near { padding: 0 !important; }
/* Altezza fissa uguale su select/input/bottone (2026-09-16, secondo giro)
   — prima ciascuno prendeva l'altezza intrinseca del proprio elemento
   (select/input/button hanno line-height "di fabbrica" leggermente
   diversi), risultato: la tendina appariva più bassa/scentrata rispetto
   al resto della pillola bianca. box-sizing:border-box su tutti così il
   padding non si somma all'altezza dichiarata. */
.wc-home .gd-search-field-cpt { position: relative; }
.wc-home .gd-search-field-cpt select.search_by_post {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	box-sizing: border-box; height: 42px; display: flex; align-items: center;
	border: 0; border-right: 1px solid var(--wc-line); outline: 0; box-shadow: none;
	padding: 0 28px 0 30px; font-size: .84rem; font-weight: 600; font-family: 'Karla', sans-serif;
	color: var(--wc-text); background-color: transparent; border-radius: 100px 0 0 100px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235B6178' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center; background-size: 10px 7px;
}
/* Pallino colore ambito (2026-09-16) — stesso linguaggio visivo di
   .hm-legend-dot (mappa dei 5 territori, poco sotto in questa stessa
   pagina), colorato via JS in base all'opzione selezionata invece di
   fisso: unica fonte colore webcilento_get_ambito_color(), vedi script
   subito dopo il markup del widget. */
.wc-home .hm-search-type-dot {
	position: absolute; left: 15px; top: 50%; transform: translateY(-50%);
	width: 9px; height: 9px; border-radius: 50%; background: var(--wc-navy);
	pointer-events: none;
}
.wc-home .gd-search-field-search .input-group-inside,
.wc-home .gd-search-field-near .input-group-inside { display: flex; align-items: center; height: 42px; }
.wc-home .gd-search-field-search .input-group-text,
.wc-home .gd-search-field-near .input-group-text { padding: 0 0 0 14px !important; background: transparent !important; border: 0 !important; color: var(--wc-text-faint); display: flex; align-items: center; height: 100%; }
.wc-home .search_text, .wc-home .snear {
	box-sizing: border-box; border: 0 !important; outline: 0; box-shadow: none !important;
	height: 42px; padding: 0 14px; font-size: .95rem; font-family: 'Karla', sans-serif;
	color: var(--wc-text); background: transparent !important;
}
.wc-home .gd-search-field-near { border-left: 1px solid var(--wc-line); }
.wc-home .geodir_submit_search {
	box-sizing: border-box; height: 42px; display: flex; align-items: center; justify-content: center;
	font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .88rem;
	color: #fff !important; background: var(--wc-navy) !important; border: 0 !important;
	padding: 0 26px !important; border-radius: 100px !important;
}
.wc-home .geodir_submit_search .visually-hidden { position: static !important; width: auto !important; height: auto !important; margin: 0 0 0 8px !important; clip: auto !important; overflow: visible !important; white-space: nowrap; }
/* Geolocalizzazione esplicita (2026-09-16) — icona sempre visibile dentro
   il campo "Vicino", invece di doverla scoprire aprendo la tendina
   nativa GD al focus. Simula un click sulla voce nativa .gd-near-me
   (stesso meccanismo già verificato funzionante) invece di reimplementare
   la geolocalizzazione da zero. */
.wc-home .gd-search-field-near .input-group-inside { position: relative; }
.wc-home .gd-search-field-near input.snear { padding-right: 40px; }
.wc-home .hm-geo-btn {
	position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	width: 30px; height: 30px; border: 0; border-radius: 50%; background: var(--wc-surface-2);
	color: var(--wc-navy-soft); display: flex; align-items: center; justify-content: center;
	cursor: pointer; font-size: .82rem; padding: 0;
}
.wc-home .hm-geo-btn:hover { background: var(--wc-navy); color: #fff; }
/* Pannello Filtri avanzati: sempre vuoto/non aperto in home (nessun campo
   per-CPT ha senso su una ricerca multi-tipo) — nascosto invece di
   lasciare il collapse Bootstrap vuoto nel markup. */
.wc-home .geodir-filter-container { display: none; }

@media (max-width: 700px) {
	.wc-home .geodir-search { flex-wrap: wrap; border-radius: 20px; }
	.wc-home .gd-search-field-cpt, .wc-home .gd-search-field-search, .wc-home .gd-search-field-near, .wc-home .geodir_submit_search { flex: 1 1 100% !important; max-width: 100%; }
	.wc-home .gd-search-field-cpt select.search_by_post { border-right: 0; border-top: 1px solid var(--wc-line); border-radius: 12px; }
	.wc-home .gd-search-field-near { border-left: 0; border-top: 1px solid var(--wc-line); }
	.wc-home .geodir_submit_search { border-radius: 12px !important; }
}
.wc-home .hm-quicklinks { display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; margin-top: 18px; }
.wc-home .hm-quicklinks span.hm-ql-label { font-size: .76rem; color: #C7CCFF; margin-right: 2px; align-self: center; }
.wc-home .hm-quicklinks a { font-size: .76rem; font-weight: 600; color: #fff; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.20); padding: 6px 12px; border-radius: 100px; text-decoration: none; }
.wc-home .hm-quicklinks a:hover { background: rgba(255,255,255,.20); }

/* section shell */
.wc-home .hm-section { margin-top: 64px; }
.wc-home .hm-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
.wc-home .hm-label { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wc-cyan); margin-bottom: 8px; display: block; }
.wc-home .hm-section-head h2 { font-weight: 800; font-size: 1.7rem; color: var(--wc-text); }
.wc-home .hm-section-head p { margin: 0; font-size: .92rem; color: var(--wc-text-soft); max-width: 64ch; }
.wc-home .hm-more { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .86rem; color: var(--wc-cyan); text-decoration: none; white-space: nowrap; }

/* Blocco pubblicitario AdSense (2026-09-16) — Position B, mockup approvato
   https://claude.ai/artifact/RTrAFmXHJR51fQGB5hR1Ks. min-height riservata
   per azzerare il CLS: lo spazio esiste identico prima che l'annuncio (o
   il messaggio adblock) si carichi — mai un salto di layout al fill. */
.wc-home .wc-ad-block {
	position: relative; margin-top: 48px;
	background: var(--wc-surface-2); border: 1px solid var(--wc-line); border-radius: var(--wc-radius);
	min-height: 250px; padding: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
}
.wc-home .wc-ad-eyebrow {
	align-self: flex-start; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .68rem;
	letter-spacing: .08em; text-transform: uppercase; color: var(--wc-text-faint);
}
.wc-home .wc-ad-ins { width: 100%; }
/* Elemento esca per la rilevazione adblock — MAI display:none nostro
   (altrimenti è indistinguibile da un vero blocco): 1x1px fuori schermo,
   solo l'adblocker lo nasconderebbe via un filtro cosmetico. */
.wc-home .wc-ad-probe { position: absolute; width: 1px; height: 1px; left: -9999px; top: 0; }
.wc-home .wc-ad-fallback { display: none; }
/* !important necessario: l'unità <ins> di Google porta uno style="display:
   block" inline obbligatorio (non rimovibile) — un inline style vince
   sempre su una regola esterna non-!important, quindi senza questo la
   regola sotto perdeva silenziosamente e il contenitore restava alto
   quanto l'ins vuoto invece che centrare il messaggio. */
.wc-home .wc-ad-block.wc-ad-blocked .wc-ad-ins,
.wc-home .wc-ad-block.wc-ad-blocked .wc-ad-eyebrow { display: none !important; }
.wc-home .wc-ad-block.wc-ad-blocked .wc-ad-fallback {
	display: flex; align-items: center; gap: 14px; max-width: 640px; text-align: left; position: relative;
}
.wc-home .wc-ad-fallback-icon { font-size: 1.6rem; flex: none; }
.wc-home .wc-ad-fallback p { margin: 0; font-size: .88rem; color: var(--wc-text-soft); }
.wc-home .wc-ad-fallback-close {
	position: absolute; top: -10px; right: -10px; width: 22px; height: 22px; border-radius: 50%;
	border: 1px solid var(--wc-line); background: var(--wc-surface); color: var(--wc-text-faint);
	cursor: pointer; font-size: 1rem; line-height: 1; display: flex; align-items: center; justify-content: center; padding: 0;
}
.wc-home .wc-ad-fallback-close:hover { background: var(--wc-navy); color: #fff; border-color: var(--wc-navy); }
@media (max-width: 560px) { .wc-home .wc-ad-fallback { flex-direction: column; text-align: center; } }
/* Etichetta "Pubblicità" della sezione Multiplex — nell'header di sezione
   invece che dentro .wc-ad-block (il Display la mostra lì, il Multiplex
   qui: coerente col fatto che l'header "Consigliati per te" è già
   dichiaratamente della sezione annuncio, non serve ripeterla dentro). */
.wc-home .wc-ad-pill {
	font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase;
	color: var(--wc-text-faint); background: var(--wc-surface-2); border: 1px solid var(--wc-line); padding: 3px 10px; border-radius: 100px;
}

/* mappa territori */
.wc-home .hm-map-grid { display: grid; grid-template-columns: 1.9fr 1fr; gap: 24px; align-items: start; }
@media (max-width: 820px) { .wc-home .hm-map-grid { grid-template-columns: 1fr; } }
.wc-home .hm-map-box { background: var(--wc-surface); border: 1px solid var(--wc-line); border-radius: var(--wc-radius); box-shadow: var(--wc-shadow); padding: 18px; }
.wc-home .hm-map-box svg { width: 100%; height: auto; display: block; }
.wc-home .hm-map-box svg path.hub { cursor: pointer; stroke: var(--wc-surface); stroke-width: 1.6; transition: opacity .15s ease, filter .15s ease; }
.wc-home .hm-map-box svg path.hub.is-dim { opacity: .32; }
.wc-home .hm-map-box svg path.hub.is-active { filter: brightness(1.07); }
.wc-home .hm-map-box svg text.hub-label { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 15px; fill: #fff; paint-order: stroke; stroke: rgba(0,0,0,.45); stroke-width: 3px; pointer-events: none; text-anchor: middle; transition: opacity .15s ease; }
.wc-home .hm-map-box svg text.hub-label.is-dim { opacity: .4; }
.wc-home .hm-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--wc-line); }
.wc-home .hm-legend-item { display: flex; align-items: center; gap: 7px; font-size: .78rem; color: var(--wc-text-soft); cursor: pointer; }
.wc-home .hm-legend-dot { width: 10px; height: 10px; border-radius: 3px; flex: none; }

.wc-home .hm-panel { background: var(--wc-navy); color: #fff; border-radius: var(--wc-radius); box-shadow: var(--wc-shadow); padding: 24px 22px; min-height: 230px; display: flex; flex-direction: column; position: sticky; top: 20px; }
.wc-home .hm-panel-empty { color: #C7CCFF; font-size: .92rem; margin: auto 0; }
.wc-home .hm-panel-dot { width: 12px; height: 12px; border-radius: 4px; display: inline-block; margin-right: 8px; }
.wc-home .hm-panel-name { font-family: 'Rubik', sans-serif; font-weight: 800; font-size: 1.28rem; margin: 0 0 10px; display: flex; align-items: center; }
.wc-home .hm-panel-badge { display: inline-flex; width: fit-content; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .74rem; color: #1B1230; background: var(--wc-yellow); padding: 3px 11px; border-radius: 100px; margin-bottom: 14px; }
.wc-home .hm-panel-desc { font-size: .92rem; color: #D7DAFF; line-height: 1.6; margin: 0 0 20px; flex: 1; }
.wc-home .hm-panel-btn { align-self: flex-start; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .86rem; color: var(--wc-yellow-ink); background: var(--wc-yellow); text-decoration: none; padding: 11px 22px; border-radius: 100px; }

/* eventi */
.wc-home .hm-event-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
@media (max-width: 760px) { .wc-home .hm-event-grid { grid-template-columns: 1fr; } }
.wc-home .hm-event-card { background: var(--wc-surface); border: 1px solid var(--wc-line); border-radius: var(--wc-radius); overflow: hidden; box-shadow: var(--wc-shadow); }
.wc-home .hm-event-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top; display: block; }
.wc-home .hm-event-body { padding: 14px 18px 18px; display: flex; flex-direction: column; gap: 6px; }
.wc-home .hm-event-text { display: flex; flex-direction: column; gap: 3px; }
.wc-home .hm-event-date { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .72rem; letter-spacing: .03em; text-transform: uppercase; color: var(--wc-cyan); }
.wc-home .hm-event-card h3 { font-size: 1rem; font-weight: 700; color: var(--wc-text); margin: 0; }
.wc-home .hm-event-card p { margin: 0; font-size: .84rem; color: var(--wc-text-soft); }
.wc-home .hm-event-go { align-self: flex-start; margin-top: 4px; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .8rem; color: var(--wc-cyan); text-decoration: none; }

/* esplora per sezione — blocchi colorati con sottocategorie. Colori
   PROVVISORI: riusano i 5 colori delle zone territoriali + il navy del
   brand per Paesi solo come tinte distinte — la vera palette per
   sezione/categoria è il punto roadmap "Mappa PIN", ancora aperto. */
.wc-home .hm-sec-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
@media (max-width: 820px) { .wc-home .hm-sec-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .wc-home .hm-sec-grid { grid-template-columns: 1fr; } }
.wc-home .hm-sec-card { border-radius: var(--wc-radius); box-shadow: var(--wc-shadow); padding: 22px 20px; color: #fff; text-decoration: none; display: flex; flex-direction: column; gap: 4px; min-height: 230px; }
.wc-home .hm-sec-icon { width: 40px; height: 40px; border-radius: 12px; background: rgba(255,255,255,.18); display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.wc-home .hm-sec-icon svg { width: 20px; height: 20px; }
.wc-home .hm-sec-card h3 { font-size: 1.05rem; font-weight: 700; color: #fff; margin: 0; }
.wc-home .hm-sec-count { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .78rem; color: rgba(255,255,255,.8); margin-bottom: 14px; }
.wc-home .hm-sec-subs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; margin-bottom: 14px; }
.wc-home .hm-sec-sub { font-size: .72rem; font-weight: 600; color: #fff; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.26); padding: 4px 10px; border-radius: 100px; }
.wc-home .hm-sec-go { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .82rem; color: #fff; text-decoration: none; }
/* Colori letti da custom property inline su .hm-sec-grid (generate da
   webcilento_get_ambito_color(), inc/helpers.php — unica fonte di verita',
   Atlante dei Colori 2026-09-13): niente hex duplicati qui. */
.wc-home .hm-sec-dormire { background: var(--sec-dormire, #144678); }
.wc-home .hm-sec-mangiare { background: var(--sec-mangiare, #A6342A); }
.wc-home .hm-sec-relax { background: var(--sec-relax, #BA5A2E); }
.wc-home .hm-sec-vedere { background: var(--sec-vedere, #7A4FA3); }
.wc-home .hm-sec-itinerari { background: var(--sec-itinerari, #4C7A3D); }
.wc-home .hm-sec-paesi { background: var(--wc-navy); }
/* Pillole del box Paesi: colorate coi 5 hex hub reali (inline style, da
   $hubs) invece del generico bianco translucido — l'unico blocco che
   mostra la sua identita' invece di limitarsi a dirla, dato che Paesi non
   ha (e non deve avere) un settimo colore ambito tutto suo. */
.wc-home .hm-sec-sub-hub { color: #fff; border-width: 1px; border-style: solid; }

/* itinerari - card stile Outdooractive, 3 schede reali */
.wc-home .hm-trail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
@media (max-width: 760px) { .wc-home .hm-trail-grid { grid-template-columns: 1fr; } }
.wc-home .hm-trail-card { position: relative; background: var(--wc-surface); border: 1px solid var(--wc-line); border-radius: var(--wc-radius); overflow: hidden; box-shadow: var(--wc-shadow); }
.wc-home .hm-trail-img { height: 150px; position: relative; background-color: var(--wc-navy); background-size: cover; background-position: center; }
.wc-home .hm-trail-type { position: absolute; bottom: 12px; left: 12px; z-index: 1; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .68rem; color: #fff; background: rgba(0,0,0,.5); padding: 4px 11px; border-radius: 100px; }
.wc-home .hm-trail-body { padding: 16px 18px 18px; }
.wc-home .hm-trail-card h3 { font-size: 1rem; font-weight: 700; margin: 0 0 3px; }
.wc-home .hm-trail-card h3 a { color: var(--wc-text); text-decoration: none; }
.wc-home .hm-trail-card h3 a:hover { color: var(--wc-cyan); }
/* Riga località + statistiche/difficoltà: stessa struttura/classi della
   card archivio reale (wc-card-itin-*, vedi shortcodes-archive.php +
   gd-details.css) — riportate qui perché gd-details.css non è caricata
   su questa pagina. */
.wc-home .wc-card-itin-loc { font-size: .78rem; color: var(--wc-navy-soft); margin-top: .15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wc-home .wc-card-itin-stats { display: flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--wc-text); margin-top: .6rem; padding-top: .6rem; border-top: 1px solid var(--wc-line); }
.wc-home .wc-card-itin-stats-left { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wc-home .wc-card-itin-stats-sep { margin-inline: .4em; color: var(--wc-text); opacity: .45; }
.wc-home .wc-card-diff { flex: none; margin-left: auto; display: inline-block; font-weight: 700; font-size: .72rem; color: #fff; background: var(--wc-navy-soft); border-radius: 100px; padding: 1px 8px; }
.wc-home .wc-card-diff-T, .wc-home .wc-card-diff-facile { background: var(--wc-green); }
.wc-home .wc-card-diff-E, .wc-home .wc-card-diff-media { background: var(--wc-cyan-deep); }
.wc-home .wc-card-diff-EE, .wc-home .wc-card-diff-impegnativa { background: var(--wc-live); }
.wc-home .hm-soon-note { margin-top: 16px; font-size: .85rem; color: var(--wc-text-soft); }
.wc-home .hm-soon-note a { color: var(--wc-cyan); font-weight: 600; }

/* CTA b2b */
.wc-home .hm-cta-banner { margin-top: 64px; background: var(--wc-navy); border-radius: var(--wc-radius); box-shadow: var(--wc-shadow); padding: 36px clamp(20px,4vw,48px); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.wc-home .hm-cta-banner h3 { font-size: 1.25rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.wc-home .hm-cta-banner p { margin: 0; color: #C7CCFF; font-size: .94rem; max-width: 48ch; }
.wc-home .hm-cta-banner a { flex: none; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: .92rem; color: var(--wc-yellow-ink); text-decoration: none; padding: 13px 28px; border-radius: 100px; background: var(--wc-yellow); }
