/* ===== INNER.CSS — específico de catalogo.php e indoor.php =====
   Carga después de base.css. */
section{padding:90px 0;position:relative}

/* ===== PAGE HEADER ===== */
.page-head{background:linear-gradient(180deg,rgba(254,80,0,.08),transparent);border-bottom:1px solid var(--line);padding:70px 0 60px}
.page-head .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.page-head .meta{margin-top:22px;color:var(--muted);font-family:var(--display);font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase}

/* ===== SECCIÓN HEAD ===== */
.range-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:46px}

/* ===== PRODUCTOS ===== */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:0}
.p-card{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);transition:.2s}
.p-card:hover{border-color:var(--orange)}
.p-media{position:relative;background:#fff;aspect-ratio:1/1;overflow:hidden;padding:18px}
.p-media.dark{background:#000}
.p-tarjeta{display:block;font-family:var(--body);font-size:.78rem;font-weight:400;color:var(--muted);letter-spacing:0;text-transform:none;margin-top:3px}
.p-media img{width:100%;height:100%;object-fit:contain;transition:.5s}
.p-card:hover .p-media img{transform:scale(1.05)}
.p-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:1}
.p-badge{font-family:var(--display);font-size:.64rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:5px 10px;color:#000;background:#fff}
.p-badge.orange{background:var(--orange);color:#000}
.p-info{padding:18px;display:flex;flex-direction:column;flex:1}
.p-cat{font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.p-name{font-family:var(--display);font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:-.2px;line-height:1.1;margin-bottom:10px}
.p-desc{color:var(--muted);font-size:.86rem;margin-bottom:14px}
.p-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.p-spec{background:var(--bg);border:1px solid var(--line);padding:8px 10px}
.p-spec b{display:block;font-family:var(--display);font-size:.92rem;font-weight:800;color:var(--orange);line-height:1.1}
.p-spec span{display:block;font-size:.64rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.p-note{font-size:.76rem;color:var(--muted);font-style:italic;margin-bottom:14px}
.p-price{font-family:var(--display);font-size:1.25rem;font-weight:800;margin-top:auto;margin-bottom:14px}
.p-price.consult{font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.p-btn{display:inline-flex;justify-content:center;font-family:var(--display);background:var(--orange);color:#000;padding:12px;font-size:.74rem;font-weight:800;font-style:italic;letter-spacing:1.5px;text-transform:uppercase;transition:.2s}
.p-btn:hover{background:#fff}

/* ===== BANNER ===== */
.band{color:#fff;text-align:center;padding:110px 0;background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),radial-gradient(circle at 50% 0%,#1c1e22,#000 70%)}
.band h2{font-family:var(--display);font-style:italic;font-size:clamp(2.2rem,5.5vw,4rem);font-weight:900;text-transform:uppercase;letter-spacing:-1px;line-height:.95;margin-bottom:14px}
.band h2 em{color:var(--orange);font-style:italic}
.band p{color:#d5d5d7;max-width:560px;margin:0 auto 30px;font-size:1.05rem}
.band-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===== RESPONSIVE ===== */
@media(max-width:960px){
  .prod-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  section{padding:60px 0}
  .page-head{padding:50px 0 40px}
  .prod-grid{grid-template-columns:1fr;gap:16px}
}

/* ===== CARRUSEL Y LIGHTBOX (catálogo) ===== */
.p-media.carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:18px;opacity:0;transition:opacity .3s}
.p-media.carousel img.active{opacity:1}
.car-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border:none;background:rgba(0,0,0,.4);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;border-radius:50%;display:grid;place-items:center;opacity:0;transition:.2s;padding:0}
.p-media.carousel:hover .car-nav{opacity:1}
.car-nav.prev{left:8px} .car-nav.next{right:8px}
.car-nav:hover{background:var(--orange);color:#000}
.car-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:6px;justify-content:center;z-index:3}
.car-dots span{width:7px;height:7px;border-radius:50%;background:rgba(0,0,0,.28);cursor:pointer;transition:.2s}
.car-dots span.active{background:var(--orange)}
.car-dots span.swatch{width:16px;height:16px;border:2px solid rgba(0,0,0,.28);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.car-dots span.swatch.active{border-color:var(--orange);transform:scale(1.12)}
.ago-flag{position:absolute;top:12px;right:12px;background:rgba(198,32,32,.95);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:1px;padding:5px 9px;border-radius:4px;z-index:4;text-transform:uppercase;pointer-events:none}
.p-media{cursor:zoom-in}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;place-items:center;z-index:1000;padding:24px;cursor:zoom-out}
.lightbox.open{display:grid}
.lb-inner{display:flex;max-width:1000px;width:100%;max-height:88vh;background:var(--bg-2);border:1px solid var(--line);cursor:auto;overflow:hidden}
.lb-img-wrap{position:relative;flex:1 1 55%;display:grid;place-items:center;background:#fff;padding:20px;min-width:0}
.lb-img-wrap.dark{background:#000}
.lb-variants{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px;align-items:center}
.lb-variants .lb-vlabel{width:100%;font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.lb-variants span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:.2s}
.lb-variants span.active{background:var(--orange)}
.lb-variants span.swatch{width:24px;height:24px;border:2px solid rgba(255,255,255,.28);box-shadow:0 1px 4px rgba(0,0,0,.4)}
.lb-variants span.swatch.active{border-color:var(--orange);transform:scale(1.1)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:none;background:rgba(0,0,0,.35);color:#fff;font-size:1.6rem;cursor:pointer;border-radius:50%;display:grid;place-items:center;z-index:2}
.lb-nav:hover{background:var(--orange)}
.lb-nav.prev{left:12px} .lb-nav.next{right:12px}
.lightbox img{max-width:100%;max-height:82vh;object-fit:contain}
.lb-info{flex:1 1 45%;padding:26px;overflow-y:auto;display:flex;flex-direction:column}
.lb-info .p-name{font-size:1.15rem}
.lb-close{position:absolute;top:16px;right:26px;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer;z-index:2}
.lb-link{margin-top:14px;background:none;border:1px solid var(--line);color:var(--muted);padding:11px;font-size:.78rem;cursor:pointer;letter-spacing:1px;font-family:inherit;transition:.2s}
.lb-link:hover{color:var(--orange);border-color:var(--orange)}
.p-card.hl{outline:2px solid var(--orange);outline-offset:3px}
@media(max-width:760px){.lb-inner{flex-direction:column;max-height:90vh;overflow-y:auto}.lb-img-wrap{flex:none}.lightbox img{max-height:48vh}}

/* ===== ENTRENA INDOOR (indoor.php) ===== */
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:22px;margin-top:36px}
.vid-card{background:var(--bg-2);border:1px solid var(--line);overflow:hidden;transition:.2s}
.vid-card:hover{border-color:var(--orange)}
.vid-frame{position:relative;aspect-ratio:9/16;background:#000}
.vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-cap{padding:13px 16px;font-size:.85rem;color:var(--muted);font-family:var(--display);letter-spacing:.3px}
.indoor-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}
.indoor-hero .btns{margin-top:26px}
.indoor-hero-vid{max-width:300px;margin-left:auto;width:100%}
.indoor-hero-vid .vid-frame{border:1px solid var(--line)}
@media(max-width:820px){.indoor-hero{grid-template-columns:1fr}.indoor-hero-vid{margin:10px auto 0}}
