/* Video-pillole (11/11/2026): indice e pagina della singola pillola.
   Direzione: la disciplina di NN/g (sintesi, durata, argomento, testo, fonti, correlati) dentro il
   palcoscenico nero del sito. La copertina di ogni pillola è tipografica: niente miniature di YouTube,
   così la pagina non contatta Google prima del clic. Ogni classe di testo dichiara il proprio colore,
   perché un p del sito eredita il grigio pensato per il fondo nero. */

.vp { --vp-ink: #f4f1eb; --vp-soft: #d3cfc9; --vp-muted: #a9a7aa; --vp-line: #2c2a2e; --vp-red: #cc1731; --vp-red-hi: #e63946; }
.vp .wrap { position: relative; }

/* ── Apertura: sta tutta nel primo schermo, anche a 390 px ── */
.vp-hero { padding-top: clamp(118px, 15vh, 190px); padding-bottom: clamp(28px, 4vw, 56px); }
.vp-kicker { margin: 0 0 18px; font: 600 12px/1 Raleway, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--vp-red-hi); }
.vp-kicker::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--vp-red); vertical-align: 1px; }
.vp-hero h1 { margin: 0; max-width: 15em; font-size: clamp(34px, 5.4vw, 80px); line-height: 1.04; color: var(--vp-ink); text-wrap: balance; }
.vp .vp-lead { margin: 22px 0 0; max-width: 40em; font-size: var(--t-lead, 19px); line-height: var(--lh-lead, 1.65); color: var(--vp-soft); }

/* ── Argomenti ── */
.vp-topics { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 clamp(28px, 3.4vw, 48px); padding: 0; }
.vp-topic { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 16px; border: 1px solid var(--vp-line); border-radius: 999px; background: transparent; color: var(--vp-soft); font: 600 14px/1.2 Raleway, sans-serif; cursor: pointer; transition: border-color .2s, color .2s, background .2s; }
.vp-topic:hover, .vp-topic:focus-within { border-color: var(--vp-soft); color: var(--vp-ink); }
.vp-topic input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.vp-topic:has(input:checked), .vp-topic[aria-current="page"] { background: var(--vp-ink); border-color: var(--vp-ink); color: #09090b; }
.vp-topic:has(input:focus-visible) { outline: 2px solid var(--vp-red-hi); outline-offset: 2px; }
.vp-topic-count { font-size: 12px; color: inherit; opacity: .7; }
.vp-topic-count:empty { display: none; }
.vp-topic:has([data-facet-count="0"]) { display: none; }
@media (max-width: 760px) {
  .vp-topics { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scrollbar-width: none; }
  .vp-topics::-webkit-scrollbar { display: none; }
  .vp-topic { flex: 0 0 auto; }
}

/* ── Griglia delle pillole ── */
.vp-library { padding-bottom: clamp(70px, 8vw, 130px); }
.vp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: clamp(36px, 3vw, 52px) clamp(20px, 2vw, 32px); }
.vp-grid:empty { display: none; }
.vp-empty { margin: 0; color: var(--vp-soft); }
.vp-empty a { color: var(--vp-ink); text-decoration: underline; text-underline-offset: 3px; }
.vp-grid:not(:empty) + .vp-empty { display: none; }

.vp-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; color: var(--vp-ink); }
/* Righe regolari (12/11/2026): ogni card occupa tre righe della griglia (copertina, sintesi, durata) e le
   condivide con le card accanto, così la durata sta alla stessa altezza in tutta la fila anche con
   sintesi di lunghezza diversa. Senza subgrid la sintesi si ferma a quattro righe. */
@supports (grid-template-rows: subgrid) {
  .vp-grid > .vp-card { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 14px; align-content: start; }
  .vp-grid > .vp-card > .vp-card-meta { align-self: start; }
}
@supports not (grid-template-rows: subgrid) {
  .vp-card-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; min-height: calc(4 * 1.6em); }
}
.vp-card-poster { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; aspect-ratio: 16 / 9; min-height: 0; overflow: hidden; padding: clamp(18px, 1.8vw, 26px); border-radius: 6px; isolation: isolate;
  background:
    radial-gradient(120% 90% at 100% 100%, rgba(204, 23, 49, .55), rgba(204, 23, 49, 0) 58%),
    repeating-linear-gradient(-24deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 14px),
    #141215;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); transition: box-shadow .3s; }
.vp-card-poster::after { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: radial-gradient(60% 60% at 85% 80%, rgba(230, 57, 70, .35), transparent 70%); opacity: 0; transition: opacity .35s; }
.vp-card:hover .vp-card-poster::after, .vp-card:focus-visible .vp-card-poster::after { opacity: 1; }
.vp-card:hover .vp-card-poster { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); }
.vp-card:focus-visible { outline: 2px solid var(--vp-red-hi); outline-offset: 4px; border-radius: 6px; }
.vp-card-tema { padding-right: 130px; font: 600 11px/1.2 Raleway, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--vp-soft); }
.vp-card-title { max-width: 16em; padding-right: 64px; font: 750 clamp(20px, 1.75vw, 27px)/1.14 Montserrat, sans-serif; letter-spacing: -.035em; color: var(--vp-ink); overflow-wrap: break-word; }
/* La copertina ha altezza fissa (16:9): in copertina va il titolo breve, tre righe; senza titolo breve
   la card mostra il titolo lungo tagliato a quattro righe. */
.vp-card-short:empty { display: none; }
.vp-card-short:not(:empty) + .vp-card-long { display: none; }
.vp-card-poster .vp-card-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; flex: 0 1 auto; }
.vp-card-poster .vp-card-short { -webkit-line-clamp: 3; }
.vp-card-play { position: absolute; right: clamp(16px, 1.6vw, 24px); bottom: clamp(16px, 1.6vw, 24px); display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--vp-red); transition: transform .3s, background .3s; }
.vp-card-play svg { width: 22px; height: 22px; margin-left: 3px; fill: #fff; }
.vp-card:hover .vp-card-play { transform: scale(1.08); background: var(--vp-red-hi); }
.vp-card-soon { display: none; position: absolute; right: clamp(14px, 1.6vw, 22px); top: clamp(14px, 1.6vw, 22px); }
.vp-card:not([data-video]) .vp-card-soon { display: block; padding: 6px 10px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; font: 600 11px/1.2 Raleway, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--vp-ink); }
.vp-card:not([data-video]) .vp-card-play { background: rgba(255, 255, 255, .1); }
.vp-card-text { font-size: 15px; line-height: 1.6; color: var(--vp-soft); }
.vp-card-text:empty, .vp-card-meta:not(:has(a)):has(span:empty) { display: none; }
.vp-card-meta { font: 600 12px/1 Raleway, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--vp-muted); }

/* Senza JS (o senza player) la pillola più recente apre l'indice in grande. Con il player la apre il
   player, e la griglia resta regolare. */
@media (min-width: 900px) {
  .vp-index:not(.has-player) .vp-grid > .vp-card:first-child { grid-column: 1 / -1; grid-row: auto; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: clamp(28px, 3.4vw, 56px); row-gap: 16px; align-items: start; padding-bottom: clamp(16px, 2vw, 28px); border-bottom: 1px solid var(--vp-line); }
  .vp-index:not(.has-player) .vp-grid > .vp-card:first-child .vp-card-poster { grid-row: 1 / 4; }
  .vp-index:not(.has-player) .vp-grid > .vp-card:first-child .vp-card-title { font-size: clamp(30px, 3vw, 46px); max-width: 14em; }
  .vp-index:not(.has-player) .vp-grid > .vp-card:first-child .vp-card-play { width: 72px; height: 72px; }
  .vp-index:not(.has-player) .vp-grid > .vp-card:first-child .vp-card-play svg { width: 30px; height: 30px; }
  .vp-index:not(.has-player) .vp-grid > .vp-card:first-child .vp-card-text { align-self: end; font-size: var(--t-lead, 19px); }
}

/* ── Indice con il player in alto (12/11/2026) ──
   Apertura compatta (titolo a sinistra, sottotitolo a destra su desktop) per lasciare il primo schermo
   al player. Il player prende il formato della pillola scelta: 16:9 largo quanto la pagina, oppure 9:16
   alto quanto lo schermo, così l'iframe di YouTube non aggiunge bande nere. Titolo, sintesi e link alla
   pagina della pillola stanno sotto il player; per uno Short su desktop stanno accanto, in basso. */
.vp-index .vp-hero { padding-top: clamp(112px, 13vh, 160px); padding-bottom: clamp(28px, 3.2vw, 52px); }
.vp-index .vp-hero h1 { font-size: clamp(34px, 4.4vw, 68px); max-width: 13em; }
@media (min-width: 1000px) {
  .vp-index .vp-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: clamp(40px, 5vw, 110px); align-items: end; }
  .vp-index .vp-hero .vp-lead { margin: 0; max-width: 34em; }
}

.vp-feat { --vp-feat-h: min(calc(100svh - 190px), 820px); display: grid; grid-template-columns: minmax(0, 1fr); row-gap: clamp(22px, 2.4vw, 34px); padding-bottom: clamp(64px, 7vw, 120px); }
.vp-feat[hidden] { display: none; }
.vp-feat-player { position: relative; width: min(100%, calc(var(--vp-feat-h) * 16 / 9)); aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #141215; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07), 0 40px 120px -60px rgba(204, 23, 49, .55); }
.vp-feat-poster { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: clamp(20px, 3vw, 48px);
  background:
    radial-gradient(70% 90% at 78% 100%, rgba(204, 23, 49, .6), rgba(204, 23, 49, 0) 62%),
    radial-gradient(50% 60% at 10% 0%, rgba(255, 255, 255, .06), transparent 70%),
    repeating-linear-gradient(-24deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 16px); }
.vp-feat-tema { font: 600 12px/1.3 Raleway, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--vp-soft); }
.vp-feat-tema::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--vp-red); vertical-align: 1px; }
.vp-feat-cover { max-width: 15em; padding-right: clamp(0px, 12%, 140px); font: 750 clamp(26px, 3.6vw, 60px)/1.06 Montserrat, sans-serif; letter-spacing: -.04em; color: var(--vp-ink); text-wrap: balance; overflow-wrap: break-word; }
.vp-feat-play { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: clamp(72px, 8vw, 112px); aspect-ratio: 1; height: auto; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--vp-red); transform: translate(-50%, -50%); cursor: pointer; transition: transform .3s, background .3s; box-shadow: 0 18px 50px -12px rgba(0, 0, 0, .6); }
.vp-feat-play svg { width: 42%; height: 42%; margin-left: 6%; fill: #fff; }
.vp-feat-play:hover { background: var(--vp-red-hi); transform: translate(-50%, -50%) scale(1.06); }
.vp-feat-play:focus-visible { outline: 3px solid #fff; outline-offset: 5px; border-radius: 50%; }
.vp-feat-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vp-feat-player.is-playing .vp-feat-play, .vp-feat-player.is-playing .vp-feat-poster { display: none; }

.vp-feat-info { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 14px; max-width: 60em; }
.vp-feat-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; font: 600 12px/1.3 Raleway, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--vp-muted); }
.vp-feat-meta span:empty { display: none; }
.vp-feat-meta-tema { color: var(--vp-red-hi); }
.vp-index h2.vp-feat-title { margin: 0; max-width: 24em; font-size: clamp(24px, 2.4vw, 38px); line-height: 1.14; color: var(--vp-ink); text-wrap: balance; }
.vp .vp-feat-text { margin: 0; max-width: 42em; font-size: var(--t-lead, 19px); line-height: 1.6; color: var(--vp-soft); }
.vp-feat-open { justify-self: start; display: inline-flex; align-items: center; gap: 14px; margin-top: 6px; padding-bottom: 4px; border-bottom: 1px solid var(--vp-red); font: 600 15px/1.3 Raleway, sans-serif; color: var(--vp-ink); }
.vp-feat-open:hover { border-bottom-color: var(--vp-ink); }
.vp-feat-open .arrow { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.vp .vp-feat-note { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--vp-muted); }

/* Short verticale: il player è alto quanto lo schermo e largo 9/16 dell'altezza. */
.vp-feat.is-vertical .vp-feat-player { aspect-ratio: 9 / 16; width: min(100%, calc(var(--vp-feat-h) * 9 / 16)); }
.vp-feat.is-vertical .vp-feat-poster { padding: clamp(20px, 2.4vw, 32px); }
.vp-feat.is-vertical .vp-feat-cover { padding-right: 0; font-size: clamp(26px, 2.4vw, 36px); }
.vp-feat.is-vertical .vp-feat-play { width: clamp(68px, 20%, 92px); }
@media (min-width: 700px) {
  .vp-feat.is-vertical { grid-template-columns: min(calc(var(--vp-feat-h) * 9 / 16), 42%) minmax(0, 1fr); column-gap: clamp(32px, 5vw, 96px); align-items: center; }
  .vp-feat.is-vertical .vp-feat-player { width: 100%; }
  .vp-feat.is-vertical h2.vp-feat-title { font-size: clamp(26px, 3vw, 48px); }
}
@media (max-width: 760px) {
  .vp-feat { --vp-feat-h: calc(100svh - 120px); }
  .vp-feat:not(.is-vertical) .vp-feat-player { width: calc(100% + 2 * var(--gutter)); margin-inline: calc(-1 * var(--gutter)); border-radius: 0; }
  .vp-feat.is-vertical .vp-feat-player { justify-self: center; }
  .vp-feat-cover { font-size: clamp(22px, 6.4vw, 30px); padding-right: 0; }
  .vp-feat-play { width: 72px; }
}

/* Indice: titolo della griglia e card che cambiano il video del player. */
.vp-library-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 32px; margin-bottom: clamp(20px, 2.4vw, 32px); padding-top: clamp(40px, 4.4vw, 72px); border-top: 1px solid var(--vp-line); }
.vp-index h2#vp-library-title { margin: 0; font-size: clamp(26px, 2.6vw, 40px); line-height: 1.1; color: var(--vp-ink); }
.vp .vp-library-hint { margin: 0; max-width: 34em; font-size: 15px; line-height: 1.5; color: var(--vp-muted); }
.vp-library-hint[hidden] { display: none; }
.vp-index:not(.has-player) .vp-library-head { border-top: 0; padding-top: 0; }
.vp-index .vp-grid { gap: clamp(44px, 3.6vw, 64px) clamp(22px, 2.4vw, 40px); }

.vp-grid > div.vp-card { position: relative; }
.vp-card-pick { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; }
.vp-card-pick:focus-visible { outline: 2px solid var(--vp-red-hi); outline-offset: 6px; border-radius: 8px; }
.vp-card:has(.vp-card-pick:focus-visible) .vp-card-poster::after { opacity: 1; }
.vp-card:has(.vp-card-pick:hover) .vp-card-text { color: var(--vp-ink); }
.vp-card-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.vp-card-meta > span:empty { display: none; }
.vp-card-open { position: relative; z-index: 2; margin-left: auto; padding: 8px 0 3px; border-bottom: 1px solid var(--vp-red); font: 600 13px/1.2 Raleway, sans-serif; letter-spacing: .02em; text-transform: none; color: var(--vp-ink); }
.vp-card-open:hover { border-bottom-color: var(--vp-ink); }
.vp-card-open:focus-visible { outline: 2px solid var(--vp-red-hi); outline-offset: 4px; border-radius: 2px; }
.vp-card-now { display: none; position: absolute; right: clamp(14px, 1.6vw, 22px); top: clamp(14px, 1.6vw, 22px); padding: 6px 10px; border-radius: 999px; background: var(--vp-ink); font: 600 11px/1.2 Raleway, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #09090b; }
.vp-card.is-current .vp-card-now { display: block; }
.vp-card.is-current .vp-card-poster { box-shadow: inset 0 0 0 2px var(--vp-red); }
.vp-card.is-current .vp-card-play { background: rgba(255, 255, 255, .14); }

/* ── Pagina della pillola ── */
.vp-item-head { padding-top: clamp(112px, 14vh, 170px); padding-bottom: clamp(22px, 2.6vw, 36px); }
.vp-crumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; font: 600 12px/1.3 Raleway, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--vp-muted); }
.vp-crumb a { color: var(--vp-red-hi); }
.vp-crumb a:hover { color: var(--vp-ink); }
.vp-item-head h1 { margin: 0; max-width: 20em; font-size: clamp(32px, 4.4vw, 66px); line-height: 1.06; color: var(--vp-ink); text-wrap: balance; }
.vp-item .vp-lead { max-width: 44em; }
.vp-item-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; font: 600 12px/1.3 Raleway, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--vp-muted); }
.vp-item-meta time:empty { display: none; }

.vp-stage { padding-bottom: clamp(48px, 6vw, 90px); }
.vp-player { position: relative; max-width: 1240px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; background: #141215; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
.vp-player-poster { position: absolute; inset: 0; padding: clamp(18px, 3vw, 40px); font: 600 12px/1 Raleway, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--vp-soft);
  background:
    radial-gradient(70% 90% at 78% 100%, rgba(204, 23, 49, .6), rgba(204, 23, 49, 0) 62%),
    radial-gradient(50% 60% at 10% 0%, rgba(255, 255, 255, .06), transparent 70%),
    repeating-linear-gradient(-24deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 16px); }
.vp-player-play { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: clamp(68px, 8vw, 104px); height: clamp(68px, 8vw, 104px); margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--vp-red); transform: translate(-50%, -50%); cursor: pointer; transition: transform .3s, background .3s; }
.vp-player-play svg { width: 42%; height: 42%; margin-left: 6%; fill: #fff; }
.vp-player-play:hover { background: var(--vp-red-hi); transform: translate(-50%, -50%) scale(1.06); }
.vp-player-play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.vp-player-soon { position: absolute; left: clamp(18px, 3vw, 40px); right: clamp(18px, 3vw, 40px); bottom: clamp(16px, 3vw, 36px); margin: 0; max-width: 24em; font: 750 clamp(18px, 2vw, 28px)/1.2 Montserrat, sans-serif; letter-spacing: -.03em; color: var(--vp-ink); }
.vp-player:has(.vp-player-play) .vp-player-soon { display: none; }
.vp-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vp-player.is-playing .vp-player-play, .vp-player.is-playing .vp-player-poster { display: none; }
.vp .vp-player-note { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--vp-muted); }

.vp-body { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, 1fr); gap: clamp(40px, 6vw, 110px); padding-bottom: clamp(70px, 8vw, 120px); }
.vp-body h2, .vp-related h2 { margin: 0 0 22px; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.15; color: var(--vp-ink); }
.vp-rich { max-width: 42em; color: var(--vp-soft); }
.vp-rich p, .vp-rich li { margin: 0 0 1.1em; font-size: var(--t-body, 18px); line-height: 1.75; color: var(--vp-soft); }
.vp-rich h3 { margin: 1.6em 0 .6em; font-size: var(--t-h3, 24px); line-height: 1.25; color: var(--vp-ink); }
.vp-rich strong { color: var(--vp-ink); }
.vp-rich a { color: var(--vp-ink); text-decoration: underline; text-decoration-color: var(--vp-red); text-underline-offset: 3px; }
.vp-aside { display: flex; flex-direction: column; gap: clamp(36px, 4vw, 56px); }
.vp-links { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--vp-line); }
.vp-links li { border-bottom: 1px solid var(--vp-line); }
.vp-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; font-size: 15px; line-height: 1.5; color: var(--vp-soft); transition: color .2s; }
.vp-links a:hover { color: var(--vp-ink); }
.vp-links svg { flex: 0 0 18px; width: 18px; height: 18px; }
.vp-links a[href="#"] { pointer-events: none; }

.vp-related { padding-bottom: clamp(70px, 8vw, 120px); }
.vp-related:has(.vp-grid:empty) h2 { display: none; }
.vp-related .vp-grid { margin-bottom: 36px; }
.vp-all { display: inline-flex; align-items: center; gap: 14px; font: 600 15px/1.3 Raleway, sans-serif; color: var(--vp-ink); border-bottom: 1px solid var(--vp-red); padding-bottom: 4px; }
.vp-all .arrow { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }

/* ── Chiusura ── */
.vp-cta { padding-top: clamp(56px, 6vw, 96px); padding-bottom: clamp(80px, 9vw, 140px); border-top: 1px solid var(--vp-line); }
.vp-cta h2 { margin: 0; max-width: 16em; font-size: var(--t-h2, 44px); line-height: var(--lh-h2, 1.08); color: var(--vp-ink); }
.vp .vp-cta p { margin: 20px 0 32px; max-width: 36em; font-size: var(--t-lead, 19px); line-height: 1.65; color: var(--vp-soft); }

@media (max-width: 760px) {
  .vp-hero { padding-top: 112px; }
  .vp-item-head { padding-top: 108px; }
  .vp-body { grid-template-columns: 1fr; }
  .vp-player { border-radius: 6px; margin-inline: calc(-1 * var(--gutter) + 0px); border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { .vp * { transition: none !important; } }

.vp-player-poster::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--vp-red); vertical-align: 1px; }

/* ── Short verticali 9:16 (11/11/2026) ──
   Il player resta 9:16, così l'iframe di YouTube non aggiunge bande nere, e la sua altezza segue lo
   schermo. Su desktop il video sta a sinistra e scorre con il testo accanto; su telefono sta al centro. */
.vp-vertical { --vp-short-h: min(calc(100svh - 160px), 640px); }
.vp-vertical .vp-player { aspect-ratio: 9 / 16; width: min(100%, calc(var(--vp-short-h) * 9 / 16)); max-width: none; }
.vp-vertical .vp-player-play { width: clamp(64px, 18%, 84px); height: auto; aspect-ratio: 1; }
.vp-vertical .vp-player-poster { line-height: 1.5; }
@media (min-width: 1000px) {
  .vp-vertical { display: grid; grid-template-columns: calc(var(--vp-short-h) * 9 / 16) minmax(0, 1fr); column-gap: clamp(48px, 5vw, 96px); max-width: 1760px; margin-inline: auto; padding-inline: var(--gutter); }
  .vp-vertical > .wrap { padding-inline: 0; max-width: none; }
  .vp-vertical > .vp-item-head { grid-column: 1 / -1; }
  .vp-vertical > .vp-stage { grid-column: 1; grid-row: 2; align-self: start; position: sticky; top: 110px; padding-bottom: clamp(48px, 6vw, 90px); }
  .vp-vertical > .vp-body { grid-column: 2; grid-row: 2; grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 4vw, 64px); align-content: start; }
  .vp-vertical .vp-player-note { max-width: calc(var(--vp-short-h) * 9 / 16); }
}
@media (max-width: 760px) {
  .vp-vertical { --vp-short-h: min(78svh, 720px); }
  .vp-vertical .vp-player { margin-inline: auto; border-radius: 8px; }
  .vp-vertical .vp-player-note { text-align: center; }
}
