/* ============================================================================
   landing.css — ESTRATTO da style.css il 21 ott 2026 (split per area, misurato: 471 KB in un
   foglio solo, un quarto usato per pagina). PAGINE EDITORIALI: Guarda in streaming (.dvd-ponte), Start Up! vetrina (.dvd-stu), Chi siamo (.dvd-about), Contattaci (.dvd-contact). Caricato su quelle quattro pagine.
   Caricato DOPO dvd-style (dipendenza) solo dove serve: vedi functions.php.
   REGOLA MADRE invariata: solo token di theme.json.
   ========================================================================= */

/* =============================================================================
 * GUARDA IN STREAMING — landing v2 "La sala che non chiude mai" ([dvd_streaming])
 * Ripensata da zero (panel lug 2026): family-look delle vetrine (riusa .dvd-exc__head),
 * NIENTE collage (era distraente + scollegato), buio + un alone di luce (proiettore),
 * catalogo raccontato A PAROLE. Rosso usato 3 volte: hairline · nastro · CTA. Sobria.
 * ========================================================================== */
.dvd-ponte {
	box-sizing: border-box;
	max-width: 960px;   /* contenitore largo: l'OFFERTA usa tutta la larghezza; i TESTI si
	                       cappano da sé a 640px (vedi sotto) → leggibili senza margini negativi. */
	margin: 0 auto;
	/* padding laterale = root-padding del sito (come .dvd-exc): senza, card e CTA toccavano
	   il bordo e su mobile il CTA sforava → viewport tagliato. */
	padding-inline: var(--wp--style--root--padding-right, 1.5rem);
	overflow-x: clip;   /* cintura anti-overflow (gotcha iOS) */
	/* unico effetto visivo: alone-proiettore rosso tenue in alto */
	background-image: radial-gradient(120% 55% at 50% -6%, color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent), transparent 60%);
	background-repeat: no-repeat;
}
/* i BLOCCHI DI TESTO restano stretti (640px) e centrati per leggibilità; solo l'offerta è larga */
.dvd-ponte > .dvd-exc__head,
.dvd-ponte__cta-wrap,
.dvd-ponte__guar,
.dvd-ponte__cat { max-width: 640px; margin-inline: auto; }
/* l'intestazione riusa .dvd-exc__head/eyebrow/claim/sub/rule delle vetrine → coerenza totale */

/* SEZIONE 2 — offerta: due card (abbonamento protagonista, noleggio alternativa) */
.dvd-ponte__offer {
	display: grid; grid-template-columns: 1.2fr 1fr;
	gap: clamp(1rem, 2.4vw, 1.4rem);
	margin-top: clamp(2rem, 5vw, 3rem);
}
@media (max-width: 560px) { .dvd-ponte__offer { grid-template-columns: 1fr; } }
.dvd-ponte__plan {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--r-surface);
	padding: clamp(1.3rem, 3vw, 1.7rem);
	display: flex; flex-direction: column; gap: 0.5rem;
}
.dvd-ponte__plan--sub { border-color: var(--wp--preset--color--line-2); }
.dvd-ponte__ribbon {
	/* VERDE success, non rosso (panel psicologi lug 2026): "gratis/nessun rischio" = colore
	   semantico del sicuro; lega il nastro alle spunte-garanzie verdi sotto (blocco di fiducia);
	   libera il rosso per la sola CTA. Fondo tenue + testo pieno tiene il tono premium (no coupon). */
	align-self: flex-start;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.02em;
	color: var(--wp--preset--color--success);
	background: color-mix(in srgb, var(--wp--preset--color--success) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 45%, transparent);
	padding: 5px 11px; border-radius: var(--r-pill); margin: 0 0 0.3rem;
}
.dvd-ponte__pk {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--wp--preset--color--muted-2);
}
.dvd-ponte__price {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-variant-numeric: tabular-nums; color: var(--wp--preset--color--contrast);
	line-height: 1; display: flex; align-items: baseline; gap: 0.3rem; flex-wrap: wrap;
}
.dvd-ponte__plan--sub  .dvd-ponte__price { font-size: var(--wp--preset--font-size--x-large); }
.dvd-ponte__plan--rent .dvd-ponte__price { font-size: var(--wp--preset--font-size--large); }
.dvd-ponte__price .da  { font-family: var(--wp--preset--font-family--body); font-weight: 400; font-size: 0.34em; color: var(--wp--preset--color--muted); align-self: center; }
.dvd-ponte__price .per { font-family: var(--wp--preset--font-family--body); font-weight: 400; font-size: 0.32em; color: var(--wp--preset--color--muted); }
.dvd-ponte__cad   { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted-2); }
.dvd-ponte__pdesc { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin-top: 0.2rem; }

/* SEZIONE 3 — CTA + segnalazione servizio esterno */
.dvd-ponte__cta-wrap { margin-top: clamp(2rem, 5vw, 2.8rem); text-align: center; }
.dvd-ponte__cta {
	box-sizing: border-box;   /* GOTCHA: senza, padding 28px si SOMMA al width:100% → sfora (tagliato) */
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	width: 100%; max-width: 420px;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-size: var(--wp--preset--font-size--base); text-decoration: none;
	background: var(--wp--preset--color--primary); color: #fff;
	padding: 16px 28px; border-radius: var(--r-control); min-height: 52px;
	transition: background 0.15s, box-shadow 0.15s, transform 0.1s;
}
.dvd-ponte__cta:hover { background: var(--wp--preset--color--primary-dark); box-shadow: 0 12px 30px -10px color-mix(in srgb, var(--wp--preset--color--primary) 60%, transparent); color: #fff; }
.dvd-ponte__cta:active { transform: translateY(1px); }
.dvd-ponte__cta svg { width: 1em; height: 1em; }
.dvd-ponte__ext { display: block; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted-2); margin: 0.7rem 0 0; }
.dvd-ponte__ext b { color: var(--wp--preset--color--muted); font-weight: 600; }

/* SEZIONE 4 — tre garanzie */
.dvd-ponte__guar {
	display: flex; justify-content: center; gap: clamp(1rem, 3vw, 2rem); flex-wrap: wrap;
	margin-top: clamp(2rem, 5vw, 2.8rem);
	padding-top: clamp(1.5rem, 4vw, 2rem); border-top: 1px solid var(--wp--preset--color--line);
}
.dvd-ponte__gi { display: flex; align-items: center; gap: 8px; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--contrast); }
.dvd-ponte__gi svg { width: 18px; height: 18px; stroke: var(--wp--preset--color--success); flex: none; }

/* SEZIONE 5 — catalogo A PAROLE + chiusura */
.dvd-ponte__cat { margin-top: clamp(2.6rem, 6vw, 3.8rem); text-align: center; }
.dvd-ponte__catk { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.24em; text-transform: uppercase; color: var(--wp--preset--color--muted-2); margin: 0 0 0.8rem; }
.dvd-ponte__names { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--contrast); line-height: 1.5; letter-spacing: -0.01em; max-width: 40ch; margin: 0 auto; text-wrap: balance; overflow-wrap: break-word; }
.dvd-ponte__names .dot { color: var(--wp--preset--color--accent); margin: 0 0.35em; }
.dvd-ponte__close { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--base); line-height: 1.55; margin: clamp(1.2rem, 3vw, 1.8rem) auto 0; max-width: 46ch; }

/* niente titolo-pagina doppio (come le gemelle) */
.dvd-stream-main > .dvd-page__title,
.dvd-stream-main .wp-block-post-title { display: none; }

/* =============================================================================
 * STARTUP — vetrina crowdfunding (shortcode [dvd_startup]). QUARTA sorella.
 * Design validato dal panel (lug 2026): la coerenza di famiglia sta nel CONTENITORE
 * (card token ereditati per COPIA da .dvd-x), non nell'aspect-ratio. Diverge SOLO nel
 * corpo = "cruscotto crowdfunding" (numeri · barra · badge · deadline · prezzo · CTA),
 * fatto interamente di atomi già esistenti. Immagine 1:1 (poster social auto-sufficiente).
 * ========================================================================== */
.dvd-stu-sec { }  /* riusa .dvd-exc (max-width 1200 + padding root) per il contenitore */

/* griglia: 2 per riga, gap generoso come Promozioni; breakpoint 800px come le sorelle */
.dvd-stulist {
	display: grid; grid-template-columns: 1fr 1fr;
	gap: clamp(1.6rem, 3vw, 2.4rem);
	max-width: 1000px; margin: 0 auto;
}
@media (max-width: 800px) { .dvd-stulist { grid-template-columns: 1fr; } }

/* CARD — eredita per COPIA i 7 token di .dvd-x (surface/border/radius 16/shadow/hover -3px) */
.dvd-stu {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--card--border);
	border-radius: var(--r-surface);
	overflow: hidden;
	box-shadow: var(--wp--custom--card--shadow);
	display: flex; flex-direction: column;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
@media (hover: hover) { .dvd-stu:hover { transform: translateY(-3px); border-color: var(--wp--preset--color--line-2); } }

/* ① immagine 1:1 (auto-sufficiente) + badge stato sovrapposto */
.dvd-stu__art { position: relative; display: block; color: inherit; text-decoration: none; }  /* è un <a> dal 25 ott 2026 */
.dvd-stu__art img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.dvd-stu__ph {
	display: flex; align-items: center; justify-content: center;
	width: 100%; aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--surface-2); color: var(--wp--preset--color--muted-2);
	font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--medium);
	text-align: center; padding: 1rem;
}
/* RIGA DI STATO — nel corpo (NON sull'immagine: l'artwork del fornitore è denso in tutti gli
   angoli, il badge coprirebbe il logo Surf Film). Pill allineata a sinistra come il cruscotto,
   anatomia del chip Esclusive/Promozioni. Fondo colorato a bassa opacità + testo/bordo pieno
   (audit optometrico: pieno saturo grida troppo). Colore = stato (barra COORDINATA, vedi sotto). */
.dvd-stu__badge {
	align-self: flex-start;
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 5px 12px; border-radius: var(--r-pill);
}
.dvd-stu__badge svg { width: 14px; height: 14px; flex: none; }
.dvd-stu__badge--funded { color: var(--wp--preset--color--success); background: color-mix(in srgb, var(--wp--preset--color--success) 14%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 45%, transparent); }
.dvd-stu__badge--last   { color: var(--wp--preset--color--accent);  background: color-mix(in srgb, var(--wp--preset--color--accent) 16%, transparent);  border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 50%, transparent); }
.dvd-stu__badge--live   { color: var(--wp--preset--color--muted); background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--line); }
.dvd-stu__badge--closed { color: var(--wp--preset--color--muted-2); background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--line); }

/* corpo = cruscotto (dove le sorelle mettono titolo+sub) */
.dvd-stu__body { padding: clamp(1.2rem, 2.6vw, 1.7rem) clamp(1.3rem, 2.8vw, 1.8rem); display: flex; flex-direction: column; gap: 1rem; }

/* titolo/formato SR-only (già nell'immagine, ma serve per SEO/screen-reader) */
/* titolo della card da telefono/tablet: visibile dal 25 ott 2026 (prima solo screen reader) */
.dvd-stu__mtitle { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--medium); font-weight: 700; line-height: 1.15; letter-spacing: -0.01em; text-wrap: balance; }
.dvd-stu__mtitle a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.dvd-stu__mtitle a:hover { text-decoration: underline 1px; text-underline-offset: 4px; }
.dvd-stu__mtitle a:focus-visible { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }

/* ④ numeri a due pesi */
.dvd-stu__nums { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.dvd-stu__main {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-variant-numeric: tabular-nums;
	font-size: var(--wp--preset--font-size--x-large); line-height: 1; color: var(--wp--preset--color--contrast);
}
.dvd-stu.is-funded .dvd-stu__main { color: var(--wp--preset--color--success); }
.dvd-stu__goal { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted-2); margin-left: 0.4rem; }
.dvd-stu__pct { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-variant-numeric: tabular-nums; font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--muted); }
.dvd-stu.is-funded .dvd-stu__pct { color: var(--wp--preset--color--success); }

/* ⑤ progress bar (elemento firma) — track scavato, fill primary (CTA-grade) */
.dvd-stu__bar { height: 12px; border-radius: var(--r-pill); background: var(--wp--preset--color--surface-3); overflow: hidden; }
.dvd-stu__fill { height: 100%; border-radius: var(--r-pill); background: var(--wp--preset--color--primary); transition: width 0.4s ease; }
.dvd-stu.is-funded .dvd-stu__fill { background: var(--wp--preset--color--success); }  /* barra COORDINATA col badge */
.dvd-stu.is-last .dvd-stu__fill   { background: var(--wp--preset--color--accent); }
.dvd-stu__hint { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); margin: 0; }

/* ⑥ deadline (icona + label, mai icona sola) */
.dvd-stu__meta {
	display: flex; align-items: center; gap: 8px;
	font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted);
	padding-top: 0.8rem; border-top: 1px solid var(--wp--preset--color--line);
}
.dvd-stu__meta svg { width: 17px; height: 17px; flex: none; }
.dvd-stu__meta.is-urgent { color: var(--wp--preset--color--accent); font-weight: 600; }

/* ⑦ prezzo */
.dvd-stu__price { display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; }
.dvd-stu__pval { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-variant-numeric: tabular-nums; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--contrast); }
.dvd-stu__pnote { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted-2); }

/* ⑧ CTA — full-width, come .dvd-x__cta ma piena larghezza */
.dvd-stu__cta {
	display: block; text-align: center; text-decoration: none;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: var(--wp--preset--font-size--small);
	color: #fff; background: var(--wp--preset--color--primary);
	padding: 14px 20px; border-radius: var(--r-control); min-height: 48px;
	transition: background 0.18s, box-shadow 0.18s;
}
.dvd-stu__cta:hover { background: var(--wp--preset--color--primary-dark); box-shadow: 0 10px 26px -8px color-mix(in srgb, var(--wp--preset--color--primary) 60%, transparent); }
.dvd-stu__cta svg { width: 1em; height: 1em; vertical-align: -2px; margin-left: 6px; transition: transform 0.18s; }
.dvd-stu__cta:hover svg { transform: translateX(3px); }
.dvd-stu__ctasub { display: block; font-family: var(--wp--preset--font-family--body); font-weight: 400; font-size: var(--wp--preset--font-size--x-small); color: rgba(255,255,255,0.82); margin-top: 3px; }

/* niente titolo-pagina doppio (come le gemelle) */
.dvd-stu-main > .dvd-page__title,
.dvd-stu-main .wp-block-post-title { display: none; }

/* =============================================================================
 * CHI SIAMO — pagina-manifesto editoriale (shortcode [dvd_chisiamo]). Contenuto reale
 * di cgtv.it/chi-siamo "pari pari". Layout "rivista d'archivio" (panel Leo Burnett+
 * art-director+capo-designer): apertura/chiusura CENTRATE (family-look .dvd-exc__head),
 * Storia+Library a 2 COLONNE con "colonna d'archivio" a destra (numeri sotto Storia,
 * maestri accanto alla Library) → niente vuoto morto a destra. Solo token. Mobile = 1 col.
 * ========================================================================== */
.dvd-about { max-width: none; margin: 0 auto; padding: 0 var(--wp--style--root--padding-right, 1.5rem); box-sizing: border-box; width: 100%; }
/* `:not(--surface)`: quelle sezioni sono FULL-BLEED di proposito (fondo surface a
   tutta larghezza, con margini negativi propri) → imporre loro un cap le romperebbe.
   Il loro contenuto resta comunque nel cap grazie al padding che si danno da sole. */
.dvd-about > *:not(.dvd-about__sec--surface) { max-width: 1060px; margin-inline: auto; width: 100%; box-sizing: border-box; }
/* sezioni a 2 colonne (Storia / Library) */
.dvd-about__sec { padding: clamp(2.5rem, 6vw, 4rem) 0; }
.dvd-about__sec--surface {
	background: var(--wp--preset--color--surface);
	/* full-bleed del fondo surface, contenuto resta nel cap (come le sezioni interne) */
	margin-inline: calc(-1 * var(--wp--style--root--padding-right, 1.5rem));
	padding-inline: var(--wp--style--root--padding-right, 1.5rem);
}
.dvd-about__grid {
	display: grid; grid-template-columns: minmax(0, 62ch) minmax(0, 1fr);
	gap: clamp(2.5rem, 5vw, 4rem); align-items: start;
}
@media (max-width: 880px) { .dvd-about__grid { grid-template-columns: 1fr; gap: 2rem; } }

/* eyebrow + h2 di sezione */
.dvd-about__k {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small); letter-spacing: 0.26em;
	text-transform: uppercase; color: var(--wp--preset--color--accent); margin: 0 0 0.6rem;
}
.dvd-about__h {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-size: var(--wp--preset--font-size--large); letter-spacing: -0.02em; line-height: 1.1;
	color: var(--wp--preset--color--contrast); margin: 0 0 1.4rem;
}

/* corpo testo (Zen Kaku, ≥18px, colonna leggibile) */
.dvd-about__body p {
	font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--contrast);
	line-height: 1.7; margin: 0 0 1.4em;
}
.dvd-about__lead { font-size: var(--wp--preset--font-size--medium); }
.dvd-about__lead::first-letter {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	float: left; font-size: 3.4em; line-height: 0.8; padding: 0.05em 0.1em 0 0;
	color: var(--wp--preset--color--accent);
}
/* evidenze inline: parole-chiave (piattaforme), titoli-film, brand interno */
.dvd-about__kw { color: var(--wp--preset--color--contrast); font-weight: 600; }
.dvd-about__film { font-style: italic; color: var(--wp--preset--color--muted); }
.dvd-about__num { font-family: var(--wp--preset--font-family--heading); font-weight: 700; color: var(--wp--preset--color--accent); }
.dvd-about__brand { font-family: var(--wp--preset--font-family--heading); font-weight: 700; color: var(--wp--preset--color--accent); text-decoration: none; }
@media (hover: hover) { .dvd-about__brand:hover { text-decoration: underline; } }

/* colonna d'archivio — NUMERI verticali (sotto Storia) */
.dvd-about__arch { }
.dvd-about__stat { border-top: 1px solid var(--wp--preset--color--line); padding: 1.1rem 0; }
.dvd-about__stat:first-child { border-top: 0; padding-top: 0; }
.dvd-about__statn {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-size: var(--wp--preset--font-size--x-large); letter-spacing: -0.03em; line-height: 1;
	color: var(--wp--preset--color--accent);
}
.dvd-about__statn::before { content: ""; display: block; width: 22px; height: 2px; background: var(--wp--preset--color--primary); margin-bottom: 0.7rem; }
.dvd-about__statl {
	font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted);
	line-height: 1.4; margin-top: 0.4rem; max-width: 26ch;
}
.dvd-about__statl b { color: var(--wp--preset--color--contrast); font-weight: 600; }
.dvd-about__statl i { font-style: italic; color: var(--wp--preset--color--muted-2); font-size: var(--wp--preset--font-size--x-small); display: block; }

/* colonna d'archivio — 26 MAESTRI (accanto alla Library) */
.dvd-about__authk {
	font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.2em; text-transform: uppercase; color: var(--wp--preset--color--accent);
	margin: 0 0 1rem; padding-top: 0.4rem; border-top: 1px solid var(--wp--preset--color--line);
}
.dvd-about__authlist {
	font-family: var(--wp--preset--font-family--heading); font-weight: 600;
	font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--contrast);
	line-height: 2; list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 1.5rem;
}
.dvd-about__authlist li { break-inside: avoid; }

/* firma (centrata) */
.dvd-about__sign { text-align: center; padding: clamp(2.5rem, 6vw, 3.5rem) 0 1rem; }
.dvd-about__g { width: 46px; height: 46px; display: inline-block; }
.dvd-about__signn { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--contrast); margin: 0.8rem 0 0.2rem; }
.dvd-about__signs { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin: 0; }

/* dati legali (colophon centrato) */
.dvd-about__legal { text-align: center; padding: 2rem 0 4rem; border-top: 1px solid var(--wp--preset--color--line); max-width: 40rem; margin: 1.5rem auto 0; }
.dvd-about__legalco { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--contrast); font-weight: 600; margin: 0 0 0.5rem; }
.dvd-about__legal p { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted-2); line-height: 1.7; margin: 0.1rem 0; }

/* niente titolo-pagina doppio (come le gemelle) */
.dvd-about-main > .dvd-page__title,
.dvd-about-main .wp-block-post-title { display: none; }

/* =============================================================================
 * CONTATTACI — form contatto (shortcode [dvd_contatti]). SOLO form (no colonna info,
 * no email dirette, no newsletter — scelta utente). Motivo = SELECT che rivela campi
 * contestuali (Ordini→n° ordine, Education→scuola/ruolo, Sale→sala/città, Rivenditori→
 * rag.soc/P.IVA). Frontend puro (validazione client, invio email = fase successiva).
 * Input ereditano dai token field; qui solo layout/stati. .dvd-exc__head per l'intestazione.
 * ========================================================================== */
.dvd-contact { max-width: none; margin: 0 auto; padding: 0 var(--wp--style--root--padding-right, 1.5rem); box-sizing: border-box; width: 100%; }
.dvd-contact > * { max-width: 620px; margin-inline: auto; width: 100%; box-sizing: border-box; }
.dvd-contact__legend { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted-2); margin: 0.4rem 0 1rem; }
.dvd-contact__field { margin: 0 0 1.2rem; }
.dvd-contact__field label { display: block; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--contrast); font-weight: 500; margin: 0 0 0.4rem; }
.dvd-contact__req { color: var(--wp--preset--color--accent); }
/* input/select/textarea: ereditano fondo/bordo dai token field (styles.elements); qui misura+focus */
.dvd-contact__field input,
.dvd-contact__field select,
.dvd-contact__field textarea {
	width: 100%; box-sizing: border-box;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--contrast);
	background: var(--wp--custom--field--background);
	border: var(--wp--custom--field--border);
	border-radius: var(--r-control);
	padding: 12px 14px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dvd-contact__field textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
/* select nativo: chevron custom (appearance:none) */
.dvd-contact__field select {
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4b4b4' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; padding-right: 44px;
}
.dvd-contact__field input:focus,
.dvd-contact__field textarea:focus { outline: none; box-shadow: var(--wp--custom--focus--ring); border-color: var(--wp--custom--focus--border); }
/* select: box-shadow non renderizza sui select (gotcha browser) → outline */
.dvd-contact__field select:focus { outline: 2px solid var(--wp--custom--focus--border); outline-offset: 1px; border-color: var(--wp--custom--focus--border); }
.dvd-contact__field input::placeholder,
.dvd-contact__field textarea::placeholder { color: var(--wp--preset--color--muted-2); }
.dvd-contact__help { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted-2); margin: 0.4rem 0 0; }

.dvd-contact__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 520px) { .dvd-contact__row2 { grid-template-columns: 1fr; } }

/* blocco contestuale (progressive disclosure morbida) */
.dvd-contact__ctx { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.28s ease, opacity 0.28s ease; }
.dvd-contact__ctx.is-on { max-height: 460px; opacity: 1; }
@media (prefers-reduced-motion: reduce) { .dvd-contact__ctx { transition: none; } }

/* privacy + submit */
.dvd-contact__priv { display: flex; gap: 0.7rem; align-items: flex-start; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin: 0 0 1.4rem; }
/* checkbox CUSTOM coerente col checkout (box vuoto bordo muted-2 → checked bianco + spunta scura).
   Non accent-color (default browser incoerente). */
.dvd-contact__priv input[type="checkbox"] {
	appearance: none; -webkit-appearance: none;
	flex: none; width: 22px; height: 22px; margin: 1px 0 0; cursor: pointer;
	border: 2px solid var(--wp--preset--color--muted-2); border-radius: var(--wp--custom--radius--micro, 4px);
	background: transparent; position: relative;
	transition: background 0.12s ease, border-color 0.12s ease;
}
.dvd-contact__priv input[type="checkbox"]:checked { background: #fff; border-color: #fff; }
.dvd-contact__priv input[type="checkbox"]:checked::after {
	content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px;
	border: solid var(--wp--preset--color--base); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.dvd-contact__priv input[type="checkbox"]:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.dvd-contact__priv a { color: var(--wp--preset--color--accent); text-decoration: none; }
.dvd-contact__submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	min-height: 52px; padding: 0 28px;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: var(--wp--preset--font-size--base);
	color: #fff; background: var(--wp--preset--color--primary); border: 0; border-radius: var(--r-control); cursor: pointer;
	transition: background 0.15s ease;
}
.dvd-contact__submit:hover { background: var(--wp--preset--color--primary-dark); }
.dvd-contact__submit svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 2; }
@media (max-width: 520px) { .dvd-contact__submit { width: 100%; } }

/* niente titolo-pagina doppio */
.dvd-contact-main > .dvd-page__title,
.dvd-contact-main .wp-block-post-title { display: none; }


/* =============================================================================
 * START UP! — ELENCO DESKTOP «una campagna per riga» (panel 23 ott 2026, mockup approvato
 * «Start Up! · Elenco desktop», artifact VrGk4f8NSwP722vXxBBmNy). Da 961px: immagine 1:1 a
 * sinistra (420, a tutta altezza della riga), a destra il corpo .dvd-stu__dbody con la stessa
 * lingua della pagina campagna. Sotto i 961 resta la card di sempre (.dvd-stu__body): il corpo
 * desktop è nascosto, nulla cambia su telefono e tablet. Ritmo 8/13/21/34/55, solo token.
 * ========================================================================== */
.dvd-stu__dbody { display: none; }
@media (min-width: 961px) {
	.dvd-stulist { grid-template-columns: minmax(0, 1fr); gap: 34px; }
	.dvd-stu { display: grid; grid-template-columns: 420px minmax(0, 1fr); min-height: 420px; }
	.dvd-stu__art { min-height: 420px; }
	.dvd-stu__art img, .dvd-stu__ph { height: 100%; aspect-ratio: auto; }
	.dvd-stu__body { display: none; }
	.dvd-stu__dbody { display: flex; flex-direction: column; min-width: 0; padding: 34px 34px 21px; }
}
.dvd-stu__live { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: var(--wp--preset--font-size--small); line-height: 1.25; color: var(--wp--preset--color--contrast); }
.dvd-stu__dot { position: relative; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.dvd-stu__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: inherit; animation: dvd-stu-pulse 2s cubic-bezier(0.2, 0.6, 0.3, 1) infinite; }
.dvd-stu.is-funded .dvd-stu__dot { background: var(--wp--preset--color--success); }
.dvd-stu.is-closed .dvd-stu__dot { background: var(--wp--preset--color--muted-2); }
.dvd-stu.is-closed .dvd-stu__dot::after { animation: none; opacity: 0; }
.dvd-stu.is-closed .dvd-stu__live { color: var(--wp--preset--color--muted); }
@keyframes dvd-stu-pulse { 0% { transform: scale(1); opacity: 0.55; } 80%, 100% { transform: scale(2.8); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .dvd-stu__dot::after { animation: none; opacity: 0; } }
.dvd-stu__dtitle { margin: 13px 0 0; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--large); font-weight: 700; line-height: 1.08; letter-spacing: -0.02em; text-wrap: balance; }
.dvd-stu__dtitle a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.dvd-stu__dtitle a:hover { text-decoration: underline 1px; text-underline-offset: 4px; }
.dvd-stu__dtitle a:focus-visible { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
.dvd-stu__nw { white-space: nowrap; }
.dvd-stu__dsub { margin: 8px 0 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--base); line-height: 1.5; }
.dvd-stu__stats { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 21px 0 0; }
.dvd-stu__stats > div { display: flex; flex-direction: column; gap: 2px; padding-left: 21px; border-left: 1px solid var(--wp--preset--color--line); }
.dvd-stu__stats > div:first-child { padding-left: 0; border-left: 0; }
.dvd-stu__stats dd { order: -1; margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: var(--wp--preset--font-size--large); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.dvd-stu__stats dt { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); line-height: 1.3; }
.dvd-stu.is-funded .dvd-stu__n, .dvd-stu.is-funded .dvd-stu__stats > div:first-child dt { color: var(--wp--preset--color--success); }
/* la barra è uno STATO: bianca, verde a obiettivo raggiunto; mai la percentuale */
.dvd-stu__dbar { height: 8px; margin-top: 13px; border-radius: var(--r-pill); background: var(--wp--preset--color--surface-2); box-shadow: inset 0 0 0 1px var(--wp--preset--color--line); overflow: hidden; }
.dvd-stu__dbar i { display: block; height: 100%; min-width: 8px; border-radius: inherit; background: var(--wp--preset--color--contrast); }
.dvd-stu.is-funded .dvd-stu__dbar i { background: var(--wp--preset--color--success); }
.dvd-stu__dmeta { display: flex; align-items: flex-start; gap: 8px; margin: 13px 0 21px; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.dvd-stu__dmeta .dvd-icon { flex: none; font-size: 1.15em; margin-top: 0.15em; }
.dvd-stu__dmeta b { color: var(--wp--preset--color--contrast); font-weight: 700; white-space: nowrap; }
.dvd-stu__dfoot { display: flex; align-items: center; justify-content: space-between; gap: 21px; margin-top: auto; padding-top: 21px; border-top: 1px solid var(--wp--preset--color--line); }
.dvd-stu__dprice { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.dvd-stu__dprice b { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: var(--wp--preset--font-size--x-large); line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--wp--preset--color--contrast); }
.dvd-stu__dprice b .woocommerce-Price-amount, .dvd-stu__dprice b bdi, .dvd-stu__dprice b .woocommerce-Price-currencySymbol { font: inherit; letter-spacing: inherit; color: inherit; }
.dvd-stu__dprice > span { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); line-height: 1.3; white-space: nowrap; }
.dvd-stu__dprice strong { color: var(--wp--preset--color--contrast); }
.dvd-stu__dctarow { margin-left: auto; }
.dvd-stu__dcta, .dvd-stu__dghost { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 220px; min-height: 56px; padding: 0 21px; border-radius: var(--r-control); font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: var(--wp--preset--font-size--base); line-height: 1.25; text-decoration: none; transition: background 0.15s, border-color 0.15s; }
.dvd-stu__dcta { background: var(--wp--preset--color--primary); color: #fff; }
.dvd-stu__dcta:hover { background: var(--wp--preset--color--primary-dark); color: #fff; }
.dvd-stu__dcta .dvd-icon { font-size: 1.15em; transition: transform 0.15s; }
.dvd-stu__dcta:hover .dvd-icon { transform: translateX(3px); }
.dvd-stu__dghost { border: 1px solid var(--wp--preset--color--line-2); color: var(--wp--preset--color--contrast); }
.dvd-stu__dghost:hover { border-color: var(--wp--preset--color--contrast); }
.dvd-stu__dcta:focus-visible, .dvd-stu__dghost:focus-visible { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }

/* ============================================================================
   «AVVISAMI» (25 ott 2026, mockup approvato «Start Up! Avvisami»). Iscrizione alla
   newsletter con tag «Start Up!» — cgtv_stu_notify_html(), JS = footer-newsletter.js.
   --empty: la card al posto di «Nessuna campagna attiva» (stato vuoto del sito:
   surface, pastiglia 56px, titolo, invito). --strip: riquadro compatto in fondo
   all'elenco. Pulsante BIANCO, mai rosso: il rosso è dell'acquisto e della
   prenotazione, qui non si compra niente. Casella del consenso: .dvd-nlcheck (style.css).
   ========================================================================== */
.dvd-stunl { --nl-s1: 8px; --nl-s2: 13px; --nl-s3: 21px; --nl-s4: 34px; text-align: left; }
.dvd-stunl--empty {
	max-width: 640px; margin: 0 auto;
	background: var(--wp--preset--color--surface); border: var(--wp--custom--card--border);
	border-radius: var(--r-surface); box-shadow: var(--wp--custom--card--shadow);
	padding: var(--nl-s4) clamp(var(--nl-s3), 5vw, var(--nl-s4));
	display: grid; gap: var(--nl-s3);
}
.dvd-stunl__ico {
	width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--surface-2); color: var(--wp--preset--color--muted);
	font-size: 26px;
}
.dvd-stunl__intro { display: grid; gap: var(--nl-s1); min-width: 0; }
.dvd-stunl__h {
	margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-size: var(--wp--preset--font-size--medium); line-height: 1.2; text-wrap: balance;
	color: var(--wp--preset--color--contrast);
}
.dvd-stunl__p { margin: 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--base); line-height: 1.55; }
.dvd-stunl__form { display: grid; gap: var(--nl-s2); min-width: 0; }
.dvd-stunl__row { display: flex; flex-wrap: wrap; gap: var(--nl-s2); }
.dvd-stunl__field {
	flex: 1 1 240px; min-width: 0; min-height: 52px; box-sizing: border-box; padding: 0 var(--nl-s2);
	background: var(--wp--preset--color--field) !important; border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--r-control); color: var(--wp--preset--color--contrast);
	font: inherit; font-size: var(--wp--preset--font-size--base);
}
.dvd-stunl__field::placeholder { color: var(--wp--preset--color--muted-2); }
.dvd-stunl__field:focus-visible { outline: none; box-shadow: var(--wp--custom--focus--ring); }
.dvd-stunl.is-error:not(.is-consent) .dvd-stunl__field { border-color: var(--wp--preset--color--error) !important; }
.dvd-stunl__cta {
	flex: 0 0 auto; min-height: 52px; padding: 0 var(--nl-s3); border: 0; border-radius: var(--r-control);
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-size: var(--wp--preset--font-size--small); cursor: pointer; position: relative;
}
.dvd-stunl__cta:hover { background: var(--wp--preset--color--muted); }
.dvd-stunl__cta:focus-visible { outline: none; box-shadow: var(--wp--custom--focus--ring); }
.dvd-stunl.is-loading .dvd-stunl__cta { color: transparent; cursor: wait; }
.dvd-stunl.is-loading .dvd-stunl__cta::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px;
	border: 2px solid var(--wp--preset--color--muted-2); border-top-color: var(--wp--preset--color--base);
	border-radius: 50%; animation: dvd-nl-spin .6s linear infinite;
}
.dvd-stunl .dvd-nlcheck { max-width: none; margin-top: 0; }
@media (max-width: 480px) { .dvd-stunl__cta { flex-basis: 100%; } }  /* a capo da solo: tutta riga, tap facile */
.dvd-stunl__msg { margin: 0; font-size: var(--wp--preset--font-size--small); line-height: 1.45; }
.dvd-stunl__msg:empty { display: none; }
.dvd-stunl.is-error .dvd-stunl__msg { color: var(--wp--preset--color--error); }
.dvd-stunl.is-loading .dvd-stunl__msg { color: var(--wp--preset--color--muted); }
/* conferma */
.dvd-stunl__done { display: grid; gap: var(--nl-s2); }
.dvd-stunl__done .dvd-stunl__h { display: flex; align-items: center; gap: var(--nl-s2); }
.dvd-stunl__done .dvd-stunl__h:focus { outline: none; }
.dvd-stunl__done p { margin: 0; }
.dvd-stunl__done b { color: var(--wp--preset--color--contrast); word-break: break-word; }
.dvd-stunl__pill {
	width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--success) 18%, transparent);
	color: var(--wp--preset--color--success); font-size: 18px;
}
.dvd-stunl__ghost {
	display: inline-flex; align-items: center; min-height: 48px; padding: 0 var(--nl-s3);
	border: 1px solid var(--wp--preset--color--line-2); border-radius: var(--r-control);
	color: var(--wp--preset--color--contrast); text-decoration: none;
	font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--small);
}
.dvd-stunl__ghost:hover { border-color: var(--wp--preset--color--contrast); }
.dvd-stunl__ok { margin: 0; display: flex; gap: var(--nl-s1); align-items: center; color: var(--wp--preset--color--success); font-size: var(--wp--preset--font-size--base); }
/* in fondo all'elenco: intro a sinistra, modulo a destra; una colonna sotto 760 */
.dvd-stunl--strip {
	max-width: 1000px; margin: clamp(2.4rem, 5vw, 3.4rem) auto 0; padding-top: var(--nl-s4);
	border-top: 1px solid var(--wp--preset--color--line);
	display: grid; grid-template-columns: 1fr minmax(0, 1.3fr); gap: var(--nl-s4); align-items: start;
}
.dvd-stunl--strip .dvd-stunl__ok { grid-column: 1 / -1; }
@media (max-width: 760px) { .dvd-stunl--strip { grid-template-columns: 1fr; gap: var(--nl-s3); } }
/* display:grid/flex battono [hidden] (gotcha noto): conferma e modulo si scambiano col JS */
.dvd-stunl [hidden] { display: none !important; }
