@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ink:#16171A; --ink-soft:#5b5d63; --ink-faint:#8b8d92;
  --paper:#F4F2EC; --surface:#FFFFFF; --surface-2:#ECE9DF;
  --accent:#FFC629; --accent-ink:#16171A; --accent-deep:#E3A800; --accent-tint:#FFF3D2;
  --sale:#D6431F; --sale-tint:#FBE3DA; --stock:#1F8A57; --stock-tint:#DFF1E6;
  --line:#DEDACC; --shadow:0 10px 30px rgba(22,23,26,.10);
  --radius:2px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#F2F0E8; --ink-soft:#B7B4A9; --ink-faint:#79776F;
    --paper:#111113; --surface:#1B1B1E; --surface-2:#242427;
    --accent:#FFC629; --accent-ink:#16171A; --accent-deep:#FFD65C; --accent-tint:#3A2F0C;
    --sale:#FF6A48; --sale-tint:#3A1E17; --stock:#3DDB8C; --stock-tint:#123423;
    --line:#333235; --shadow:0 10px 30px rgba(0,0,0,.45);
  }
}
:root[data-theme="dark"]{
  --ink:#F2F0E8; --ink-soft:#B7B4A9; --ink-faint:#79776F;
  --paper:#111113; --surface:#1B1B1E; --surface-2:#242427;
  --accent:#FFC629; --accent-ink:#16171A; --accent-deep:#FFD65C; --accent-tint:#3A2F0C;
  --sale:#FF6A48; --sale-tint:#3A1E17; --stock:#3DDB8C; --stock-tint:#123423;
  --line:#333235; --shadow:0 10px 30px rgba(0,0,0,.45);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper); color:var(--ink);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
h1,h2,h3,.wordmark,.price,.hero-title{
  font-family:'Big Shoulders Display',system-ui,sans-serif;
  text-wrap:balance;
  letter-spacing:.2px;
}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
img,svg{max-width:100%;}
::selection{background:var(--accent);color:var(--accent-ink);}
:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px;}

.container{max-width:1200px;margin:0 auto;padding:0 20px;}

/* ---------- Header ---------- */
.util-bar{background:var(--ink);color:var(--paper);font-size:13px;}
.util-bar .container{display:flex;align-items:center;justify-content:space-between;height:38px;gap:16px;}
.util-left{display:flex;align-items:center;gap:18px;color:var(--ink-faint);}
.util-left b{color:var(--paper);font-weight:600;}
.util-left a:hover{color:var(--accent);}
.util-right{display:flex;gap:16px;align-items:center;}
.util-right a{color:var(--ink-faint);}
.util-right a:hover{color:var(--accent);}
.sync-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 9px;border-radius:20px;background:#2a2b2f;color:var(--ink-faint);}
.sync-badge.live{color:var(--stock);}
.sync-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}

.navbar{background:var(--accent);color:var(--accent-ink);border-bottom:3px solid var(--accent-deep);}
.navbar .container{display:flex;align-items:center;gap:20px;height:74px;}
.wordmark{font-size:28px;font-weight:800;letter-spacing:.5px;display:flex;flex-direction:column;line-height:.85;flex:0 0 auto;}
.wordmark span{font-family:'Manrope';font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;opacity:.65;}
.catalog-btn{background:var(--ink);color:var(--paper);border:none;height:44px;padding:0 18px;border-radius:var(--radius);font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.catalog-btn:hover{background:#000;}
.search{flex:1 1 auto;display:flex;align-items:center;background:var(--surface);border-radius:var(--radius);height:44px;padding:0 6px 0 14px;gap:8px;max-width:560px;}
.search input{border:none;background:none;outline:none;flex:1;font-size:14px;font-family:inherit;color:var(--ink);}
.search button{background:var(--ink);color:var(--paper);border:none;width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.nav-actions{display:flex;gap:22px;margin-left:auto;flex:0 0 auto;}
.nav-action{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;position:relative;background:none;border:none;color:var(--accent-ink);}
.nav-action .cart-count{position:absolute;top:-6px;right:-10px;background:var(--sale);color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;font-family:'Manrope';}

.cat-strip{background:var(--surface);border-bottom:1px solid var(--line);}
.cat-strip .container{display:flex;gap:26px;height:44px;align-items:center;overflow-x:auto;}
.cat-strip a{font-size:13px;font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.cat-strip a:hover,.cat-strip a.active{color:var(--ink);}
.cat-strip a.active{border-bottom:2px solid var(--accent-deep);padding-bottom:2px;}

/* ---------- Breadcrumb ---------- */
.crumbs{font-size:13px;color:var(--ink-faint);padding:16px 0 6px;display:flex;gap:6px;flex-wrap:wrap;}
.crumbs a:hover{color:var(--ink);}

/* ---------- Hero (home) ---------- */
.hero-wrap{padding:22px 0 10px;}
.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;}
.hero-banner{background:linear-gradient(135deg,var(--ink) 0%,#2b2c31 100%);color:var(--paper);border-radius:8px;padding:38px;display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:230px;position:relative;overflow:hidden;}
.hero-banner::after{content:"";position:absolute;right:-60px;bottom:-60px;width:260px;height:260px;border-radius:50%;background:var(--accent);opacity:.12;}
.hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);}
.hero-title{font-size:42px;font-weight:800;line-height:.95;max-width:480px;}
.hero-sub{color:var(--ink-faint);font-size:14px;max-width:420px;}
.hero-cta{margin-top:8px;display:inline-flex;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px;padding:12px 20px;border-radius:var(--radius);width:max-content;}
.hero-cta:hover{background:var(--accent-deep);}

.deal-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;display:flex;flex-direction:column;gap:10px;}
.deal-card h3{margin:0;font-size:15px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px;}
.deal-mini{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);}
.deal-mini:first-of-type{border-top:none;}
.deal-thumb{width:52px;height:52px;border-radius:6px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;}
.deal-thumb svg{width:28px;height:28px;}
.deal-thumb img{width:100%;height:100%;object-fit:cover;}
.deal-info{flex:1;min-width:0;}
.deal-info .name{font-size:12.5px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.deal-price{font-size:14px;font-weight:800;font-family:'Big Shoulders Display';}
.deal-price .old{font-family:'Manrope';font-weight:500;font-size:11px;color:var(--ink-faint);text-decoration:line-through;margin-left:4px;}

/* ---------- Section heading ---------- */
.section{padding:34px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;}
.section-head h2{font-size:26px;font-weight:800;margin:0;}
.section-head a{font-size:13px;font-weight:700;color:var(--ink-soft);}
.section-head a:hover{color:var(--ink);}

/* ---------- Category tiles ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.cat-tile{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:border-color .15s,transform .15s;}
.cat-tile:hover{border-color:var(--accent-deep);transform:translateY(-2px);}
.cat-tile svg{width:34px;height:34px;}
.cat-tile span{font-size:12.5px;font-weight:600;line-height:1.25;}

/* ---------- Product grid/cards ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.prod-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px;position:relative;transition:box-shadow .15s,border-color .15s;}
.prod-card:hover{box-shadow:var(--shadow);border-color:var(--line);}
.badge{position:absolute;top:12px;left:12px;background:var(--sale);color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:3px;z-index:2;}
.prod-thumb{aspect-ratio:1.3;background:var(--surface-2);border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.prod-thumb svg{width:44%;height:44%;}
.prod-thumb img{width:100%;height:100%;object-fit:cover;}
.prod-card a.name{font-size:13.5px;font-weight:600;line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.prod-card a.name:hover{color:var(--ink-soft);}
.prod-meta{font-size:11px;color:var(--ink-faint);}
.prod-stock{font-size:11px;font-weight:700;color:var(--stock);display:flex;align-items:center;gap:4px;}
.prod-stock::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--stock);}
.prod-stock.out{color:var(--sale);}
.prod-stock.out::before{background:var(--sale);}
.prod-price-row{display:flex;align-items:baseline;gap:8px;margin-top:auto;}
.prod-price{font-size:20px;font-weight:800;font-family:'Big Shoulders Display';font-variant-numeric:tabular-nums;}
.prod-old{font-size:12px;color:var(--ink-faint);text-decoration:line-through;font-variant-numeric:tabular-nums;}
.add-btn{background:var(--ink);color:var(--paper);border:none;border-radius:var(--radius);height:38px;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;}
.add-btn:hover{background:var(--accent);color:var(--accent-ink);}
.add-btn:disabled{background:var(--surface-2);color:var(--ink-faint);cursor:not-allowed;}

/* ---------- Brand strip ---------- */
.brand-strip{display:flex;flex-wrap:wrap;gap:10px;}
.brand-chip{border:1px solid var(--line);border-radius:20px;padding:8px 18px;font-size:13px;font-weight:700;color:var(--ink-soft);background:var(--surface);}

/* ---------- Catalog layout ---------- */
.catalog-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:20px 0 50px;align-items:start;}
.filter-box{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;position:sticky;top:16px;}
.filter-box h3{font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;color:var(--ink-faint);font-family:'Manrope';font-weight:800;}
.filter-list{display:flex;flex-direction:column;gap:2px;}
.filter-list button{background:none;border:none;text-align:left;padding:8px 8px;border-radius:5px;font-size:13.5px;font-weight:600;color:var(--ink-soft);display:flex;justify-content:space-between;width:100%;}
.filter-list button:hover{background:var(--surface-2);color:var(--ink);}
.filter-list button.active{background:var(--accent-tint);color:var(--ink);}
.filter-list button .n{color:var(--ink-faint);font-weight:500;}
.catalog-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.catalog-head h1{font-size:26px;margin:0;}
.result-count{font-size:13px;color:var(--ink-faint);}
.empty-state{padding:60px 20px;text-align:center;color:var(--ink-faint);}

/* ---------- Product detail ---------- */
.pd-grid{display:grid;grid-template-columns:1fr 1fr 320px;gap:30px;padding:18px 0 50px;align-items:start;}
.pd-gallery{display:flex;flex-direction:column;gap:10px;}
.pd-main{background:var(--surface);border:1px solid var(--line);border-radius:8px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.pd-main svg{width:52%;height:52%;}
.pd-main img{width:100%;height:100%;object-fit:cover;}
.pd-thumbs{display:flex;gap:8px;flex-wrap:wrap;}
.pd-thumb{width:64px;height:64px;flex:0 0 auto;padding:0;border-radius:6px;border:2px solid var(--line);background:var(--surface);overflow:hidden;cursor:pointer;}
.pd-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pd-thumb.active{border-color:var(--accent);}
.pd-title{font-size:26px;font-weight:800;margin:6px 0 10px;line-height:1.1;}
.pd-subline{display:flex;gap:14px;font-size:13px;color:var(--ink-faint);margin-bottom:18px;flex-wrap:wrap;}
.pd-specs{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--line);padding-top:14px;}
.pd-specs .row{display:flex;justify-content:space-between;font-size:13.5px;gap:12px;}
.pd-specs .row .k{color:var(--ink-faint);}
.pd-specs .row .v{font-weight:600;text-align:right;}
.brand-line{margin-top:16px;font-size:13px;color:var(--ink-faint);}
.brand-line b{color:var(--ink);}

.buy-box{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;position:sticky;top:16px;display:flex;flex-direction:column;gap:14px;}
.buy-price{font-size:32px;font-weight:800;font-family:'Big Shoulders Display';font-variant-numeric:tabular-nums;}
.buy-old{font-size:15px;color:var(--ink-faint);text-decoration:line-through;margin-left:8px;font-variant-numeric:tabular-nums;}
.buy-box .add-btn{height:48px;font-size:14.5px;}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:36px 0 18px;}
.tab-btn{background:none;border:none;padding:12px 18px;font-size:14px;font-weight:700;color:var(--ink-faint);border-bottom:2px solid transparent;}
.tab-btn.active{color:var(--ink);border-color:var(--accent-deep);}
.tab-panel{font-size:14px;line-height:1.7;color:var(--ink-soft);max-width:70ch;}
.tab-panel table{border-collapse:collapse;width:100%;max-width:560px;}
.tab-panel td{padding:9px 4px;border-bottom:1px solid var(--line);font-size:13.5px;}
.tab-panel td:first-child{color:var(--ink-faint);width:45%;}
.tab-panel td:last-child{font-weight:600;}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:var(--ink-faint);margin-top:40px;}
.footer-top{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:24px;padding:46px 0 30px;}
.footer-col h4{color:var(--paper);font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:0 0 14px;font-family:'Manrope';font-weight:800;}
.footer-col a,.footer-col div{display:block;font-size:13px;margin-bottom:9px;color:var(--ink-faint);}
.footer-col a:hover{color:var(--accent);}
.footer-brand .wordmark{color:var(--paper);}
.footer-brand p{font-size:13px;line-height:1.6;max-width:30ch;margin-top:10px;}
.footer-bottom{border-top:1px solid #2c2d30;padding:18px 0;display:flex;justify-content:space-between;font-size:12px;color:#6f7177;flex-wrap:wrap;gap:10px;}
.footer-bottom a:hover{color:var(--accent);}

/* ---------- Cart drawer ---------- */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40;}
.scrim.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;background:var(--surface);z-index:41;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:var(--shadow);}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);}
.drawer-head h3{margin:0;font-size:18px;}
.drawer-close{background:none;border:none;font-size:20px;color:var(--ink-faint);width:32px;height:32px;}
.drawer-body{flex:1;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:14px;}
.cart-line{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);}
.cart-thumb{width:56px;height:56px;background:var(--surface-2);border-radius:6px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cart-thumb svg{width:30px;height:30px;}
.cart-thumb img{width:100%;height:100%;object-fit:cover;}
.cart-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.cart-info .name{font-size:12.5px;font-weight:600;line-height:1.3;}
.qty-row{display:flex;align-items:center;gap:10px;}
.qty-row button{width:22px;height:22px;border:1px solid var(--line);background:var(--surface);border-radius:4px;font-weight:700;font-size:13px;line-height:1;color:var(--ink);}
.qty-row .price{margin-left:auto;font-weight:800;font-family:'Big Shoulders Display';font-size:14px;}
.remove-line{background:none;border:none;color:var(--ink-faint);font-size:11px;text-decoration:underline;align-self:flex-start;}
.drawer-foot{border-top:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:12px;}
.subtotal-row{display:flex;justify-content:space-between;font-size:15px;font-weight:700;}
.checkout-btn{background:var(--accent);color:var(--accent-ink);border:none;height:48px;border-radius:var(--radius);font-weight:800;font-size:14px;}
.checkout-btn:hover{background:var(--accent-deep);}
.checkout-btn:disabled{background:var(--surface-2);color:var(--ink-faint);cursor:not-allowed;}
.proto-note{font-size:11px;color:var(--ink-faint);text-align:center;}
.cart-empty{padding:40px 10px;text-align:center;color:var(--ink-faint);font-size:13.5px;}

.checkout-form{display:flex;flex-direction:column;gap:10px;}
.checkout-form input{height:42px;border:1px solid var(--line);border-radius:var(--radius);padding:0 12px;font-family:inherit;font-size:13.5px;background:var(--surface);color:var(--ink);}
.checkout-form input:focus-visible{border-color:var(--accent-deep);}
.order-confirm{padding:16px;background:var(--stock-tint);border-radius:8px;font-size:13px;color:var(--ink);display:flex;flex-direction:column;gap:6px;}
.order-confirm.pending{background:var(--surface-2);}
.order-confirm b{font-family:'Big Shoulders Display';font-size:16px;}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .catalog-layout{grid-template-columns:1fr;}
  .filter-box{position:static;}
  .pd-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .search{display:none;}
}
