/* Prototype local : styles limités à la rubrique, composants du site conservés. */
.championnats-videos-content{padding-top:30px;padding-bottom:45px}
.championnats-videos-content section{margin-bottom:38px}
.championnats-videos-content h2{margin:0 0 20px}
.championnats-videos-content h3{margin:12px 0;font-size:24px}
.championnats-videos-content p{line-height:1.6}
.championnats-videos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.championnats-videos-players,.championnats-video-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.championnats-video-card{border:1px solid #ddd;border-radius:8px;padding:20px;background:#fff;min-width:0;overflow-wrap:anywhere}
.championnats-video-card ul{padding-left:20px;line-height:1.9;margin-bottom:20px}
.championnats-video-player{max-width:800px;aspect-ratio:16/9;background:#373737;border-radius:8px;overflow:hidden}
.championnats-video-player iframe{width:100%;height:100%;border:0;display:block}
.championnats-video-thumb{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;aspect-ratio:16/9;border:0;background:#373737;color:white;cursor:pointer;overflow:hidden;border-radius:5px;font:inherit}
.championnats-video-thumb img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}
.championnats-video-thumb span,.championnats-video-thumb strong{position:relative;background:#ce0205;padding:12px 16px;border-radius:4px}
.championnats-video-thumb:focus-visible{outline:3px solid #ce0205;outline-offset:3px}
.championnats-video-portrait{float:right;object-fit:cover;border-radius:50%;margin-left:10px}
.championnats-video-matches{display:grid;gap:16px}
.championnats-video-score{font-size:24px;font-weight:bold;color:#ce0205}
@media(min-width:931px){body:has(#page-videos) .menu{flex-wrap:wrap;justify-content:flex-end}body:has(#page-videos) .nav{padding-top:10px;padding-bottom:10px}}
@media(max-width:760px){.championnats-videos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.championnats-videos-grid,.championnats-videos-players,.championnats-video-teams{grid-template-columns:1fr}.championnats-video-card{padding:16px}.championnats-videos-content .btn{min-height:44px;white-space:normal}.championnats-video-thumb strong{font-size:13px;padding:10px}}

/* Comparatif sobre : deux fiches et une opposition centrale. */
.championnats-videos-players{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:16px;align-items:stretch}
.championnats-video-vs{display:flex;align-items:center;justify-content:center;color:#ce0205;font-family:"Bebas Neue",Impact,sans-serif;font-size:76px;line-height:1}
.championnats-video-titles{color:#373737;margin:18px 0 22px}
.championnats-video-titles strong{font-family:"Bebas Neue",Impact,sans-serif;font-size:38px;font-weight:400;color:#ce0205;vertical-align:middle;margin-right:5px}
@media(max-width:540px){.championnats-videos-players{grid-template-columns:1fr;gap:12px}.championnats-video-vs{font-size:52px}}

/* Deux vidéos indépendantes, sans charger les lecteurs avant le clic. */
#championnatsVideosFeature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.championnats-video-feature{min-width:0;container-type:inline-size}
.championnats-video-feature .championnats-video-player{max-width:none}
.championnats-video-feature>section[aria-labelledby]>h2:first-of-type{font-size:22px;min-height:3.6em}
.championnats-video-feature .championnats-videos-players{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:8px}
.championnats-video-feature .championnats-videos-players .championnats-video-card{padding:12px;display:flex;flex-direction:column;align-items:flex-start}
.championnats-video-feature .championnats-videos-players h3{font-size:18px}
.championnats-video-feature .championnats-video-portrait{float:none;width:56px;height:56px;margin:0}
.championnats-video-feature .championnats-video-vs{font-size:48px}
.championnats-video-feature .championnats-videos-players .btn{margin-top:auto;padding:10px 6px;white-space:normal}
@media(max-width:900px){#championnatsVideosFeature{grid-template-columns:1fr}.championnats-video-feature>section[aria-labelledby]>h2:first-of-type{min-height:0}}
@container(max-width:380px){.championnats-video-feature .championnats-videos-players{grid-template-columns:1fr}.championnats-video-feature .championnats-video-vs{font-size:42px}}

/* Chocs compacts sous chaque vidéo. */
.championnats-video-feature .championnats-videos-players{margin-top:16px;gap:6px;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}
.championnats-video-feature .championnats-videos-players .championnats-video-card{padding:10px;display:block}
.championnats-video-feature .championnats-video-portrait{float:right;width:40px;height:40px;margin:0 0 5px 6px}
.championnats-video-feature .championnats-videos-players h3{font-size:17px;line-height:1.25;margin:2px 0 8px}
.championnats-video-feature .championnats-video-titles{clear:both;margin:8px 0;line-height:1.3;font-size:14px}
.championnats-video-feature .championnats-video-titles strong{font-size:30px}
.championnats-video-feature .championnats-videos-players .story-note{margin:6px 0;line-height:1.4}
.championnats-video-feature .championnats-videos-players .btn{margin:0;padding:8px 0;min-height:36px}
.championnats-video-feature .championnats-video-vs{font-size:44px}
@container(max-width:380px){.championnats-video-feature .championnats-videos-players{grid-template-columns:1fr;gap:6px}.championnats-video-feature .championnats-video-vs{font-size:34px}}

/* Dépliage natif, sans script ni chargement supplémentaire. */
.championnats-video-feature>section{margin-bottom:14px}
.championnats-video-confrontations{border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-bottom:24px}
.championnats-video-confrontations>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:12px 0;color:#373737;font-weight:700;font-size:17px}
.championnats-video-confrontations>summary::-webkit-details-marker{display:none}
.championnats-video-confrontations>summary::after{content:'+';color:#ce0205;font-size:30px;line-height:1;font-weight:400;flex-shrink:0}
.championnats-video-confrontations[open]>summary::after{content:'−'}
.championnats-video-confrontations>summary:focus-visible{outline:2px solid #ce0205;outline-offset:4px}
.championnats-video-confrontations-content{padding-bottom:16px}
.championnats-video-confrontations-content>p:first-child{margin-top:0}

/* Retour visuel sur les liens de fiches, sans déplacer les cartes. */
.championnats-video-feature .championnats-videos-players .btn{padding:8px 10px;border-radius:4px;transition:background-color .15s ease,color .15s ease}
.championnats-video-feature .championnats-videos-players .btn:hover,
.championnats-video-feature .championnats-videos-players .btn:focus-visible{background:#ce0205;color:#fff}
.championnats-video-feature .championnats-videos-players .btn:focus-visible{outline:2px solid #ce0205;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.championnats-video-feature .championnats-videos-players .btn{transition:none}}

/* Cadre complet et action explicite à l'ouverture comme à la fermeture. */
.championnats-video-confrontations{border:1px solid #d5d5d5;border-radius:6px;background:#fff}
.championnats-video-confrontations>summary{padding:12px 14px;font-size:16px;flex-wrap:wrap}
.championnats-video-confrontations>summary::after{content:none}
.championnats-video-confrontations[open]>summary::after{content:none}
.championnats-confrontations-action{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:#ce0205;font-size:13px;white-space:nowrap}
.championnats-confrontations-symbol::after{content:'+';font-size:24px;line-height:1;font-weight:400}
.championnats-confrontations-close{display:none}
.championnats-video-confrontations[open] .championnats-confrontations-open{display:none}
.championnats-video-confrontations[open] .championnats-confrontations-close{display:inline}
.championnats-video-confrontations[open] .championnats-confrontations-symbol::after{content:'−'}
.championnats-video-confrontations[open]>summary{border-bottom:1px solid #e5e5e5}
.championnats-video-confrontations>summary:hover{background:#f6f6f6;border-radius:6px}
.championnats-video-confrontations-content{padding:14px}

.championnats-video-feature .championnats-video-premiere{margin:-8px 0 14px;line-height:1.5;font-size:14px}
.championnats-video-premiere strong{display:inline-block;background:#ce0205;color:#fff;padding:3px 8px;border-radius:3px;margin-bottom:5px}
.championnats-video-premiere span{display:block;color:#373737}

/* Score dans l'ordre des équipes : gagnante à gauche, adverse à droite. */
.championnats-video-match-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.championnats-video-match-header>div{min-width:0}
.championnats-video-match-header .championnats-video-score{margin:0;white-space:nowrap;flex-shrink:0;font-size:28px;line-height:1.15;font-variant-numeric:tabular-nums}

/* Teinte réservée aux Premières encore à venir, sur toute la carte. */
.championnats-video-feature.championnats-video-upcoming{background:#fff5f5;border:1px solid #f0dada;border-radius:8px;padding:16px}
.championnats-video-upcoming>section:last-child{margin-bottom:0}
@media(max-width:540px){.championnats-video-feature.championnats-video-upcoming{padding:12px}}

.championnats-videos-refresh-wrap{text-align:center;margin:18px 0 40px}
.championnats-videos-content .championnats-videos-refresh{background:#ce0205;color:#fff;border:0;min-height:56px;width:min(100%,440px);padding:15px 24px;font-family:"Bebas Neue",Impact,sans-serif;font-size:26px;letter-spacing:.025em;cursor:pointer;border-radius:5px}
.championnats-videos-content .championnats-videos-refresh:hover{background:#a90204}
.championnats-videos-refresh:focus-visible{outline:3px solid #373737;outline-offset:4px}
.championnats-videos-content .championnats-videos-refresh:disabled{opacity:.6;cursor:wait}
#championnatsVideosFeature{scroll-margin-top:100px}

/* Repère vidéo discret : texte et pictogramme rouges au repos. */
.menu a.championnats-videos-menu{display:inline-flex;align-items:center;gap:6px;color:#ce0205}
.menu a.championnats-videos-menu svg{display:block;flex:0 0 16px}
.menu a.championnats-videos-menu:hover{background:#fff0f0;color:#ce0205}
.menu a.championnats-videos-menu.active{background:#ce0205;color:#fff}
.menu a.championnats-videos-menu.active svg path{fill:#ce0205}


/* Animation réservée au bouton prêt et visible : aucun rail, aucun état fixe. */
.championnats-videos-refresh-wrap{margin-top:44px}
.championnats-videos-refresh{position:relative;overflow:visible}
.championnats-videos-refresh::before,.championnats-videos-refresh::after{content:"";position:absolute;pointer-events:none;opacity:0;border-radius:50%}
.championnats-videos-refresh::before{left:5px;top:-26px;width:26px;height:26px;background:radial-gradient(circle at 32% 27%,#ff7779 0 8%,#e20a0e 24%,#b60003 72%,#760002 100%);box-shadow:0 2px 5px #0004}
.championnats-videos-refresh::after{right:39px;top:-9px;width:9px;height:9px;background:#f1a900;box-shadow:0 1px 3px #0004}
.championnats-refresh-rolling::before{animation:championnats-refresh-ball 3.4s ease-out both}
.championnats-refresh-rolling::after{animation:championnats-refresh-but 3.4s linear both}
@keyframes championnats-refresh-ball{0%{left:5px;opacity:0;transform:rotate(0deg)}8%{opacity:1}78%,88%{left:calc(100% - 89px);opacity:1;transform:rotate(638deg)}100%{left:calc(100% - 89px);opacity:0;transform:rotate(638deg)}}
@keyframes championnats-refresh-but{0%,100%{opacity:0}8%,88%{opacity:1}}
/* Passage bref explicitement souhaité, sans boucle, même en réduction des animations. */
