/* Complements propres a la maquette (hors theme) : accessibilite, boutons natifs a la place des div cliquables,
   lecteur video, etats vides/chargement/erreur, compteurs de vues. Chaque ajout est liste dans ECARTS.md. */

/* Boutons natifs : neutraliser le style navigateur pour garder le rendu du theme */
button.mvp-fly-but-wrap, button.mvp-search-but-wrap, button.mvp-nav-search-but, button.mvp-video-close {
  background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; cursor: pointer; -webkit-appearance: none; appearance: none;
}
button.mvp-nav-search-but { font-family: FontAwesome; }
button.mvp-fly-but-wrap { width: 30px; text-align: left; }
#mvp-fly-wrap button.mvp-fly-but-wrap.mvp-fly-but-menu { position: absolute; top: 0; right: 0; }
.mvp-nav-top-right button.mvp-nav-search-but, .mvp-nav-bot-right button.mvp-nav-search-but { min-width: 44px; min-height: 44px; }
button.mvp-search-but-wrap { width: 60px; height: 60px; }
a.mvp-fly-top { text-decoration: none; }

/* Focus visible (le theme n'en definit aucun) */
:focus-visible { outline: 3px solid var(--lvdx-brand); outline-offset: 2px; border-radius: 2px; }
#mvp-search-wrap :focus-visible { outline-color: #fff; }
.mvp-nav-menu ul li a:focus-visible { outline-offset: -3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* Recherche : le theme remplit l'input par JS (value="Rechercher") ; ici un placeholder natif */
#searchform input::placeholder { color: #fff; opacity: 1; }

/* Logo X (Twitter) : les tailles inline du site (margin:0 10px ; 30x20 ; 40x27) */
.lvdx-x-top { margin: 0 10px; }
.lvdx-x-fly { padding: 0 !important; background: none !important; display: block; width: 30px; height: 20px; }
.lvdx-x-fly img { display: block; width: 30px; height: 20px; }
.lvdx-x-foot { padding: 0 !important; background: none !important; display: block; width: 40px; height: 27px; }
.lvdx-x-foot img { display: block; width: 40px; height: 27px; }
ul.mvp-fly-soc-list li a, ul.mvp-foot-soc-list li a, .mvp-nav-soc-wrap a { display: inline-block; }

/* Onglets : liens de 44 px minimum */
ul.mvp-feat1-list-buts li a { display: inline-block; min-height: 44px; line-height: 44px; }

/* Badge de rubrique de l'article : le theme l'enveloppe dans un h3, ici un p (une seule h1 par page, pas de h3 avant elle) */
p.mvp-post-cat { margin-bottom: 10px; width: 100%; }

/* Compteur de vues (demande du lead ; absent du theme en ligne, le plugin WordPress Popular Posts compte sans afficher) */
span.mvp-cd-views { font-weight: 400; margin-left: 5px; }
span.mvp-cd-views:before { content: "/"; margin-right: 5px; }

/* Partage : structure valide li > a (le theme imbrique a > li) */
ul.mvp-post-soc-list li a, ul.mvp-soc-mob-list li a, ul.mvp-author-page-list li a { display: block; width: 100%; height: 100%; color: inherit; }
ul.mvp-author-page-list li { list-style: none; }

/* Compteur de resultats (maquette) */
.lvdx-result-count { clear: both; text-align: center; color: var(--lvdx-text-muted); font-family: var(--lvdx-font-body); font-size: var(--lvdx-size-14); line-height: 1.4; padding: 10px 0 0; width: 100%; float: left; }

/* Etats vides */
.lvdx-empty { padding: 30px 0 60px; }
.lvdx-empty p { font-size: 1rem; line-height: 1.5; margin: 0 0 15px; max-width: 70ch; }
.lvdx-empty p strong { color: var(--lvdx-text); }
.lvdx-empty a { box-shadow: inset 0 -2px 0 var(--lvdx-brand); color: var(--lvdx-text); }
.lvdx-search-again { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 20px; }
.lvdx-search-again label { font-family: var(--lvdx-font-body); font-size: var(--lvdx-size-14); font-weight: 700; text-transform: uppercase; width: 100%; }
.lvdx-search-again input { border: 1px solid #000; font-family: var(--lvdx-font-body); font-size: 1rem; height: 44px; padding: 0 12px; flex: 1 1 220px; max-width: 420px; }
a.lvdx-button, button.lvdx-button { background: var(--lvdx-brand); border: 0; box-sizing: border-box; color: #fff !important; cursor: pointer; display: inline-block; float: none; font-family: var(--lvdx-font-body); font-size: 1rem; font-weight: 700; line-height: 44px; height: 44px; padding: 0 20px; margin: 0; text-transform: uppercase; text-decoration: none; width: auto; }
.lvdx-button:hover { opacity: .8; }

/* 404 et erreur API */
#mvp-404 p.lvdx-404-help { color: var(--lvdx-text-excerpt); line-height: 1.5; margin: 15px auto 0; max-width: 60ch; }
#mvp-404 p.lvdx-404-help a { box-shadow: inset 0 -2px 0 var(--lvdx-brand); color: var(--lvdx-text); }
#mvp-404.lvdx-error h1 { color: var(--lvdx-danger); font-size: 3.5rem; }
#mvp-404.lvdx-error p { color: var(--lvdx-text); }
#mvp-404.lvdx-error code { background: #f3f3f3; font-size: .9rem; padding: 2px 6px; }
#mvp-404 p.lvdx-error-actions { display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; align-items: center; margin-top: 30px; }
.lvdx-link-secondary { color: var(--lvdx-text) !important; box-shadow: inset 0 -2px 0 var(--lvdx-brand); line-height: 44px; }

/* Squelettes de chargement */
.lvdx-loading .mvp-feat1-pop-cont { counter-increment: mvp-trend; }
.lvdx-skel { background: var(--lvdx-skeleton); border-radius: 2px; display: block; margin: 0 0 8px; }
.lvdx-skel-block { height: 100%; width: 100%; margin: 0; border-radius: 0; }
.lvdx-skel-img { background: var(--lvdx-skeleton); }
.lvdx-skel-img .lvdx-skel-block { display: none; }
.mvp-blog-story-img.lvdx-skel-img { min-height: 190px; }
.mvp-feat1-list-img.lvdx-skel-img { width: 80px; height: 80px; }
.mvp-feat1-sub-img.lvdx-skel-img { aspect-ratio: 590 / 354; }
.mvp-feat1-pop-img.lvdx-skel-img { aspect-ratio: 400 / 240; }
.lvdx-skel-feat { aspect-ratio: 560 / 600; background: var(--lvdx-skeleton); }
.lvdx-skel-feat .lvdx-skel-block { display: none; }
.lvdx-skel-lines { width: 100%; float: left; }
@media (prefers-reduced-motion: no-preference) {
  .lvdx-skel, .lvdx-skel-img, .lvdx-skel-feat { animation: lvdx-pulse 1.6s ease-in-out infinite; }
  @keyframes lvdx-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
}
@media screen and (max-width: 479px) {
  .mvp-blog-story-img.lvdx-skel-img { min-height: 0; width: 80px; height: 80px; }
}

/* Lecteur video (remplace l'iframe Video.js du theme, parts/embed.php) */
#mvp-video-embed-wrap { margin: 20px 0 0; }
.lvdx-player { position: relative; width: 100%; aspect-ratio: 850 / 480; background: #000; overflow: hidden; margin: 0; }
.lvdx-player-poster { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.lvdx-player-play { position: absolute; top: 50%; left: 50%; width: 86px; height: 60px; margin: -30px 0 0 -43px; background: rgba(0,0,0,.7); border: 0; border-radius: 6px; color: #fff; cursor: pointer; font-size: 28px; line-height: 60px; }
.lvdx-player-play:hover { background: var(--lvdx-brand); }
.lvdx-player-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 40px; background: rgba(0,0,0,.7); color: #a3a3a3; display: flex; align-items: center; gap: 12px; padding: 0 12px; font-family: var(--lvdx-font-body); font-size: 13px; }
.lvdx-player-btn { color: #fff; font-size: 14px; line-height: 1; }
.lvdx-player-progress { flex: 1; height: 6px; background: rgba(255,255,255,.3); border-radius: 3px; overflow: hidden; }
.lvdx-player-progress span { display: block; width: 0; height: 100%; background: #e603b8; }
button.mvp-video-close { display: none; }

/* Navigation precedent/suivant : les deux volets occupent chacun 47.6 % (theme) ; en mobile ils s'empilent */
@media screen and (max-width: 767px) {
  .mvp-next-post-wrap, .mvp-prev-post-wrap { width: 100%; margin: 0 0 15px; }
}

/* Le theme masque la pagination (.mvp-nav-links{display:none} dans les options) ; le lead la demande : rendue visible */
.mvp-nav-links { display: block !important; }
.pagination span, .pagination a { box-sizing: border-box; min-width: 44px; min-height: 44px; line-height: 44px; padding-top: 0; padding-bottom: 0; text-align: center; }

/* Zones de toucher : les pastilles du theme font 40 px, le burger 30 x 20 px ; la zone cliquable est etendue sans changer le rendu */
button.mvp-fly-but-wrap::after, .mvp-nav-soc-wrap a::after, ul.mvp-foot-soc-list li a::after, ul.mvp-fly-soc-list li a::after, ul.mvp-author-page-list li a::after, ul.mvp-post-soc-list li a::after {
  content: ""; position: absolute; top: -12px; right: -8px; bottom: -12px; left: -8px;
}
.mvp-nav-soc-wrap a, ul.mvp-foot-soc-list li a, ul.mvp-fly-soc-list li a, ul.mvp-author-page-list li a, ul.mvp-post-soc-list li a { position: relative; }
