.shop-hero { --hero-image:url("assets/football-detail.webp"); }
.shop-page-nav .container { justify-content:center; }
.shop-page-nav a { min-height:62px; padding-inline:28px; font-size:13px; }
.shop-catalog { padding:95px 0 110px; overflow:hidden; background:#f5f7fb; }
.shop-filters { display:flex; gap:10px; margin:0 0 26px; overflow-x:auto; padding:2px 0 5px; scrollbar-width:none; }
.shop-filters::-webkit-scrollbar { display:none; }
.shop-filters button { min-height:44px; flex:0 0 auto; padding:0 20px; border:1px solid #cfd6de; border-radius:999px; background:#fff; color:var(--navy); font:800 11px var(--font-primary); cursor:pointer; transition:background .2s,color .2s,border-color .2s,transform .2s; }
.shop-filters button:hover { border-color:var(--navy); transform:translateY(-1px); }
.shop-filters button.active { border-color:var(--navy); background:var(--navy); color:#fff; }
.shop-filter-mobile { display:none; }
.shop-filter-mobile span { color:var(--navy); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.shop-filter-mobile select { width:100%; min-height:48px; margin-top:8px; padding:0 42px 0 16px; border:1px solid #d4dce9; border-radius:999px; background:#fff; color:var(--navy); font:700 12px var(--font-primary); }
.shop-carousel { position:relative; }
.shop-product-track { display:flex; gap:18px; overflow-x:auto; padding:4px 2px 20px; scroll-snap-type:x mandatory; scrollbar-width:none; cursor:grab; touch-action:pan-y; }
.shop-product-track::-webkit-scrollbar { display:none; }
.shop-product-track.dragging { cursor:grabbing; scroll-snap-type:none; }
.shop-product-card { --discipline-color:var(--navy); flex:0 0 min(25%,300px); overflow:hidden; border-radius:21px; background:#fff; box-shadow:0 16px 44px rgba(17,28,81,.09); scroll-snap-align:start; }
.shop-product-card[data-sport="futbol"] { --discipline-color:#277a4e; }
.shop-product-card[data-sport="baloncesto"] { --discipline-color:#e07524; }
.shop-product-card[data-sport="voley"] { --discipline-color:#4baed6; }
.shop-product-card[data-sport="padel"] { --discipline-color:#9b7b1b; }
.shop-product-card[hidden] { display:none; }
.shop-product-image { position:relative; height:285px; overflow:hidden; background:#e9edf5; }
.shop-product-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(17,28,81,.64)); }
.shop-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .55s; }
.shop-product-card:hover img { transform:scale(1.04); }
.shop-product-image span { position:absolute; z-index:2; left:16px; bottom:14px; padding:7px 10px; border-radius:999px; background:var(--discipline-color); color:#fff; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.shop-product-card > div:last-child { padding:20px; border-top:4px solid var(--discipline-color); }
.shop-product-card small { color:var(--discipline-color); font-weight:800; text-transform:uppercase; }
.shop-product-card h3 { margin:7px 0; color:var(--navy); font:700 24px/1.05 var(--font-secondary); }
.shop-product-card p { color:var(--muted); font-size:12px; }
.shop-product-card a { display:inline-flex; margin-top:9px; color:var(--discipline-color); font-weight:800; }
.shop-arrow { position:absolute; z-index:3; top:42%; width:44px; height:44px; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(35,54,137,.28); color:#fff; backdrop-filter:blur(7px); cursor:pointer; }
.shop-arrow[hidden] { display:none; }
.shop-arrow.prev { left:-12px; }.shop-arrow.next { right:-12px; }
.shop-customizer { --active-discipline:#277a4e; position:relative; padding:105px 0; overflow:hidden; background:linear-gradient(135deg,var(--navy-dark),var(--navy)); color:#fff; }
.shop-customizer::after { content:""; position:absolute; right:-180px; bottom:-180px; width:430px; aspect-ratio:1; border:50px solid rgba(113,197,232,.12); border-radius:50%; }
.shop-customizer .section-heading h2,.shop-customizer .section-heading p { color:#fff; }
.shop-customizer .section-heading > p:last-child { color:rgba(255,255,255,.7); }
.kit-filter-grid { position:relative; z-index:2; width:min(100%,760px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:32px auto 45px; }
.kit-filter-grid label { display:grid; gap:8px; color:rgba(255,255,255,.72); font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.kit-filter-grid select { width:100%; min-width:0; min-height:50px; padding:0 44px 0 18px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font:800 12px var(--font-primary); outline:0; backdrop-filter:blur(8px); }
.kit-filter-grid select:focus { border-color:var(--sky); box-shadow:0 0 0 3px rgba(113,197,232,.17); }
.kit-filter-grid option { color:var(--navy); background:#fff; }
.shop-customizer-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.kit-main { height:570px; overflow:hidden; border-radius:28px; background:#edf0f6; box-shadow:0 24px 60px rgba(0,0,0,.22); }
.kit-main img { width:100%; height:100%; object-fit:cover; transition:opacity .25s; }
.kit-thumb-track { display:flex; gap:10px; margin-top:12px; overflow-x:auto; scrollbar-width:none; }
.kit-thumb-track button { width:94px; height:72px; flex:0 0 94px; overflow:hidden; padding:0; border:2px solid transparent; border-radius:13px; background:#eef1f6; cursor:pointer; }
.kit-thumb-track button.active { border-color:var(--active-discipline); }
.kit-thumb-track img { width:100%; height:100%; object-fit:cover; }
.kit-details > span { color:var(--active-discipline); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.kit-details h3 { margin:13px 0 15px; color:#fff; font:700 clamp(38px,4.5vw,58px)/.98 var(--font-secondary); }
.kit-details > p { max-width:560px; color:rgba(255,255,255,.72); line-height:1.7; }
.kit-option,.kit-note { margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); }
.kit-option strong,.kit-note strong { display:block; margin-bottom:13px; color:#fff; }
.size-options { display:flex; flex-wrap:wrap; gap:8px; }
.size-options button { min-width:48px; min-height:38px; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; }
.size-options button.active { border-color:var(--active-discipline); background:var(--active-discipline); color:#fff; }
.kit-note { display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.72); }
.kit-details .button { margin-top:28px; }
@media(max-width:900px){.shop-product-card{flex-basis:38%}.shop-customizer-grid{gap:30px}.kit-main{height:480px}}
@media(max-width:640px){.shop-page-nav .container{justify-content:flex-start}.shop-page-nav a{min-height:52px;padding-inline:16px;font-size:11px}.shop-catalog,.shop-customizer{padding:68px 0}.shop-filters{display:none}.shop-filter-mobile{display:grid;margin-bottom:24px}.shop-product-card{flex-basis:72vw;border-radius:20px}.shop-product-image{height:260px}.shop-arrow{top:35%;width:40px;height:40px}.shop-arrow.prev{left:4px}.shop-arrow.next{right:4px}.kit-filter-grid{grid-template-columns:1fr;margin:25px 0 30px}.shop-customizer-grid{grid-template-columns:1fr;gap:32px}.kit-main{height:390px;border-radius:20px}.kit-details h3{font-size:39px}.kit-note{display:block}.inner-gallery{padding-bottom:90px}}
