:root{--bg:#07090d;--panel:#0e1219;--panel2:#121722;--text:#f7f8fb;--muted:#9aa3b2;--line:rgba(255,255,255,.09);--accent:#d7ff38;--accent2:#8fb51d;--danger:#ff5d67;--max:1180px;--radius:22px;--shadow:0 24px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% -10%,rgba(215,255,56,.09),transparent 28%),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.trust-marquee{overflow:hidden;border-bottom:1px solid var(--line);background:#05070a;color:#8f98a8;font-size:11px;text-transform:uppercase;letter-spacing:.18em;white-space:nowrap}.trust-marquee-track{display:inline-flex;gap:46px;padding:9px 0;animation:trust-scroll 22s linear infinite}.trust-marquee-track span:before{content:'•';color:var(--accent);margin-right:12px}@keyframes trust-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.trust-marquee-track{animation:none}}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,9,13,.84);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{height:78px;display:flex;align-items:center;gap:30px}.logo-group{display:flex;align-items:center;gap:18px;min-width:max-content}.logo{font-family:Sora,Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.06em}.logo span{color:var(--accent)}.logo-img{width:auto;max-width:165px;max-height:42px;object-fit:contain}.header-trust-line{font-size:11px;color:#697385;border-left:1px solid var(--line);padding-left:18px}.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.main-nav a,.mobile-nav a{font-size:13px;color:#aeb6c4;transition:.2s}.main-nav a:hover,.mobile-nav a:hover{color:#fff}.header-actions{display:flex;align-items:center;gap:12px}.cart-link{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:13px;background:#0b0f15}.cart-count{min-width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#111;font-size:11px;font-weight:800}.mobile-toggle{display:none;background:none;border:0;padding:8px}.mobile-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px}.mobile-nav{display:none;padding:0 20px 18px}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.hero{position:relative;overflow:hidden;min-height:650px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#080a0e 0%,#0a0d13 55%,#10160d 100%)}.hero:before{content:'';position:absolute;width:680px;height:680px;right:-180px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(215,255,56,.16),transparent 65%);filter:blur(5px)}.hero:after{content:'HUB / JERSEY';position:absolute;right:-60px;bottom:25px;font-family:Sora;font-weight:800;font-size:clamp(55px,9vw,130px);letter-spacing:-.08em;color:rgba(255,255,255,.025);transform:rotate(-8deg);pointer-events:none}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:78px 0}.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;margin-bottom:22px}.hero-eyebrow:before{content:'';width:30px;height:2px;background:var(--accent)}.hero h1{font-family:Sora,Arial,sans-serif;font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.075em;margin:0 0 24px;max-width:760px}.hero h1:after{content:'';display:block;width:76px;height:5px;background:var(--accent);margin-top:25px;border-radius:10px}.lead{font-size:17px;line-height:1.75;color:#aeb6c4;max-width:590px;margin:0 0 32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:12px;font-size:13px;font-weight:800;letter-spacing:.01em;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#111;box-shadow:0 12px 30px rgba(215,255,56,.12)}.btn-primary:hover{box-shadow:0 15px 38px rgba(215,255,56,.22)}.btn-outline{border:1px solid var(--line);background:#0b0f15;color:#e9edf3}.btn-sm{min-height:40px;padding:0 14px;font-size:12px}.btn-block{width:100%}.hero-stats{display:flex;gap:34px;margin-top:54px}.stat-num{font-family:Sora;font-weight:800;font-size:21px}.stat-label{font-size:10px;color:#727c8d;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.hero-visual{position:relative;min-height:470px;display:grid;place-items:center}.hero-visual:before{content:'';position:absolute;width:390px;height:390px;border:1px solid rgba(215,255,56,.18);border-radius:50%;box-shadow:0 0 0 45px rgba(215,255,56,.025),0 0 0 90px rgba(215,255,56,.018)}.hero-badge{position:absolute;right:3%;top:4%;z-index:3;padding:9px 13px;border:1px solid rgba(215,255,56,.28);background:rgba(8,10,14,.75);border-radius:999px;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.hero-jersey-svg{position:relative;z-index:2;width:min(420px,90%);height:auto;filter:drop-shadow(0 35px 35px rgba(0,0,0,.55));transform:rotate(-3deg)}
.section{padding:94px 0}.section-alt{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008));border-top:1px solid rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.025)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.section-head h2{font-family:Sora;font-size:clamp(28px,3vw,42px);letter-spacing:-.06em;margin:0}.section-head p{color:#788294;margin:0;font-size:13px}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#0c1016;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s}.product-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.16);box-shadow:var(--shadow)}.product-thumb{position:relative;aspect-ratio:4/5;background:#141922;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}.thumb-hover{position:absolute!important;inset:0;opacity:0}.product-card:hover .thumb-primary{transform:scale(1.035)}.product-card:hover .thumb-hover{opacity:1}.badge-sale,.badge-featured{position:absolute;z-index:3;top:12px;padding:6px 9px;border-radius:7px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.badge-sale{left:12px;background:var(--accent);color:#111}.badge-featured{right:12px;background:rgba(7,9,13,.8);border:1px solid var(--line);color:#fff}.product-info{padding:17px}.product-type{color:#697384;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.product-name{font-family:Sora;font-size:14px;line-height:1.35;margin:7px 0 12px;min-height:38px}.price-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.price-sale{font-family:Sora;font-size:17px;font-weight:800}.price-regular{text-decoration:line-through;color:#646d7b;font-size:12px}.product-actions{margin-top:auto}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:30px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#10151d,#0b0e14);position:relative;overflow:hidden}.feature-card:before{content:'';position:absolute;width:70px;height:70px;border-radius:50%;background:rgba(215,255,56,.07);right:-15px;top:-15px}.feature-card h3{font-family:Sora;margin:0 0 9px;font-size:17px}.feature-card p{margin:0;color:#7f8998;font-size:13px}.feature-card:first-child h3:before{content:'01';display:block;color:var(--accent);font-size:10px;letter-spacing:.15em;margin-bottom:30px}.feature-card:nth-child(2) h3:before{content:'02';display:block;color:var(--accent);font-size:10px;letter-spacing:.15em;margin-bottom:30px}.feature-card:nth-child(3) h3:before{content:'03';display:block;color:var(--accent);font-size:10px;letter-spacing:.15em;margin-bottom:30px}
.cta{position:relative;overflow:hidden;border:1px solid rgba(215,255,56,.18);border-radius:28px;background:linear-gradient(120deg,#121813,#0c1016);padding:58px}.cta:after{content:'';position:absolute;width:300px;height:300px;right:-100px;top:-140px;border-radius:50%;background:rgba(215,255,56,.08)}.cta h2{font-family:Sora;font-size:clamp(30px,4vw,52px);letter-spacing:-.07em;margin:0 0 12px}.cta p{color:#8993a2;max-width:600px;margin:0 0 25px}
footer{border-top:1px solid var(--line);padding:55px 0 28px;background:#05070a}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.footer-brand p{color:#687282;font-size:12px;max-width:310px}.footer-col h4{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#8d97a7;margin:0 0 15px}.footer-col a{display:block;color:#697383;font-size:12px;margin:9px 0}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;color:#505968;font-size:11px;display:flex;justify-content:space-between;gap:20px}
.form-control,input,select,textarea{width:100%;background:#0b0f15;color:#eef1f5;border:1px solid var(--line);border-radius:11px;padding:12px 13px;font:inherit;font-size:13px;outline:none}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:rgba(215,255,56,.5);box-shadow:0 0 0 3px rgba(215,255,56,.06)}label{display:block;font-size:11px;color:#8f98a7;margin:0 0 7px;font-weight:600}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px 15px;border-bottom:1px solid var(--line);font-size:12px;text-align:left}.table th{color:#788292;text-transform:uppercase;font-size:9px;letter-spacing:.12em}.notice,.alert{border:1px solid var(--line);background:#0d1219;border-radius:14px;padding:14px;font-size:12px}.alert-danger{border-color:rgba(255,93,103,.25);color:#ffb2b7}.empty-state{text-align:center;padding:65px 20px;color:#788292}
@media(max-width:980px){.main-nav{gap:17px}.header-trust-line{display:none}.hero-inner{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:380px}.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:700px){.container{width:min(var(--max),calc(100% - 28px))}.trust-marquee-track{justify-content:flex-start;width:max-content}.header-inner{height:68px}.main-nav{display:none}.mobile-toggle{display:block}.mobile-nav.open{display:block}.hero-inner{padding:55px 0 35px}.hero h1{font-size:48px}.hero-visual{min-height:320px}.hero-visual:before{width:280px;height:280px}.hero-stats{gap:20px;margin-top:38px;flex-wrap:wrap}.stat-num{font-size:18px}.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:7px}.category-grid,.product-grid{gap:10px}.category-card{min-height:145px;padding:16px}.product-info{padding:13px}.product-name{font-size:13px}.feature-grid{grid-template-columns:1fr}.cta{padding:34px 24px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}}
@media(max-width:430px){.hero h1{font-size:41px}.lead{font-size:15px}.category-grid{grid-template-columns:1fr 1fr}.category-card h3{font-size:14px}.product-grid{grid-template-columns:1fr 1fr}.price-sale{font-size:15px}.btn{width:100%}.hero .btn{width:auto}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.hero-stats>div:last-child{grid-column:1/-1}}

/* Hub of Jersey — reference-inspired storefront refresh */
.hero-reference{min-height:720px;background:#05070b;display:block;position:relative;border-bottom:0;text-align:center}
.hero-reference:before,.hero-reference:after{display:none}
.hero-reference-inner{position:relative;z-index:2;padding:74px 0 0;display:flex;flex-direction:column;align-items:center;gap:0}
.hero-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(70px);opacity:.22}
.hero-glow-a{width:420px;height:420px;left:8%;top:210px;background:#00d9ff}
.hero-glow-b{width:360px;height:360px;right:8%;top:240px;background:#d7ff38}
.hero-reference-copy{max-width:1050px;position:relative;z-index:3}
.hero-reference-kicker{display:flex;justify-content:center;align-items:center;gap:12px;color:#d7ff38;font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;margin-bottom:20px}
.hero-reference-kicker span{width:28px;height:2px;background:#d7ff38;display:inline-block}
.hero-reference h1{font-family:Sora,Arial,sans-serif;font-size:clamp(45px,6.8vw,88px);line-height:.98;letter-spacing:-.075em;margin:0;max-width:1100px}
.hero-reference h1 em{font-style:normal;color:#20d9ff;text-shadow:0 0 28px rgba(32,217,255,.18)}
.hero-reference h1 strong{font-weight:800;color:#f7f8fb}
.hero-reference-copy p{font-size:14px;color:#aeb7c5;margin:24px auto 0;max-width:650px}
.hero-jersey-wall{width:min(1120px,100%);height:310px;margin-top:34px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0;perspective:900px}
.hero-jersey{position:absolute;bottom:0;width:170px;height:265px;display:block;transition:transform .35s ease,filter .35s ease;filter:drop-shadow(0 24px 25px rgba(0,0,0,.45))}
.hero-jersey:hover{transform:translateY(-12px) scale(1.04) rotate(0deg)!important;z-index:10;filter:drop-shadow(0 28px 35px rgba(0,0,0,.65))}
.hero-jersey-card{width:100%;height:100%;border-radius:18px 18px 8px 8px;overflow:hidden;background:linear-gradient(160deg,#192231,#090c12);border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 0 35px rgba(0,0,0,.32)}
.hero-jersey-card img{width:100%;height:100%;object-fit:cover}
.hero-jersey-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#172335,#07090e);border:1px solid rgba(32,217,255,.35);position:relative}
.hero-jersey-fallback:before{content:'JERSEY';position:absolute;inset:28px 25px;border:2px solid #20d9ff;border-radius:40px 40px 12px 12px;opacity:.75}
.hero-jersey-fallback span{font-family:Sora;font-size:70px;font-weight:800;color:#20d9ff;z-index:1}
.hero-jersey-0{left:4%;transform:rotate(-13deg) scale(.88);z-index:1}.hero-jersey-1{left:16%;transform:rotate(-8deg) scale(.94);z-index:2}.hero-jersey-2{left:28%;transform:rotate(-3deg) scale(1);z-index:4}.hero-jersey-3{left:40%;transform:rotate(0deg) scale(1.05);z-index:6}.hero-jersey-4{left:52%;transform:rotate(4deg) scale(1);z-index:4}.hero-jersey-5{left:64%;transform:rotate(8deg) scale(.94);z-index:2}.hero-jersey-6{left:76%;transform:rotate(13deg) scale(.88);z-index:1}
.hero-wall-caption{position:absolute;z-index:8;bottom:25px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:600;color:#f5f7fa;text-shadow:0 2px 12px #000;white-space:nowrap}
.hero-reference-btn{position:relative;z-index:12;margin-top:-2px;min-width:165px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}
#categories{padding-top:90px}
.category-card{position:relative;overflow:hidden;min-height:205px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:20px;background:linear-gradient(145deg,#101824,#080b11);border:1px solid rgba(255,255,255,.08);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.category-card:after{content:'→';position:absolute;top:16px;right:18px;color:#20d9ff;font-size:18px;opacity:.85}
.category-card:hover{transform:translateY(-5px);border-color:rgba(32,217,255,.35);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.category-card .cat-image{width:56px;height:56px;object-fit:contain;padding:9px;border-radius:13px;background:#f4f6fa;margin-bottom:14px;transition:transform .3s ease}
.category-card:hover .cat-image{transform:scale(1.06)}
.category-card-copy{display:flex;align-items:center;justify-content:space-between;gap:15px;position:relative;z-index:2;width:100%;margin-top:auto;padding-top:14px}
.category-card h3{margin:0;font-family:Sora;font-size:17px;letter-spacing:-.035em}
.category-arrow{color:#20d9ff;font-size:18px;line-height:1}
.cat-icon{width:56px;height:56px;border-radius:13px;display:grid;place-items:center;margin-bottom:14px;background:radial-gradient(circle at 35% 30%,rgba(32,217,255,.22),rgba(215,255,56,.08) 45%,#0a0d13 70%);border:1px solid rgba(32,217,255,.24)}
.cat-icon span{font-family:Sora;font-size:20px;font-weight:800;color:#d7ff38}
.section-head h2{letter-spacing:-.06em}
.section-alt{background:linear-gradient(180deg,#070a0f,#090d13)}
.cta-band{margin-top:30px;padding:90px 0;background:linear-gradient(120deg,#0e1720,#09cde9 120%);border-top:1px solid rgba(32,217,255,.18);border-bottom:1px solid rgba(32,217,255,.18);text-align:center;position:relative;overflow:hidden}
.cta-band:before{content:'HUB OF JERSEY';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:Sora;font-size:clamp(60px,12vw,170px);font-weight:800;letter-spacing:-.08em;color:rgba(255,255,255,.055);white-space:nowrap;pointer-events:none}
.cta-band .container{position:relative;z-index:2}.cta-band h2{font-family:Sora;font-size:clamp(34px,5vw,64px);letter-spacing:-.07em;margin:0 0 10px}.cta-band p{max-width:620px;margin:0 auto 24px;color:rgba(255,255,255,.78);font-size:14px}.cta-band .btn-primary{background:#fff;color:#071018;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.site-footer{padding-top:70px}.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:55px}.footer-brand .logo{font-size:28px}.footer-brand p{font-size:13px;max-width:340px}.footer-col h4{color:#20d9ff}.footer-bottom{margin-top:55px}
@media(max-width:980px){.hero-reference{min-height:650px}.hero-jersey-wall{height:275px}.hero-jersey{width:145px;height:235px}.hero-jersey-0{left:0}.hero-jersey-1{left:12%}.hero-jersey-2{left:25%}.hero-jersey-3{left:37%}.hero-jersey-4{left:50%}.hero-jersey-5{left:63%}.hero-jersey-6{left:75%}.footer-inner{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:700px){.hero-reference-inner{padding-top:54px}.hero-reference h1{font-size:clamp(39px,12vw,58px)}.hero-reference-copy p{font-size:13px}.hero-jersey-wall{height:245px;margin-top:28px;overflow:hidden}.hero-jersey{width:112px;height:185px}.hero-jersey-0{left:-4%;transform:rotate(-12deg) scale(.82)}.hero-jersey-1{left:10%;transform:rotate(-8deg) scale(.86)}.hero-jersey-2{left:25%;transform:rotate(-4deg) scale(.9)}.hero-jersey-3{left:40%;transform:rotate(0) scale(.96)}.hero-jersey-4{left:55%;transform:rotate(4deg) scale(.9)}.hero-jersey-5{left:70%;transform:rotate(8deg) scale(.86)}.hero-jersey-6{left:84%;transform:rotate(12deg) scale(.82)}.hero-wall-caption{font-size:10px;bottom:12px}.hero-reference-btn{margin-top:14px}.category-card{min-height:165px}.footer-inner{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}}
@media(max-width:430px){.hero-reference{min-height:610px}.hero-reference-kicker{font-size:8px}.hero-reference h1{font-size:39px}.hero-jersey-wall{height:220px}.hero-jersey{width:88px;height:150px}.hero-wall-caption{display:none}.hero-reference-btn{width:auto}.category-card{min-height:145px;padding:15px}.category-card h3{font-size:14px}.footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}}


/* HUB OF JERSEY — PREMIUM MOBILE EXPERIENCE */
@media (max-width: 900px) {
  html { overflow-x: hidden; }
  body { overflow-x: hidden; }

  .container {
    width: min(100% - 32px, 720px);
    margin-inline: auto;
  }

  header, .site-header, .header {
    position: relative;
    z-index: 20;
  }

  .nav, .site-nav, .header-inner {
    gap: 14px;
  }

  .hero {
    min-height: auto !important;
    padding: 58px 0 42px !important;
  }

  .hero-grid,
  .hero-inner,
  .hero-content {
    grid-template-columns: 1fr !important;
    display: grid !important;
    text-align: center;
    gap: 28px !important;
  }

  .hero h1 {
    font-size: clamp(42px, 11vw, 68px) !important;
    line-height: .92 !important;
    letter-spacing: -0.045em !important;
    max-width: 12ch;
    margin-inline: auto;
  }

  .hero p {
    font-size: 16px !important;
    line-height: 1.55 !important;
    max-width: 42ch;
    margin-inline: auto;
  }

  .hero .btn,
  .hero a.btn,
  .hero button {
    min-height: 52px;
    padding: 15px 24px;
    width: min(100%, 310px);
    margin-inline: auto;
  }

  .hero-media,
  .hero-image,
  .hero-visual {
    min-height: 290px !important;
    height: 290px !important;
    order: 2;
  }

  .hero-media img,
  .hero-image img,
  .hero-visual img {
    max-height: 300px !important;
    object-fit: contain !important;
  }

  .section {
    padding-block: 52px !important;
  }

  .section-head {
    gap: 12px !important;
    margin-bottom: 22px !important;
  }

  .section-head h2,
  .section-title {
    font-size: clamp(30px, 8vw, 44px) !important;
    line-height: 1 !important;
  }

  .category-grid,
  .categories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .category-card {
    min-height: 145px !important;
    border-radius: 18px !important;
  }

  .product-grid,
  .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .product-card {
    border-radius: 16px !important;
    overflow: hidden;
  }

  .product-card img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  .product-card .product-info {
    padding: 12px !important;
  }

  .product-card h3 {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .product-card .price {
    font-size: 16px !important;
  }

  .trust-grid,
  .feature-grid,
  .benefits-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .trust-card,
  .feature-card,
  .benefit-card {
    padding: 20px !important;
  }

  footer .footer-grid,
  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 20px !important;
  }

  footer .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
}

@media (max-width: 560px) {
  .container {
    width: calc(100% - 24px);
  }

  .hero {
    padding: 42px 0 34px !important;
  }

  .hero h1 {
    font-size: clamp(38px, 12vw, 54px) !important;
  }

  .hero-media,
  .hero-image,
  .hero-visual {
    min-height: 250px !important;
    height: 250px !important;
  }

  .category-grid,
  .categories-grid,
  .product-grid,
  .products-grid {
    gap: 10px !important;
  }

  .category-card {
    min-height: 128px !important;
    border-radius: 15px !important;
  }

  .category-card h3,
  .category-card .category-title {
    font-size: 14px !important;
  }

  .product-card .product-info {
    padding: 10px !important;
  }

  .product-card h3 {
    font-size: 13px !important;
  }

  footer .footer-grid,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  footer .footer-brand {
    grid-column: auto;
  }
}

/* Premium motion, kept subtle for accessibility */
@media (prefers-reduced-motion: no-preference) {
  .hero-media img,
  .hero-image img,
  .hero-visual img {
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
  }
  .hero-media:hover img,
  .hero-image:hover img,
  .hero-visual:hover img {
    transform: scale(1.025);
  }
}


/* HUB OF JERSEY — FINAL RESPONSIVE + TYPOGRAPHY POLISH */

/* Premium typography: uses modern system fallbacks, no external dependency */
:root {
  --huj-display: 'Sora', "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  --huj-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

body {
  font-family: var(--huj-body);
  letter-spacing: -0.01em;
}

h1, h2, h3, h4, .logo, .brand, .nav a, .btn, button,
.section-title, .hero-title, .price {
  font-family: var(--huj-display);
}

h1, h2, .hero-title, .section-title {
  font-weight: 800;
  letter-spacing: -0.04em;
}

.btn, button {
  font-weight: 750;
  letter-spacing: .01em;
}

/* TABLETS / iPADS: give this range its own composition */
@media (min-width: 561px) and (max-width: 1024px) {
  html { overflow-x: hidden; }
  body { overflow-x: hidden; }

  .container {
    width: min(100% - 48px, 920px);
    margin-inline: auto;
  }

  .hero {
    min-height: 680px !important;
    padding: 72px 0 64px !important;
  }

  .hero-grid,
  .hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr) !important;
    align-items: center;
    gap: 34px !important;
  }

  .hero-content {
    text-align: left;
  }

  .hero h1,
  .hero-title {
    font-size: clamp(52px, 7vw, 82px) !important;
    line-height: .91 !important;
    max-width: 8ch;
  }

  .hero p {
    max-width: 44ch;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .hero .btn,
  .hero a.btn {
    width: auto;
    min-height: 52px;
  }

  .hero-media,
  .hero-image,
  .hero-visual {
    min-height: 440px !important;
    height: 440px !important;
  }

  .hero-media img,
  .hero-image img,
  .hero-visual img {
    max-height: 440px !important;
    object-fit: contain !important;
  }

  .section {
    padding-block: 68px !important;
  }

  .section-head h2,
  .section-title {
    font-size: clamp(38px, 5vw, 56px) !important;
  }

  .category-grid,
  .categories-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .category-card {
    min-height: 165px !important;
    border-radius: 18px !important;
  }

  .product-grid,
  .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .product-card {
    border-radius: 18px !important;
  }

  .trust-grid,
  .feature-grid,
  .benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  footer .footer-grid,
  .footer-grid {
    grid-template-columns: 1.5fr repeat(3, 1fr) !important;
    gap: 28px !important;
  }
}

/* LARGE TABLETS / SMALL LAPTOPS */
@media (min-width: 901px) and (max-width: 1180px) {
  .container {
    width: min(100% - 56px, 1080px);
  }

  .hero h1,
  .hero-title {
    font-size: clamp(60px, 7vw, 92px) !important;
  }
}

/* SMALL PHONES: tighten typography without making the page feel cramped */
@media (max-width: 560px) {
  body {
    font-size: 15px;
  }

  h1, h2, .hero-title, .section-title {
    letter-spacing: -0.045em;
  }

  .hero h1,
  .hero-title {
    font-size: clamp(39px, 12vw, 56px) !important;
  }

  .section-head h2,
  .section-title {
    font-size: clamp(29px, 8vw, 42px) !important;
  }

  .btn, button {
    font-size: 14px;
  }
}


/* BUILT FOR FANS — EDITORIAL BRAND STORY */
.fans-editorial {
  position: relative;
  padding: 96px 0;
  overflow: hidden;
}

.fans-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(44px, 7vw, 110px);
  align-items: center;
}

.fans-editorial-media {
  min-width: 0;
}

.fans-editorial-image {
  position: relative;
  aspect-ratio: 4 / 5;
  min-height: 520px;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.10);
  background: #090c13;
  box-shadow: 0 30px 90px rgba(0,0,0,.38);
}

.fans-editorial-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 35%, rgba(0,0,0,.72) 100%),
    linear-gradient(90deg, rgba(0,0,0,.15), transparent 55%);
  pointer-events: none;
}

.fans-editorial-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
}

.fans-editorial-overlay {
  position: absolute;
  z-index: 2;
  left: 26px;
  right: 26px;
  bottom: 25px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #fff;
}

.fans-editorial-overlay span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  opacity: .72;
}

.fans-editorial-overlay strong {
  font-family: var(--huj-display);
  font-size: clamp(24px, 3vw, 42px);
  line-height: .95;
  letter-spacing: -.04em;
}

.fans-editorial-copy {
  max-width: 560px;
}

.fans-editorial .eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  color: #dfff00;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .16em;
}

.fans-editorial .eyebrow span {
  display: block;
  width: 34px;
  height: 3px;
  background: #dfff00;
}

.fans-editorial-copy h2 {
  margin: 0 0 22px;
  font-family: var(--huj-display);
  font-size: clamp(48px, 6vw, 82px);
  line-height: .9;
  letter-spacing: -.055em;
  font-weight: 850;
}

.fans-editorial-copy h2 em {
  font-style: normal;
  color: #dfff00;
}

.fans-editorial-copy > p {
  max-width: 48ch;
  margin: 0 0 32px;
  color: rgba(255,255,255,.66);
  font-size: 17px;
  line-height: 1.65;
}

.fans-editorial-points {
  display: grid;
  gap: 0;
  margin-bottom: 34px;
  border-top: 1px solid rgba(255,255,255,.10);
}

.fans-editorial-point {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 15px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.fans-editorial-point b {
  color: rgba(255,255,255,.35);
  font-size: 11px;
  letter-spacing: .12em;
  padding-top: 3px;
}

.fans-editorial-point div {
  display: grid;
  gap: 5px;
}

.fans-editorial-point strong {
  font-size: 16px;
}

.fans-editorial-point span {
  color: rgba(255,255,255,.52);
  font-size: 13px;
  line-height: 1.45;
}

.fans-editorial-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.fans-editorial-btn span {
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 1024px) {
  .fans-editorial {
    padding: 76px 0;
  }
  .fans-editorial-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 34px;
  }
  .fans-editorial-image {
    min-height: 420px;
  }
  .fans-editorial-copy h2 {
    font-size: clamp(42px, 6vw, 62px);
  }
}

@media (max-width: 700px) {
  .fans-editorial {
    padding: 58px 0;
  }
  .fans-editorial-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .fans-editorial-copy {
    max-width: none;
  }
  .fans-editorial-image {
    min-height: 0;
    aspect-ratio: 16 / 12;
    border-radius: 20px;
  }
  .fans-editorial-copy h2 {
    font-size: clamp(40px, 12vw, 58px);
  }
}

@media (max-width: 560px) {
  .fans-editorial-image {
    aspect-ratio: 4 / 3;
  }
  .fans-editorial-overlay {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
  .fans-editorial-copy > p {
    font-size: 15px;
  }
}


/* Final premium hero/showcase + editorial responsive polish */
.fans-hero-showcase{width:min(1120px,100%);margin:30px auto 0;position:relative;z-index:2}
.fans-hero-showcase-frame{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:#07090d;box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 80px rgba(0,180,255,.08)}
.fans-hero-showcase-frame img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;object-position:center}
.fans-hero-showcase-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.62));pointer-events:none}
.fans-hero-showcase-caption{position:absolute;left:24px;right:24px;bottom:18px;z-index:2;text-align:center;font-size:11px;font-weight:800;letter-spacing:.2em;color:#fff;opacity:.9}
.premium-editorial{padding-top:110px}
.premium-editorial-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.premium-editorial-grid h2{font-size:clamp(42px,6vw,78px);line-height:.98;margin:14px 0 20px;letter-spacing:-.055em}
.premium-editorial-grid h2 em{font-style:normal}
.premium-editorial-grid p{max-width:620px;font-size:18px;line-height:1.7;opacity:.72}
.premium-editorial-points{display:grid;gap:14px}
.premium-editorial-points>div{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025)}
.premium-editorial-points b{display:block;font-size:13px;letter-spacing:.1em;opacity:.5;font-weight:700}
.premium-editorial-points span{display:block}
.premium-editorial-points strong{display:block;color:#fff;font-size:16px;font-weight:700;opacity:1;margin-bottom:5px}
.premium-editorial-points small{display:block;font-size:14px;font-weight:400;line-height:1.5;opacity:.72}
@media (max-width:480px){.premium-editorial-points>div{grid-template-columns:32px 1fr;gap:12px;padding:18px}}
@media (max-width:1024px){.fans-hero-showcase{margin-top:24px}.fans-hero-showcase-frame img{aspect-ratio:16/8}.premium-editorial{padding-top:80px}.premium-editorial-grid{gap:40px}}
@media (max-width:768px){.fans-hero-showcase{margin-top:20px}.fans-hero-showcase-frame{border-radius:20px}.fans-hero-showcase-frame img{aspect-ratio:4/3;object-position:center}.fans-hero-showcase-caption{font-size:8px;letter-spacing:.12em;bottom:12px;left:10px;right:10px}.premium-editorial{padding-top:64px}.premium-editorial-grid{grid-template-columns:1fr;gap:34px}.premium-editorial-grid h2{font-size:clamp(38px,12vw,58px)}}
@media (max-width:480px){.fans-hero-showcase-frame img{aspect-ratio:1/1;object-fit:cover}.fans-hero-showcase-caption{display:none}.premium-editorial-grid p{font-size:16px}}

/* ---------------------------------------------------------
   Admin panel, forms, order-summary & payment/customisation
   components. Re-themed to match the redesign's dark/lime
   palette (--bg/--panel/--accent/--danger above) - these
   components existed in the pre-redesign stylesheet but were
   dropped when assets/css/style.css was replaced wholesale,
   which left the entire admin panel and the checkout/order
   summary panels unstyled. Restored here so they read as part
   of the same premium design system rather than plain HTML.
--------------------------------------------------------- */
.admin-body{ background: var(--bg); min-height:100vh; }
.admin-shell{ display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.admin-sidebar{ background: var(--panel); border-right:1px solid var(--line); padding:24px 0; }
.admin-sidebar .logo{ padding:0 24px 24px; display:block; font-family:Sora,Arial,sans-serif; }
.admin-sidebar a{ display:block; padding:12px 24px; color: var(--muted); font-weight:600; font-size:14px; border-left:3px solid transparent; }
.admin-sidebar a:hover, .admin-sidebar a.active{ color:#fff; background: var(--panel2); border-left-color: var(--accent); }
.admin-main{ padding:30px 34px; }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; }
.admin-topbar h2{ font-family:Sora,Arial,sans-serif; margin:0; }
.admin-card{ background: var(--panel); border:1px solid var(--line); border-radius:18px; padding:24px; margin-bottom:24px; }
.admin-card h3{ font-family:Sora,Arial,sans-serif; margin:0 0 8px; }
table.admin-table{ width:100%; border-collapse:collapse; font-size:14px; }
table.admin-table th, table.admin-table td{ padding:12px 10px; border-bottom:1px solid var(--line); text-align:left; }
table.admin-table th{ color: var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.05em; }
@media (max-width:860px){ table.admin-table{ display:block; overflow-x:auto; } }

.pill{ display:inline-block; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:800; text-transform:uppercase; }
.pill-pending, .pill-cod-pending{ background:rgba(154,163,181,.2); color:#c8cede; }
.pill-paid, .pill-delivered{ background:rgba(215,255,56,.16); color: var(--accent); }
.pill-partial-paid{ background:rgba(255,193,7,.18); color:#ffd257; }
.pill-processing{ background:rgba(143,181,29,.2); color: var(--accent2); }
.pill-shipped{ background:rgba(255,193,7,.18); color:#ffd257; }
.pill-cancelled, .pill-failed{ background:rgba(255,93,103,.18); color: var(--danger); }

.btn-danger{ background: var(--danger); color:#fff; }

.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group{ margin-bottom:16px; }
.form-group.full{ grid-column:1/-1; }

/* Dashboard stat cards (admin/index.php) - base/desktop styling */
.stat-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
@media (min-width:1100px){ .stat-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.stat-card{ background: var(--panel); border:1px solid var(--line); border-radius:18px; padding:22px 24px; min-width:0; }
.stat-card .num{ font-family:Sora,Arial,sans-serif; font-weight:800; font-size:30px; line-height:1.15; color:#fff; overflow-wrap:anywhere; }
.stat-card .num.low-stock{ color: var(--danger); }
.stat-card .label{ margin-top:6px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color: var(--muted); }

/* ---------------------------------------------------------
   Admin - mobile layout only (<768px). Everything above this
   point is the original desktop design and is unchanged.
   Mobile: the sidebar becomes a fixed LEFT off-canvas drawer
   (toggled by .admin-nav-open on the body/shell), the shell
   stops being a 230px grid, and nothing may widen the page.
--------------------------------------------------------- */
.admin-menu-toggle,.admin-sidebar-backdrop{ display:none; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:767px){
  /* Page can never scroll sideways */
  html:has(.admin-body),.admin-body{ max-width:100%; overflow-x:hidden; }
  .admin-body{ width:100%; direction:ltr; }
  .admin-nav-open{ overflow:hidden; }

  /* No desktop sidebar column on mobile */
  .admin-shell{ display:block; width:100%; max-width:100%; min-height:100vh; overflow-x:clip; }
  .admin-main{ display:block; width:100%; max-width:100%; min-width:0; margin:0; padding:72px 16px calc(28px + env(safe-area-inset-bottom,0px)); }
  .admin-main > *{ min-width:0; max-width:100%; }
  .admin-main img,.admin-main canvas,.admin-main svg,.admin-main video{ max-width:100%; height:auto; }
  .admin-main input,.admin-main select,.admin-main textarea{ max-width:100%; min-width:0; font-size:16px; }
  .admin-main input[style],.admin-main select[style],.admin-main textarea[style]{ max-width:100% !important; }
  .admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),.admin-main select{ min-height:46px; }
  .admin-main textarea{ min-height:110px; }
  .admin-main [style*="grid-template-columns"]{ grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)) !important; }

  /* Menu button (fixed, top-left) */
  .admin-menu-toggle{ position:fixed; top:12px; left:12px; right:auto; z-index:1002; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:12px; background:var(--panel); color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.35); cursor:pointer; }
  .admin-menu-icon,.admin-menu-icon::before,.admin-menu-icon::after{ display:block; width:20px; height:2px; background:currentColor; border-radius:2px; content:""; transition:transform .2s,opacity .2s; }
  .admin-menu-icon{ position:relative; }
  .admin-menu-icon::before{ position:absolute; top:-6px; }
  .admin-menu-icon::after{ position:absolute; top:6px; }
  .admin-nav-open .admin-menu-icon{ background:transparent; }
  .admin-nav-open .admin-menu-icon::before{ transform:translateY(6px) rotate(45deg); }
  .admin-nav-open .admin-menu-icon::after{ transform:translateY(-6px) rotate(-45deg); }

  /* Sidebar: LEFT overlay. Closed = fully off-screen left; open = slides in from the left. */
  .admin-sidebar{ position:fixed; top:0; bottom:0; left:0; right:auto; z-index:1001; width:min(82vw,300px); max-width:100%; padding:72px 0 calc(24px + env(safe-area-inset-bottom,0px)); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; transform:translateX(-100%); visibility:hidden; box-shadow:none; transition:transform .22s ease,visibility 0s linear .22s; }
  .admin-nav-open .admin-sidebar{ transform:translateX(0); visibility:visible; box-shadow:18px 0 40px rgba(0,0,0,.35); transition:transform .22s ease,visibility 0s; }
  .admin-sidebar-backdrop{ display:block; position:fixed; top:0; right:0; bottom:0; left:0; z-index:1000; background:rgba(0,0,0,.58); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease,visibility 0s linear .22s; }
  .admin-nav-open .admin-sidebar-backdrop{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .22s ease,visibility 0s; }
  .admin-sidebar a:not(.logo){ display:flex; align-items:center; min-height:48px; padding:12px 24px; font-size:15px; }

  /* Header, cards, alerts */
  .admin-topbar{ align-items:flex-start; gap:12px; flex-wrap:wrap; margin-bottom:20px; min-height:0; }
  .admin-topbar h2{ font-size:22px; line-height:1.25; min-width:0; overflow-wrap:anywhere; }
  .admin-card{ min-width:0; max-width:100%; padding:16px; border-radius:15px; margin-bottom:16px; }
  .admin-card h3{ overflow-wrap:anywhere; }
  .admin-main .alert{ padding:12px 14px; overflow-wrap:anywhere; }

  /* Dashboard stat cards (mobile only - desktop is unchanged) */
  .stat-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
  .stat-card{ min-width:0; padding:16px; border-radius:15px; background:var(--panel); border:1px solid var(--line); }
  .stat-card .num{ font-family:Sora,Arial,sans-serif; font-weight:800; font-size:22px; line-height:1.2; color:#fff; overflow-wrap:anywhere; }
  .stat-card .num.low-stock{ color:var(--danger); }
  .stat-card .label{ margin-top:6px; font-size:11px; line-height:1.4; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); overflow-wrap:anywhere; }

  /* Buttons / tap targets */
  .admin-main .btn{ min-height:46px; }
  .admin-main .btn-sm{ min-height:44px; }
  .admin-main form[enctype="multipart/form-data"] > .btn{ display:flex; width:100%; margin:0 0 10px; }

  /* Forms, checkboxes, file upload */
  .form-grid{ grid-template-columns:minmax(0,1fr); gap:0; }
  .form-group.full{ grid-column:auto; }
  .admin-main input[type="checkbox"],.admin-main input[type="radio"]{ width:22px !important; height:22px; min-height:0; flex:0 0 22px; max-width:none !important; }
  .admin-card label[style*="display:flex"]{ min-height:44px; }
  .admin-main input[type="file"]{ width:100%; min-height:46px; padding:8px; font-size:14px; border:1px solid var(--line); border-radius:12px; background:var(--panel2); color:var(--text); }
  .admin-main input[type="file"]::file-selector-button{ min-height:36px; margin-right:12px; padding:0 14px; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--text); font-weight:700; font-family:inherit; cursor:pointer; }

  /* Product sizes & stock: label on the left, stock input on the right */
  .size-stock-row{ display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
  .size-stock-row:last-child{ border-bottom:0; }
  .size-stock-row label{ font-weight:700; }
  .size-stock-row input{ width:100%; text-align:center; }

  /* Product image previews: 2-up grid of square thumbnails */
  .image-thumb-row{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:12px; }
  .image-thumb-row > div{ min-width:0; max-width:100%; }
  .image-thumb-row img{ display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:12px; border:1px solid var(--line); }
  .image-thumb-row form[style*="absolute"]{ top:6px !important; right:6px !important; }
  .image-thumb-row .btn-danger{ width:44px; min-width:44px; height:44px; min-height:44px; padding:0 !important; font-size:22px; line-height:1; border-radius:12px; }
  .image-thumb-row form[style*="margin-top"] .btn{ width:100%; min-height:44px; padding:0 10px !important; font-size:12px !important; }

  /* Tables scroll inside their own container only */
  table.admin-table{ display:block; width:100%; max-width:100%; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; }
  table.admin-table th,table.admin-table td{ padding:11px 10px; }
  table.admin-table .btn{ width:auto; min-height:40px; }
  .admin-main .table-wrap,.admin-main .admin-table-scroll{ max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .admin-main .admin-table-scroll table.admin-table{ display:table; width:100%; min-width:680px; overflow:visible; }
}
@media (max-width:480px){
  .admin-main{ padding-left:12px; padding-right:12px; }
  .admin-card{ padding:14px; }
  .admin-topbar .btn{ width:100%; }
  .size-stock-row{ grid-template-columns:minmax(0,1fr) 96px; }
  .stat-card{ padding:14px; }
  .stat-card .num{ font-size:20px; }
}
@media (max-width:339px){
  .stat-grid,.image-thumb-row{ grid-template-columns:1fr; }
}


.alert{ padding:14px 18px; border-radius:14px; margin-bottom:20px; font-size:14px; border:1px solid var(--line); background: var(--panel2); }
.alert-error{ background:rgba(255,93,103,.12); border:1px solid rgba(255,93,103,.4); color:#ffb2b7; }
.alert-success{ background:rgba(215,255,56,.1); border:1px solid rgba(215,255,56,.35); color:#e5ff9e; }
.error-text{ color:#ffb2b7; font-size:12px; margin-top:6px; }

.summary-line{ display:flex; justify-content:space-between; margin-bottom:10px; color: var(--muted); }
.summary-total{ display:flex; justify-content:space-between; font-size:16px; font-weight:800; padding-top:12px; border-top:1px solid var(--line); }
.order-line{ display:flex; justify-content:space-between; font-size:14px; padding:8px 0; border-bottom:1px solid var(--line); }

/* Payment method chooser (checkout.php) */
.payment-method-box{ background: var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin:18px 0 22px; }
.payment-method-box h4{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color: var(--muted); margin:0 0 12px; font-family:Sora,Arial,sans-serif; }
.payment-method-box label{ display:block; font-size:13px; color: var(--text); font-weight:400; margin:0 0 12px; cursor:pointer; }
.payment-method-box label:last-of-type{ margin-bottom:0; }
.payment-method-box input[type="radio"]{ accent-color: var(--accent); margin-right:8px; }
.payment-method-main{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:14px; margin-bottom:12px; }
.payment-method-main .lock-dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 8px 1px rgba(215,255,56,.5); flex-shrink:0; }
.payment-method-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.payment-chip{ font-size:12px; font-weight:700; color:var(--muted); background:var(--bg); border:1px solid var(--line); padding:6px 12px; border-radius:999px; }

/* Jersey customisation (product.php) */
.customization-box{ border:1px solid var(--line); border-radius:16px; padding:18px 20px; margin:20px 0; background: var(--panel); }
.customization-box legend{ font-family:Sora,Arial,sans-serif; font-weight:700; font-size:14px; padding:0 6px; }
.customization-box legend span{ color: var(--muted); font-weight:400; font-size:12px; }
.customization-box > p{ color: var(--muted); font-size:13px; margin:4px 0 16px; }
.customization-summary{ color: var(--muted); font-size:12px; }
.stock-note{ color: var(--muted); font-size:13px; }

/* Trust cards (index.php "Why Hub of Jersey") - same pattern as .feature-card */
.trust-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.trust-card{ padding:30px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#10151d,#0b0e14); text-align:center; }
.trust-word{ font-family:Sora,Arial,sans-serif; font-weight:800; font-size:22px; color: var(--accent); margin-bottom:10px; }
.trust-card p{ margin:0; color:#7f8998; font-size:13px; }

/* ---------------------------------------------------------
   Shop toolbar + filter sidebar, product detail page, cart,
   checkout summary and success page. These templates were left
   entirely unstyled when the redesign replaced the stylesheet -
   restored here to match the same dark/lime design system as
   the homepage and shop grid.
--------------------------------------------------------- */
.input, select.input{ background:var(--panel); border:1px solid var(--line); color:var(--text); padding:0 14px; height:44px; border-radius:12px; font-size:13px; }
.input:focus{ border-color:var(--accent); outline:none; }
.toolbar{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.toolbar-filters{ display:flex; gap:10px; flex-wrap:wrap; }

.shop-layout{ display:grid; grid-template-columns:240px 1fr; gap:32px; align-items:flex-start; }
.filter-sidebar{ background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:22px; position:sticky; top:20px; }
.filter-group{ padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.filter-group:last-of-type{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.filter-group h4{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; margin:0 0 12px; color:var(--muted); font-family:Sora,Arial,sans-serif; }
.filter-option{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 0; font-size:13px; cursor:pointer; color:var(--text); }
.filter-option:hover{ color:var(--accent); }
.filter-option input{ accent-color:var(--accent); margin-right:8px; }
.filter-option .count{ color:var(--muted); font-size:12px; }
.price-range-row{ display:flex; align-items:center; gap:8px; }
.price-range-row input{ width:100%; background:var(--bg); border:1px solid var(--line); color:var(--text); padding:8px 10px; border-radius:10px; font-size:13px; }
.filter-clear{ display:inline-block; margin-top:14px; font-size:12px; color:var(--muted); text-decoration:underline; }
.filter-clear:hover{ color:var(--accent); }
@media (max-width:860px){ .shop-layout{ grid-template-columns:1fr; } .filter-sidebar{ position:static; } }

/* Product detail page */
.product-page{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:flex-start; }
.gallery-main{ border-radius:20px; overflow:hidden; background:var(--panel); border:1px solid var(--line); aspect-ratio:1/1; }
.gallery-main img{ width:100%; height:100%; object-fit:cover; display:block; }
.gallery-thumbs{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.gallery-thumbs img{ width:64px; height:64px; object-fit:cover; border-radius:10px; border:1px solid var(--line); cursor:pointer; opacity:.7; }
.gallery-thumbs img:hover{ opacity:1; border-color:var(--accent); }
.product-detail-type{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); font-weight:800; margin-bottom:8px; }
.product-detail-price{ display:flex; align-items:baseline; gap:12px; margin:14px 0 18px; }
.product-detail-price .now{ font-size:30px; font-weight:800; color:#fff; font-family:Sora,Arial,sans-serif; }
.product-detail-price .was{ font-size:16px; color:var(--muted); text-decoration:line-through; }
.discount-tag{ background:var(--danger); color:#fff; font-size:11px; font-weight:800; padding:4px 10px; border-radius:999px; text-transform:uppercase; }
#addToCartForm label{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin:20px 0 10px; font-weight:700; }
.size-grid{ display:flex; gap:10px; flex-wrap:wrap; }
.size-btn{ min-width:48px; height:44px; padding:0 14px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:10px; font-weight:700; font-size:13px; cursor:pointer; background:var(--panel); }
.size-btn:hover{ border-color:var(--accent); }
.size-btn.selected{ border-color:var(--accent); background:var(--accent); color:#111; }
.size-btn.out{ opacity:.35; text-decoration:line-through; cursor:not-allowed; }
.qty-row{ display:flex; }
.qty-control{ display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--panel); }
.qty-control button{ width:40px; height:44px; background:transparent; color:var(--text); border:none; font-size:16px; font-weight:800; cursor:pointer; }
.qty-control button:hover{ color:var(--accent); }
.qty-control input{ width:48px; height:44px; text-align:center; background:transparent; border:none; border-left:1px solid var(--line); border-right:1px solid var(--line); color:var(--text); font-size:14px; font-weight:700; }
.product-cta-row{ display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; }
.product-cta-row .btn{ flex:1; min-width:160px; }

.accordion{ margin-top:30px; border-top:1px solid var(--line); }
.accordion-item{ border-bottom:1px solid var(--line); }
.accordion-item summary{ padding:16px 2px; font-weight:700; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.accordion-item summary::-webkit-details-marker{ display:none; }
.accordion-item summary:after{ content:'+'; color:var(--accent); font-size:18px; }
.accordion-item details[open] summary:after{ content:'-'; }
.accordion-body{ padding:0 2px 18px; color:var(--muted); font-size:13px; line-height:1.7; }
.size-chart-table{ width:100%; border-collapse:collapse; font-size:13px; }
.size-chart-table th, .size-chart-table td{ padding:8px 10px; border-bottom:1px solid var(--line); text-align:left; }
.size-chart-table th{ color:var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.05em; }
@media (max-width:860px){ .product-page{ grid-template-columns:1fr; gap:28px; } }

/* Cart page */
.cart-layout{ display:grid; grid-template-columns:1fr 340px; gap:32px; align-items:flex-start; }
.cart-row{ display:grid; grid-template-columns:72px 1fr auto auto auto; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.cart-row img{ width:72px; height:72px; object-fit:cover; border-radius:12px; border:1px solid var(--line); }
.remove-link{ color:var(--danger); font-size:12px; font-weight:700; cursor:pointer; }
.remove-link:hover{ text-decoration:underline; }
.cart-summary{ background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:24px; position:sticky; top:20px; }
.cart-summary h3{ font-family:Sora,Arial,sans-serif; margin:0 0 16px; }
@media (max-width:860px){ .cart-layout{ grid-template-columns:1fr; } .cart-row{ grid-template-columns:56px 1fr; grid-template-areas:'img info' 'img qty' 'img total' 'img remove'; } .cart-row img{ grid-area:img; } }

/* Checkout page */
.checkout-layout{ display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:flex-start; }
.order-summary-box{ background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:24px; position:sticky; top:20px; }
.order-summary-box h3{ font-family:Sora,Arial,sans-serif; margin:0 0 16px; }
@media (max-width:860px){ .checkout-layout{ grid-template-columns:1fr; } .order-summary-box{ position:static; } }

/* Success page */
.success-box{ max-width:560px; margin:0 auto; text-align:center; }
.success-icon{ width:64px; height:64px; margin:0 auto 20px; border-radius:50%; background:var(--accent); color:#111; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; }
.order-details-card{ background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:24px; margin-top:24px; text-align:left; }

/* CTA band content layout */
.cta-inner{ display:flex; flex-direction:column; align-items:center; gap:22px; }
.filter-option input,.payment-method-box input[type="radio"]{ width:18px; height:18px; min-height:0; flex:0 0 18px; padding:0; margin:0 8px 0 0; vertical-align:middle; }
@media (max-width:1024px),(pointer:coarse){ .filter-option{ min-height:44px; } }