/* ============ Página de testimonios en vídeo ============ */

/* Cabecera: azul de la marca a la izquierda y un salón a la derecha */
.tv-hero{position:relative;display:flex;align-items:center;min-height:clamp(340px,46svh,480px);padding-block:clamp(2.5rem,1.8rem + 2vw,3.5rem);color:#fff;
  background:linear-gradient(90deg,rgba(8,25,39,.96) 0%,rgba(8,25,39,.86) 38%,rgba(8,25,39,.2) 78%),url('fotos/home-hero.webp') right center/cover no-repeat}
.tv-hero .tv-eti{display:inline-flex;align-items:center;gap:.8rem;font-size:var(--t-eyebrow,.78rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dorado-claro,#D6A06A)}
.tv-hero .tv-eti::after{content:"";width:36px;height:1px;background:currentColor;opacity:.7}
.tv-hero h1{font-family:var(--serif);font-weight:500;font-size:var(--t-display);line-height:1.06;letter-spacing:-.015em;color:#fff;margin:.8rem 0 1rem;max-width:15ch}
.tv-hero h1 em{color:var(--dorado-claro,#D6A06A)}
.tv-hero p{margin:0;max-width:40ch;font-size:var(--t-lead);line-height:1.6;color:rgba(255,255,255,.86)}

/* Testimonios reales */
.tv-sec{padding-block:var(--s-section);background:#F7F4EF}
.tv-cab{text-align:center;max-width:46rem;margin:0 auto clamp(2rem,1.4rem + 2vw,3rem)}
.tv-cab .tv-eti{font-size:var(--t-eyebrow,.78rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dorado,#9C7A4F)}
.tv-cab h2{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,1.5rem + 1.6vw,2.9rem);color:var(--noche,#0E2437);margin:.6rem 0 .7rem;letter-spacing:-.01em}
.tv-cab h2 em{color:var(--dorado,#9C7A4F)}
.tv-cab p{margin:0;color:#5B6370;line-height:1.65}

.tv-carrusel{position:relative}
.tv-pista{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * 1.4rem) / 3);gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.3rem .1rem 1rem}
.tv-pista::-webkit-scrollbar{display:none}
.tv-card{scroll-snap-align:start;min-width:0}
.tv-thumb{position:relative;display:block;width:100%;aspect-ratio:4/5;padding:0;border:0;border-radius:var(--r-card,16px);overflow:hidden;cursor:pointer;
  background:linear-gradient(160deg,#16324B,#0E2437);box-shadow:var(--sh-card)}
.tv-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tv-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,25,39,0) 55%,rgba(8,25,39,.45))}
.tv-thumb:hover img{transform:scale(1.04)}
.tv-sin-portada{position:absolute;inset:0;background:url('logo-mark-light.svg') center/34% no-repeat;opacity:.18}
.tv-play{position:absolute;left:50%;top:50%;z-index:1;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.94);
  box-shadow:0 10px 26px rgba(0,0,0,.25);transition:transform .25s ease,background .25s}
.tv-play::before{content:"";position:absolute;left:50%;top:50%;margin:-11px 0 0 -6px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--noche,#0E2437)}
.tv-thumb:hover .tv-play,.tv-thumb:focus-visible .tv-play{transform:scale(1.08);background:#fff}
.tv-thumb:focus-visible{outline:3px solid var(--dorado,#9C7A4F);outline-offset:3px}
.tv-dur{position:absolute;right:.8rem;bottom:.8rem;z-index:1;padding:.2rem .5rem;border-radius:6px;background:rgba(8,25,39,.8);color:#fff;font:600 .78rem var(--sans)}
.tv-nombre{font-family:var(--serif);font-weight:500;font-size:1.3rem;color:var(--noche,#0E2437);margin:1rem 0 .15rem}
.tv-rol{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dorado,#9C7A4F)}
.tv-frase{margin:.8rem 0 0;padding-left:.9rem;border-left:2px solid var(--dorado-claro,#D6A06A);font-family:var(--serif);font-style:italic;font-size:1.02rem;line-height:1.5;color:#3A4250}

.tv-flecha{position:absolute;top:calc((100% - 6rem) / 2);z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid var(--linea,#E4DCCE);background:#fff;color:var(--noche,#0E2437);
  display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh-card);transition:border-color .2s,color .2s}
.tv-flecha:hover{border-color:var(--dorado,#9C7A4F);color:var(--dorado,#9C7A4F)}
.tv-flecha svg{width:18px;height:18px}
.tv-flecha--ant{left:-23px}
.tv-flecha--sig{right:-23px}
.tv-sin-flechas .tv-flecha{display:none}
.tv-puntos{display:flex;justify-content:center;gap:.5rem;margin-top:1.2rem}
.tv-punto{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#D8CFC1;cursor:pointer;transition:background .2s,transform .2s}
.tv-punto.is-on{background:var(--dorado,#9C7A4F);transform:scale(1.15)}

/* Mientras no hay vídeos publicados */
.tv-pronto{display:none;text-align:center;max-width:34rem;margin:0 auto;padding:clamp(2rem,1.5rem + 2vw,3rem);border:1px dashed #D8CFC1;border-radius:var(--r-card,16px);background:#fff}
.tv-pronto strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.4rem;color:var(--noche,#0E2437);margin-bottom:.4rem}
.tv-pronto p{margin:0;color:#5B6370}
.tv-vacio .tv-pista,.tv-vacio .tv-flecha,.tv-vacio .tv-puntos{display:none}
.tv-vacio .tv-pronto{display:block}
.tv-cargando .tv-flecha{visibility:hidden}

/* Reproductor */
.tv-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);background:rgba(8,25,39,.86);backdrop-filter:blur(4px)}
.tv-modal[hidden]{display:none}
.tv-reproductor{position:relative;width:min(100%,960px);aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.tv-reproductor.es-vertical{width:auto;height:min(86vh,800px);aspect-ratio:9/16}
.tv-reproductor iframe,.tv-reproductor video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.tv-cerrar{position:absolute;top:clamp(10px,2vw,22px);right:clamp(10px,2vw,22px);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.2rem;cursor:pointer}
.tv-cerrar:hover{background:rgba(255,255,255,.26)}

/* Llamada final */
.tv-cta{position:relative;overflow:hidden;color:#fff;padding-block:clamp(3.5rem,2.5rem + 4vw,6rem);
  background:linear-gradient(90deg,rgba(8,25,39,.97) 0%,rgba(8,25,39,.9) 40%,rgba(8,25,39,.15) 85%),url('fotos/club-villa.webp') right center/cover no-repeat}
.tv-cta .tv-raya{display:block;width:44px;height:2px;background:var(--dorado-claro,#D6A06A);margin-bottom:1.3rem}
.tv-cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,1.5rem + 1.8vw,3rem);line-height:1.1;color:#fff;margin:0 0 1rem;max-width:16ch}
.tv-cta h2 em{color:var(--dorado-claro,#D6A06A)}
.tv-cta p{margin:0 0 1.8rem;max-width:42ch;color:rgba(255,255,255,.84);line-height:1.65}

@media (max-width:1000px){
  .tv-pista{grid-auto-columns:calc((100% - 1.4rem) / 2)}
  .tv-flecha--ant{left:-12px}
  .tv-flecha--sig{right:-12px}
}
@media (max-width:640px){
  .tv-pista{grid-auto-columns:82%;gap:1rem}
  .tv-flecha{display:none}
  .tv-hero{background:linear-gradient(90deg,rgba(8,25,39,.92),rgba(8,25,39,.7)),url('fotos/home-hero.webp') 70% center/cover no-repeat}
  .tv-cta{background:linear-gradient(180deg,rgba(8,25,39,.95),rgba(8,25,39,.8)),url('fotos/club-villa.webp') center/cover no-repeat}
}
