/* ============================================================================
   PATA AMARILLA — slider.css
   ============================================================================
   Estilos del slider/hero de la página de inicio. Full-bleed (ocupa toda la
   pantalla desde el borde superior), con el header flotando transparente
   ENCIMA gracias a .has-hero (ver header.css).

   ESTRUCTURA:
     .pa-slider          — contenedor, 100vh (100vh-64px en móvil)
     .pa-slider-track    — riel flex que se desplaza horizontalmente
     .pa-slide           — cada slide individual (imagen + overlay oscuro)
     .pa-slider-arrow    — flechas prev/next (círculo, hover amarillo #f2d119)
     .pa-slider-dots     — indicadores de posición

   No muestra título/texto superpuesto — el mensaje va incluido en la propia
   imagen del slide (igual que futurock.fm), no generado por CSS.

   Totalmente responsive de 320px a 4K: cada slide usa 'flex: 0 0 100%' (no
   solo min-width) para evitar un bug de Flexbox donde el navegador no puede
   resolver el width:100% de la imagen interna y termina usando su tamaño
   natural, causando overflow horizontal. Verificado en iPhone, iPad y desktop.

   Los datos (imagen, link) vienen del CPT 'pa_slide' via inc/cpt-slides.php
   y se renderizan en parts/slider.php. El comportamiento (autoplay, flechas,
   dots) vive en assets/js/slider.js.

   Se encola en functions.php con handle 'pa-slider', solo si hay slides
   activos (pa_get_active_slides() > 0).
   ============================================================================ */

:root {
  --pa-slider-h:        100vh;
  --pa-slider-h-mobile: calc(100vh - 64px);
  --pa-slider-overlay:  rgba(0,0,0,.45);
  --pa-slider-arrow-bg: rgba(0,0,0,.5);
  --pa-slider-accent:   #f2d119;
}

.pa-slider {
  position: relative;
  width: 100%;
  height: var(--pa-slider-h);
  overflow: hidden;
  background: #0a0a0a;
}

.pa-slider-track {
  display: flex;
  height: 100%;
  transition: transform .6s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}

.pa-slide {
  position: relative;
  /* flex:0 0 100% en vez de solo min-width evita un bug de Flexbox donde
     el navegador no puede resolver el width:100% de la imagen interna
     contra un contenedor de ancho indefinido, y termina usando el ancho
     natural de la imagen (causando overflow horizontal y recorte). */
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
}

.pa-slide-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  cursor: pointer;
}
.pa-slide-link.pa-slide-nolink { cursor: default; }

.pa-slide img,
.pa-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Capa oscura para legibilidad del texto */
.pa-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, var(--pa-slider-overlay) 100%);
  pointer-events: none;
}

/* Nota: el slider no muestra título/texto superpuesto — igual que Futurock,
   el mensaje va incluido en la propia imagen del slide, no generado por CSS. */

/* ── Flechas ──────────────────────────────────────────────────── */
.pa-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--pa-slider-arrow-bg);
  border: none;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.pa-slider-arrow:hover {
  background: var(--pa-slider-accent);
  color: #0a0a0a;
}
.pa-slider-arrow-prev { left: 24px; }
.pa-slider-arrow-next { right: 24px; }

/* ── Dots (indicadores) ──────────────────────────────────────── */
.pa-slider-dots {
  position: absolute;
  bottom: 20px;
  right: 60px;
  z-index: 3;
  display: flex;
  gap: 8px;
}
.pa-slider-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background .25s ease, width .25s ease;
}
.pa-slider-dot.active {
  background: var(--pa-slider-accent);
  width: 22px;
  border-radius: 4px;
}

/* ═══════════════════════════════════════════════════════════════
   MÓVIL — ≤ 900px
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  /* El slider ya es responsive gracias al fix de flex en .pa-slide —
     se adapta fluidamente en cualquier ancho, igual que en tablet/desktop.
     Altura ajustada: en móvil el header empuja el contenido (no hay overlay
     transparente), así que restamos su altura para no dejar sobrante. */
  .pa-slider { height: var(--pa-slider-h-mobile); }
  .pa-slider-arrow { width: 34px; height: 34px; }
  .pa-slider-arrow svg { width: 16px; height: 16px; }
  .pa-slider-arrow-prev { left: 10px; }
  .pa-slider-arrow-next { right: 10px; }
  .pa-slider-dots { right: 16px; bottom: 14px; }
}
