/*
Theme Name: JJM Sport - One Page
Theme URI: https://jjmsport.com
Description: Tema deportivo con estilo dinámico, naranja y azul neón
Version: 3.0
Author: JJM Sport
*/

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --neon:#ff8c00;
    --neon-dark:#e07800;
    --neon-rgb:255,140,0;
    --red:#e63946;
    --red-dark:#c1121f;
    --blue:#00b4ff;
    --blue-dark:#0090cc;
    --blue-rgb:0,180,255;
    --green:#07dd05;
    --gradient-fire:linear-gradient(135deg,#ff8c00 0%,#e63946 100%);
    --gradient-fire-hover:linear-gradient(135deg,#ffaa33 0%,#ff4d5a 100%);
    --black:#0a0a0a;
    --dark:#111111;
    --dark2:#1a1a1a;
    --dark3:#222222;
    --gray:#888;
    --gray-light:#ccc;
    --white:#fff;
    --bg-main:#0a0a0a;
    --bg-section:#111111;
    --bg-card:#1a1a1a;
    --bg-input:#222222;
    --text-primary:#fff;
    --text-secondary:#ccc;
    --text-muted:#888;
    --border:rgba(255,255,255,.06);
    --header-bg:rgba(10,10,10,0.95);
    --overlay-dark:rgba(10,10,10,.85);
    --shadow-neon:rgba(255,140,0,.1);
    --shadow-blue:rgba(0,180,255,.15);
    --radius:8px;
    --radius-lg:14px;
    --transition:.3s ease;
}
html{scroll-behavior:smooth}
body{font-family:'Syne','Segoe UI',sans-serif;color:var(--text-secondary);background:var(--bg-main);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
.container{max-width:1280px;margin:0 auto;padding:0 2rem}

/* ===== HEADER ===== */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.2rem 0;transition:all var(--transition)}
.header.scrolled{background:var(--header-bg);backdrop-filter:blur(12px);padding:.7rem 0}
.header-container{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:2rem}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo-img{height:180px;width:auto!important;max-height:180px;filter:drop-shadow(0 0 1px rgba(255,255,255,.6));transition:height var(--transition)}
.header.scrolled .logo-img{height:60px;max-height:60px}
.footer-logo{display:inline-block;margin-bottom:1rem}
.footer-logo .logo-img{height:200px;max-height:200px}
html.light-neon .logo-img{filter:none}
.nav-menu{display:flex;gap:2rem;margin-left:3rem}
.nav-link{font-size:.85rem;font-weight:600;color:rgba(255,255,255,.7);transition:color var(--transition);text-transform:uppercase;letter-spacing:.5px}
.nav-link:hover{color:var(--neon)}
.btn-header{padding:.55rem 1.5rem;background:var(--neon);color:var(--black);font-weight:700;font-size:.8rem;border-radius:50px;text-transform:uppercase;letter-spacing:.5px;transition:all var(--transition)}
.btn-header:hover{background:var(--white);transform:translateY(-1px)}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.hamburger span{width:24px;height:2px;background:var(--white);transition:all var(--transition);border-radius:2px}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ===== BUTTONS ===== */
.btn-neon{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 2.2rem;background:var(--gradient-fire);color:#fff;border:none;border-radius:50px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all var(--transition);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 15px rgba(255,140,0,.3)}
.btn-neon:hover{background:var(--gradient-fire-hover);transform:translateY(-2px);box-shadow:0 8px 25px rgba(230,57,70,.4),0 0 0 2px rgba(0,180,255,.3)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 2.2rem;background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.3);border-radius:50px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all var(--transition);text-transform:uppercase;letter-spacing:.5px}
.btn-outline:hover{border-color:var(--neon);color:var(--neon)}
.btn-full{width:100%}

/* ===== HERO SLIDER ===== */
.hero-slider{position:relative;height:100vh;overflow:hidden}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;z-index:0}
.slide.active{opacity:1;z-index:1}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,10,.85) 0%,rgba(10,10,10,.4) 60%,transparent 100%)}
.slide-overlay--brand{background:radial-gradient(ellipse at center,rgba(10,10,10,.6) 0%,rgba(10,10,10,.85) 100%)}
.slide-content{position:absolute;bottom:15%;left:8%;z-index:2;max-width:600px}
/* Logo: floats independently like "in front of text" in Word */
.slide-logo{position:absolute;z-index:3;left:50%;top:45%;transform:translate(-50%,-50%);height:clamp(500px,90vh,1300px);width:auto;max-width:95vw;pointer-events:none;filter:drop-shadow(0 4px 30px rgba(255,140,0,.25));animation:logoPulse 4s ease-in-out infinite}
/* Brand text: fixed at bottom, independent of logo */
.slide-content--brand-text{position:absolute;z-index:4;bottom:6rem;left:50%;transform:translateX(-50%);text-align:center;max-width:600px}
.slide-content--center{position:absolute;bottom:15%;left:8%;z-index:2;max-width:600px}
@keyframes logoPulse{0%,100%{filter:drop-shadow(0 4px 30px rgba(255,140,0,.2))}50%{filter:drop-shadow(0 4px 50px rgba(255,140,0,.45))}}
.slide-tagline{font-family:'Unbounded',sans-serif;font-size:clamp(1rem,2.5vw,1.6rem);font-weight:600;color:var(--white);letter-spacing:3px;text-transform:uppercase;margin-bottom:2rem;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.slide-tag{display:inline-block;background:var(--neon);color:var(--black);padding:.3rem 1rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem}
.slide-content h1{font-family:'Unbounded',sans-serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;color:var(--white);line-height:1.05;margin-bottom:1rem}
.slide-content p{font-size:1rem;color:rgba(255,255,255,.7);margin-bottom:2rem;max-width:440px;line-height:1.7}
.slide-content--center p{max-width:600px}
.slide-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.slider-nav{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:1.5rem}
.slider-btn{background:rgba(255,255,255,.15);border:none;color:var(--white);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition);backdrop-filter:blur(8px)}
.slider-btn:hover{background:var(--neon);color:var(--black)}
.slider-dots{display:flex;gap:.5rem}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:all var(--transition)}
.dot.active{background:var(--neon);width:30px;border-radius:5px}

/* ===== SECTIONS COMMON ===== */
.section-header-dark{text-align:center;margin-bottom:3.5rem}
.tag-neon{display:inline-block;color:var(--neon);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:.8rem}
.section-header-dark h2{font-family:'Unbounded',sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:var(--text-primary);text-transform:uppercase}

/* ===== SPORTS GRID ===== */
.sports-section{padding:100px 0;background:var(--bg-section)}
.sports-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:1.2rem}
.sport-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer}
.sport-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.sport-card:hover img{transform:scale(1.1)}
.sport-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.2) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:all var(--transition)}
.sport-card:hover .sport-overlay{background:linear-gradient(0deg,rgba(255,140,0,.15) 0%,rgba(10,10,10,.3) 100%)}
.sport-number{font-family:'Unbounded',sans-serif;font-size:.7rem;color:var(--neon);font-weight:700;letter-spacing:1px;margin-bottom:.3rem}
.sport-card h3{font-family:'Unbounded',sans-serif;font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:.3rem}
.sport-card p{font-size:.8rem;color:rgba(255,255,255,.6);margin-bottom:.5rem}
.sport-link{font-size:.75rem;color:var(--neon);font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:0;transform:translateY(10px);transition:all var(--transition)}
.sport-card:hover .sport-link{opacity:1;transform:translateY(0)}
.sport-large{grid-column:span 2;grid-row:span 2}
.sport-large h3{font-size:1.6rem}
.sport-wide{grid-column:span 2}

/* ===== MOSAIC GALLERY ===== */
.mosaic-section{padding:0;background:var(--bg-main)}
.mosaic-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:4px}
.mosaic-item{position:relative;overflow:hidden}
.mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.mosaic-item:hover img{transform:scale(1.08)}
.mosaic-tall{grid-row:span 2}
.mosaic-wide{grid-column:span 2}
.mosaic-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(transparent,rgba(10,10,10,.9))}
.mosaic-caption h3{font-family:'Unbounded',sans-serif;font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.3rem}
.mosaic-caption p{font-size:.8rem;color:var(--neon)}

/* ===== FABRICA BANNER ===== */
.fabrica-banner{padding:4rem 0;background:linear-gradient(135deg,var(--dark) 0%,#0a0a0a 50%,var(--dark) 100%);border-top:2px solid var(--neon);border-bottom:2px solid var(--neon);position:relative;overflow:hidden}
.fabrica-banner::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 50%,rgba(var(--neon-rgb),.08) 0%,transparent 60%);pointer-events:none}
.fabrica-content{display:flex;align-items:center;justify-content:space-between;gap:3rem}
.fabrica-text{flex:1}
.fabrica-label{display:inline-block;font-family:'Unbounded',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:4px;color:var(--black);background:var(--neon);padding:0.4rem 1.2rem;border-radius:4px;margin-bottom:1rem;text-transform:uppercase}
.fabrica-text h2{font-family:'Unbounded',sans-serif;font-size:2rem;font-weight:800;color:var(--white);line-height:1.2;margin-bottom:0.8rem}
.fabrica-text p{font-size:1rem;color:var(--text-secondary);max-width:500px;line-height:1.7}
.fabrica-highlights{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;flex-shrink:0}
.fabrica-item{display:flex;align-items:center;gap:.7rem;padding:1rem 1.4rem;background:rgba(var(--neon-rgb),.06);border:1px solid rgba(var(--neon-rgb),.15);border-radius:var(--radius);transition:all var(--transition)}
.fabrica-item:hover{border-color:var(--neon);background:rgba(var(--neon-rgb),.12)}
.fabrica-icon{font-size:1.4rem;color:var(--neon)}
.fabrica-item strong{font-size:.85rem;color:var(--white);font-weight:600}

/* ===== STATS BAR ===== */
.stats-bar{padding:3rem 0;background:var(--neon)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat-number{font-family:'Unbounded',sans-serif;font-size:2.5rem;font-weight:800;color:var(--black);display:block}
.stat-label{font-size:.85rem;font-weight:600;color:rgba(10,10,10,.7);text-transform:uppercase;letter-spacing:1px}

/* ===== CATALOG ===== */
.catalog-section{padding:100px 0;background:var(--bg-card)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.catalog-card{background:var(--bg-input);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);transition:all var(--transition)}
.catalog-card:hover{border-color:var(--neon);transform:translateY(-4px);box-shadow:0 12px 40px var(--shadow-neon)}
.catalog-img{height:180px;overflow:hidden;background:var(--dark)}
.catalog-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.catalog-card:hover .catalog-img img{transform:scale(1.08)}
.catalog-info{padding:1.2rem}
.catalog-info h3{font-family:'Unbounded',sans-serif;font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}
.catalog-info p{font-size:.8rem;color:var(--gray);margin-bottom:.8rem}
.catalog-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.8rem;border-top:1px solid var(--border)}
.catalog-count{font-size:.75rem;color:var(--neon);font-weight:600}
.catalog-arrow{color:var(--gray);font-size:1.2rem;transition:all var(--transition)}
.catalog-card:hover .catalog-arrow{color:var(--neon);transform:translateX(4px)}

/* ===== FEATURES ===== */
.features-dark{padding:100px 0;background:var(--bg-main)}
.features-flex{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.feature-img{position:relative}
.feature-img>img{border-radius:var(--radius-lg);width:100%;height:450px;object-fit:cover}
.feature-img-accent{position:absolute;bottom:-2rem;right:-2rem;width:200px;height:200px;border-radius:var(--radius-lg);overflow:hidden;border:4px solid var(--black);box-shadow:0 12px 40px rgba(0,0,0,.5)}
.feature-img-accent img{width:100%;height:100%;object-fit:cover}
.feature-text h2{font-family:'Unbounded',sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:var(--text-primary);margin-bottom:2rem;line-height:1.15}
.feature-list{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2rem}
.feature-item{display:flex;gap:1rem;align-items:start}
.fi-icon{width:44px;height:44px;background:rgba(255,140,0,.1);color:var(--neon);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.feature-item strong{display:block;color:var(--text-primary);font-size:.9rem;margin-bottom:.2rem}
.feature-item p{font-size:.8rem;color:var(--gray)}

/* ===== CONTACT ===== */
.contact-section{padding:100px 0;background:var(--bg-section)}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.contact-left h2{font-family:'Unbounded',sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:var(--text-primary);margin-bottom:1rem;line-height:1.15}
.contact-left>p{color:var(--gray);margin-bottom:2rem;font-size:.95rem}
.contact-info-list{display:flex;flex-direction:column;gap:1.2rem}
.ci{display:flex;gap:1rem;align-items:start}
.ci .ci-icon{width:44px;height:44px;background:rgba(255,140,0,.1);color:var(--neon);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.ci strong{color:var(--white);font-size:.85rem}
.ci div{font-size:.85rem;color:var(--gray);line-height:1.5}
.contact-form{background:var(--bg-card);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1rem}
.form-group input,.form-group textarea{width:100%;padding:.8rem 1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;font-size:.9rem;transition:border-color var(--transition)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--neon)}
.form-group textarea{resize:vertical}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray)}

/* ===== FOOTER ===== */
.footer-dark{background:var(--bg-card);padding:3rem 0 0;border-top:1px solid var(--border)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-grid p{font-size:.85rem;color:var(--gray);line-height:1.6}
.footer-grid h4{font-family:'Unbounded',sans-serif;font-size:.8rem;font-weight:600;color:var(--white);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}
.footer-grid a{display:block;font-size:.85rem;color:var(--gray);margin-bottom:.5rem;transition:color var(--transition)}
.footer-grid a:hover{color:var(--neon)}
.footer-bottom{padding:1.5rem 0;text-align:center;font-size:.75rem;color:var(--gray)}

/* ===== PAGE TIENDA (dark theme update) ===== */
.page-tienda{padding-top:70px;background:var(--bg-section)}
.page-tienda body,.page-tienda{font-family:'Syne','Segoe UI',sans-serif;color:var(--text-secondary)}
.tienda-main{min-height:calc(100vh - 70px);background:var(--bg-section)}
.tienda-container{max-width:1300px;margin:0 auto;padding:1.5rem 2rem 3rem;display:grid;grid-template-columns:250px 1fr;gap:2rem}
.tienda-sidebar{position:sticky;top:80px;height:fit-content;background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border)}
.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.sidebar-header h3{font-family:'Unbounded',sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary)}
.sidebar-close{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray)}
.filter-group{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.filter-group:last-of-type{border-bottom:none;margin-bottom:1rem}
.filter-title{font-size:.75rem;font-weight:600;color:var(--neon);text-transform:uppercase;letter-spacing:1px;margin-bottom:.8rem}
.filter-option{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:color var(--transition)}
.filter-option:hover{color:var(--neon)}
.filter-option input[type="radio"]{accent-color:var(--neon);width:16px;height:16px}
.filter-count{margin-left:auto;font-size:.7rem;color:var(--gray)}
.filter-search{width:100%;padding:.6rem .8rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;font-size:.85rem;transition:border-color var(--transition)}
.filter-search:focus{outline:none;border-color:var(--neon)}
.tienda-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.tienda-breadcrumb{font-size:.8rem;color:var(--gray)}
.tienda-breadcrumb a{color:var(--neon)}
.source-badge{display:inline-block;margin-left:.5rem;padding:2px 8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:50px;background:var(--neon);color:var(--black)}
.tienda-info{display:flex;align-items:center;gap:1rem}
.tienda-count{font-size:.85rem;color:var(--gray-light);font-weight:500}
.btn-filter-mobile{display:none;padding:.5rem 1rem;background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);font-size:.85rem;cursor:pointer;color:var(--gray-light)}
.quick-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.pill{padding:.4rem 1rem;border:1px solid rgba(255,255,255,.1);background:transparent;border-radius:50px;font-size:.8rem;font-weight:500;cursor:pointer;color:var(--gray);transition:all var(--transition);font-family:inherit}
.pill:hover{border-color:var(--neon);color:var(--neon)}
.pill.active{background:var(--neon);color:var(--black);border-color:var(--neon);font-weight:700}
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}
.product-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:all var(--transition);display:flex;flex-direction:column}
.product-card:hover{border-color:var(--neon);box-shadow:0 8px 30px var(--shadow-neon);transform:translateY(-2px)}
.product-img{height:180px;overflow:hidden;position:relative;background:var(--bg-input);display:flex;align-items:center;justify-content:center}
.product-img img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease;padding:6px}
.product-card:hover .product-img img{transform:scale(1.06)}
.product-badge{position:absolute;top:8px;left:8px;background:var(--neon);color:var(--black);font-size:.6rem;padding:.2rem .5rem;border-radius:4px;font-weight:700;text-transform:uppercase}
.product-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark3),var(--dark2));color:var(--neon);font-family:'Unbounded',sans-serif;font-size:2.5rem;font-weight:700}
.product-body{padding:1rem;display:flex;flex-direction:column;flex:1}
.product-name{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.3;margin-bottom:.3rem}
.product-color{font-size:.7rem;color:var(--neon);font-weight:500;margin-bottom:.2rem}
.product-material{font-size:.7rem;color:var(--gray);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.5rem}
.product-footer{margin-top:auto;display:flex;flex-direction:column;gap:.6rem;padding-top:.8rem;border-top:1px solid var(--border)}
.product-price-row{display:flex;align-items:baseline;gap:.3rem}
.product-actions{display:flex;gap:.4rem;align-items:center}
.product-price{font-size:.95rem;font-weight:700;color:var(--text-primary)}
.product-iva{font-size:.75rem;color:var(--text-primary);font-weight:600}
.btn-detail{padding:.35rem .8rem;background:rgba(255,140,0,.1);color:var(--neon);border:none;border-radius:var(--radius);font-size:.7rem;font-weight:600;cursor:pointer;transition:all var(--transition);font-family:inherit;white-space:nowrap}
.btn-detail:hover{background:var(--neon);color:var(--black)}
.no-results{text-align:center;padding:4rem 2rem;color:var(--gray)}
.no-results p{margin-bottom:1rem;font-size:1rem}

/* ===== MODAL ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:2000;display:none;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(6px)}
.modal-overlay.open{display:flex}
.modal-box{background:var(--bg-card);border-radius:var(--radius-lg);max-width:780px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.modal-close{position:absolute;top:12px;right:16px;background:var(--bg-input);border:none;font-size:1.4rem;cursor:pointer;color:var(--text-secondary);z-index:10;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}
.modal-close:hover{color:var(--neon)}
.modal-grid{display:grid;grid-template-columns:1fr 1fr}
.modal-img{background:var(--bg-input);min-height:300px;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal-img img{width:100%;height:auto;max-height:450px;object-fit:contain}
.modal-info{padding:2rem}
.modal-info h2{font-family:'Unbounded',sans-serif;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1.2rem;padding-right:1rem}
.modal-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
.modal-table tr{border-bottom:1px solid var(--border)}
.modal-table td{padding:.5rem .3rem;font-size:.8rem;vertical-align:top;color:var(--text-secondary)}
.td-label{font-weight:600;color:var(--neon);width:35%;text-transform:capitalize;font-size:.75rem}
.td-price{font-size:1rem;font-weight:700;color:var(--white)}

/* ===== SELECTOR DISCIPLINA CENTRO LOGOS ===== */
.modal-sport-selector{margin:1rem 0}
.sport-selector-label{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.6rem}
.sport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-height:220px;overflow-y:auto;padding:.3rem}
.sport-option{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem .3rem;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s}
.sport-option:hover{border-color:rgba(var(--neon-rgb),.4)}
.sport-option.selected{border-color:var(--neon);background:rgba(var(--neon-rgb),.1)}
.sport-option img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.sport-option span{font-size:.6rem;text-align:center;color:var(--text-secondary);line-height:1.2}
.sport-option.selected span{color:var(--neon);font-weight:700}
html.light-neon .sport-option.selected{background:rgba(var(--neon-rgb),.08);border-color:var(--neon-dark)}
html.light-neon .sport-option.selected span{color:var(--neon-dark)}

/* ===== WHATSAPP FLOATING BUTTON ===== */
.whatsapp-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:all .3s ease;text-decoration:none}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(37,211,102,.4)}
.whatsapp-float svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}

/* ===== PERSONALIZACIÓN MEDALLAS ===== */
.modal-personalizar{margin:1rem 0;padding:1rem;background:rgba(var(--neon-rgb),.06);border:1px solid rgba(var(--neon-rgb),.2);border-radius:var(--radius)}
.personalizar-check{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary);line-height:1.4}
.personalizar-check input[type="checkbox"]{width:18px;height:18px;accent-color:var(--neon);flex-shrink:0;margin-top:2px;cursor:pointer}
.personalizar-text strong{color:var(--neon);font-weight:700}
.personalizar-price{color:var(--white);font-weight:600}
html.light-neon .personalizar-text strong{color:var(--neon-dark)}
html.light-neon .personalizar-price{color:var(--black)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .sports-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}
    .sport-large{grid-column:span 2;grid-row:span 1}
    .catalog-grid{grid-template-columns:repeat(2,1fr)}
    .features-flex{grid-template-columns:1fr;gap:2rem}
    .feature-img-accent{right:1rem;bottom:-1rem;width:150px;height:150px}
    .contact-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
    .mosaic-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:200px}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}

@media(max-width:768px){
    .hamburger{display:flex}
    .btn-header{display:none}
    .nav-menu{position:fixed;top:0;left:-100%;width:280px;height:100vh;background:var(--dark2);flex-direction:column;padding:5rem 2rem 2rem;gap:1.5rem;box-shadow:0 0 60px rgba(0,0,0,.5);transition:left .3s ease;z-index:999}
    .nav-menu.open{left:0}
    .slide-content{left:5%;right:5%;bottom:12%}
    .slide-content h1{font-size:2.2rem}
    .sports-grid{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
    .sport-large,.sport-wide{grid-column:span 2}
    .mosaic-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
    .mosaic-tall{grid-row:span 1}
    .mosaic-wide{grid-column:span 1}
    .fabrica-content{flex-direction:column;text-align:center}
    .fabrica-text p{max-width:100%}
    .fabrica-highlights{grid-template-columns:1fr 1fr}
    .fabrica-text h2{font-size:1.5rem}
    .catalog-grid{grid-template-columns:1fr 1fr}
    .stat-number{font-size:2rem}
    .footer-grid{grid-template-columns:1fr;gap:2rem}

    .tienda-container{grid-template-columns:1fr}
    .tienda-sidebar{position:fixed;top:0;left:-100%;width:300px;height:100vh;z-index:1100;border-radius:0;overflow-y:auto;transition:left .3s ease}
    .tienda-sidebar.open{left:0}
    .sidebar-close{display:block}
    .btn-filter-mobile{display:block}
    .modal-grid{grid-template-columns:1fr}
    .modal-img{min-height:180px;padding:.5rem}
    .modal-img img{max-height:280px}
}

@media(max-width:480px){
    .slide-content h1{font-size:1.8rem}
    .slide-buttons{flex-direction:column}
    .slide-buttons .btn-neon,.slide-buttons .btn-outline{width:100%;text-align:center}
    .sports-grid{grid-template-columns:1fr;grid-auto-rows:200px}
    .sport-large,.sport-wide{grid-column:span 1}
    .mosaic-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
    .fabrica-highlights{grid-template-columns:1fr}
    .fabrica-text h2{font-size:1.3rem}
    .catalog-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:1fr 1fr}
    .products-grid{grid-template-columns:1fr 1fr;gap:.8rem}
    .product-img{height:140px}
    .product-body{padding:.8rem}
    .product-name{font-size:.75rem}
    .header-actions{gap:.5rem}
    .btn-header{display:none}
}

/* ===== HEADER ACTIONS (cart, toggle, cotizar) ===== */
.header-actions{display:flex;align-items:center;gap:.8rem;margin-left:auto}
.theme-toggle{background:none;border:2px solid rgba(255,255,255,.2);width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text-secondary);transition:all var(--transition)}
.theme-toggle:hover{border-color:var(--neon);color:var(--neon)}
.cart-link{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:none;border:2px solid rgba(255,255,255,.2);font-size:1.1rem;color:var(--text-secondary);transition:all var(--transition);text-decoration:none}
.cart-link:hover{border-color:var(--neon);color:var(--neon)}
.cart-count{position:absolute;top:-4px;right:-4px;background:var(--neon);color:var(--black);font-size:.6rem;font-weight:800;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif}
.cart-count.bounce{animation:cartBounce .4s ease}
@keyframes cartBounce{0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)}}

/* ===== CART BUTTON IN PRODUCT CARD ===== */
.btn-cart{width:32px;height:32px;border-radius:50%;border:none;background:var(--neon);color:var(--black);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);flex-shrink:0;text-decoration:none}
.btn-cart:hover{transform:scale(1.1);box-shadow:0 4px 15px var(--shadow-neon)}
.btn-cart.loading{opacity:.6;pointer-events:none}
.btn-cart.added{background:var(--green);color:#fff}
.btn-cotizar{background:transparent;border:2px solid var(--neon);color:var(--neon);font-size:.8rem}
.btn-cotizar:hover{background:var(--neon);color:var(--black)}

/* ===== MODAL ACTIONS ===== */
.modal-actions{display:flex;flex-direction:column;gap:.8rem}

/* ===== LIGHT NEON THEME ===== */
html.light-neon{
    --bg-main:#ffffff;
    --bg-section:#f5f5f5;
    --bg-card:#ffffff;
    --bg-input:#f0f0f0;
    --text-primary:#0a0a0a;
    --text-secondary:#444444;
    --text-muted:#777777;
    --border:rgba(0,0,0,.1);
    --header-bg:rgba(255,255,255,0.95);
    --overlay-dark:rgba(255,255,255,.85);
    --shadow-neon:rgba(255,140,0,.2);
    --gray:#777;
    --gray-light:#555;
}

/* Light: header */
html.light-neon .header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08)}
html.light-neon .nav-link{color:rgba(10,10,10,.6)}
html.light-neon .nav-link:hover,html.light-neon .nav-link.active{color:var(--neon-dark)}
html.light-neon .hamburger span{background:var(--black)}
html.light-neon .theme-toggle{border-color:rgba(0,0,0,.15);color:#555}
html.light-neon .theme-toggle:hover{border-color:var(--neon-dark);color:var(--neon-dark)}
html.light-neon .cart-link{border-color:rgba(0,0,0,.15);color:#555}
html.light-neon .cart-link:hover{border-color:var(--neon-dark);color:var(--neon-dark)}

/* Light: hero (keep dark overlay for readability) */
html.light-neon .slide-overlay{background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(245,247,240,.6) 60%,transparent 100%)}
html.light-neon .slide-content h1{color:var(--black)}
html.light-neon .slide-content p{color:rgba(10,10,10,.7)}
html.light-neon .slide-tag{background:var(--neon);color:var(--black)}

/* Light: slider nav */
html.light-neon .slider-btn{background:rgba(0,0,0,.1);color:var(--black)}
html.light-neon .slider-btn:hover{background:var(--neon);color:var(--black)}
html.light-neon .dot{background:rgba(0,0,0,.2)}
html.light-neon .dot.active{background:var(--neon)}

/* Light: sections */
html.light-neon .tag-neon{color:var(--neon-dark)}
html.light-neon .sport-card h3{color:#fff}
html.light-neon .sport-card p{color:rgba(255,255,255,.7)}
html.light-neon .mosaic-caption h3{color:#fff}

/* Light: fabrica banner */
html.light-neon .fabrica-banner{background:linear-gradient(135deg,#f5f5f5 0%,#fff0e0 50%,#f5f5f5 100%);border-color:var(--neon-dark)}
html.light-neon .fabrica-text h2{color:var(--black)}
html.light-neon .fabrica-text p{color:#555}
html.light-neon .fabrica-item{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08)}
html.light-neon .fabrica-item:hover{border-color:var(--neon-dark);background:rgba(255,140,0,.08)}
html.light-neon .fabrica-item strong{color:var(--black)}
html.light-neon .fabrica-icon{color:var(--neon-dark)}

/* Light: stats bar stays neon green */
html.light-neon .stats-bar{background:var(--neon)}

/* Light: catalog cards */
html.light-neon .catalog-card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(0,0,0,.04)}
html.light-neon .catalog-card:hover{border-color:var(--neon);box-shadow:0 8px 30px rgba(255,140,0,.15)}
html.light-neon .catalog-img{background:#f5f5f5}

/* Light: features */
html.light-neon .fi-icon{background:rgba(255,140,0,.15);color:var(--neon-dark)}
html.light-neon .feature-img-accent{border-color:#fff}

/* Light: contact */
html.light-neon .ci .ci-icon{background:rgba(255,140,0,.15);color:var(--neon-dark)}
html.light-neon .ci strong{color:var(--black)}
html.light-neon .form-group input::placeholder,html.light-neon .form-group textarea::placeholder{color:#999}

/* Light: btn-neon keep same */
html.light-neon .btn-neon:hover{background:var(--black);color:var(--neon);box-shadow:0 8px 25px rgba(0,0,0,.15)}
html.light-neon .btn-outline{color:var(--black);border-color:rgba(0,0,0,.2)}
html.light-neon .btn-outline:hover{border-color:var(--neon-dark);color:var(--neon-dark)}

/* Light: footer */
html.light-neon .footer-dark{background:#f0f0f0;border-top:1px solid rgba(0,0,0,.08)}
html.light-neon .footer-grid h4{color:var(--black)}
html.light-neon .footer-grid p{color:#666}
html.light-neon .footer-grid a{color:#666}
html.light-neon .footer-grid a:hover{color:var(--neon-dark)}
html.light-neon .footer-bottom{color:#999}

/* Light: tienda sidebar */
html.light-neon .tienda-sidebar{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 10px rgba(0,0,0,.04)}
html.light-neon .filter-option:hover{color:var(--neon-dark)}
html.light-neon .filter-option input[type="radio"]{accent-color:var(--neon-dark)}
html.light-neon .filter-search{background:#f5f5f5;border-color:rgba(0,0,0,.1);color:var(--black)}
html.light-neon .tienda-breadcrumb{color:#999}
html.light-neon .tienda-breadcrumb a{color:var(--neon-dark)}
html.light-neon .source-badge{background:var(--neon);color:var(--black)}
html.light-neon .pill{border-color:rgba(0,0,0,.12);color:#777}
html.light-neon .pill:hover{border-color:var(--neon-dark);color:var(--neon-dark)}
html.light-neon .pill.active{background:var(--neon);color:var(--black);border-color:var(--neon)}
html.light-neon .btn-filter-mobile{background:#fff;border-color:rgba(0,0,0,.1);color:#555}

/* Light: product cards */
html.light-neon .product-card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 6px rgba(0,0,0,.04)}
html.light-neon .product-card:hover{border-color:var(--neon);box-shadow:0 8px 25px rgba(255,140,0,.12)}
html.light-neon .product-img{background:#f5f5f5}
html.light-neon .product-placeholder{background:linear-gradient(135deg,#f0f0f0,#e8e8e8);color:var(--neon-dark)}
html.light-neon .product-color{color:var(--neon-dark)}
html.light-neon .product-material{color:#888}
html.light-neon .btn-detail{background:rgba(255,140,0,.12);color:var(--neon-dark)}
html.light-neon .btn-detail:hover{background:var(--neon);color:var(--black)}

/* Light: modal */
html.light-neon .modal-overlay{background:rgba(0,0,0,.4)}
html.light-neon .modal-box{background:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 60px rgba(0,0,0,.15)}
html.light-neon .modal-close{background:#f0f0f0;color:#555}
html.light-neon .modal-close:hover{color:var(--neon-dark)}
html.light-neon .modal-img{background:#f5f5f5}
html.light-neon .modal-table tr{border-bottom:1px solid rgba(0,0,0,.06)}
html.light-neon .modal-table td{color:#555}
html.light-neon .td-label{color:var(--neon-dark)}

/* Light: nav-menu mobile */
@media(max-width:768px){
    html.light-neon .nav-menu{background:#fff;box-shadow:0 0 60px rgba(0,0,0,.1)}
    html.light-neon .tienda-sidebar{background:#fff}
}

/* ===== GENERIC PAGE (cart, checkout, my-account) ===== */
.page-generic{padding-top:70px;background:var(--bg-section)}
.page-main{min-height:calc(100vh - 140px);padding:2rem 0 4rem}
.page-container{max-width:960px;margin:0 auto;padding:0 2rem}
.page-breadcrumb{font-size:.8rem;color:var(--gray);margin-bottom:1.5rem}
.page-breadcrumb a{color:var(--neon);transition:color var(--transition)}
.page-breadcrumb a:hover{color:var(--neon-dark)}
.page-title{font-family:'Unbounded',sans-serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:var(--text-primary);margin-bottom:2rem}
.page-content{color:var(--text-secondary);line-height:1.7}

/* ===== WOOCOMMERCE OVERRIDES ===== */
.woocommerce-page .wc-block-cart,
.woocommerce-page .wc-block-checkout,
.woocommerce-page .woocommerce{color:var(--text-secondary)}

/* Cart / checkout tables */
.woocommerce-page table{width:100%;border-collapse:collapse}
.woocommerce-page table th{text-align:left;font-size:.8rem;font-weight:600;color:var(--neon);text-transform:uppercase;letter-spacing:.5px;padding:.8rem .5rem;border-bottom:2px solid var(--border)}
.woocommerce-page table td{padding:.8rem .5rem;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text-secondary);vertical-align:middle}
.woocommerce-page table td a{color:var(--neon)}

/* WC blocks */
.wc-block-cart__main,.wc-block-checkout__main{background:var(--bg-card)!important;border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border);margin-bottom:1.5rem}
.wc-block-cart__sidebar,.wc-block-checkout__sidebar{background:var(--bg-card)!important;border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border)}

/* WC buttons */
.woocommerce-page .wc-block-components-button,.woocommerce-page .wc-block-cart__submit-button,.woocommerce-page .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,.woocommerce-page .button,.woocommerce-page input[type="submit"]{background:var(--neon)!important;color:var(--black)!important;border:none!important;border-radius:50px!important;font-family:'Syne',sans-serif!important;font-weight:700!important;font-size:.9rem!important;padding:.8rem 2rem!important;cursor:pointer;transition:all var(--transition)!important;text-transform:uppercase;letter-spacing:.5px}
.woocommerce-page .wc-block-components-button:hover,.woocommerce-page .button:hover,.woocommerce-page input[type="submit"]:hover{background:var(--white)!important;transform:translateY(-1px)}

/* WC inputs */
.woocommerce-page input[type="text"],.woocommerce-page input[type="email"],.woocommerce-page input[type="tel"],.woocommerce-page input[type="number"],.woocommerce-page input[type="password"],.woocommerce-page select,.woocommerce-page textarea,.woocommerce-page .wc-block-components-text-input input,.woocommerce-page .wc-block-components-textarea{background:var(--bg-input)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text-primary)!important;font-family:'Syne',sans-serif!important;font-size:.9rem!important;padding:.7rem 1rem!important}
.woocommerce-page input:focus,.woocommerce-page select:focus,.woocommerce-page textarea:focus,.woocommerce-page .wc-block-components-text-input input:focus{outline:none!important;border-color:var(--neon)!important}

/* WC labels - floating label behavior: visible as placeholder, hidden when has value */
.woocommerce-page label,.woocommerce-page .wc-block-components-text-input label{color:var(--text-muted)!important;font-size:.85rem!important;transition:all .2s!important}
/* Text inputs: hide label when active/has value, keep input vertically centered */
.woocommerce-page .wc-block-components-text-input.is-active label,
.woocommerce-page .wc-block-components-text-input.has-value label{opacity:0!important;pointer-events:none!important;transform:none!important;position:absolute!important}
.woocommerce-page .wc-block-components-text-input input{padding-top:.7rem!important;padding-bottom:.7rem!important}
.woocommerce-page .wc-block-components-text-input.is-active input,
.woocommerce-page .wc-block-components-text-input.has-value input{padding-top:.7rem!important}
/* Select/combobox: hide ALL floating labels when filled */
.woocommerce-page .wc-block-components-combobox label{transition:all .2s!important}
.woocommerce-page .wc-block-components-combobox.is-active label,
.woocommerce-page .wc-block-components-combobox.has-value label{opacity:0!important;pointer-events:none!important;transform:none!important;position:absolute!important;font-size:0!important;height:0!important;overflow:hidden!important}
.woocommerce-page .wc-block-components-combobox input{padding-top:.7rem!important;padding-bottom:.7rem!important}
.woocommerce-page .wc-block-components-combobox.is-active input,
.woocommerce-page .wc-block-components-combobox.has-value input{padding-top:.7rem!important}
/* Also target the country/state selects specifically */
.woocommerce-page .wc-block-components-country-input.is-active label,
.woocommerce-page .wc-block-components-country-input.has-value label,
.woocommerce-page .wc-block-components-state-input.is-active label,
.woocommerce-page .wc-block-components-state-input.has-value label{opacity:0!important;pointer-events:none!important;transform:none!important;position:absolute!important;font-size:0!important;height:0!important;overflow:hidden!important}
/* Shipping radio: label and price on same line */
.wc-block-components-radio-control__option{position:relative}
.wc-block-components-radio-control__label{white-space:nowrap!important}
/* Shipping description below */
.rj-shipping-desc{display:block;font-size:.75rem;color:var(--text-muted);font-weight:400;margin-top:.3rem;line-height:1.4;white-space:normal}
/* BACS payment info */
.rj-bacs-info{font-size:.85rem;line-height:1.6;color:var(--text-secondary)}
.rj-bacs-info p{margin-bottom:.8rem}
.rj-bacs-datos{background:rgba(var(--neon-rgb),.06);border:1px solid rgba(var(--neon-rgb),.15);border-radius:var(--radius);padding:1rem;margin-bottom:.8rem;font-size:.85rem}
.rj-bacs-datos strong{color:var(--text-primary);display:block;margin-bottom:.3rem}
.rj-bacs-nota{font-size:.8rem;color:var(--text-muted);font-style:italic}
html.light-neon .rj-bacs-datos{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1)}
html.light-neon .rj-bacs-datos strong{color:var(--black)}

/* WC product name in cart */
.woocommerce-page .wc-block-components-product-name{color:var(--neon)!important;font-weight:600}
.woocommerce-page .wc-block-components-product-name:hover{color:var(--neon-dark)!important}

/* WC totals and summary */
.woocommerce-page .wc-block-components-totals-item__label{color:var(--text-secondary)!important}
.woocommerce-page .wc-block-components-totals-item__value{color:var(--text-primary)!important;font-weight:600}
.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--text-primary)!important;font-weight:700}
.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--neon)!important;font-weight:800;font-size:1.1rem}

/* WC shipping */
.woocommerce-page .wc-block-components-radio-control__label{color:var(--text-secondary)!important}
.woocommerce-page .wc-block-components-radio-control__description{color:var(--text-muted)!important;font-size:.8rem!important}
.woocommerce-page .wc-block-components-radio-control__input{accent-color:var(--neon)}

/* WC remove/quantity */
.woocommerce-page .wc-block-components-quantity-selector{border:1px solid var(--border)!important;border-radius:var(--radius)!important;overflow:hidden}
.woocommerce-page .wc-block-components-quantity-selector input{background:var(--bg-input)!important;color:var(--text-primary)!important;border:none!important}
.woocommerce-page .wc-block-components-quantity-selector button{background:var(--bg-input)!important;color:var(--text-secondary)!important;border:none!important}

/* WC notices */
.woocommerce-page .wc-block-components-notice-banner{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text-secondary)!important}
.woocommerce-page .wc-block-components-notice-banner.is-error{border-color:#e74c3c!important}
.woocommerce-page .wc-block-components-notice-banner.is-success{border-color:var(--neon)!important}

/* WC empty cart */
.woocommerce-page .wc-block-cart__empty-cart__title,.woocommerce-page .cart-empty{font-family:'Unbounded',sans-serif;color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem}

/* Light theme WC overrides */
html.light-neon .wc-block-cart__main,html.light-neon .wc-block-checkout__main{background:#fff!important;border-color:rgba(0,0,0,.08)!important;box-shadow:0 2px 10px rgba(0,0,0,.04)}
html.light-neon .wc-block-cart__sidebar,html.light-neon .wc-block-checkout__sidebar{background:#fff!important;border-color:rgba(0,0,0,.08)!important;box-shadow:0 2px 10px rgba(0,0,0,.04)}

/* ===== JJMSPORT BLUE ACCENTS ===== */
/* Acentos puntuales de azul neón para impacto visual */
.cart-link:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 0 12px var(--shadow-blue)}
.cart-count{background:var(--gradient-fire);box-shadow:0 0 8px rgba(255,140,0,.5)}
.nav-link:hover{color:var(--blue)}
.nav-link.active::after,.nav-link:hover::after{background:var(--blue)}
.slide-tag{background:rgba(0,180,255,.15);border:1px solid var(--blue);color:var(--blue);text-shadow:0 0 8px var(--shadow-blue)}
.fabrica-icon{color:var(--blue);text-shadow:0 0 12px var(--shadow-blue)}
.product-badge{background:var(--gradient-fire);color:#fff}
.section-title span,.tienda-title span{background:var(--gradient-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.contact-icon{color:var(--blue);text-shadow:0 0 10px var(--shadow-blue)}
.btn-cart{background:var(--gradient-fire);color:#fff;box-shadow:0 2px 8px rgba(255,140,0,.3)}
.btn-cart:hover{background:var(--gradient-fire-hover);box-shadow:0 4px 15px rgba(230,57,70,.4)}
.product-price{color:var(--neon);font-weight:800}
.product-iva{color:var(--blue);font-size:.7rem;font-weight:600;letter-spacing:.5px}
/* Glow effect en imágenes del hero */
.slide.active .slide-content h1{text-shadow:0 0 30px rgba(255,140,0,.3),0 4px 20px rgba(0,0,0,.5)}
/* Toggle theme button con azul */
.theme-toggle:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 0 10px var(--shadow-blue)}
html.light-neon .woocommerce-page .wc-block-components-button:hover,html.light-neon .woocommerce-page .button:hover{background:var(--black)!important;color:var(--neon)!important}

/* ============================================
   JJM SPORT - NUEVA PORTADA
   ============================================ */

/* === HERO ASIMÉTRICO === */
.hero-jjm{min-height:100vh;background:linear-gradient(135deg,var(--bg-main) 0%,var(--dark) 50%,#1a1208 100%);position:relative;overflow:hidden;padding:180px 0 4rem;display:flex;align-items:center}
.hero-jjm::before{content:'';position:absolute;top:-50%;right:-20%;width:60%;height:140%;background:radial-gradient(circle,rgba(255,140,0,.08) 0%,transparent 70%);pointer-events:none}
.hero-jjm-grid{max-width:1400px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center;position:relative;z-index:2}
.hero-jjm-text{display:flex;flex-direction:column;gap:1.5rem}
.hero-jjm-tag{display:inline-block;background:rgba(0,180,255,.12);border:1px solid var(--blue);color:var(--blue);padding:.5rem 1.2rem;border-radius:50px;font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;width:fit-content}
.hero-jjm-text h1{font-family:'Unbounded',sans-serif;font-size:clamp(2.5rem,5.5vw,5rem);font-weight:900;color:var(--white);line-height:1;letter-spacing:-1px}
.text-accent{background:linear-gradient(135deg,var(--neon) 0%,#ff5e00 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-jjm-text p{font-size:1.1rem;color:rgba(255,255,255,.75);max-width:520px;line-height:1.7}
.hero-jjm-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}
.hero-jjm-stats{display:flex;gap:2.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}
.hero-jjm-stats > div{display:flex;flex-direction:column}
.hero-jjm-stats strong{font-family:'Unbounded',sans-serif;font-size:1.8rem;color:var(--neon);font-weight:800;line-height:1}
.hero-jjm-stats span{font-size:.7rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;margin-top:.3rem}
.hero-jjm-images{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1rem;height:520px;position:relative}
.hero-img{background-size:cover;background-position:center;border-radius:var(--radius-lg);box-shadow:0 20px 60px rgba(0,0,0,.4);transition:transform .5s ease;border:1px solid rgba(var(--neon-rgb),.15)}
.hero-img:hover{transform:translateY(-8px) scale(1.02)}
.hero-img-1{grid-row:1/3;animation:floatY 6s ease-in-out infinite}
.hero-img-2{animation:floatY 6s ease-in-out infinite .8s}
.hero-img-3{animation:floatY 6s ease-in-out infinite 1.5s}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* === BANNER ESCUELAS === */
.escuelas-banner{position:relative;padding:5rem 0;background-size:cover;background-position:center;background-attachment:fixed}
.escuelas-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.75) 60%,rgba(255,140,0,.4) 100%)}
.escuelas-banner .container{position:relative;z-index:2}
.escuelas-content{max-width:700px}
.escuelas-tag{display:inline-block;background:var(--neon);color:var(--black);padding:.4rem 1.2rem;font-size:.7rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;border-radius:4px;margin-bottom:1rem}
.escuelas-content h2{font-family:'Unbounded',sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:900;color:var(--white);line-height:1.1;margin-bottom:2rem;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.escuelas-features{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.ef-item{display:flex;align-items:center;gap:.7rem;color:#fff;font-weight:600;font-size:1rem;background:rgba(0,0,0,.4);padding:.8rem 1.2rem;border-radius:50px;border:1px solid rgba(255,140,0,.3);backdrop-filter:blur(6px)}
.ef-item span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--neon);color:var(--black);border-radius:50%;font-weight:900;font-size:.85rem;flex-shrink:0}

/* === SECTION HEADER JJM === */
.section-header-jjm{text-align:center;margin-bottom:3rem}
.section-header-jjm .tag-neon{display:inline-block;color:var(--neon);font-size:.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:.8rem}
.section-header-jjm h2{font-family:'Unbounded',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:900;color:var(--white);line-height:1.1;margin-bottom:.8rem;letter-spacing:-.5px}
.section-header-jjm p{color:rgba(255,255,255,.6);font-size:1rem}

/* === ESPECIALIDADES === */
.especialidades-section{padding:6rem 0;background:var(--bg-main)}
.espec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.espec-card{position:relative;height:340px;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;display:block;background-size:cover;background-position:center;transition:transform .5s ease}
.espec-card:hover{transform:scale(1.02)}
.espec-card img{display:none}
.espec-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(10,10,10,.92) 100%);color:#fff;transition:background .3s;z-index:2}
.espec-card:hover .espec-overlay{background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(10,10,10,.95) 100%)}
.espec-num{position:absolute;top:1.5rem;right:1.5rem;font-family:'Unbounded',sans-serif;font-size:2.5rem;font-weight:900;color:rgba(255,140,0,.7);line-height:1}
.espec-overlay h3{font-family:'Unbounded',sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:.4rem;letter-spacing:.5px}
.espec-overlay p{font-size:.85rem;color:rgba(255,255,255,.75);margin-bottom:.8rem}
.espec-link{font-size:.8rem;font-weight:700;color:var(--neon);text-transform:uppercase;letter-spacing:1px;opacity:0;transform:translateY(10px);transition:all .3s}
.espec-card:hover .espec-link{opacity:1;transform:translateY(0)}

/* === CARRUSEL DESTACADOS === */
.destacados-section{padding:6rem 0;background:linear-gradient(180deg,var(--bg-main) 0%,#0d0d0d 100%)}
.carousel-wrap{position:relative;max-width:100%;padding:0 4rem}
.carousel-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:1rem .5rem;scroll-behavior:smooth}
.carousel-track::-webkit-scrollbar{display:none}
.car-card{flex:0 0 260px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;scroll-snap-align:start;transition:all .3s ease;display:flex;flex-direction:column}
.car-card:hover{border-color:var(--neon);transform:translateY(-6px);box-shadow:0 12px 30px rgba(255,140,0,.2)}
.car-img-wrap{display:flex;height:200px;background:#fff;align-items:center;justify-content:center;overflow:hidden;padding:8px}
.car-img-wrap img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .4s}
.car-card:hover .car-img-wrap img{transform:scale(1.06)}
.car-no-img{height:200px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);color:var(--neon);font-size:3rem;font-weight:900}
.car-body{padding:1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.car-body h4{font-size:.85rem;font-weight:600;color:var(--white);line-height:1.3;min-height:2.2em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.car-price{font-size:1rem;font-weight:800;color:var(--neon);font-family:'Unbounded',sans-serif}
.car-link{font-size:.75rem;color:var(--blue);font-weight:700;letter-spacing:.5px;margin-top:auto;text-transform:uppercase}
.car-link:hover{color:var(--neon)}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:var(--neon);color:var(--black);border:none;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);z-index:5;box-shadow:0 4px 15px rgba(255,140,0,.3)}
.carousel-btn:hover{background:var(--white);transform:translateY(-50%) scale(1.1)}
.carousel-prev{left:.5rem}
.carousel-next{right:.5rem}

/* === COLEGIOS SPLIT === */
.colegios-split{display:grid;grid-template-columns:1fr 1fr;min-height:600px}
.colegios-img{background-size:cover;background-position:center;position:relative}
.colegios-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--bg-card) 100%)}
.colegios-form{background:var(--bg-card);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.colegios-form h2{font-family:'Unbounded',sans-serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900;color:var(--white);line-height:1.1;margin:.8rem 0 1rem;letter-spacing:-.5px}
.colegios-form p{color:rgba(255,255,255,.7);margin-bottom:1.8rem;line-height:1.7}
.colegios-form-fields{display:flex;flex-direction:column;gap:.8rem}
.colegios-form-fields input,.colegios-form-fields textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.2rem;color:var(--white);font-family:inherit;font-size:.9rem;resize:vertical}
.colegios-form-fields input:focus,.colegios-form-fields textarea:focus{outline:none;border-color:var(--neon)}

/* === MOSAICO LIFESTYLE === */
.mosaic-jjm{background:var(--bg-main);padding:2rem 0}
.mosaic-jjm-grid{max-width:1400px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,260px);gap:1rem}
.mj-item{position:relative;overflow:hidden;border-radius:var(--radius-lg);background-size:cover;background-position:center;transition:transform .5s}
.mj-item:hover{transform:scale(1.02)}
.mj-item img{display:none}
.mj-tall{grid-row:1/3}
.mj-wide{grid-column:2/4}
.mj-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(transparent,rgba(10,10,10,.9));color:#fff}
.mj-caption h3{font-family:'Unbounded',sans-serif;font-size:1.1rem;margin-bottom:.3rem}
.mj-caption p{font-size:.85rem;color:var(--neon)}

/* === FEATURES JJM === */
.features-jjm{padding:6rem 0;background:linear-gradient(180deg,#0d0d0d 0%,var(--bg-main) 100%)}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.feat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;transition:all .3s}
.feat-card:hover{border-color:var(--neon);transform:translateY(-6px);box-shadow:0 12px 30px rgba(255,140,0,.15)}
.feat-icon{display:block;font-size:2.5rem;margin-bottom:1rem;filter:drop-shadow(0 0 12px rgba(255,140,0,.4))}
.feat-card h3{font-family:'Unbounded',sans-serif;font-size:1.1rem;color:var(--white);margin-bottom:.6rem;font-weight:700}
.feat-card p{font-size:.85rem;color:rgba(255,255,255,.7);line-height:1.6}

/* === RESPONSIVE === */
@media(max-width:1024px){
    .hero-jjm-grid{grid-template-columns:1fr;gap:2rem}
    .hero-jjm-images{height:380px}
    .espec-grid{grid-template-columns:repeat(2,1fr)}
    .colegios-split{grid-template-columns:1fr}
    .colegios-img{min-height:300px}
    .colegios-form{padding:3rem 2rem}
    .mosaic-jjm-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,220px)}
    .mj-tall{grid-row:1/2}
    .mj-wide{grid-column:1/3}
    .feat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
    .hero-jjm{padding:100px 0 2rem}
    .hero-jjm-stats{gap:1.5rem}
    .hero-jjm-stats strong{font-size:1.4rem}
    .hero-jjm-images{height:280px;grid-template-rows:1fr 1fr}
    .escuelas-features{grid-template-columns:1fr}
    .espec-grid{grid-template-columns:1fr}
    .car-card{flex:0 0 220px}
    .carousel-wrap{padding:0 2.5rem}
    .carousel-btn{width:36px;height:36px;font-size:.9rem}
    .mosaic-jjm-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,200px)}
    .mj-tall,.mj-wide{grid-column:auto;grid-row:auto}
    .feat-grid{grid-template-columns:1fr}
}

/* === LIGHT MODE === */
html.light-neon .hero-jjm{background:linear-gradient(135deg,#f5f7f0 0%,#fff 50%,#fff5e6 100%)}
html.light-neon .hero-jjm-text h1{color:var(--black)}
html.light-neon .hero-jjm-text p{color:rgba(10,10,10,.7)}
html.light-neon .hero-jjm-stats{border-top-color:rgba(0,0,0,.1)}
html.light-neon .hero-jjm-stats span{color:rgba(10,10,10,.6)}
html.light-neon .escuelas-overlay{background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.75) 60%,rgba(255,140,0,.3) 100%)}
html.light-neon .escuelas-content h2{color:var(--black);text-shadow:none}
html.light-neon .ef-item{background:rgba(255,255,255,.6);color:var(--black);border-color:rgba(255,140,0,.4)}
html.light-neon .section-header-jjm h2{color:var(--black)}
html.light-neon .section-header-jjm p{color:rgba(10,10,10,.6)}
html.light-neon .especialidades-section,html.light-neon .features-jjm,html.light-neon .mosaic-jjm,html.light-neon .destacados-section{background:#fafafa}
html.light-neon .car-card{background:#fff;border-color:#e6e6e6}
html.light-neon .car-body h4{color:var(--black)}
html.light-neon .colegios-form{background:#fff}
html.light-neon .colegios-form h2{color:var(--black)}
html.light-neon .colegios-form p{color:rgba(10,10,10,.7)}
html.light-neon .colegios-form-fields input,html.light-neon .colegios-form-fields textarea{background:#f5f5f5;color:var(--black);border-color:#e6e6e6}
html.light-neon .feat-card{background:#fff;border-color:#e6e6e6}
html.light-neon .feat-card h3{color:var(--black)}
html.light-neon .feat-card p{color:rgba(10,10,10,.7)}
