/*
 * Surfaces que la maquette V2.1 ne dessine pas (recherche, seuils dans un contenu, lecteur d'épisode,
 * 404, erreur ; connexion, compte et paiement : compte.css, lot 2),
 * en attendant leurs maquettes (voir docs/LOT_V21_CMS_REPORT.md). Elles sont redessinées dans la grammaire V2.1 : crème, cartes blanches à filet, rose argile, Prata /
 * Newsreader / Plus Jakarta Sans, pilules. Aucune règle ne vient des feuilles Tour 8 / Complet.
 */

/* ---------- conteneurs ---------- */
.hv-page { display: block; padding-bottom: 0; }
.hv-page > * { max-width: calc(var(--hv-conteneur) + 2 * var(--hv-marge)); margin-inline: auto; padding-inline: var(--hv-marge); }
.hv-page > .hv-seuil-wrap { max-width: none; padding-inline: 0; }
.hv-kicker { font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 700; color: var(--hv-bordeaux); margin: 0 0 12px; }

.hv-slot { background: var(--hv-image-vide); border-radius: 22px; }
.hv-fleche { color: var(--hv-bordeaux); }

/* ---------- ouvertures (pilier, liens, blog, Entre Nous) ---------- */
.hv-art-titre { font-family: var(--hv-prata); font-size: var(--hv-h1); line-height: 1.04; letter-spacing: -0.015em; }
.hv-art-chapeau { font-family: var(--hv-newsreader); font-size: var(--hv-lead); line-height: 1.45; color: var(--hv-encre-2); max-width: 46ch; }
.hv-art-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--hv-meta); }

.hv-art-layout { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: center; padding-top: 56px; }
.hv-art-corps > * + * { margin-top: 22px; }
/* Le texte courant seulement : les blocs V2.1 posés dans un contenu (citation, leçon, encadrés…) gardent leurs styles. */
.hv-art-corps > p, .hv-art-corps .wp-block-post-content > p, .hv-art-corps .wp-block-post-content > :is(ul, ol) > li { font-family: var(--hv-newsreader); font-size: var(--hv-lecture); line-height: 1.65; color: var(--hv-encre-2); }
.hv-art-corps > h2, .hv-art-corps .wp-block-post-content > h2 { font-size: var(--hv-h2-lecture); padding-top: 16px; }
.hv-art-corps > h3, .hv-art-corps .wp-block-post-content > h3 { font-size: var(--hv-h3-lecture); color: var(--hv-bordeaux-profond); }

/* ---------- recherche ---------- */

 .hv-lire{ font-weight: 600; color: var(--hv-bordeaux); text-underline-offset: 4px; }

 .hv-rech-sujets, .hv-rech-pilules { display: flex; flex-wrap: wrap; gap: 8px; }
.hv-pilule-sujet { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--hv-blanc); border: 1px solid var(--hv-filet); color: var(--hv-encre); font-size: 14px; font-weight: 600; text-decoration: none; }

/* ---------- seuils (le Bilan), dans l'ancienne grammaire : rendus comme le CTA final V2.1 ---------- */
.hv-seuil-wrap { padding: var(--hv-section) 16px 16px; }
.hv-seuil:not(.hv-b-cta-final) {
	max-width: 1792px; margin: 0 auto; background: var(--hv-bordeaux); color: var(--hv-creme); border-radius: var(--hv-rayon-surface);
	padding: 96px 80px; display: flex; flex-direction: column; gap: 22px;
}
.hv-seuil:not(.hv-b-cta-final) .hv-seuil-texte { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; max-width: 860px; }
.hv-seuil:not(.hv-b-cta-final) .hv-seuil-titre { font-family: var(--hv-prata); font-size: var(--hv-display); line-height: 1.02; letter-spacing: -0.015em; color: var(--hv-creme); }
.hv-seuil:not(.hv-b-cta-final) .hv-seuil-sous { font-family: var(--hv-newsreader); font-size: 21px; line-height: 1.45; color: var(--hv-texte-sur-bordeaux); max-width: 44ch; }
.hv-seuil .hv-cta, .hv-cta {
	display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 30px; border-radius: 999px;
	background: var(--hv-bordeaux); color: var(--hv-creme); font-weight: 700; font-size: 13.5px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none;
}
.hv-seuil .hv-cta { background: var(--hv-creme); color: var(--hv-bordeaux); box-shadow: 0 10px 30px -12px rgba(20, 6, 8, 0.6); min-height: 58px; }
.hv-cta--blanc { background: transparent; color: var(--hv-bordeaux); border: 1.5px solid var(--hv-bordeaux); }

.hv-seuil :focus-visible { outline-color: var(--hv-creme); }
@media (max-width: 1023px) { .hv-seuil:not(.hv-b-cta-final) { padding: 64px 40px; } }
@media (max-width: 599px) { .hv-seuil-wrap { padding: 72px 10px 10px; } .hv-seuil:not(.hv-b-cta-final) { padding: 52px 24px; gap: 16px; } .hv-seuil:not(.hv-b-cta-final) .hv-seuil-sous { font-size: 17.5px; } .hv-seuil .hv-cta { width: 100%; } }

.hv-seuil-section { display: flex; gap: 16px; background: var(--hv-rose); border-radius: 22px; padding: 24px; margin: 8px 0; }
.hv-seuil-section-picot { flex: 0 0 8px; height: 8px; margin-top: 10px; border-radius: 50%; background: var(--hv-bordeaux); }
.hv-seuil-section > div { display: flex; flex-direction: column; gap: 8px; }
.hv-seuil-section-titre { font-family: var(--hv-prata) !important; font-size: 22px !important; color: var(--hv-encre) !important; }
.hv-murmure { font-style: italic; color: var(--hv-meta) !important; }

/* ---------- verrou ---------- */

/* ---------- lecteur « On en parle en voix » (ancien) ---------- */
.hv-player { background: var(--hv-encre); color: var(--hv-creme); border-radius: 22px; padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; margin: 8px 0; }
.hv-player-tete { display: flex; gap: 16px; align-items: center; }
.hv-player-meta, .hv-player-note, .hv-player-sur { font-size: 12.5px; color: #D9C5C0; }
.hv-player-texte { font-family: var(--hv-prata); font-size: 20px; }
.hv-player-barre { display: flex; align-items: center; gap: 14px; }
.hv-player-bouton { width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--hv-creme); color: var(--hv-bordeaux); flex: 0 0 auto; cursor: pointer; }
.hv-player-bouton[disabled] { opacity: 0.6; cursor: default; }
.hv-player-piste { flex: 1 1 auto; height: 3px; border-radius: 2px; background: #5A4547; position: relative; }
.hv-player-avancee { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--hv-creme); border-radius: 2px; }
.hv-player-temps { font-size: 12px; color: #D9C5C0; font-variant-numeric: tabular-nums; }
.hv-player a { color: #E9C4BC; }

/* ---------- ancien index podcast ---------- */
.hv-podcast-wrap, .hv-podcast-liste, .hv-podcast-tous { display: flex; flex-direction: column; gap: 12px; }
.hv-podcast-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; background: var(--hv-blanc); border: 1px solid var(--hv-filet); border-radius: 20px; padding: 16px 22px; color: var(--hv-encre); text-decoration: none; }
.hv-podcast-titre { font-family: var(--hv-prata); font-size: 20px; }
.hv-podcast-meta { font-size: 12.5px; color: var(--hv-meta); }

/* ---------- recherche ---------- */
.hv-rech { min-height: 70vh; padding-top: 48px; padding-bottom: 72px; display: flex; flex-direction: column; gap: 32px; max-width: 860px; }
.hv-rech-barre { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.hv-rech-titre { font-family: var(--hv-prata); font-size: var(--hv-h1); line-height: 1.04; }
.hv-rech-form { display: flex; gap: 8px; }
.hv-rech-form input[type="search"], .hv-404-form input[type="search"]{
	flex: 1 1 auto; min-height: 54px; padding: 0 22px; border-radius: 999px; border: 1px solid var(--hv-filet); background: var(--hv-blanc);
	font: inherit; font-size: 15px; color: var(--hv-encre); width: 100%;
}
.hv-rech-form button { min-height: 54px; padding: 0 22px; border-radius: 999px; border: 0; background: var(--hv-bordeaux); color: var(--hv-creme); font-weight: 600; cursor: pointer; }
.hv-rech-sec { display: flex; flex-direction: column; gap: 14px; }
.hv-rech-rang { font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; color: var(--hv-meta); }
.hv-rech-question { display: flex; align-items: center; min-height: 52px; padding: 12px 20px; background: var(--hv-blanc); border: 1px solid var(--hv-filet); border-radius: 16px; font-family: var(--hv-prata); font-size: 18px; color: var(--hv-encre); text-decoration: none; }
.hv-reponse--recherche { gap: 12px; }
.hv-reponse--recherche a { font-weight: 600; }
.hv-rech-vide { background: var(--hv-rose); border-radius: 22px; padding: 24px; color: var(--hv-bordeaux-profond); }
.hv-rech-seuil { background: var(--hv-blanc); border: 1px solid var(--hv-filet); border-radius: 22px; padding: 22px 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.hv-rech-fermer { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--hv-encre); text-decoration: none; }

/* ---------- marque (recherche plein écran) ---------- */
.hv-wordmark { font-family: var(--hv-prata); font-size: 24px; color: var(--hv-bordeaux); text-decoration: none; }
.hv-deco { display: none; }

/* ---------- états : 404, erreur ---------- */
.hv-etat { max-width: 760px; margin-inline: auto; padding-top: 72px; display: flex; flex-direction: column; gap: 22px; }

.hv-etat-titre { font-family: var(--hv-prata); font-size: var(--hv-h1); line-height: 1.04; }
.hv-etat-texte { font-family: var(--hv-newsreader); font-size: var(--hv-lead); line-height: 1.45; color: var(--hv-encre-2); }
.hv-etat-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hv-etat-note { font-size: 13px; color: var(--hv-meta); }
.hv-404-form { display: flex; }
.hv-404-portes { display: flex; flex-direction: column; gap: 12px; }

/* ---------- page légale : la colonne vide n'est pas affichée ---------- */
.hv-legal-layout:not(:has(.wp-block-post-content > *)) { display: none; }
.hv-legal-layout { grid-template-columns: minmax(0, 1fr); }
.hv-legal .hv-art-corps table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--hv-blanc); border: 1px solid var(--hv-filet); border-radius: 18px; overflow: hidden; font-size: 15px; }
.hv-legal .hv-art-corps th, .hv-legal .hv-art-corps td { padding: 14px 16px; text-align: left; vertical-align: top; border-top: 1px solid var(--hv-filet); }
.hv-legal .hv-art-corps thead th { background: var(--hv-creme); border-top: 0; font-size: 12.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--hv-meta); }
