*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:#10213b;background:#fff}.topbar{height:34px;background:#071a33;color:#fff;display:flex;justify-content:space-around;align-items:center;font-size:12px}.header{height:76px;background:#fff;display:flex;align-items:center;padding:0 5%;gap:34px;border-bottom:1px solid #edf1f7;position:sticky;top:0;z-index:10}.logo img{width:145px;height:65px;object-fit:contain}.header nav{display:flex;gap:30px;flex:1;justify-content:center}.header nav a{color:#10213b;text-decoration:none;font-size:14px}.header nav .active{color:#0670f9;border-bottom:2px solid #0670f9;padding-bottom:7px}.actions{display:flex;align-items:center;gap:10px}.search{width:260px;height:38px;border:1px solid #e1e7ef;border-radius:24px;display:flex;align-items:center;padding:0 14px}.search input{border:0;outline:0;width:100%}.iconbtn{border:0;background:white;font-size:20px;position:relative;cursor:pointer}.iconbtn b{position:absolute;top:-6px;right:-6px;background:#0670f9;color:#fff;border-radius:50%;font-size:10px;padding:3px 5px}.hero{height:390px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,31,.88) 0%,rgba(2,15,31,.4) 38%,rgba(2,15,31,.08) 70%)}.heroCopy{position:absolute;left:9%;top:50%;transform:translateY(-50%);color:#fff;max-width:440px}.heroCopy small,.sectionHead small{letter-spacing:4px;color:#0878ff;font-weight:800}.heroCopy h1{font-size:47px;line-height:.98;margin:13px 0}.heroCopy p{font-size:17px;line-height:1.45}.btn{display:inline-block;background:#0878ff;color:white;text-decoration:none;padding:13px 22px;border-radius:8px;font-weight:700}.wrap{max-width:1400px;margin:auto;padding:0 22px}.brandGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.brandLogoOnly .brandCard{height:150px;border:1px solid #e5eaf2;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:28px;cursor:pointer;box-shadow:0 4px 16px rgba(10,30,60,.05);transition:transform .2s,box-shadow .2s}.brandLogoOnly .brandCard:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(10,30,60,.10)}.brandLogoOnly .brandCard:before{display:none}.brandLogoOnly .brandCard img{position:relative;display:block;width:auto;height:auto;max-width:240px;max-height:78px;object-fit:contain;filter:none}.brandLogoOnly .nike img{max-width:235px}.brandLogoOnly .puma img{max-width:220px}.brandLogoOnly .adidas img{max-width:230px}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin:34px 0 14px}.sectionHead h2{font-size:28px;margin:4px 0}.sectionHead a{color:#0670f9;text-decoration:none}.productGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.product{border:1px solid #e4eaf2;border-radius:8px;overflow:hidden;background:#fff}.productImg{height:190px;background:#f3f6fa;position:relative}.productImg img{width:100%;height:100%;object-fit:cover}.heart{position:absolute;right:9px;top:8px;border:0;background:#fff;border-radius:50%;font-size:19px}.productInfo{padding:10px}.productInfo small{font-weight:700}.productInfo h3{font-size:13px;margin:5px 0}.productInfo strong{font-size:15px}.stars{color:#f5a400;font-size:12px;margin:6px 0}.stars em{color:#8793a5;font-style:normal}.add{width:100%;background:#0b1d36;color:#fff;border:0;border-radius:5px;padding:9px;font-weight:700}.catGrid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-bottom:35px}.catGrid .categoryCard{background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:15px 10px;display:flex;align-items:center;gap:10px;color:#172944;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.catGrid .categoryCard:hover,.catGrid .categoryCard:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(10,30,60,.10);border-color:#0878ff;outline:none}.catGrid span{font-size:23px}.catGrid strong{font-size:14px}.catGrid b{margin-left:auto;font-size:22px;color:#0878ff}.service{background:#081b34;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:24px 8%;gap:25px}.service div{display:grid;grid-template-columns:35px 1fr;align-items:center}.service b,.service span{grid-column:2}.service b{font-size:14px}.service span{font-size:12px;color:#aebbd0}footer{background:#061326;color:#b7c3d4;padding:40px 8%;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}footer img{width:150px;height:75px;object-fit:contain}footer a{display:block;color:#b7c3d4;text-decoration:none;margin:8px 0}.drawer{position:fixed;right:-430px;top:0;width:410px;height:100%;background:#fff;z-index:30;padding:20px;transition:.25s;box-shadow:-8px 0 30px #0002}.drawer.open{right:0}.drawerHead{display:flex;justify-content:space-between}.drawerHead button{font-size:28px;border:0;background:none}.overlay{display:none;position:fixed;inset:0;background:#0007;z-index:20}.overlay.show{display:block}.drawerFoot{position:absolute;bottom:20px;left:20px;right:20px}.drawerFoot strong{display:flex;justify-content:space-between;margin-bottom:12px}.drawerFoot button{width:100%;padding:13px;background:#0878ff;color:#fff;border:0;border-radius:7px;font-weight:700}.empty{padding:50px;grid-column:1/-1;text-align:center;background:#f5f8fb}.noimg{height:100%;display:grid;place-items:center;color:#0878ff;font-weight:900;font-size:40px}@media(max-width:1200px){.productGrid{grid-template-columns:repeat(4,1fr)}.catGrid{grid-template-columns:repeat(4,1fr)}.header nav{gap:16px}.search{width:180px}}@media(max-width:760px){.topbar span:not(:first-child){display:none}.header{height:auto;flex-wrap:wrap;padding:8px 14px;gap:8px}.logo img{width:120px}.header nav{order:3;width:100%;overflow:auto;justify-content:flex-start;padding:8px 0}.actions{margin-left:auto}.search{width:150px}.hero{height:330px}.heroCopy{left:6%;max-width:330px}.heroCopy h1{font-size:35px}.brandGrid{grid-template-columns:1fr}.productGrid{grid-template-columns:repeat(2,1fr)}.productImg{height:155px}.catGrid{grid-template-columns:repeat(2,1fr)}.service{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}}

/* Checkout and product option modal */
.modal{display:none;position:fixed;inset:0;background:rgba(3,12,25,.72);z-index:60;padding:20px;overflow:auto;align-items:center;justify-content:center}
.modal.show{display:flex}
.modalCard{position:relative;width:min(900px,100%);background:#fff;border-radius:14px;padding:28px;box-shadow:0 20px 70px #0006}
.smallModal{max-width:480px}
.modalClose{position:absolute;right:16px;top:12px;border:0;background:none;font-size:32px;cursor:pointer;color:#526173}
.modalCard h2{margin:0 35px 8px 0}
.modalHint{color:#718096;font-size:14px;margin:0 0 20px}
.checkoutGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.checkoutField{margin-bottom:14px}
.checkoutField label{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:#172944}
.checkoutField label span{color:#d11}
.checkoutField input,.checkoutField textarea,.checkoutField select{width:100%;box-sizing:border-box;border:1px solid #dce3ec;border-radius:8px;padding:11px 12px;font:inherit;background:#fff;outline:none}
.checkoutField input:focus,.checkoutField textarea:focus,.checkoutField select:focus{border-color:#0878ff;box-shadow:0 0 0 3px #0878ff18}
.fullBtn{width:100%;border:0;cursor:pointer;margin-top:8px}
.mapTools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.mapBtn{border:0;cursor:pointer;padding:10px 13px}
#locationStatus{font-size:12px;color:#718096}
#map{height:360px;border-radius:10px;border:1px solid #dce3ec;overflow:hidden}
.coordinates{font-size:12px;color:#526173;background:#f6f8fb;padding:9px;border-radius:7px;margin-top:8px}
.checkoutSummary{background:#f6f8fb;border-radius:9px;padding:12px;margin:18px 0;color:#172944;font-size:13px;line-height:1.65}
.cartLine{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #eee}
.cartLine img{width:60px;height:60px;object-fit:cover;border-radius:6px;background:#f3f6fa}
.cartLineInfo{flex:1;font-size:13px}.cartLineInfo button{border:0;background:none;color:#d33;padding:4px 0;cursor:pointer}
@media(max-width:760px){.checkoutGrid{grid-template-columns:1fr}.modal{padding:52px 10px 20px;align-items:flex-start}.modalCard{padding:20px;margin:0}.checkoutCard{margin-top:0}.checkoutCard h2{padding-top:8px}.checkoutField:first-child{margin-top:6px}#map{height:300px}}

.deliveryNotice{background:#f6f8fb;border:1px solid #dce3ec;border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:10px;color:#172944;line-height:1.5}.deliveryNotice strong{font-size:18px}.deliveryNotice span{font-size:14px}

.brandLogoOnly .brandCard strong{font-size:20px;color:#10213b;letter-spacing:.2px}.brandLogoOnly .brandCard img{max-width:220px;max-height:78px}
.qualityNotice{margin-top:28px}.qualityNotice>div{background:#f4f7fb;border:1px solid #dfe7f1;border-radius:18px;padding:22px 24px}.qualityNotice strong{font-size:12px;letter-spacing:.12em;color:#0b3f82}.qualityNotice h2{margin:7px 0 8px;font-size:22px}.qualityNotice p{margin:0;color:#5b6675;line-height:1.6;max-width:900px}@media(max-width:600px){.qualityNotice>div{padding:18px}.qualityNotice h2{font-size:19px}}

/* Category cards + mobile navigation final polish */
.menuToggle{display:none;border:1px solid #e1e7ef;background:#fff;color:#10213b;border-radius:9px;width:42px;height:42px;font-size:22px;cursor:pointer;align-items:center;justify-content:center}.catGrid .categoryCard{min-height:92px;padding:14px 15px}.catGrid .catIcon{font-size:28px;flex:0 0 auto}.catGrid .catText{display:flex;flex-direction:column;gap:5px;min-width:0}.catGrid .catText strong{font-size:14px}.catGrid .catText small{font-size:11px;font-weight:700;color:#0878ff;white-space:nowrap}.catGrid .catText em{font-style:normal}.catGrid .categoryCard:after{content:'›';margin-left:auto;font-size:24px;font-weight:700;color:#0878ff}.catGrid .categoryCard b{display:none}
@media(max-width:760px){.header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 42px 1fr;align-items:center;padding:8px 12px;gap:8px}.header .logo{min-width:0}.header .logo img{width:116px;height:52px}.menuToggle{display:flex}.header nav{display:none;position:absolute;top:68px;left:10px;right:10px;width:auto;order:initial;max-height:calc(100vh - 80px);overflow:auto;background:#fff;border:1px solid #e1e7ef;border-radius:12px;box-shadow:0 14px 35px rgba(8,25,50,.16);padding:8px;z-index:60}.header nav.open{display:flex;flex-direction:column;gap:2px}.header nav a{padding:12px 14px;border-radius:8px;font-size:15px}.header nav a:hover,.header nav a:focus-visible{background:#f1f6fc}.header nav .active{border-bottom:0;padding-bottom:12px;background:#eef5ff}.actions{margin-left:0;justify-content:flex-end;min-width:0}.search{width:min(150px,38vw);height:38px}.iconbtn{font-size:18px}.catGrid{grid-template-columns:repeat(2,1fr);gap:10px}.catGrid .categoryCard{min-height:98px;padding:13px 11px;gap:8px}.catGrid .catIcon{font-size:24px}.catGrid .catText strong{font-size:13px}.catGrid .catText small{font-size:10px}.catGrid .categoryCard:after{font-size:20px}.sectionHead{gap:12px}.sectionHead a{font-size:12px}.heroCopy{left:5%;right:5%}}
@media(max-width:430px){.header .logo img{width:105px}.search{width:110px}.iconbtn{font-size:17px}.catGrid .categoryCard{min-height:92px}.catGrid .catText small{font-size:9px}.catGrid .categoryCard:after{display:none}}

/* Final category card visibility fix */
.catGrid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 40px;}
.categoryCard{box-sizing:border-box;display:flex !important;align-items:center;min-height:118px;padding:18px !important;background:#fff !important;border:1px solid #dbe4ef !important;border-radius:14px !important;box-shadow:0 5px 18px rgba(8,27,52,.07);text-decoration:none !important;color:#172944 !important;}
.categoryCard:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(8,27,52,.12);border-color:#0878ff !important;}
.categoryCard .catIcon{font-size:34px !important;flex:0 0 42px;}
.categoryCard .catText{display:flex;flex-direction:column;gap:7px;min-width:0;}
.categoryCard .catText strong{font-size:16px !important;font-weight:800;}
.categoryCard .categoryLink{font-size:12px !important;font-weight:800;color:#0878ff !important;}
.categoryCard .categoryLink em{font-style:normal;font-size:15px;}
@media(max-width:900px){.catGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.catGrid{grid-template-columns:1fr 1fr;gap:10px;}.categoryCard{min-height:100px;padding:13px !important;border-radius:12px !important;}.categoryCard .catIcon{font-size:27px !important;flex-basis:34px;}.categoryCard .catText strong{font-size:13px !important;}.categoryCard .categoryLink{font-size:10px !important;}}

/* Cart navigation: easy return to shopping after choosing size and colour */
.cartHeadActions{display:flex;align-items:center;gap:8px}.continueBtn{border:1px solid #dbe4ef;background:#f5f8fc;color:#0b1d36;border-radius:7px;padding:8px 10px;font-weight:700;cursor:pointer}.continueBtn:hover{background:#eaf2fb}.cartClose{font-size:30px;border:0;background:none;color:#526173;cursor:pointer;line-height:1;padding:2px 7px}.cartClose:hover{color:#0878ff}@media(max-width:760px){.drawer{width:100%;right:-100%;padding:16px}.drawerHead{align-items:center}.continueBtn{font-size:12px;padding:8px}.cartClose{font-size:30px}.drawerFoot{bottom:max(16px,env(safe-area-inset-bottom));}.drawer{padding-bottom:95px}}

/* Cart + checkout product editing */
.cartLineActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px}
.cartLineActions button{border:0;background:none;color:#0878ff;padding:3px 0;cursor:pointer;font-weight:700;font-size:12px}
.cartLineActions button:last-child{color:#d33}
.checkoutItemsHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.checkoutItemsHead span{font-size:12px;color:#718096}
.checkoutItem{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #e5eaf0}
.checkoutItem>div{min-width:0}
.checkoutItem b{display:block;font-size:13px}
.checkoutItem div div{font-size:12px;color:#5e6c7d;margin:3px 0}
.checkoutItem strong{font-size:12px}
.editCheckoutItem{border:1px solid #dbe4ef;background:#fff;color:#0878ff;border-radius:7px;padding:7px 10px;font-weight:700;cursor:pointer;white-space:nowrap}
.checkoutTotals{border-top:1px solid #dfe6ef;margin-top:8px;padding-top:10px;display:grid;gap:5px}
.checkoutTotals span{display:flex;justify-content:space-between}
.checkoutActions{display:grid;gap:10px;margin-top:10px}
.secondaryBtn{width:100%;padding:12px;border:1px solid #dbe4ef;background:#f5f8fc;color:#0b1d36;border-radius:8px;font-weight:800;cursor:pointer}
.secondaryBtn:hover{background:#eaf2fb}
@media(max-width:760px){.checkoutCard{padding:18px 14px}.checkoutItem{align-items:flex-start}.editCheckoutItem{padding:8px 9px}.checkoutSummary{margin-top:14px}}


/* Mobile checkout header visibility fix: keep title and close control in view */
@media(max-width:760px){
  #checkoutModal.modal{padding: max(14px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom)); align-items:flex-start; justify-content:center; overflow-y:auto; -webkit-overflow-scrolling:touch;}
  #checkoutModal .checkoutCard{width:100%; max-width:680px; max-height:calc(100dvh - 28px); overflow-y:auto; position:relative; margin:0 auto; padding:58px 14px 18px; border-radius:14px;}
  #checkoutModal .modalClose{position:absolute; top:10px; right:12px; z-index:2; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:#f1f5f9; font-size:30px; line-height:1;}
  #checkoutModal .checkoutCard h2{margin:0 0 10px; padding:0; font-size:21px; line-height:1.25; overflow-wrap:anywhere;}
  #checkoutModal .modalHint{font-size:13px; line-height:1.5; margin:0 0 16px;}
}


/* Robust mobile checkout: the title and close button stay visible while the form scrolls */
@media (max-width:760px){
  #checkoutModal.modal{position:fixed;inset:0;padding:8px 8px max(8px,env(safe-area-inset-bottom));display:none;align-items:stretch;justify-content:center;overflow:hidden;height:100vh;height:100dvh;}
  #checkoutModal.modal.show{display:flex;}
  #checkoutModal .checkoutCard{width:100%;max-width:680px;height:100%;max-height:none;min-height:0;margin:0;padding:0 14px 20px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:14px;position:relative;}
  #checkoutModal .checkoutStickyHeader{position:sticky;top:0;z-index:5;background:#fff;padding:16px 50px 10px 0;margin:0 0 12px;border-bottom:1px solid #e7edf5;}
  #checkoutModal .checkoutStickyHeader .modalClose{position:absolute;top:10px;right:0;z-index:6;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f1f5f9;font-size:30px;line-height:1;}
  #checkoutModal .checkoutStickyHeader h2{margin:0 0 8px;padding:0;font-size:20px;line-height:1.25;overflow-wrap:anywhere;}
  #checkoutModal .checkoutStickyHeader .modalHint{font-size:12px;line-height:1.45;margin:0 0 4px;}
  #checkoutModal #checkoutForm{padding-top:4px;}
}


/* Mobile cart drawer fix: keep cart heading and controls below the sticky site header */
@media (max-width:760px){
  .drawer{top:76px!important;height:calc(100dvh - 76px)!important;height:calc(100vh - 76px)!important;z-index:40!important;padding:12px 16px 100px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;}
  .drawerHead{position:relative!important;flex:0 0 auto!important;min-height:48px!important;align-items:center!important;gap:8px!important;padding:2px 0 12px!important;background:#fff!important;border-bottom:1px solid #e7edf5!important;}
  .drawerHead h2{display:block!important;visibility:visible!important;opacity:1!important;margin:0!important;font-size:22px!important;line-height:1.25!important;white-space:normal!important;}
  .cartHeadActions{flex:0 0 auto!important;gap:4px!important;}
  .continueBtn{white-space:nowrap!important;}
  #cartItems{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding-bottom:12px!important;}
  .drawerFoot{position:absolute!important;left:16px!important;right:16px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;background:#fff!important;padding-top:12px!important;border-top:1px solid #e7edf5!important;}
}

/* Compact secondary continue-shopping action above checkout */
.continueShoppingBottom{width:auto;max-width:100%;display:block;margin:0 auto 8px;padding:6px 11px;border:1px solid #0878ff;border-radius:7px;background:#fff;color:#0878ff;font-size:12px;line-height:1.25;font-weight:750;cursor:pointer;}
.continueShoppingBottom:hover{background:#eff6ff;}
.drawerFoot #checkout{display:block;width:100%;}
@media(max-width:760px){.drawerFoot{padding-top:10px!important}.continueShoppingBottom{padding:6px 10px;font-size:12px;margin-bottom:7px;}}
/* Compact Continue Shopping action: override the full-width checkout button rule. */
.drawerFoot button.continueShoppingBottom{display:inline-flex!important;width:auto!important;min-width:0!important;max-width:max-content!important;align-items:center;justify-content:center;padding:5px 10px!important;margin:0 auto 8px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap;}
.drawerFoot{display:flex;flex-direction:column;align-items:stretch;}
.drawerFoot button#checkout{width:100%;}

/* FINAL OVERRIDE: the small Continue Shopping button must not inherit full-width cart button styles. */
.drawer .drawerFoot button#continueShoppingBottom,
.drawerFoot button.continueShoppingBottom {
  display: inline-flex !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: fit-content !important;
  padding: 5px 10px !important;
  margin: 0 auto 8px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  background: #fff !important;
  color: #0878ff !important;
  border: 1px solid #0878ff !important;
  border-radius: 7px !important;
}
.drawer .drawerFoot button#checkout { width: 100% !important; align-self: stretch !important; }

/* Mobile storefront layout hardening */
@media (max-width:760px){
  body{width:100%;overflow-x:hidden}
  .topbar{height:auto;min-height:34px;padding:8px 10px;gap:8px;flex-wrap:wrap;text-align:center}
  .header{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) 40px minmax(0,auto);gap:7px;padding:8px 10px}
  .header .logo img{display:block;width:min(108px,27vw);height:48px;object-fit:contain}
  .actions{gap:4px}
  .search{width:clamp(82px,27vw,145px);padding:0 9px}
  .search input{min-width:0;font-size:12px}
  .hero{height:320px}
  .hero>img{display:block;width:100%;height:100%;object-fit:cover}
  .heroCopy h1{font-size:clamp(29px,8vw,36px)}
  .wrap{padding-left:14px;padding-right:14px}
  .brandGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .brandLogoOnly .brandCard{width:100%;height:108px;padding:12px;min-width:0}
  .brandLogoOnly .brandCard img{max-width:100%;max-height:64px}
  .sectionHead h2{font-size:22px}
  .productGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .productImg{height:150px}
  .catGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service{padding:20px 14px;gap:16px}
  footer{padding:28px 16px;gap:20px}
}
@media(max-width:360px){
 .header .logo img{width:88px}
 .search{width:78px}
 .iconbtn{font-size:16px}
 .brandLogoOnly .brandCard{height:94px}
 .brandLogoOnly .brandCard img{max-height:52px}
 .productImg{height:130px}
}
