/* ══════════════════════════════════════════════
   BOUNCE — modern colourful shoe store demo
   Designs by Delia
   ══════════════════════════════════════════════ */
:root{
  --ink:#141419;
  --body:#4E4E58;
  --muted:#8A8A96;
  --paper:#FFFFFF;
  --cloud:#F6F5F1;
  --line:#E6E3DC;
  --blue:#2F4EF0;
  --blue-dk:#2038CC;
  --coral:#FF5A2B;
  --lime:#C8F24E;
  --sun:#FFD23F;
  --grape:#8B5CF6;
  --mint:#3ED6B0;
  --pink:#FF7BC8;
  --disp:'Space Grotesk',system-ui,sans-serif;
  --sans:'Jost',system-ui,sans-serif;
  --r:22px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body.locked{overflow:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1400px;margin:0 auto;padding:0 34px;}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.02;letter-spacing:-.03em;}
.kick{font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--disp);font-size:13px;
  font-weight:700;letter-spacing:.02em;padding:16px 30px;border:2px solid var(--ink);border-radius:100px;
  cursor:pointer;transition:transform .18s,background .2s,color .2s;background:var(--ink);color:#fff;}
.btn:hover{transform:translateY(-2px);}
.btn-blue{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn-blue:hover{background:var(--blue-dk);border-color:var(--blue-dk);}
.btn-lime{background:var(--lime);border-color:var(--ink);color:var(--ink);}
.btn-white{background:#fff;border-color:var(--ink);color:var(--ink);}
.btn-sm{padding:11px 20px;font-size:12px;}

/* ── MARQUEE ── */
.marq{background:var(--ink);color:#fff;overflow:hidden;padding:12px 0;}
.marq-in{display:flex;gap:34px;white-space:nowrap;animation:slide 26s linear infinite;font-family:var(--disp);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.marq-in span{display:inline-flex;align-items:center;gap:34px;}
.marq-in i{font-style:normal;color:var(--lime);}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.marq-in{animation:none;}}

/* ── HEADER ── */
.hdr{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink);}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 34px;}
.logo{font-family:var(--disp);font-size:27px;font-weight:700;letter-spacing:-.05em;display:inline-flex;align-items:center;gap:7px;}
.logo i{width:13px;height:13px;border-radius:50%;background:var(--coral);display:inline-block;}
.hdr-nav{display:flex;gap:28px;font-family:var(--disp);font-size:14px;font-weight:700;}
.hdr-nav a{padding:3px 0;border-bottom:3px solid transparent;}
.hdr-nav a:hover,.hdr-nav a.on{border-bottom-color:var(--coral);}
.hdr-r{display:flex;align-items:center;gap:14px;}
.bag-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:none;border-radius:100px;
  font-family:var(--disp);font-size:13px;font-weight:700;padding:11px 18px;cursor:pointer;}
.bag-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:11px;}
.burger{display:none;background:none;border:none;cursor:pointer;}
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:3px;}

/* ── HERO ── */
.hero{background:var(--sun);border-bottom:2px solid var(--ink);overflow:hidden;}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:clamp(30px,4vw,56px) 0;}
.hero h1{font-size:clamp(46px,7.2vw,104px);line-height:.94;}
.hero h1 em{font-style:normal;display:inline-block;background:var(--blue);color:#fff;padding:0 14px;border-radius:14px;transform:rotate(-2deg);}
.hero p{font-size:18px;color:#3A3A42;max-width:40ch;margin:22px 0 28px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.hero-img{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(300px,32vw,460px);}
.hero-img::before{content:"";position:absolute;width:clamp(280px,33vw,470px);aspect-ratio:1;border-radius:50%;
  background:rgba(255,255,255,.55);z-index:0;}
.hero-img img{position:relative;z-index:1;width:clamp(230px,27vw,380px);height:auto;max-width:none;
  transform:rotate(-8deg);filter:drop-shadow(0 30px 30px rgba(20,20,25,.26));}
.blob{position:absolute;width:118px;height:118px;border-radius:50%;background:var(--mint);border:2px solid var(--ink);
  display:grid;place-items:center;text-align:center;font-family:var(--disp);font-size:13px;font-weight:700;line-height:1.2;
  transform:rotate(-12deg);right:0;top:0;z-index:3;}

/* ── PILL STRIP ── */
.pills{border-bottom:2px solid var(--ink);background:var(--cloud);}
.pills .wrap{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:20px 34px;}
.pill{font-family:var(--disp);font-size:13px;font-weight:700;padding:9px 18px;border-radius:100px;border:2px solid var(--ink);background:#fff;}

/* ── SECTIONS ── */
.sec{padding:clamp(48px,6vw,86px) 0;}
.sec-cloud{background:var(--cloud);}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px;}
.sec-head h2{font-size:clamp(30px,4vw,52px);}
.sec-head a{font-family:var(--disp);font-weight:700;font-size:14px;border-bottom:3px solid var(--coral);padding-bottom:2px;}

/* ── PRODUCT GRID ── */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.pcard{border:2px solid var(--ink);border-radius:var(--r);overflow:hidden;background:#fff;display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s;}
.pcard:hover{transform:translateY(-4px);box-shadow:8px 8px 0 var(--ink);}
.pcard-img{position:relative;padding:14px;}
.pcard-img .ph{border-radius:16px;overflow:hidden;}
.pcard-img img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s;}
.pcard:hover .pcard-img img{transform:scale(1.05);}
.ptag{position:absolute;top:22px;left:22px;z-index:2;font-family:var(--disp);font-size:11px;font-weight:700;
  padding:6px 12px;border-radius:100px;border:2px solid var(--ink);background:var(--lime);transform:rotate(-4deg);}
.ptag.sale{background:var(--coral);color:#fff;}
.pcard-b{padding:4px 18px 18px;display:flex;flex-direction:column;flex:1;}
.pcard-b h3{font-size:19px;letter-spacing:-.02em;}
.pcard-b .pcat{font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.pprice{display:flex;align-items:baseline;gap:9px;margin-top:6px;font-family:var(--disp);font-size:18px;font-weight:700;}
.pprice .was{color:var(--muted);text-decoration:line-through;font-size:15px;font-weight:400;}
.pprice .now{color:var(--coral);}
.pdots{display:flex;gap:6px;margin-top:10px;}
.pdots i{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--ink);display:block;}
.padd{margin-top:14px;}
.padd .btn{width:100%;}
.sizepick{margin-top:12px;display:none;}
.sizepick.show{display:block;}
.sizepick p{font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;}
.sizerow{display:flex;flex-wrap:wrap;gap:6px;}
.sizerow button{font-family:var(--disp);font-size:12px;font-weight:700;padding:8px 10px;border:2px solid var(--ink);
  border-radius:8px;background:#fff;cursor:pointer;min-width:42px;}
.sizerow button:hover{background:var(--sun);}
.sizerow button.out{opacity:.3;cursor:not-allowed;text-decoration:line-through;}

/* ── CATEGORY CARDS ── */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cat{border:2px solid var(--ink);border-radius:var(--r);padding:26px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .2s,box-shadow .2s;}
.cat:hover{transform:translateY(-4px);box-shadow:8px 8px 0 var(--ink);}
.cat h3{font-size:30px;}
.cat span{font-family:var(--disp);font-size:13px;font-weight:700;}
.cat-arrow{font-size:26px;line-height:1;}

/* ── SPLIT BAND ── */
.band{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
.band-img img{width:100%;height:100%;object-fit:cover;min-height:320px;}
.band-copy{padding:clamp(30px,4.4vw,68px);background:var(--grape);color:#fff;}
.band-copy h2{font-size:clamp(28px,3.6vw,48px);margin-bottom:16px;}
.band-copy p{margin-bottom:22px;opacity:.92;}
.band-copy .btn{background:#fff;color:var(--ink);border-color:var(--ink);}

/* ── PERKS ── */
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.perk{border:2px solid var(--ink);border-radius:var(--r);padding:22px;background:#fff;}
.perk b{display:block;font-family:var(--disp);font-size:17px;margin-bottom:5px;}
.perk span{font-size:14px;color:var(--body);}

/* ── NEWSLETTER ── */
.news{background:var(--coral);border-top:2px solid var(--ink);padding:clamp(44px,5vw,72px) 0;color:#fff;text-align:center;}
.news h2{font-size:clamp(28px,3.6vw,46px);margin-bottom:10px;}
.news p{max-width:44ch;margin:0 auto 22px;}
.news-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.news-row input{border:2px solid var(--ink);border-radius:100px;padding:14px 20px;font-family:var(--sans);font-size:15px;min-width:260px;color:var(--ink);}
.news-row input:focus{outline:none;}

/* ── FOOTER ── */
.foot{background:var(--ink);color:#fff;padding:52px 0 28px;}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px;}
.foot h4{font-family:var(--disp);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;color:var(--lime);}
.foot a{display:block;font-size:14px;color:#C9C9D2;margin-bottom:8px;}
.foot a:hover{color:#fff;}
.foot .logo{color:#fff;margin-bottom:12px;}
.foot p{font-size:14px;color:#9A9AA6;max-width:32ch;}
.foot-bot{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:12.5px;color:#8A8A96;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}

/* ── SHOP PAGE ── */
.shop-hero{background:var(--mint);border-bottom:2px solid var(--ink);padding:clamp(30px,4vw,56px) 0;}
.shop-hero h1{font-size:clamp(38px,5.6vw,74px);}
.shop-hero p{font-size:17px;max-width:52ch;margin-top:12px;}
.crumbs{font-family:var(--disp);font-size:12px;font-weight:700;margin-bottom:12px;}
.shop-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0;border-bottom:2px solid var(--ink);}
.shop-count{font-family:var(--disp);font-size:14px;font-weight:700;}
.sortwrap{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-size:13px;font-weight:700;}
.sortwrap select{font-family:var(--sans);font-size:14px;border:2px solid var(--ink);border-radius:100px;padding:9px 16px;background:#fff;cursor:pointer;color:var(--ink);}
.sortwrap select:focus{outline:none;}
.shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(22px,3vw,44px);padding:30px 0 0;align-items:start;}
.filters h4{font-family:var(--disp);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;}
.fgroup{padding-bottom:20px;margin-bottom:20px;border-bottom:2px dashed var(--line);}
.fgroup:last-of-type{border-bottom:none;}
.fopt{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--body);cursor:pointer;padding:5px 0;}
.fopt input{position:absolute;opacity:0;width:0;height:0;}
.fopt .box{width:17px;height:17px;border:2px solid var(--ink);border-radius:5px;display:inline-block;position:relative;flex:0 0 auto;}
.fopt input:checked + .box{background:var(--blue);border-color:var(--blue);}
.fopt input:checked + .box::after{content:"";position:absolute;left:4.5px;top:1px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.fopt:hover{color:var(--ink);}
.sizes{display:flex;flex-wrap:wrap;gap:7px;}
.size{font-family:var(--disp);font-size:13px;font-weight:700;min-width:44px;padding:9px 6px;border:2px solid var(--ink);border-radius:9px;background:#fff;cursor:pointer;}
.size:hover{background:var(--sun);}
.size.on{background:var(--ink);color:#fff;}
.swatches{display:flex;flex-wrap:wrap;gap:9px;}
.sw{width:28px;height:28px;border-radius:50%;border:2px solid var(--ink);cursor:pointer;transition:transform .2s;}
.sw:hover{transform:scale(1.1);}
.sw.on{box-shadow:0 0 0 3px #fff inset,0 0 0 2px var(--ink);}
.fclear{font-family:var(--disp);font-size:13px;font-weight:700;background:var(--lime);border:2px solid var(--ink);border-radius:100px;padding:9px 18px;cursor:pointer;}
.nores{display:none;padding:56px 0;text-align:center;}
.nores.show{display:block;}
.nores b{display:block;font-family:var(--disp);font-size:26px;margin-bottom:6px;}
.nores span{color:var(--body);}

/* ── CART DRAWER ── */
.scrim{position:fixed;inset:0;background:rgba(20,20,25,.45);opacity:0;pointer-events:none;transition:opacity .3s;z-index:100;}
.scrim.on{opacity:1;pointer-events:auto;}
.cart{position:fixed;top:0;right:0;bottom:0;width:min(420px,93vw);background:#fff;z-index:101;border-left:2px solid var(--ink);
  transform:translateX(103%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;}
.cart.on{transform:none;}
.cart-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:2px solid var(--ink);background:var(--sun);}
.cart-top h3{font-size:24px;}
.cart-close{background:none;border:none;font-size:26px;line-height:1;cursor:pointer;}
.ship{padding:15px 24px;border-bottom:2px dashed var(--line);font-size:13.5px;}
.ship-bar{height:8px;background:var(--cloud);border:2px solid var(--ink);border-radius:100px;margin-top:9px;overflow:hidden;}
.ship-bar i{display:block;height:100%;background:var(--lime);width:0;transition:width .45s;}
.cart-items{flex:1;overflow-y:auto;padding:6px 24px;}
.citem{display:grid;grid-template-columns:70px 1fr auto;gap:13px;padding:18px 0;border-bottom:2px dashed var(--line);}
.citem img{width:70px;height:70px;object-fit:cover;border-radius:12px;border:2px solid var(--ink);}
.citem h4{font-family:var(--disp);font-size:15px;}
.citem .cmeta{font-size:13px;color:var(--muted);}
.qty{display:inline-flex;align-items:center;border:2px solid var(--ink);border-radius:100px;margin-top:8px;}
.qty button{background:none;border:none;width:28px;height:26px;cursor:pointer;font-size:15px;font-weight:700;}
.qty span{min-width:22px;text-align:center;font-size:13px;font-weight:600;}
.citem .cp{font-family:var(--disp);font-weight:700;font-size:15px;white-space:nowrap;}
.cart-empty{padding:56px 24px;text-align:center;color:var(--muted);}
.cart-bot{border-top:2px solid var(--ink);padding:20px 24px 24px;}
.crow{display:flex;justify-content:space-between;font-size:14.5px;margin-bottom:8px;}
.crow.tot{font-family:var(--disp);font-size:19px;font-weight:700;padding-top:10px;border-top:2px dashed var(--line);}
.cart-bot .btn{width:100%;margin-top:12px;}
.cart-note{font-size:12px;color:var(--muted);text-align:center;margin-top:10px;}

/* ══ TEMPLATE BADGE ══ */
.badge{position:fixed;right:18px;bottom:18px;z-index:95;background:#141414;color:#F5F1E9;
  font-family:var(--disp);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:12px 18px;border-radius:100px;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.28);transition:transform .3s;}
.badge:hover{transform:translateY(-3px);}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .pgrid{grid-template-columns:repeat(3,1fr);}
  .perks{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .hdr-nav{display:none;}
  .burger{display:block;}
  .hero-in,.band{grid-template-columns:1fr;}
  .cats{grid-template-columns:1fr;}
  .shop-layout{grid-template-columns:1fr;}
  .filters{border-bottom:2px solid var(--ink);padding-bottom:18px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .blob{width:92px;height:92px;font-size:11px;right:2%;top:0;}
}
@media(max-width:620px){
  .wrap{padding:0 20px;}
  .hdr-in{padding:14px 20px;}
  .pgrid{grid-template-columns:1fr 1fr;}
  .pcard-b h3{font-size:16px;}
  .foot-grid{grid-template-columns:1fr;}
  .badge{right:10px;bottom:10px;font-size:9.5px;padding:10px 14px;}
}
