/* Sesiones del Concejo: un reproductor y la lista de sesiones (solo en la portada) */
.sesiones{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:22px; align-items:start}
.sesiones__principal{min-width:0}
.reproductor{position:relative; aspect-ratio:16/9; border-radius:var(--radio); overflow:hidden; background:var(--azul-950); box-shadow:var(--sombra-alta)}
.reproductor iframe{position:absolute; top:0; left:0; width:100%; height:100%; border:0}
.reproductor__portada{position:absolute; top:0; right:0; bottom:0; left:0; display:block; color:#fff}
.reproductor__portada img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease}
.reproductor__portada:hover img{transform:scale(1.02)}
.reproductor__velo{position:absolute; top:0; right:0; bottom:0; left:0; display:grid; place-items:center; background:linear-gradient(to top,rgba(8,33,63,.7),rgba(8,33,63,.15) 55%)}
.reproductor__boton{width:76px; height:76px; border-radius:50%; background:var(--oro); color:var(--azul-950); display:grid; place-items:center; box-shadow:0 8px 24px rgba(0,0,0,.35); transition:transform .18s ease}
.reproductor__portada:hover .reproductor__boton{transform:scale(1.07)}
.reproductor__boton svg{width:30px; height:30px; margin-left:4px}
.reproductor__info{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 18px; padding:16px 2px 0}
.reproductor__titulo{margin:0; font-size:1.15rem; font-weight:800; color:var(--tinta)}
.reproductor__titulo small{display:block; margin-bottom:3px; font-size:.74rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--azul-700)}
.reproductor__yt{font-size:.86rem; font-weight:700; white-space:nowrap}

.sesiones__lista{background:#fff; border:1px solid var(--borde); border-radius:var(--radio); box-shadow:var(--sombra); display:flex; flex-direction:column; min-height:0}
.sesiones__cabecera{margin:0; display:flex; justify-content:space-between; align-items:baseline; padding:14px 16px; border-bottom:1px solid var(--borde); font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--tinta)}
.sesiones__cabecera span{font-weight:600; letter-spacing:0; text-transform:none; color:var(--suave)}
.sesiones__items{list-style:none; margin:0; padding:6px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin}
.sesiones__items li{margin:0}
.sesion{display:grid; grid-template-columns:112px minmax(0,1fr); gap:12px; align-items:center; padding:8px; border-radius:var(--radio); color:var(--texto); border-left:3px solid transparent; transition:background-color .15s ease}
.sesion:hover{background:var(--azul-50); text-decoration:none}
.sesion img{width:112px; aspect-ratio:16/9; object-fit:cover; border-radius:2px; background:var(--azul-950)}
.sesion__fecha{display:block; font-size:.86rem; font-weight:700; color:var(--tinta); line-height:1.3}
.sesion__parte{display:block; font-size:.78rem; color:var(--suave); line-height:1.35; margin-top:2px}
.sesion[aria-current="true"]{background:var(--azul-50); border-left-color:var(--oro)}
.sesion[aria-current="true"] .sesion__fecha::before{content:"▶ Reproduciendo"; display:block; margin-bottom:2px; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--azul-700)}
/* Safari < 15 y otros sin aspect-ratio: sin esto el reproductor mide 0 de alto */
@supports not (aspect-ratio:16/9){
  .reproductor{height:0; padding-top:56.25%}
}
.sesiones__pie{padding:12px 16px; border-top:1px solid var(--borde); font-size:.84rem; font-weight:700}

@media (max-width:999px){
  .sesiones{grid-template-columns:1fr}
  .sesiones__items{max-height:min(420px,60vh)}
}
@media (max-width:420px){
  .sesion{grid-template-columns:96px minmax(0,1fr)}
  .sesion img{width:96px}
  .reproductor__boton{width:62px; height:62px}
}
