/* ================= FOURWEARS ================= */
:root{
  --black:#111;
  --ink:#222;
  --muted:#777;
  --line:#e6e6e6;
  --bg:#fff;
  --soft:#f6f5f3;
  --accent:#c8102e;
  --radius:4px;
  --shadow:0 10px 30px rgba(0,0,0,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input{font-family:inherit}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.container{max-width:1280px;margin:0 auto;padding:0 20px}
.center{text-align:center}
.hidden{display:none!important}
body.lock{overflow:hidden}

/* ---------- Buttons ---------- */
.btn{display:inline-block;background:var(--black);color:#fff;padding:13px 30px;font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:500;border:1px solid var(--black);border-radius:var(--radius);transition:.25s}
.btn:hover{background:#fff;color:var(--black)}
.btn-outline{background:transparent;color:var(--black)}
.btn-outline:hover{background:var(--black);color:#fff}
.btn-light{background:#fff;color:var(--black);border-color:#fff}
.btn-light:hover{background:transparent;color:#fff}
.btn-block{width:100%}

/* ---------- Announcement ---------- */
.announce{background:var(--black);color:#fff;text-align:center;font-size:13px;letter-spacing:1px;height:36px;overflow:hidden;position:relative}
.announce-track span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(100%);transition:.5s}
.announce-track span.on{opacity:1;transform:none}
.announce-track span.off{opacity:0;transform:translateY(-100%)}

/* ---------- Top bar ---------- */
.topbar{border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar a:hover{color:var(--black)}
.topbar-links{display:flex;gap:22px}

/* ---------- Header ---------- */
.header{background:#fff;position:sticky;top:0;z-index:50;transition:box-shadow .3s}
.header.scrolled{box-shadow:0 2px 14px rgba(0,0,0,.08)}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:80px}
.logo{font-size:30px;letter-spacing:6px;font-weight:300;color:var(--black);justify-self:center;white-space:nowrap}
.logo b{font-weight:700}
.logo.small{font-size:20px;letter-spacing:4px}
.logo.light{color:#fff;font-size:24px;display:inline-block;margin-bottom:16px}
.header-icons{display:flex;gap:6px;justify-self:end}
.icon-btn{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;transition:.2s}
.icon-btn:hover{background:var(--soft)}
.badge{position:absolute;top:3px;right:1px;background:var(--black);color:#fff;font-size:10px;font-style:normal;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.badge.bump{animation:bump .4s}
@keyframes bump{50%{transform:scale(1.4)}}
.burger{display:none;flex-direction:column;gap:5px;justify-self:start}
.burger span{width:22px;height:2px;background:var(--black);display:block}

/* ---------- Mega menu ---------- */
.mainnav{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nav-list{display:flex;justify-content:center;flex-wrap:wrap}
.nav-item>a{display:block;padding:15px 18px;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;position:relative}
.nav-item>a::after{content:"";position:absolute;left:18px;right:18px;bottom:10px;height:2px;background:var(--black);transform:scaleX(0);transition:.25s;transform-origin:left}
.nav-item:hover>a::after{transform:scaleX(1)}
.nav-item.sale>a{color:var(--accent)}
.nav-item.sale>a::after{background:var(--accent)}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:var(--shadow);border-top:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:40}
.nav-item:hover .mega{opacity:1;visibility:visible;transform:none}
.mega-inner{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:30px 20px;max-width:1280px;margin:0 auto}
.mega-links li a{display:block;padding:6px 0;font-size:14px;color:var(--muted);transition:.2s}
.mega-links li a:hover{color:var(--black);padding-left:6px}
.mega h5{font-size:13px;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.mega-products{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.mini-card{cursor:pointer}
.mini-card .thumb{aspect-ratio:1;border-radius:var(--radius);overflow:hidden}
.mini-card p{font-size:13px;margin-top:8px;line-height:1.3}
.mini-card span{font-size:13px;color:var(--muted)}

/* ---------- Drawers ---------- */
.drawer{position:fixed;top:0;bottom:0;width:380px;max-width:88vw;background:#fff;z-index:100;display:flex;flex-direction:column;transition:transform .35s ease}
.drawer-left{left:0;transform:translateX(-100%)}
.drawer-right{right:0;transform:translateX(100%)}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line)}
.drawer-head h3{font-size:16px;letter-spacing:2px;text-transform:uppercase;font-weight:600}
.close{font-size:30px;line-height:1;width:36px;height:36px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:90;opacity:0;visibility:hidden;transition:.3s}
.overlay.show{opacity:1;visibility:visible}

.mobile-nav{overflow-y:auto;flex:1}
.mobile-nav>li{border-bottom:1px solid var(--line)}
.m-row{display:flex;justify-content:space-between;align-items:center}
.m-row a{flex:1;padding:15px 20px;font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase}
.m-toggle{width:52px;height:50px;font-size:20px;transition:.3s}
.m-toggle.open{transform:rotate(45deg)}
.m-sub{max-height:0;overflow:hidden;transition:max-height .35s;background:var(--soft)}
.m-sub a{display:block;padding:10px 32px;font-size:14px;color:var(--muted)}
.mobile-extra{padding:20px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);font-size:14px}

/* ---------- Hero ---------- */
.hero{position:relative;height:min(78vh,680px);min-height:420px;overflow:hidden;background:#222}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s;display:flex;align-items:center;background-size:cover;background-position:center}
.slide.active{opacity:1;z-index:1}
.slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.1))}
.slide-content{position:relative;color:#fff;max-width:520px;margin-left:max(20px,calc((100vw - 1280px)/2 + 20px));padding-right:20px}
.slide-content small{letter-spacing:4px;font-size:12px;text-transform:uppercase;opacity:.85}
.slide-content h2{font-size:clamp(34px,5vw,62px);font-weight:600;line-height:1.05;margin:12px 0 16px;text-transform:uppercase}
.slide-content p{font-size:16px;opacity:.9;margin-bottom:28px;font-weight:300}
.slide.active .slide-content>*{animation:rise .8s both}
.slide.active .slide-content h2{animation-delay:.15s}
.slide.active .slide-content p{animation-delay:.3s}
.slide.active .slide-content .btn{animation-delay:.45s}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:30px;line-height:1;transition:.2s}
.hero-arrow:hover{background:#fff;color:var(--black)}
.hero-arrow.prev{left:20px}.hero-arrow.next{right:20px}
.dots{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:3}
.dots button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);transition:.3s}
.dots button.active{background:#fff;width:28px;border-radius:5px}

/* ---------- Sections ---------- */
.section{padding:70px 0}
.section.alt{background:var(--soft)}
.section-title{text-align:center;font-size:26px;letter-spacing:4px;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.section-title::after{content:"";display:block;width:50px;height:2px;background:var(--black);margin:14px auto 0}
.section-sub{text-align:center;color:var(--muted);margin-bottom:30px}
.section-title+.cat-grid,.section-title+.tabs{margin-top:36px}

/* Categories */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cat-card{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);display:block;background-size:cover;background-position:center}
.cat-card .cat-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s}
.cat-card:hover .cat-bg{transform:scale(1.08)}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.65))}
.cat-card span{position:absolute;left:0;right:0;bottom:26px;text-align:center;color:#fff;z-index:2;font-size:20px;letter-spacing:3px;font-weight:600}
.cat-card span::after{content:"Shop Now →";display:block;font-size:12px;letter-spacing:2px;font-weight:400;margin-top:6px;opacity:0;transform:translateY(8px);transition:.3s}
.cat-card:hover span::after{opacity:1;transform:none}
.cat-card:nth-child(1),.cat-card:nth-child(4){grid-row:span 1}

/* Tabs */
.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.tabs button{padding:8px 18px;font-size:13px;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--line);border-radius:30px;background:#fff;transition:.2s}
.tabs button.active,.tabs button:hover{background:var(--black);color:#fff;border-color:var(--black)}

/* Product grid */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 20px;margin-bottom:40px}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;animation:fadeIn .5s both}
@keyframes fadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.card-img{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer}
.thumb{width:100%;height:100%;display:grid;place-items:center;transition:transform .6s}
.thumb svg{width:62%;height:62%;stroke:rgba(0,0,0,.18);stroke-width:.8;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}
.card:hover .thumb{transform:scale(1.06)}
.tag{position:absolute;top:12px;left:12px;background:var(--black);color:#fff;font-size:11px;letter-spacing:1px;padding:4px 10px;text-transform:uppercase;z-index:2}
.tag.sale{background:var(--accent)}
.card-actions{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:8px;z-index:2}
.card-actions button{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.1);opacity:0;transform:translateX(16px);transition:.25s}
.card-actions button:nth-child(2){transition-delay:.05s}
.card:hover .card-actions button{opacity:1;transform:none}
.card-actions button:hover{background:var(--black);color:#fff}
.card-actions button.liked{color:var(--accent);opacity:1;transform:none}
.card-actions button.liked svg{fill:var(--accent)}
.card-actions svg{width:18px;height:18px}
.add-bar{position:absolute;left:0;right:0;bottom:0;background:var(--black);color:#fff;padding:12px;font-size:12px;letter-spacing:2px;text-transform:uppercase;transform:translateY(100%);transition:.3s;z-index:2}
.card:hover .add-bar{transform:none}
.card-body{padding:14px 14px 18px;text-align:center}
.card-body h3{font-size:15px;font-weight:400;line-height:1.35;margin-bottom:6px;cursor:pointer}
.card-body h3:hover{text-decoration:underline}
.price{font-size:15px;font-weight:600}
.price del{color:var(--muted);font-weight:400;margin-right:8px;font-size:14px}
.price .now-sale{color:var(--accent)}
.swatch{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid var(--line);margin-top:8px}

/* Promo */
.promo{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0}
.promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.promo-item{display:flex;gap:14px;align-items:center}
.promo-item svg{width:38px;height:38px;flex:none;stroke-width:1.3}
.promo-item h4{font-size:14px;letter-spacing:1px;text-transform:uppercase}
.promo-item p{font-size:13px;color:var(--muted)}

/* Instagram */
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.insta{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;background-size:cover;background-position:center}
.insta::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E") center/32px no-repeat;opacity:0;transition:.3s}
.insta:hover::after{opacity:1}

/* Newsletter */
.newsletter{background:var(--black);color:#fff;padding:50px 0}
.news-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.newsletter h3{font-size:24px;letter-spacing:2px;text-transform:uppercase;font-weight:500}
.newsletter p{color:#aaa}
.news-form{display:flex;flex:1;max-width:480px}
.news-form input{flex:1;padding:14px 16px;border:1px solid #444;background:transparent;color:#fff;outline:none;min-width:0}
.news-form input:focus{border-color:#fff}
.news-form .btn{background:#fff;color:var(--black);border-color:#fff}
.news-form .btn:hover{background:transparent;color:#fff}

/* Footer */
.footer{background:#0b0b0b;color:#bbb;padding-top:60px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
.footer h4{color:#fff;font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;font-weight:600}
.footer li{margin-bottom:10px}
.footer a:hover{color:#fff}
.socials{display:flex;gap:10px}
.socials a{width:40px;height:40px;border:1px solid #333;border-radius:50%;display:grid;place-items:center;transition:.2s}
.socials a:hover{background:#fff;color:#000;border-color:#fff}
.socials svg{width:18px;height:18px}
.copyright{border-top:1px solid #222;text-align:center;padding:20px;font-size:13px;color:#777}

/* Cart */
.cart-items{flex:1;overflow-y:auto;padding:10px 20px}
.cart-empty{text-align:center;color:var(--muted);padding:60px 0}
.cart-empty svg{width:60px;height:60px;stroke-width:1;margin-bottom:12px}
.cart-row{display:grid;grid-template-columns:70px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.cart-row .thumb{width:70px;height:90px;border-radius:var(--radius)}
.cart-row h4{font-size:14px;font-weight:500;line-height:1.3}
.cart-row small{color:var(--muted);display:block;margin:2px 0 6px}
.cart-row .qty{margin:0}
.cart-row .remove{font-size:22px;color:var(--muted);align-self:start}
.cart-row .remove:hover{color:var(--accent)}
.cart-foot{border-top:1px solid var(--line);padding:20px}
.cart-total{display:flex;justify-content:space-between;margin:12px 0 16px;font-size:16px}
.ship-note{font-size:13px;color:var(--muted)}
.ship-bar{height:4px;background:var(--line);border-radius:2px;margin-top:6px;overflow:hidden}
.ship-bar i{display:block;height:100%;background:var(--black);transition:width .4s}

/* Modals */
.modal{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.3s}
.modal.open{opacity:1;visibility:visible}
.modal-card{background:#fff;border-radius:var(--radius);position:relative;max-height:90vh;overflow:auto;transform:scale(.95);transition:.3s}
.modal.open .modal-card{transform:none}
.modal-card>.close{position:absolute;top:8px;right:10px;z-index:2}
.quick{display:grid;grid-template-columns:1fr 1fr;width:900px;max-width:100%}
.quick-img{min-height:420px}
.quick-img .thumb{height:100%}
.quick-info{padding:40px 32px}
.qv-cat{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.quick-info h3{font-size:26px;font-weight:500;margin:6px 0 10px;line-height:1.2}
.quick-info .price{font-size:20px;margin-bottom:16px}
.qv-desc{color:var(--muted);font-size:14px;margin-bottom:20px}
.lbl{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.sizes{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.sizes button{min-width:44px;height:40px;border:1px solid var(--line);font-size:13px;transition:.2s;padding:0 10px}
.sizes button.active,.sizes button:hover{border-color:var(--black);background:var(--black);color:#fff}
.qty{display:inline-flex;border:1px solid var(--line);margin-bottom:22px;align-items:center}
.qty button{width:34px;height:34px;font-size:18px}
.qty span{min-width:30px;text-align:center}

.account{width:420px;max-width:100%;padding:40px 30px 30px}
.acc-tabs{display:flex;margin-bottom:24px;border-bottom:1px solid var(--line)}
.acc-tabs button{flex:1;padding:12px;font-size:14px;letter-spacing:2px;text-transform:uppercase;border-bottom:2px solid transparent;color:var(--muted)}
.acc-tabs button.active{border-color:var(--black);color:var(--black);font-weight:600}
.acc-form{display:flex;flex-direction:column;gap:12px}
.acc-form input{padding:13px 14px;border:1px solid var(--line);outline:none}
.acc-form input:focus{border-color:var(--black)}

.search-modal{align-items:flex-start;padding-top:10vh}
.search-box{background:#fff;width:700px;max-width:100%;padding:30px;position:relative;border-radius:var(--radius)}
.search-box .close{position:absolute;top:8px;right:10px}
.search-box input{width:100%;font-size:22px;padding:12px 0;border:none;border-bottom:2px solid var(--black);outline:none}
.search-results{max-height:55vh;overflow:auto;margin-top:10px}
.search-results .cart-row{cursor:pointer;grid-template-columns:56px 1fr}
.search-results .thumb{width:56px;height:70px}
.search-results p{color:var(--muted);padding:20px 0}

/* Toast & top */
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,120px);background:var(--black);color:#fff;padding:14px 24px;border-radius:30px;font-size:14px;z-index:200;transition:.35s;box-shadow:var(--shadow);white-space:nowrap}
.toast.show{transform:translate(-50%,0)}
.to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:var(--black);color:#fff;font-size:18px;z-index:60;opacity:0;visibility:hidden;transition:.3s}
.to-top.show{opacity:1;visibility:visible}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .mega-products{grid-template-columns:repeat(4,1fr)}
  .mega-products .mini-card:nth-child(n+5){display:none}
  .insta-grid{grid-template-columns:repeat(3,1fr)}
  .promo-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .mainnav,.topbar{display:none}
  .burger{display:flex}
  .header-inner{height:64px}
  .logo{font-size:22px;letter-spacing:4px}
  .header-icons .icon-btn[data-open="account"]{display:none}
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .quick{grid-template-columns:1fr}
  .quick-img{min-height:300px}
  .quick-info{padding:24px}
  .hero-arrow{display:none}
}
@media (max-width:600px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:16px 10px}
  .card-body{padding:10px 6px 14px}
  .card-body h3{font-size:13px}
  .price{font-size:13px}
  .card-actions button{opacity:1;transform:none;width:32px;height:32px}
  .add-bar{transform:none;padding:9px;font-size:11px;letter-spacing:1px}
  .section{padding:50px 0}
  .section-title{font-size:20px;letter-spacing:3px}
  .promo-grid,.footer-grid{grid-template-columns:1fr}
  .cat-card span{font-size:15px;bottom:16px}
  .header-icons{gap:0}
  .icon-btn{width:36px}
  .slide-content p{font-size:14px}
}
