/* Premio Visionaria: vetrina e schede. Colori di Visionaria, caratteri del tema.
   Le regole con !important servono contro i rientri e i pallini che Divi mette a tutti gli elenchi. */
:root { --pv-rosso: #a32806; --pv-scuro: #1d1d1b; --pv-tenue: #5f6670; --pv-bordo: rgba(0,0,0,.12); --pv-fondo: #f6f4f2; }

.pv-scheda, .pv-vetrina { color: var(--pv-scuro); }
.pv-scheda ul, .pv-vetrina ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.pv-scheda li, .pv-vetrina li { list-style: none !important; }
.pv-scheda h2 { font-size: 1.35em; margin: 0 0 .7em; color: var(--pv-rosso); }
.pv-scheda h3 { font-size: 1em; margin: 0 0 .3em; font-weight: 700; }

.pv-testa { display: flex; gap: 28px; align-items: center; margin: 0 0 2em; flex-wrap: wrap; }
.pv-logo { flex: 0 0 180px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--pv-bordo); border-radius: 14px; padding: 16px; box-sizing: border-box; }
.pv-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pv-logo-iniziali { background: var(--pv-fondo); border-color: transparent; }
.pv-logo-iniziali span { font-size: 64px; font-weight: 800; line-height: 1; color: var(--pv-rosso); letter-spacing: -.02em; }
@media (max-width: 600px) { .pv-logo { flex-basis: 120px; } .pv-logo-iniziali span { font-size: 44px; } }
.pv-testa-testo { flex: 1 1 320px; }
.pv-frase { font-size: 1.35em; line-height: 1.35; font-weight: 600; margin: .45em 0 .5em; padding: 0; }
.pv-dati { color: var(--pv-tenue); margin: 0; padding: 0; }
.pv-categoria { display: inline-block; font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 5px 12px; border-radius: 14px; background: var(--pv-rosso); color: #fff; margin: 0 0 10px; }
.pv-cat-b { background: #1f3a5f; }
.pv-cat-c { background: #b8741a; }

.pv-sezione { margin: 0 0 2.2em; padding-top: 1.6em; border-top: 1px solid var(--pv-bordo); }
.pv-griglia-blocchi { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px 28px; }
.pv-blocco p { margin: 0; padding: 0; }
.pv-chip { display: flex !important; flex-wrap: wrap; gap: 10px; }
.pv-chip li { padding: 5px 14px; border: 1px solid var(--pv-bordo); border-radius: 16px; font-size: .9em; }
.pv-chip a { text-decoration: none; }

.pv-team ul { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.pv-team li { display: flex; gap: 12px; align-items: center; }
.pv-team img, .pv-iniziali { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.pv-iniziali { display: inline-flex; align-items: center; justify-content: center; background: var(--pv-fondo); color: var(--pv-rosso); font-weight: 700; font-size: 1.6em; }

.pv-video { position: relative; aspect-ratio: 16 / 9; margin: 0 0 1em; max-width: 760px; }
.pv-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 10px; }
.pv-immagini { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 0 0 1em; }
.pv-immagini img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; display: block; }
.pv-puntata { margin-top: 1.2em; }
.pv-sveglia { display: flex; gap: 16px; align-items: flex-start; margin-top: 1.2em; padding: 18px 20px; border: 1px solid #e3e3e3; border-left: 5px solid var(--pv-rosso); border-radius: 12px; background: #fafafa; }
.pv-sezione .pv-sveglia-icona { font-size: 34px; line-height: 1; }
.pv-sezione .pv-sveglia p { margin: 0 0 .35em; padding: 0; font-size: 16px; line-height: 1.5; }
.pv-sezione .pv-sveglia .pv-sveglia-titolo { font-size: 18px; font-weight: 700; color: #222; }

.pv-visionaria ul li { margin: 0 0 .3em; }
.pv-bottone { display: inline-block; background: var(--pv-rosso); color: #fff !important; padding: 12px 22px; border-radius: 26px; font-weight: 700; text-decoration: none; margin-top: .6em; }
.pv-bottone:hover, .pv-bottone:focus { background: #821f05; }

/* Griglia delle finaliste */
.pv-filtro { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 .8em; }
.pv-filtro button { font: inherit; padding: 8px 16px; border-radius: 20px; border: 1px solid var(--pv-rosso); background: #fff; color: var(--pv-rosso); cursor: pointer; }
.pv-filtro button[aria-pressed="true"] { background: var(--pv-rosso); color: #fff; }
.pv-filtro button:focus-visible, .pv-carta a:focus-visible { outline: 3px solid #1f3a5f; outline-offset: 2px; }
.pv-conteggio { color: var(--pv-tenue); font-size: .9em; margin: 0 0 1em; }
.pv-griglia { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.pv-carta a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 18px; border: 1px solid var(--pv-bordo); border-radius: 14px; background: #fff; text-decoration: none; color: var(--pv-scuro); box-sizing: border-box; transition: box-shadow .15s, transform .15s; }
.pv-carta a:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1); transform: translateY(-2px); }
.pv-carta-logo { height: 110px; display: flex; align-items: center; justify-content: center; }
.pv-carta-logo img { max-height: 110px; max-width: 100%; object-fit: contain; }
.pv-carta-nome { font-weight: 700; font-size: 1.15em; }
.pv-carta .pv-categoria { align-self: flex-start; }
.pv-carta-frase { color: var(--pv-tenue); font-size: .92em; line-height: 1.4; }
.pv-carta[hidden] { display: none !important; }

/* Puntate del podcast */
.pv-puntate li { padding: 1em 0; border-bottom: 1px solid var(--pv-bordo); }
.pv-puntate h3 { margin: 0 0 .2em; }
.pv-vuoto { font-style: italic; color: var(--pv-tenue); }

/* Area startup */
.pv-area h2 { color: var(--pv-rosso); margin-bottom: .6em; }
.pv-stato { background: var(--pv-fondo); border-radius: 10px; padding: 14px 18px; margin: 0 0 1em; }
.pv-scadenze { margin: 0 0 1.4em !important; padding-left: 1.2em !important; }
.pv-scadenze li { list-style: disc !important; margin: 0 0 .3em; }
.pv-ok { background: #e3f3e5; color: #1e6123; border-radius: 8px; padding: 10px 14px; font-weight: 600; }
.pv-avviso { background: #fdf3e2; border-radius: 8px; padding: 10px 14px; }
.pv-bottone-chiaro { background: #fff !important; color: var(--pv-rosso) !important; border: 2px solid var(--pv-rosso) !important; }
.pv-area .acf-form-submit { margin-top: 1.5em; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pv-area input.pv-bottone, .pv-area button.pv-bottone { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.pv-area .acf-field input[type=text], .pv-area .acf-field input[type=url], .pv-area .acf-field input[type=email], .pv-area .acf-field input[type=number], .pv-area .acf-field textarea, .pv-area .acf-field select { font-size: 16px; padding: 8px 10px; }
.pv-anteprima { margin-top: 2.5em; border: 1px solid var(--pv-bordo); border-radius: 10px; padding: 12px 18px; }
.pv-anteprima summary { cursor: pointer; font-weight: 700; color: var(--pv-rosso); }
.pv-esci { margin-top: 1.5em; }

/* Area startup: richieste di incontro (Meet us) */
.pv-incontri { margin: 18px 0 24px; padding: 16px 18px; border: 1px dashed #a32806; border-radius: 12px; }
.pv-incontri h3 { margin: 0 0 8px !important; font-size: 18px !important; color: #a32806 !important; }
.pv-elenco-incontri { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.pv-elenco-incontri li { padding: 6px 0 !important; border-bottom: 1px solid #eee; list-style: none !important; }
.pv-elenco-incontri li:last-child { border-bottom: 0; }
.pv-stato-incontro { display: inline-block; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 1px 9px; background: #eee; }
.pv-stato-incontro.pv-pv_richiesta { background: #a32806; color: #fff; }
.pv-stato-incontro.pv-publish { background: #111; color: #fff; }

/* Partecipazioni a Visionaria nella scheda */
.pv-partecipazioni, .pv-scheda .pv-partecipazioni { display: flex; flex-wrap: wrap; gap: 10px; list-style: none !important; margin: 0 0 12px !important; padding: 0 !important; }
.pv-partecipazioni li { list-style: none !important; background: #111; color: #fff; border-radius: 999px; padding: 5px 14px !important; font-size: 13px; font-weight: 700; line-height: 1.4; margin: 0 !important; }
.pv-partecipazioni li small { font-weight: 500; opacity: .8; }
.pv-partecipazioni li.pv-premio { background: linear-gradient(90deg, #b8860b, #d9b34a); color: #1b1300; }
.pv-piu-edizioni { display: inline-block; background: #a32806; color: #fff; border-radius: 8px; padding: 5px 12px !important; font-size: 14px; font-weight: 700; line-height: 1.4; margin: 0 0 12px !important; }
.pv-copertina { margin: 18px 0 0; }
.pv-copertina img { width: 100%; max-height: 460px; object-fit: cover; border-radius: 14px; display: block; }
.pv-descrizione { grid-column: 1 / -1; }
.pv-descrizione p { font-size: 18px; line-height: 1.6; }
/* Contatti riservati agli iscritti */
.pv-contatto-riservato { margin-top: 1em; padding: 18px 20px; border: 1px dashed var(--pv-bordo); border-radius: 14px; background: var(--pv-fondo); }
.pv-contatto-riservato p { margin: 0 0 .6em; padding: 0; }
.pv-contatto-chiuso { display: flex; gap: 10px; align-items: center; font-weight: 600; }
.pv-contatto-nota { font-size: .88em; color: var(--pv-tenue); margin: .4em 0 0 !important; }
.pv-contatto-aperto { border-style: solid; background: #fff; }
.pv-chip-contatti a { font-weight: 600; }

/* Senza il modello Divi (online non c'è): niente data e titolo di Divi sopra la scheda (titolo e occhiello sono nell'apertura scura). */
.single-pv_startup .et_post_meta_wrapper, .single-pv_puntata .et_post_meta_wrapper { display: none; }
.pv-torna { font-size: 15px; margin: 0 0 24px; }
.pv-scheda + .pv-torna, .pv-torna:last-child { margin: 32px 0 0; }
