  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --blue-900:#021A2E;--blue-800:#042C53;--blue-700:#0C447C;--blue-600:#185FA5;
    --blue-400:#378ADD;--blue-200:#B5D4F4;--blue-100:#D8EAFB;--blue-50:#EFF6FD;
    --teal-700:#085041;--teal-600:#0F6E56;--teal-400:#1D9E75;--teal-300:#5DCAA5;
    --teal-100:#9FE1CB;--teal-50:#E1F5EE;
    --slate-900:#111418;--slate-800:#1C2128;--slate-700:#2D3748;--slate-600:#4A5568;
    --slate-400:#718096;--slate-200:#E2E8F0;--slate-100:#F1F5F9;--slate-50:#F8FAFC;
    --amber-600:#854F0B;--amber-50:#FDF3DC;
    --font-display:'DM Serif Display',Georgia,serif;
    --font-body:'DM Sans',sans-serif;
    --radius-sm:6px;--radius-md:10px;--radius-lg:16px;
    --shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
    --shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05);
    --shadow-lg:0 10px 32px rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.06);
  }
  html { scroll-behavior: smooth; }
  body { font-family:var(--font-body); background:var(--slate-50); color:var(--slate-900); font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased; }

  /* NAV */
  .moq-ribbon { background:linear-gradient(90deg,var(--blue-800),var(--blue-600)); color:var(--blue-200); text-align:center; font-size:12px; font-weight:500; padding:9px 16px; }
  .moq-ribbon strong { color:white; }
  nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.95); backdrop-filter:blur(12px); border-bottom:1px solid var(--slate-200); }
  .nav-inner { max-width:1200px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; height:64px; }
  .nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; cursor:pointer; }
  .logo-mark { width:36px; height:36px; background:var(--blue-800); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; }
  .nav-brand { font-size:17px; font-weight:600; color:var(--slate-900); }
  .nav-pill { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:var(--blue-50); color:var(--blue-700); border:1px solid var(--blue-200); padding:3px 9px; border-radius:20px; }
  .nav-links { display:flex; align-items:center; gap:24px; }
  .nav-links a { font-size:14px; color:var(--slate-600); text-decoration:none; cursor:pointer; transition:color .2s; padding:4px 0; border-bottom:2px solid transparent; }
  .nav-links a:hover { color:var(--slate-900); }
  .nav-links a.active { color:var(--blue-600); font-weight:500; border-bottom-color:var(--blue-600); }
  .nav-actions { display:flex; align-items:center; gap:10px; position:relative; }

  /* BUTTONS */
  .btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-size:14px; font-weight:500; padding:11px 22px; border-radius:var(--radius-sm); border:none; cursor:pointer; text-decoration:none; transition:all .18s; white-space:nowrap; }
  .btn-blue { background:var(--blue-600); color:white; box-shadow:0 1px 3px rgba(24,95,165,.4); }
  .btn-blue:hover { background:var(--blue-700); transform:translateY(-1px); box-shadow:0 4px 12px rgba(24,95,165,.4); }
  .btn-teal { background:var(--teal-400); color:white; }
  .btn-teal:hover { background:var(--teal-600); transform:translateY(-1px); }
  .btn-ghost { background:transparent; color:var(--blue-200); border:1px solid rgba(181,212,244,.3); }
  .btn-ghost:hover { background:rgba(255,255,255,.08); color:white; }
  .btn-outline { background:white; color:var(--slate-700); border:1px solid var(--slate-200); box-shadow:var(--shadow-sm); }
  .btn-outline:hover { border-color:var(--slate-400); }
  .btn-sm { padding:7px 14px; font-size:13px; }
  .btn-ghost-dark { background:transparent; color:var(--slate-600); border:1px solid var(--slate-200); border-radius:var(--radius-sm); padding:7px 14px; font-size:13px; cursor:pointer; font-family:var(--font-body); transition:all .18s; }
  .btn-ghost-dark:hover { background:var(--slate-100); color:var(--slate-900); }
  .btn-ghost-dark.active { background:var(--blue-600); color:white; border-color:var(--blue-600); }

  /* LAYOUT */
  .section { padding:64px 0; }
  .section-alt { background:white; }
  .container { max-width:1200px; margin:0 auto; padding:0 32px; }
  .section-header { margin-bottom:36px; }
  .section-eyebrow { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-600); margin-bottom:8px; }
  .section-title { font-family:var(--font-display); font-size:32px; font-weight:400; color:var(--slate-900); line-height:1.2; }
  .section-sub { font-size:15px; color:var(--slate-600); margin-top:8px; }

  /* HERO */
  .hero { background:linear-gradient(rgba(2,26,46,.55),rgba(2,26,46,.62)), url('/images/hero-bg.jpg') center/cover no-repeat; position:relative; overflow:hidden; }
  .hero-grid-bg { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:48px 48px; z-index:1; }
  .hero-glow { position:absolute; top:-120px; right:-120px; width:600px; height:600px; background:radial-gradient(circle,rgba(24,95,165,.4) 0%,transparent 65%); pointer-events:none; z-index:1; }
  .hero-glow-2 { position:absolute; bottom:-80px; left:5%; width:400px; height:400px; background:radial-gradient(circle,rgba(15,110,86,.3) 0%,transparent 65%); pointer-events:none; z-index:1; }
  .hero-inner { max-width:1200px; margin:0 auto; padding:80px 32px 72px; position:relative; z-index:2; display:grid; grid-template-columns:1fr 420px; gap:64px; align-items:center; }
  .hero-eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-300); background:rgba(93,202,165,.1); border:1px solid rgba(93,202,165,.25); padding:5px 14px; border-radius:20px; margin-bottom:20px; }
  .hero-eyebrow::before { content:''; width:6px; height:6px; background:var(--teal-300); border-radius:50%; animation:pulse-dot 2s infinite; }
  @keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)} }
  .hero h1 { font-family:var(--font-display); font-size:clamp(38px,4vw,54px); font-weight:400; line-height:1.1; color:white; margin-bottom:20px; }
  .hero h1 em { color:var(--teal-300); font-style:italic; }
  .hero-sub { font-size:16px; color:var(--blue-200); max-width:480px; margin-bottom:32px; line-height:1.7; }
  .hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
  .hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .stat-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md); padding:20px 18px; }
  .stat-card .stat-value { font-family:var(--font-display); font-size:30px; color:white; line-height:1; margin-bottom:4px; }
  .stat-card .stat-label { font-size:12px; color:var(--blue-200); }
  .stat-card.highlight { grid-column:span 2; background:rgba(93,202,165,.12); border-color:rgba(93,202,165,.3); display:flex; align-items:center; gap:14px; }
  .stat-card.highlight .stat-value { font-size:22px; color:var(--teal-300); }

  /* TRUST BAR */
  .trust-bar { background:var(--slate-900); color:var(--slate-400); padding:20px 0; }
  .trust-bar-inner { max-width:1200px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
  .trust-item { display:flex; align-items:center; gap:10px; font-size:13px; }
  .trust-item strong { color:white; font-weight:600; }

  /* CATEGORIES */
  .categories-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  .cat-card { background:white; border:1px solid var(--slate-200); border-radius:var(--radius-lg); padding:24px 20px; cursor:pointer; transition:all .2s; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:12px; }
  .cat-card:hover { border-color:var(--blue-400); box-shadow:var(--shadow-md); transform:translateY(-2px); }
  .cat-icon { width:44px; height:44px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; }
  .cat-card h3 { font-size:15px; font-weight:600; color:var(--slate-900); }
  .cat-card p { font-size:13px; color:var(--slate-500); line-height:1.5; }
  .cat-count { font-size:12px; color:var(--slate-400); }
  .cat-arrow { font-size:13px; color:var(--blue-600); font-weight:500; margin-top:auto; }

  /* PAGE HERO */
  .page-hero { background:linear-gradient(rgba(2,26,46,.70),rgba(2,26,46,.78)), url('/images/hero-bg.jpg') center/cover no-repeat; position:relative; overflow:hidden; padding:52px 0; }
  .page-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:48px 48px; }
  .page-hero-glow { position:absolute; top:-80px; right:-80px; width:500px; height:500px; pointer-events:none; }
  .page-hero-inner { position:relative; z-index:1; }
  .breadcrumb { display:flex; align-items:center; gap:8px; font-size:13px; color:#E2E8F0; margin-bottom:16px; flex-wrap:wrap; font-weight:500; }
  .breadcrumb span.sep { color:#94A3B8; }
  .breadcrumb a { color:#D8EAFB; text-decoration:none; cursor:pointer; transition:color .15s; }
  .breadcrumb a:hover { color:white; text-decoration:underline; }
  .breadcrumb .current, .breadcrumb span[style*="color:white"] { color:white !important; font-weight:600; }
  .page-hero h1 { font-family:var(--font-display); font-size:clamp(28px,3.5vw,44px); font-weight:400; color:white; line-height:1.15; margin-bottom:12px; }
  .page-hero h1 em { color:var(--teal-300); font-style:italic; }
  .page-hero p { font-size:15px; color:#E2E8F0; max-width:560px; line-height:1.7; }
  .page-hero-meta { display:flex; gap:24px; margin-top:20px; flex-wrap:wrap; }
  .meta-item { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--blue-200); }
  .meta-item strong { color:white; }
  .moq-callout { display:inline-flex; align-items:center; gap:8px; background:rgba(93,202,165,.12); border:1px solid rgba(93,202,165,.3); border-radius:20px; padding:5px 14px; font-size:12px; font-weight:600; color:var(--teal-300); margin-top:16px; }

  /* TOOLBAR */
  .toolbar { display:flex; align-items:center; gap:12px; padding:20px 0; flex-wrap:wrap; border-bottom:1px solid var(--slate-200); margin-bottom:28px; }
  .toolbar input[type=text] { flex:1; min-width:200px; padding:9px 14px; border:1px solid var(--slate-200); border-radius:var(--radius-sm); font-family:var(--font-body); font-size:14px; background:white; color:var(--slate-900); transition:border-color .2s; }
  .toolbar input[type=text]:focus { outline:none; border-color:var(--blue-400); box-shadow:0 0 0 3px rgba(55,138,221,.1); }
  .toolbar select { padding:9px 14px; border:1px solid var(--slate-200); border-radius:var(--radius-sm); font-family:var(--font-body); font-size:14px; background:white; color:var(--slate-700); cursor:pointer; }

  /* PRODUCTS */
  .products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .product-card { background:white; border:1px solid var(--slate-200); border-radius:var(--radius-lg); overflow:hidden; transition:all .2s; display:flex; flex-direction:column; }
  .product-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); border-color:var(--blue-200); }
  .product-card.featured { border-color:var(--blue-400); border-width:2px; }
  .product-thumb { background:var(--slate-50); height:140px; display:flex; align-items:center; justify-content:center; position:relative; border-bottom:1px solid var(--slate-100); }
  .product-badge-wrap { position:absolute; top:10px; right:10px; display:flex; flex-direction:column; gap:4px; align-items:flex-end; }
  .product-body { padding:16px; flex:1; display:flex; flex-direction:column; gap:10px; }
  .product-name { font-size:14px; font-weight:600; color:var(--slate-900); line-height:1.3; }
  .product-spec { font-size:12px; color:var(--slate-500); }
  .product-tags { display:flex; flex-wrap:wrap; gap:4px; }
  .moq-tag { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; background:#F3F0FE; color:#4C3DBF; border:1px solid #C9C1F8; padding:3px 9px; border-radius:20px; }
  .product-pricing { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:12px; border-top:1px solid var(--slate-100); }
  .price-big { font-size:18px; font-weight:600; color:var(--slate-900); }
  .price-unit { font-size:11px; color:var(--slate-400); margin-left:2px; }

  /* BADGES */
  .badge { display:inline-block; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:3px 8px; border-radius:20px; }
  .badge-green { background:#DCFCE7; color:#166534; }
  .badge-amber { background:var(--amber-50); color:var(--amber-600); }
  .badge-blue { background:var(--blue-50); color:var(--blue-700); }
  .badge-tag { background:var(--slate-100); color:var(--slate-600); font-size:11px; font-weight:400; text-transform:none; letter-spacing:0; padding:3px 8px; }
  .badge-mo { background:#EEEDFE; color:#3C3489; }

  /* PRICING TABLE */
  .pricing-table-wrap { border:1px solid var(--slate-200); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
  .pricing-table { width:100%; border-collapse:collapse; font-size:14px; }
  .pricing-table thead tr { background:var(--slate-900); }
  .pricing-table thead th { padding:14px 20px; color:var(--slate-200); font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; text-align:left; }
  .pricing-table tbody tr { border-bottom:1px solid var(--slate-100); background:white; transition:background .15s; }
  .pricing-table tbody tr:last-child { border-bottom:none; }
  .pricing-table tbody tr:hover { background:var(--slate-50); }
  .pricing-table td { padding:16px 20px; color:var(--slate-700); vertical-align:middle; }
  .tier-label { font-weight:600; font-size:14px; color:var(--slate-900); }
  .table-footnote { padding:12px 20px; background:var(--slate-50); border-top:1px solid var(--slate-200); font-size:12px; color:var(--slate-500); }

  /* QUICK ORDER */
  .quick-order-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .panel { background:white; border:1px solid var(--slate-200); border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-sm); }
  .panel h3 { font-size:17px; font-weight:600; margin-bottom:6px; color:var(--slate-900); }
  .panel p { font-size:13px; color:var(--slate-500); margin-bottom:18px; line-height:1.6; }
  .panel textarea { width:100%; height:100px; padding:10px 14px; border:1px solid var(--slate-200); border-radius:var(--radius-sm); font-family:var(--font-body); font-size:13px; color:var(--slate-700); resize:none; background:var(--slate-50); }
  .panel textarea:focus { outline:none; border-color:var(--blue-400); background:white; }
  .panel-actions { display:flex; gap:10px; margin-top:14px; }
  .check-row { display:flex; align-items:flex-start; gap:12px; }
  .check-icon { width:28px; height:28px; border-radius:50%; background:var(--teal-50); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
  .check-row + .check-row { margin-top:16px; }
  .check-title { font-size:14px; font-weight:600; color:var(--slate-900); }
  .check-sub { font-size:12px; color:var(--slate-500); margin-top:2px; }

  /* CAT PILLS NAV */
  .sidebar-cats { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:28px; }
  .cat-pill { display:flex; align-items:center; gap:10px; padding:12px 14px; background:white; border:1px solid var(--slate-200); border-radius:var(--radius-md); text-decoration:none; cursor:pointer; color:var(--slate-700); font-size:13px; font-weight:500; transition:all .2s; }
  .cat-pill:hover { border-color:var(--blue-400); color:var(--blue-700); box-shadow:var(--shadow-sm); }
  .cat-pill.active { background:var(--blue-600); color:white; border-color:var(--blue-600); }
  .cat-pill-icon { width:28px; height:28px; border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

  /* NO RESULTS */
  .no-results { text-align:center; padding:64px 0; color:var(--slate-400); }

  /* FOOTER */
  footer { background:var(--blue-900); color:var(--blue-200); padding:40px 0 24px; }
  .footer-inner { max-width:1200px; margin:0 auto; padding:0 32px; }
  .footer-links { display:flex; gap:20px; margin-bottom:24px; flex-wrap:wrap; }
  .footer-links a { font-size:13px; color:var(--blue-200); text-decoration:none; cursor:pointer; }
  .footer-links a:hover { color:white; }
  .footer-bottom { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--slate-600); padding-top:24px; border-top:1px solid rgba(255,255,255,.08); }

  /* PAGE TRANSITIONS */
  #app { animation: fadeIn .25s ease; }
  @keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }


  /* IMAGE UPLOAD SYSTEM */
  .product-thumb { cursor: pointer; position: relative; }
  .product-thumb.drag-over { background: var(--blue-50); border: 2px dashed var(--blue-400); }
  .product-thumb img.prod-img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
  .img-upload-hint {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 6px;
    opacity: 0; transition: opacity .2s; pointer-events: none;
    background: rgba(255,255,255,.88); border-radius: 0;
  }
  .product-thumb:hover .img-upload-hint { opacity: 1; }
  .img-upload-hint svg { width: 22px; height: 22px; }
  .img-upload-hint span { font-size: 11px; font-weight: 600; color: var(--blue-600); }
  .img-remove-btn {
    position: absolute; top: 6px; left: 6px; z-index: 10;
    width: 22px; height: 22px; border-radius: 50%;
    background: rgba(255,255,255,.9); border: 1px solid var(--slate-200);
    display: none; align-items: center; justify-content: center;
    cursor: pointer; font-size: 12px; color: var(--slate-600);
    box-shadow: var(--shadow-sm);
  }
  .product-thumb:hover .img-remove-btn { display: flex; }
  .img-mgr-bar {
    background: white; border-bottom: 1px solid var(--slate-200);
    padding: 10px 0; position: sticky; top: 64px; z-index: 90;
  }
  .img-mgr-inner {
    max-width: 1200px; margin: 0 auto; padding: 0 32px;
    display: flex; align-items: center; gap: 12px;
  }
  .img-mgr-text { font-size: 13px; color: var(--slate-600); flex: 1; }
  .img-mgr-text strong { color: var(--slate-900); }
  #img-file-input { display: none; }
  .img-count-badge {
    font-size: 11px; font-weight: 600; background: var(--teal-50);
    color: var(--teal-600); border: 1px solid var(--teal-100);
    padding: 2px 8px; border-radius: 20px;
  }

  /* RESPONSIVE */
  @media(max-width:1024px) {
    .hero-inner { grid-template-columns:1fr; gap:40px; }
    .hero-stats { grid-template-columns:repeat(4,1fr); }
    .stat-card.highlight { grid-column:span 2; }
    .categories-grid { grid-template-columns:repeat(2,1fr); }
    .products-grid { grid-template-columns:repeat(3,1fr); }
    .sidebar-cats { grid-template-columns:repeat(3,1fr); }
  }
  @media(max-width:768px) {
    .products-grid { grid-template-columns:repeat(2,1fr); }
    .sidebar-cats { grid-template-columns:repeat(2,1fr); }
    .quick-order-grid { grid-template-columns:1fr; }
    .nav-links { display:none; }
    .toolbar { flex-direction:column; align-items:stretch; }
  }
  @media(max-width:480px) {
    .products-grid { grid-template-columns:1fr; }
    .categories-grid { grid-template-columns:1fr; }
    .hero-inner,.container { padding-left:16px; padding-right:16px; }
  }

  /* CART DRAWER */
  .cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900;opacity:0;pointer-events:none;transition:opacity .25s;}
  .cart-overlay.open{opacity:1;pointer-events:all;}
  .cart-drawer{position:fixed;top:0;right:0;width:min(420px,100vw);height:100vh;background:white;z-index:901;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-4px 0 32px rgba(0,0,0,.12);}
  .cart-drawer.open{transform:none;}
  .cart-header{padding:20px 24px;border-bottom:1px solid var(--slate-100);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
  .cart-header h2{font-size:18px;font-weight:600;color:var(--slate-900);}
  .cart-close{width:32px;height:32px;border:none;background:var(--slate-100);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--slate-600);}
  .cart-close:hover{background:var(--slate-200);}
  .cart-items{flex:1;overflow-y:auto;padding:16px 24px;}
  .cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--slate-400);font-size:14px;}
  .cart-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--slate-50);align-items:flex-start;}
  .cart-item-thumb{width:56px;height:56px;background:var(--slate-50);border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .cart-item-thumb img{width:100%;height:100%;object-fit:contain;padding:4px;}
  .cart-item-info{flex:1;min-width:0;}
  .cart-item-name{font-size:13px;font-weight:600;color:var(--slate-900);line-height:1.3;}
  .cart-item-spec{font-size:11px;color:var(--slate-500);margin-top:2px;}
  .cart-item-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
  .cart-qty{display:flex;align-items:center;gap:6px;}
  .cart-qty-btn{width:24px;height:24px;border:1px solid var(--slate-200);border-radius:4px;background:white;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--slate-600);}
  .cart-qty-btn:hover{background:var(--slate-50);}
  .cart-qty-val{font-size:13px;font-weight:600;color:var(--slate-900);min-width:32px;text-align:center;}
  .cart-item-price{font-size:13px;font-weight:600;color:var(--slate-900);}
  .cart-item-remove{background:none;border:none;color:var(--slate-400);cursor:pointer;font-size:16px;padding:2px 4px;line-height:1;}
  .cart-item-remove:hover{color:#A32D2D;}
  .cart-footer{padding:20px 24px;border-top:1px solid var(--slate-100);flex-shrink:0;background:var(--slate-50);}
  .cart-summary{margin-bottom:16px;}
  .cart-summary-row{display:flex;justify-content:space-between;font-size:13px;color:var(--slate-600);padding:3px 0;}
  .cart-summary-row.total{font-size:15px;font-weight:600;color:var(--slate-900);border-top:1px solid var(--slate-200);margin-top:8px;padding-top:10px;}
  .cart-moq-warn{background:#FDF3DC;border:1px solid #F0C060;border-radius:6px;padding:8px 12px;font-size:11px;color:#854F0B;margin-bottom:12px;display:none;}
  .cart-moq-warn.visible{display:block;}
  .cart-btn-checkout{width:100%;padding:12px;background:var(--blue-600);color:white;border:none;border-radius:8px;font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:background .18s;}
  .cart-btn-checkout:hover{background:var(--blue-800);}
  .cart-download-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;}
  .cart-btn-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;background:white;color:var(--blue-700);border:1px solid var(--blue-200);border-radius:8px;font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;}
  .cart-btn-download:hover{background:var(--blue-50);border-color:var(--blue-400);color:var(--blue-800);}
  .cart-btn-download svg{flex-shrink:0;}
  .cart-btn-clear{width:100%;padding:8px;margin-top:8px;background:transparent;color:var(--slate-500);border:1px solid var(--slate-200);border-radius:8px;font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all .18s;}
  .cart-btn-clear:hover{border-color:var(--slate-400);color:var(--slate-700);}
  .cart-badge{position:absolute;top:-6px;right:-6px;background:#E53E3E;color:white;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;display:none;}
  .cart-badge.visible{display:flex;}
  .nav-cart-btn{position:relative;background:none;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:6px;color:white;font-family:var(--font-body);font-size:13px;font-weight:500;}
  .nav-cart-btn:hover{background:rgba(255,255,255,.1);}
  /* SIGN-IN MODAL */
  .modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:950;display:none;align-items:center;justify-content:center;}
  .modal-overlay.open{display:flex;}
  .modal-box{background:white;border-radius:16px;padding:36px;width:min(400px,92vw);box-shadow:0 16px 48px rgba(0,0,0,.18);}
  .modal-box h2{font-size:22px;font-weight:600;color:var(--slate-900);margin-bottom:6px;}
  .modal-box p{font-size:13px;color:var(--slate-500);margin-bottom:24px;}
  .modal-field{margin-bottom:16px;}
  .modal-field label{display:block;font-size:13px;font-weight:500;color:var(--slate-700);margin-bottom:6px;}
  .modal-field input{width:100%;padding:10px 14px;border:1px solid var(--slate-200);border-radius:8px;font-family:var(--font-body);font-size:14px;outline:none;box-sizing:border-box;}
  .modal-field input:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,.1);}
  .modal-actions{display:flex;gap:10px;margin-top:20px;}
  .modal-close-btn{flex:1;padding:10px;border:1px solid var(--slate-200);border-radius:8px;background:white;font-family:var(--font-body);font-size:14px;cursor:pointer;color:var(--slate-600);}
  .modal-submit-btn{flex:2;padding:10px;border:none;border-radius:8px;background:var(--blue-600);color:white;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;}
  .modal-submit-btn:hover{background:var(--blue-800);}
  .modal-note{font-size:11px;color:var(--slate-400);margin-top:12px;text-align:center;}

  /* PRODUCT DETAIL PAGE */
  .detail-hero{background:linear-gradient(rgba(2,26,46,.78),rgba(2,26,46,.84)), url('/images/hero-bg.jpg') center/cover no-repeat;position:relative;overflow:hidden;padding:48px 0;}
  .detail-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;}
  .detail-hero-glow{position:absolute;top:-100px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(24,95,165,.35) 0%,transparent 65%);pointer-events:none;}
  .detail-hero-inner{position:relative;z-index:1;}
  .detail-layout{display:grid;grid-template-columns:1fr 420px;gap:56px;padding:48px 0 64px;align-items:start;}
  .detail-gallery{position:sticky;top:80px;}
  .gallery-main{background:white;border:1px solid var(--slate-200);border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin-bottom:12px;position:relative;}
  .gallery-main img{width:100%;height:100%;object-fit:contain;padding:24px;}
  .gallery-main .svg-placeholder{width:60%;height:60%;display:flex;align-items:center;justify-content:center;}
  .gallery-thumbs{display:flex;gap:8px;}
  .gallery-thumb{width:72px;height:72px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);background:white;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .15s;flex-shrink:0;}
  .gallery-thumb:hover,.gallery-thumb.active{border-color:var(--blue-400);}
  .gallery-thumb img{width:100%;height:100%;object-fit:contain;padding:6px;}
  .gallery-thumb .svg-sm{transform:scale(.55);transform-origin:center;}
  .gallery-thumb-empty{opacity:.45;}
  .gallery-thumb-empty:hover{opacity:.7;border-color:var(--slate-300)!important;}
  .detail-info{}
  .detail-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-600);background:var(--blue-50);border:1px solid var(--blue-200);padding:4px 12px;border-radius:20px;margin-bottom:12px;}
  .detail-title{font-family:var(--font-display);font-size:clamp(24px,3vw,36px);font-weight:400;color:var(--slate-900);line-height:1.15;margin-bottom:8px;}
  .detail-spec{font-size:15px;color:var(--slate-500);margin-bottom:20px;}
  .detail-desc{font-size:15px;color:var(--slate-700);line-height:1.75;margin-bottom:28px;}
  .detail-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:8px;}
  .detail-price{font-family:var(--font-display);font-size:32px;font-weight:400;color:var(--slate-900);}
  .detail-price-unit{font-size:14px;color:var(--slate-500);}
  .moq-box{background:#F3F0FE;border:1px solid #C9C1F8;border-radius:var(--radius-md);padding:14px 18px;margin-bottom:24px;display:flex;align-items:center;gap:12px;}
  .moq-box-text{font-size:13px;color:#3C3489;line-height:1.5;}
  .moq-box-text strong{font-weight:600;}
  .order-row{display:flex;gap:10px;margin-bottom:32px;align-items:center;}
  .qty-input{width:80px;padding:10px 12px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;font-weight:500;text-align:center;}
  .qty-input:focus{outline:none;border-color:var(--blue-400);}
  .divider-line{border:none;border-top:1px solid var(--slate-100);margin:28px 0;}
  .specs-title{font-size:15px;font-weight:600;color:var(--slate-900);margin-bottom:14px;}
  .specs-table{width:100%;border-collapse:collapse;font-size:13px;}
  .specs-table td{padding:9px 0;border-bottom:1px solid var(--slate-100);vertical-align:top;}
  .specs-table td:first-child{color:var(--slate-500);width:42%;font-weight:400;}
  .specs-table td:last-child{color:var(--slate-900);font-weight:500;}
  .specs-table tr:last-child td{border-bottom:none;}
  .tags-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px;}
  .feature-list{list-style:none;padding:0;margin-bottom:28px;}
  .feature-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--slate-700);padding:6px 0;border-bottom:1px solid var(--slate-50);}
  .feature-list li:last-child{border-bottom:none;}
  .feature-check{width:18px;height:18px;background:var(--teal-50);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
  .sizes-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px;}
  .size-chip{padding:5px 12px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;font-size:13px;font-weight:500;color:var(--slate-700);cursor:pointer;transition:all .15s;}
  .size-chip:hover,.size-chip.active{background:var(--blue-600);color:white;border-color:var(--blue-600);}
  .size-chip[data-custom]{border-style:dashed;}
  .custom-size-panel{background:var(--blue-50,#EFF6FD);border:1px solid var(--blue-200,#BFD7F0);border-radius:10px;padding:14px 16px;margin-bottom:20px;}
  .custom-size-panel label{font-size:12px;font-weight:600;color:var(--slate-700);display:block;margin-bottom:5px;}
  .custom-size-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
  .custom-size-row input{width:90px;padding:8px 10px;border:1px solid var(--slate-200);border-radius:7px;font-family:var(--font-body);font-size:14px;font-weight:500;outline:none;}
  .custom-size-row input:focus{border-color:var(--blue-400);}
  .custom-size-row span{font-size:13px;color:var(--slate-500);}
  .color-dots{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
  .color-dot-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;background:transparent;border:none;padding:0;}
  .color-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--slate-200);transition:all .15s;}
  .color-dot.active{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(24,95,165,.2);}
  .color-dot-label{font-size:10px;color:var(--slate-500);text-align:center;max-width:52px;line-height:1.3;}
  .custom-color-row{background:var(--slate-50,#F8FAFC);border:1px solid var(--slate-200);border-radius:10px;padding:12px 14px;margin-bottom:22px;}
  .custom-color-label{font-size:12px;font-weight:600;color:var(--slate-700);display:block;margin-bottom:6px;}
  .custom-color-input{width:100%;padding:9px 12px;border:1px solid var(--slate-200);border-radius:7px;font-family:var(--font-body);font-size:13px;font-weight:500;outline:none;background:white;}
  .custom-color-input:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,.12);}
  .custom-color-input.active{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(24,95,165,.15);}
  .custom-color-hint{font-size:11px;color:var(--slate-400);margin-top:6px;}
  .related-section{padding:48px 0 64px;background:white;border-top:1px solid var(--slate-100);}
  .related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media(max-width:1024px){.detail-layout{grid-template-columns:1fr;}.detail-gallery{position:static;}.related-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:640px){.related-grid{grid-template-columns:1fr;}.gallery-thumbs{flex-wrap:wrap;}}


  /* FAQ */
  .faq-list { max-width: 880px; margin: 0 auto; }
  .faq-item { background: white; border: 1px solid var(--slate-200); border-radius: var(--radius-md); padding: 20px 24px; margin-bottom: 12px; }
  .faq-q { font-size: 16px; font-weight: 600; color: var(--slate-900); margin-bottom: 8px; }
  .faq-a { font-size: 14px; color: var(--slate-600); line-height: 1.7; }

  /* CONTACT + ABOUT */
  .content-page { padding: 48px 0 64px; }
  .content-page .container { max-width: 860px; }
  .content-page h1 { font-family: var(--font-display); font-size: clamp(28px, 3.5vw, 42px); font-weight: 400; color: var(--slate-900); margin-bottom: 16px; line-height: 1.15; }
  .content-page h2 { font-size: 22px; font-weight: 600; color: var(--slate-900); margin: 32px 0 12px; }
  .content-page p { font-size: 15px; color: var(--slate-700); line-height: 1.75; margin-bottom: 14px; }
  .content-page ul { margin: 8px 0 18px 22px; color: var(--slate-700); font-size: 15px; line-height: 1.8; }
  .content-page a { color: var(--blue-600); text-decoration: none; }
  .content-page a:hover { text-decoration: underline; }

  /* CONTACT FORM */
  .contact-form { background: white; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); padding: 28px; box-shadow: var(--shadow-sm); margin-top: 24px; }
  .contact-form label { display: block; font-size: 13px; font-weight: 500; color: var(--slate-700); margin: 14px 0 6px; }
  .contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: 10px 14px; border: 1px solid var(--slate-200); border-radius: var(--radius-sm); font-family: var(--font-body); font-size: 14px; color: var(--slate-700); box-sizing: border-box; }
  .contact-form textarea { min-height: 120px; resize: vertical; }
  .contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { outline: none; border-color: var(--blue-400); box-shadow: 0 0 0 3px rgba(55,138,221,.1); }
  .contact-form button { margin-top: 18px; }
  .form-msg { padding: 12px 14px; border-radius: var(--radius-sm); font-size: 13px; margin-top: 14px; }
  .form-msg.success { background: var(--teal-50); color: var(--teal-700); border: 1px solid var(--teal-100); }
  .form-msg.error { background: #FEE2E2; color: #991B1B; border: 1px solid #FECACA; }

  /* 404 */
  .notfound { padding: 80px 0; text-align: center; }
  .notfound h1 { font-family: var(--font-display); font-size: 72px; color: var(--blue-700); margin-bottom: 8px; }
  .notfound h2 { font-size: 24px; color: var(--slate-900); margin-bottom: 14px; }
  .notfound p { color: var(--slate-500); margin-bottom: 28px; }
  .notfound-links { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

  /* Value props */
  .valueprops-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .vp-card { background: white; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); padding: 24px; }
  .vp-card h3 { font-size: 16px; font-weight: 600; color: var(--slate-900); margin-bottom: 6px; }
  .vp-card p { font-size: 14px; color: var(--slate-600); line-height: 1.6; }
  @media(max-width:768px){ .valueprops-grid { grid-template-columns: 1fr; } }

  /* Ensure product card and anchor compat */
  .product-card a { text-decoration: none; color: inherit; display: contents; }
  .product-card { cursor: pointer; }

  /* Btn small variant used in nav */
  .btn-sm { padding: 7px 14px; font-size: 13px; }
  .btn-outline { background: white; color: var(--slate-700); border: 1px solid var(--slate-200); }
  .btn-outline:hover { border-color: var(--slate-400); }
