:root{
    --bg:#f3f4f6;
    --card:#fff;
    --ink:#111827;
    --muted:#6b7280;
    --border:#e5e7eb;

    /* ESHOP brand colors */
    --orange:#dd8108;
    --orange2:#c96f00;
    --blue:#2563eb;
    --blue2:#1d4ed8;

    --accent: var(--orange);
    --soft:#f9fafb;
    --shadow: 0 10px 25px rgba(17,24,39,.10);
  }

  *{box-sizing:border-box;}
  body{
    font-family:system-ui,Segoe UI,Arial,sans-serif;
    background:
      radial-gradient(circle at 12% 10%, rgba(221,129,8,.10), transparent 40%),
      radial-gradient(circle at 88% 10%, rgba(37,99,235,.10), transparent 45%),
      var(--bg);
    margin:0;color:var(--ink);
  }
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1180px;margin:0 auto;padding:14px}
  .skiplink{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
  .skiplink:focus{left:12px;top:12px;width:auto;height:auto;z-index:999999;background:#fff;border:1px solid var(--border);padding:10px 12px;border-radius:12px;box-shadow:var(--shadow);}

  /* ===== HEADER ===== */
  .top-strip{
    background: linear-gradient(90deg, var(--blue), var(--orange));
    color:#fff;
    font-weight:800;
    font-size:12px;
  }
  .top-strip .inner{
    max-width:1180px;margin:0 auto;padding:8px 14px;
    display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  }
  .top-strip a{color:#fff;text-decoration:none}
  .top-strip .sep{opacity:.7;margin:0 8px}
  .top-strip .right a{margin-left:10px;opacity:.95}
  .top-strip .right a:hover{opacity:1;text-decoration:underline}

  .nav-row{
    background:#fff;
    border-bottom:1px solid var(--border);
  }
  .nav-row .inner{
    max-width:1180px;margin:0 auto;padding:12px 14px;
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  }
  .brandBox{display:flex;align-items:center;gap:10px}
  .brandBox img{height:40px;width:auto;object-fit:contain;display:block}

  .navLinks{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-weight:900;font-size:13px}
  .navLinks a{opacity:.85}
  .navLinks a:hover{opacity:1;text-decoration:underline}
  .navRight{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

  .btn{
    display:inline-flex;align-items:center;gap:8px;
    border:none;border-radius:12px;padding:10px 12px;
    font-weight:900;cursor:pointer;white-space:nowrap;
  }
  .btn-accent{background:linear-gradient(90deg,var(--orange),var(--blue));color:#fff;}
  .btn-accent:hover{filter:brightness(1.05)}
  .btn-ghost{background:#fff;border:1px solid var(--border);color:var(--ink)}
  .btn-ghost:hover{filter:brightness(.98)}
  .pill{
    display:inline-block;min-width:24px;text-align:center;
    padding:2px 8px;border-radius:999px;background:var(--soft);
    border:1px solid var(--border);font-weight:900
  }

  .search-row{
    background:#fff;
    border-bottom:1px solid var(--border);
  }
  .search-row .inner{
    max-width:1180px;margin:0 auto;padding:10px 14px;
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  }
  .catBtn{
    display:inline-flex;align-items:center;gap:10px;
    border:none;border-radius:12px;
    padding:11px 14px;
    background:linear-gradient(90deg,var(--orange),var(--orange2));
    color:#fff;font-weight:950;cursor:pointer;
    box-shadow:0 10px 22px rgba(221,129,8,.18);
  }
  .catBtn:hover{filter:brightness(1.03)}
  .searchForm{
    flex:1;
    display:flex;gap:8px;align-items:center;
    min-width:260px;
  }
  .searchForm input{
    flex:1;padding:11px 12px;border:1px solid var(--border);
    border-radius:12px;background:#fff;min-width:0;
  }
  .searchForm select{
    padding:11px 10px;border:1px solid var(--border);
    border-radius:12px;background:#fff;font-weight:850;
    max-width:220px;
  }
  .supportBox{
    margin-left:auto;
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    font-size:12px;font-weight:900;color:rgba(17,24,39,.75);
  }
  .supportBox a{color:inherit;text-decoration:none}
  .supportBox a:hover{text-decoration:underline}

  /* ===== Side menu ===== */
  .overlay{position:fixed;inset:0;background:rgba(17,24,39,.45);display:none;z-index:10000;}
  .overlay.show{display:block;}
  .sidemenu{
    position:fixed;top:0;left:0;height:100vh;width:330px;max-width:88vw;
    background:#fff;border-right:1px solid var(--border);
    transform:translateX(-105%);
    transition:transform .25s ease;
    z-index:10001;
    box-shadow:0 20px 40px rgba(0,0,0,.25);
    display:flex;flex-direction:column;
  }
  .sidemenu.show{transform:translateX(0);}
  .sm-head{padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);}
  .sm-title{font-weight:950}
  .sm-close{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#fff;cursor:pointer;font-weight:950;}
  .sm-body{padding:12px;overflow:auto}
  .sm-section{margin-top:12px}
  .sm-section h4{margin:0 0 8px;font-size:13px;font-weight:950;color:var(--muted)}
  .sm-link{
    display:flex;justify-content:space-between;gap:10px;
    padding:10px 10px;border-radius:12px;text-decoration:none;color:var(--ink);
    border:1px solid rgba(0,0,0,.06);background:var(--soft);
    font-weight:850;
  }
  .sm-link:hover{filter:brightness(.98)}
  .sm-list a{
    display:flex;justify-content:space-between;gap:10px;
    padding:9px 10px;border-radius:12px;color:var(--ink);
    text-decoration:none;font-weight:750;
  }
  .sm-list a:hover{background:var(--soft)}
  .sm-list a.active{background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.18)}
  .sm-badge{color:var(--muted);font-weight:900;font-size:12px}
  details.sm-dd{border:1px solid rgba(0,0,0,.06);background:#fff;border-radius:14px;overflow:hidden;margin-top:10px;}
  details.sm-dd summary{list-style:none;cursor:pointer;padding:10px 12px;font-weight:950;display:flex;justify-content:space-between;align-items:center;}
  details.sm-dd summary::-webkit-details-marker{display:none;}
  details.sm-dd .sm-dd-body{padding:8px 8px 10px;}
  .caret{opacity:.7}

  /* Deals */
  .hero{margin-top:12px;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);}
  .hero-head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .hero-title{font-weight:950}
  .hero-box{position:relative;height:240px;background:#fff}
  .slide{position:absolute;inset:0;display:grid;grid-template-columns:320px 1fr;gap:12px;padding:14px;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .35s ease, transform .35s ease;}
  .slide.active{opacity:1;pointer-events:auto;transform:translateY(0)}
  .slide-img{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;}
  .slide-img img{width:100%;height:100%;object-fit:cover}
  .slide-info{display:flex;flex-direction:column;justify-content:center}
  .slide-name{font-weight:950;font-size:18px;line-height:1.2}
  .slide-meta{color:var(--muted);font-size:13px;margin-top:6px}
  .price-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:10px}
  .price{font-size:22px;font-weight:950}
  .old{color:rgba(17,24,39,.55);text-decoration:line-through;font-weight:900}
  .badge-off{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);color:#7f1d1d;font-weight:950;font-size:12px;}
  .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
  .navbtn{width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.92);cursor:pointer;font-weight:950;display:flex;align-items:center;justify-content:center;}
  .dots{display:flex;gap:6px;align-items:center}
  .dot{width:8px;height:8px;border-radius:999px;background:rgba(17,24,39,.18);cursor:pointer}
  .dot.active{background:var(--accent)}
  @media(max-width:860px){
    .hero-box{height:310px}
    .slide{grid-template-columns:1fr;}
    .slide-img{height:160px}
  }

  .layout{display:grid;gap:12px;margin-top:12px}
  @media(min-width:980px){ .layout{grid-template-columns:1fr 320px;} }

  .panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:var(--shadow);}
  .panel h3{margin:0 0 10px;font-size:14px;font-weight:950}

  /* Products grid */
  .grid{display:grid;gap:10px}
  @media(min-width:560px){ .grid{grid-template-columns:repeat(3, minmax(0,1fr));} }
  @media(min-width:820px){ .grid{grid-template-columns:repeat(4, minmax(0,1fr));} }
  @media(min-width:1100px){ .grid{grid-template-columns:repeat(5, minmax(0,1fr));} }

  .cardp{border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative;background:#fff;}
  .cardp .img{
    aspect-ratio: 1 / 1;
    height:auto;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px;
  }
  .cardp .img img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .cardp .body{padding:8px 10px}
  .cardp .name{font-weight:900;font-size:13px;line-height:1.2}
  .cardp .muted{color:var(--muted);font-size:11.5px;margin-top:4px}
  .cardp .row{display:flex;gap:6px;align-items:center;margin-top:8px;flex-wrap:wrap}
  .cardp .qty{width:62px;padding:8px 8px;border:1px solid var(--border);border-radius:10px}

  .price-wrap{margin-top:6px}
  .price-small{font-weight:950;font-size:13px}
  .oldprice{color:rgba(17,24,39,.55);text-decoration:line-through;font-weight:900;font-size:11.5px;margin-right:6px}

  .stars{color:var(--orange);font-weight:950;letter-spacing:1px;font-size:11.5px}
  .starline{display:flex;align-items:center;gap:6px;margin-top:6px}
  .starcount{color:var(--muted);font-weight:800;font-size:11.5px}

  .cardp .row .btn{padding:9px 10px;border-radius:10px;font-size:12px}

  .heartbtn{
    position:absolute; top:10px; right:10px;
    width:38px; height:38px;border-radius:999px;
    border:1px solid rgba(37,99,235,.35);
    background:rgba(255,255,255,.92);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;font-size:18px;line-height:1;color:var(--blue);z-index:3;
  }
  .heartbtn:hover{color:var(--blue2)}
  .heartbtn[disabled]{opacity:.55;cursor:not-allowed;color:rgba(37,99,235,.45);}

  .discTag{
    position:absolute; top:10px; left:10px;
    padding:4px 8px;border-radius:10px;
    background:rgba(249,115,22,.14);
    border:1px solid rgba(249,115,22,.30);
    color:var(--orange2);
    font-weight:950;font-size:12px;z-index:2;
  }

  .cardp .img img{transition:transform .20s ease;}
  .cardp:hover .img img{transform:scale(1.035);}
  .cardp .row .js-quick-view{justify-content:center;}

  /* Compact Brand Catalog + clean product flow */
  .brand-logo{
    width:30px;height:30px;border-radius:11px;flex:0 0 30px;
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, rgba(221,129,8,.16), rgba(37,99,235,.14));
    border:1px solid rgba(37,99,235,.14);
    color:#111827;
    font-size:11px;
    font-weight:950;
    letter-spacing:.02em;
  }

  .brand-catalog{
    margin:10px 0 12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:linear-gradient(180deg,#fff,#fbfdff);
    box-shadow:0 8px 20px rgba(17,24,39,.07);
    overflow:hidden;
  }
  .brand-catalog summary{
    list-style:none;
    cursor:pointer;
    padding:12px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    font-weight:950;
    color:var(--ink);
  }
  .brand-catalog summary::-webkit-details-marker{display:none;}
  .brand-catalog .summary-left{
    display:flex;align-items:center;gap:10px;min-width:0;
  }
  .brand-catalog .summary-copy{
    display:flex;flex-direction:column;min-width:0;
  }
  .brand-catalog .summary-copy strong{
    font-size:14px;line-height:1.2;
  }
  .brand-catalog .summary-copy span{
    color:var(--muted);font-size:11.5px;font-weight:800;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .brand-catalog .summary-right{
    display:flex;align-items:center;gap:8px;flex-shrink:0;
  }
  .brand-catalog .summary-badge{
    padding:5px 9px;border-radius:999px;
    background:rgba(37,99,235,.08);color:#1d4ed8;border:1px solid rgba(37,99,235,.15);
    font-size:11px;font-weight:950;
  }
  .brand-catalog .summary-caret{
    width:32px;height:32px;border-radius:999px;
    border:1px solid rgba(37,99,235,.14);
    display:inline-flex;align-items:center;justify-content:center;
    font-size:13px;background:#fff;transition:transform .18s ease;
  }
  .brand-catalog[open] .summary-caret{transform:rotate(180deg);}
  .brand-catalog-body{
    border-top:1px solid var(--border);
    padding:0 14px 14px;
  }
  .brand-catalog-controls{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    padding-top:12px;
  }
  .brand-catalog-controls form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;width:100%;}
  .brand-catalog-label{font-size:12px;color:var(--muted);font-weight:950;}
  .brand-catalog-select{
    min-width:220px;
    flex:1;
    max-width:360px;
    padding:10px 12px;border:1px solid var(--border);border-radius:12px;
    background:#fff;color:var(--ink);font-weight:850;
  }

  .brand-catalog-scroll{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:10px 0 2px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .brand-catalog-scroll::-webkit-scrollbar{height:7px}
  .brand-catalog-scroll::-webkit-scrollbar-thumb{background:rgba(37,99,235,.18);border-radius:999px}

  .brand-chip{
    flex:0 0 auto;
    min-width:max-content;
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 10px;border-radius:999px;
    border:1px solid rgba(37,99,235,.14);background:#fff;color:var(--ink);
    text-decoration:none;font-weight:900;font-size:12px;scroll-snap-align:start;
  }
  .brand-chip.active{
    background:linear-gradient(90deg,var(--blue),var(--blue2));
    color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(37,99,235,.20);
  }
  .brand-chip .count{
    min-width:21px;height:21px;padding:0 6px;border-radius:999px;
    display:inline-flex;align-items:center;justify-content:center;
    background:rgba(37,99,235,.08);color:#1d4ed8;font-size:10.5px;font-weight:950;
  }
  .brand-chip.active .count{background:rgba(255,255,255,.18);color:#fff;}

  .product-flow-note{
    margin:8px 0 0;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
  }

  @media(max-width:620px){
    .brand-catalog{margin:8px 0 10px;border-radius:13px;}
    .brand-catalog summary{padding:10px 11px;}
    .brand-catalog-body{padding:0 11px 11px;}
    .brand-catalog-controls{padding-top:10px;}
    .brand-catalog-select{width:100%;max-width:100%;min-width:0;}
    .brand-chip{padding:8px 9px;font-size:11.5px;}
    .brand-logo{width:28px;height:28px;flex-basis:28px;border-radius:10px;}
    .brand-catalog .summary-badge{display:none;}
  }

  /* Quick View / Image zoom modal */
  .quickview-backdrop{
    position:fixed;inset:0;
    background:rgba(17,24,39,.68);
    display:none;align-items:center;justify-content:center;
    padding:16px;z-index:100050;
  }
  .quickview-backdrop.show{display:flex;}
  .quickview-card{
    width:min(1040px, 100%);
    max-height:92vh;
    overflow:auto;
    background:#fff;
    border:1px solid rgba(255,255,255,.35);
    border-radius:22px;
    box-shadow:0 25px 70px rgba(0,0,0,.35);
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(300px, .9fr);
    gap:0;
  }
  .qv-media{
    background:linear-gradient(135deg, rgba(221,129,8,.08), rgba(37,99,235,.08));
    padding:16px;
    border-right:1px solid var(--border);
  }
  .qv-imgbox{
    min-height:420px;
    height:60vh;
    max-height:620px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    overflow:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    touch-action:pan-x pan-y;
  }
  .qv-imgbox img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    transform:scale(1);
    transform-origin:center center;
    transition:transform .15s ease;
    user-select:none;
    -webkit-user-drag:none;
  }
  .qv-noimg{font-weight:900;color:var(--muted);}
  .qv-zoombar{
    margin-top:12px;
    display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  }
  .qv-zoom-btn{
    width:44px;height:44px;border-radius:14px;
    border:1px solid var(--border);
    background:#fff;
    color:var(--ink);
    font-size:20px;
    font-weight:950;
    cursor:pointer;
  }
  .qv-zoom-btn:hover{filter:brightness(.98)}
  .qv-zoom-reset{width:auto;padding:0 14px;font-size:13px;}
  .qv-zoom-level{
    min-width:68px;text-align:center;
    padding:10px 12px;border-radius:999px;
    border:1px solid var(--border);
    background:#fff;
    font-weight:950;
    color:var(--muted);
  }
  .qv-info{padding:18px;position:relative;}
  .qv-close{
    position:sticky;top:0;margin-left:auto;
    width:42px;height:42px;border-radius:14px;
    border:1px solid var(--border);
    background:#fff;
    cursor:pointer;
    font-weight:950;
    display:flex;align-items:center;justify-content:center;
    z-index:2;
  }
  .qv-title{font-size:22px;line-height:1.18;font-weight:950;margin:8px 0 8px;}
  .qv-meta{color:var(--muted);font-size:13px;font-weight:800;line-height:1.4;}
  .qv-price-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;}
  .qv-price{font-size:24px;font-weight:950;}
  .qv-old{color:rgba(17,24,39,.55);text-decoration:line-through;font-weight:900;}
  .qv-desc{margin-top:12px;line-height:1.55;color:rgba(17,24,39,.82);font-size:14px;}
  .qv-stock{margin-top:12px;display:inline-flex;}
  .qv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center;}
  .qv-actions .qty{width:72px;padding:11px 10px;border:1px solid var(--border);border-radius:12px;}
  .qv-tip{margin-top:12px;color:var(--muted);font-size:12px;font-weight:750;}

  @media(max-width:820px){
    .quickview-backdrop{padding:10px;}
    .quickview-card{grid-template-columns:1fr;max-height:94vh;border-radius:18px;}
    .qv-media{border-right:none;border-bottom:1px solid var(--border);padding:12px;}
    .qv-imgbox{min-height:300px;height:46vh;}
    .qv-info{padding:14px;}
    .qv-title{font-size:18px;}
    .qv-actions .btn,.qv-actions .qty{width:100%;justify-content:center;}
  }

  /* Delivery panel */
  .select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}
  .input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}
  .small{font-size:12px;color:var(--muted);line-height:1.35}
  .sep{border-top:1px solid var(--border);margin:10px 0}
  .feeBox{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--soft);border:1px solid var(--border);}
  .feeRow{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-weight:950}
  .note{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--border);}

  /* Pagination */
  .pager{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px}
  .pager .info{color:var(--muted);font-weight:750;font-size:12px}
  .pager .links{display:flex;gap:8px;flex-wrap:wrap}
  .tag{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;font-weight:900;font-size:12px}

  /* Toast */
  .toast{
    position:fixed; left:50%; bottom:18px; transform:translateX(-50%);
    background:#111827; color:#fff;border-radius:14px;
    padding:10px 12px; display:none; align-items:center; gap:10px;
    z-index:9999; box-shadow:0 10px 25px rgba(17,24,39,.25); max-width:96%;
  }
  .toast.show{display:flex;}
  .toast .msg{font-weight:850;font-size:13px}
  .toast a{color:#fff;text-decoration:none;font-weight:950;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.25);white-space:nowrap;}
  .toast a.primary{background:linear-gradient(90deg,var(--orange),var(--blue));border-color:transparent;}
  .toast button{border:none;background:transparent;color:#fff;cursor:pointer;font-weight:950;opacity:.9;}

  /* Sidebar sticky */
  @media(min-width:980px){ .sidebar{ position: sticky; top: 12px; align-self: start; } }
  .side-list{display:grid;gap:10px}
  .side-item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--soft);}
  .side-img{width:58px;height:58px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
  .side-img img{width:100%;height:100%;object-fit:cover}
  .side-meta{flex:1;min-width:0}
  .side-name{font-weight:950;font-size:12.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .side-price{font-weight:950;margin-top:4px;font-size:12.5px}
  .side-old{color:rgba(17,24,39,.55);text-decoration:line-through;font-weight:900;font-size:11px;margin-right:6px}
  .side-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);color:#7f1d1d;font-weight:950;font-size:11px}
  .side-stock{font-size:11px;color:var(--muted);font-weight:750;margin-top:4px}

  /* ===== Mobile header fix ===== */
  @media(max-width:820px){
    .wrap{padding:12px}
    .top-strip .inner{gap:6px;align-items:flex-start;}
    .top-strip .left, .top-strip .right{
      width:100%;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      justify-content:flex-start;
    }
    .top-strip .sep{display:none;}
    .nav-row .inner{justify-content:center;gap:10px;}
    .brandBox{width:100%;justify-content:center;}
    .navLinks{width:100%;justify-content:center;gap:14px;}
    .navRight{width:100%;justify-content:center;}
    .search-row .inner{gap:10px;}
    .catBtn{width:100%;justify-content:center;}
    .searchForm{width:100%;min-width:0;flex-wrap:wrap;}
    .searchForm input{width:100%;flex:1 1 100%;}
    .searchForm select{width:100%;max-width:100%;flex:1 1 100%;}
    .supportBox{width:100%;justify-content:center;margin-left:0;}
  }

  /* Mobile products grid */
  @media(max-width:620px){
    .grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;}
    .cardp .img{aspect-ratio:1/1;padding:8px;}
    .cardp .body{padding:8px 10px}
    .cardp .name{
      font-size:12.5px;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
      min-height:34px;
    }
    .product-sub{display:none;}
    .row{flex-direction:column; align-items:stretch;}
    .row .qty{display:none;}
    .row a.btn-ghost{display:none;}
    .row button.btn-accent{width:100%; justify-content:center; padding:12px 12px; border-radius:10px;}
    .heartbtn{width:34px;height:34px;font-size:16px;top:8px;right:8px}
    .discTag{top:8px;left:8px;font-size:11px}
    .toast{flex-wrap:wrap;justify-content:center}
    .toast .msg{width:100%;text-align:center}
  }
  @media(max-width:360px){ .grid{grid-template-columns:1fr;} }


  /* Compact mobile product card polish */
  @media(max-width:620px){
    .cardp{border-radius:12px;}
    .cardp .img{min-height:138px;}
    .cardp .row .btn{font-size:11.5px;}
    .price-wrap{min-height:34px;}
  }

  /* ===== FOOTER ===== */
  footer.site-footer{
    margin-top:18px;
    color:#fff;
    background:
      radial-gradient(circle at top left, rgba(221,129,8,.35), transparent 55%),
      radial-gradient(circle at top right, rgba(37,99,235,.35), transparent 55%),
      linear-gradient(90deg, #0b1220, #111827);
    border-top:1px solid rgba(255,255,255,.10);
  }
  .footer-wrap{max-width:1180px;margin:0 auto;padding:28px 14px 18px;}
  .footer-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:22px;
  }
  @media(max-width:900px){ .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
  @media(max-width:520px){ .footer-grid{grid-template-columns:1fr;} }

  .f-col h4{
    margin:0 0 10px;
    font-size:16px;
    font-weight:950;
    letter-spacing:-.01em;
    color:#fff;
  }
  .f-col a, .f-col div{
    display:block;
    padding:6px 0;
    color:rgba(255,255,255,.92);
    font-weight:650;
  }
  .f-col a:hover{opacity:1;text-decoration:underline}

  .f-bottom{
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.12);
    color:rgba(255,255,255,.75);
    font-size:12px;
    font-weight:700;
  }

  .newsRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
  .newsRow input{
    flex:1;min-width:200px;
    padding:11px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.10);color:#fff;
  }
  .newsRow input::placeholder{color:rgba(255,255,255,.60)}
  .newsRow button{
    padding:11px 14px;border-radius:999px;border:none;
    background:linear-gradient(90deg,var(--orange),var(--blue));
    color:#fff;font-weight:950;cursor:pointer;
  }
  .newsRow button:hover{filter:brightness(1.05)}
  /* ===== Visitor Order / Signup CTA card - always visible upgrade ===== */
  .order-cta-fab{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:100030;
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:none;
    border-radius:999px;
    padding:12px 15px;
    background:linear-gradient(90deg,var(--orange),var(--blue));
    color:#fff;
    font-weight:950;
    box-shadow:0 16px 38px rgba(17,24,39,.24);
    cursor:pointer;
    animation: orderPulse 1.8s ease-in-out infinite;
  }
  .order-cta-fab.show{display:inline-flex;}
  @keyframes orderPulse{
    0%,100%{transform:translateY(0);box-shadow:0 16px 38px rgba(17,24,39,.24);}
    50%{transform:translateY(-2px);box-shadow:0 20px 45px rgba(37,99,235,.28);}
  }
  .order-cta-card{
    position:fixed;
    right:18px;
    bottom:76px;
    width:min(390px, calc(100vw - 28px));
    z-index:100031;
    background:#fff;
    border:1px solid rgba(229,231,235,.95);
    border-radius:22px;
    box-shadow:0 25px 70px rgba(17,24,39,.28);
    overflow:hidden;
    transform:translateY(18px) scale(.98);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
  }
  .order-cta-card.show{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }
  .order-cta-top{
    padding:16px 16px 12px;
    background:
      radial-gradient(circle at top left, rgba(221,129,8,.22), transparent 52%),
      radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 55%),
      linear-gradient(135deg,#fff,#f8fafc);
    border-bottom:1px solid var(--border);
    position:relative;
  }
  .order-cta-close{
    position:absolute;
    top:10px;
    right:10px;
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.86);
    cursor:pointer;
    font-weight:950;
  }
  .order-cta-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(37,99,235,.10);
    color:#1d4ed8;
    border:1px solid rgba(37,99,235,.16);
    font-size:12px;
    font-weight:950;
  }
  .order-cta-title{
    margin:10px 38px 6px 0;
    font-size:20px;
    line-height:1.16;
    font-weight:950;
    color:var(--ink);
  }
  .order-cta-text{
    margin:0;
    color:rgba(17,24,39,.72);
    font-size:13px;
    line-height:1.45;
    font-weight:750;
  }
  .order-cta-body{padding:14px 16px 16px;}
  .order-cta-points{
    display:grid;
    gap:8px;
    margin:0 0 12px;
    padding:0;
    list-style:none;
  }
  .order-cta-points li{
    display:flex;
    align-items:flex-start;
    gap:8px;
    color:rgba(17,24,39,.78);
    font-size:12.5px;
    font-weight:800;
  }
  .order-cta-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .order-cta-actions a,
  .order-cta-actions button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    border-radius:14px;
    font-weight:950;
    border:1px solid var(--border);
    cursor:pointer;
    text-decoration:none;
    padding:10px 12px;
    font-size:13px;
  }
  .order-cta-primary{
    background:linear-gradient(90deg,var(--orange),var(--blue));
    color:#fff;
    border-color:transparent!important;
  }
  .order-cta-secondary{background:#fff;color:var(--ink);}
  .order-cta-note{
    margin-top:10px;
    font-size:11.5px;
    color:var(--muted);
    line-height:1.35;
    font-weight:750;
  }
  @media(max-width:620px){
    .order-cta-card{
      left:10px;
      right:10px;
      bottom:72px;
      width:auto;
      border-radius:18px;
    }
    .order-cta-fab{
      right:12px;
      bottom:12px;
      padding:11px 13px;
    }
    .order-cta-actions{grid-template-columns:1fr;}
  }


  /* Cookie bar */
  .cookiebar{
    position:fixed;left:0;right:0;bottom:0;
    background:#fff;
    border-top:1px solid var(--border);
    padding:12px 14px;
    display:none;
    z-index:999999;
  }
  .cookiebar .inner{
    max-width:1180px;margin:0 auto;
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
    font-size:12px;color:rgba(17,24,39,.78);font-weight:700;
  }
  .cookie-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
  .cookie-actions .cbtn{
    padding:10px 14px;border-radius:999px;
    border:1px solid rgba(37,99,235,.25);
    background:#fff;
    font-weight:950;
    cursor:pointer;
  }
  .cookie-actions .cbtn.primary{
    border-color:transparent;
    background:linear-gradient(90deg,var(--orange),var(--blue));
    color:#fff;
  }


  /* =========================================================
     EASYSHOPEN MOBILE RESPONSIVENESS PRO UPGRADE
     Focus: image sharpness, product cards, quick view pinch/drag
     Safe override: keeps PHP/database/cart/SEO logic untouched
  ========================================================= */
  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-behavior:smooth;
  }
  img{
    max-width:100%;
    height:auto;
  }
  button,
  input,
  select,
  textarea{
    font:inherit;
  }
  input,
  select,
  textarea{
    font-size:16px; /* prevents iPhone zooming form fields */
  }

  /* Better image rendering and no forced stretching */
  .cardp .img,
  .slide-img,
  .side-img,
  .qv-imgbox{
    background:#fff;
  }
  .cardp .img{
    overflow:hidden;
    isolation:isolate;
  }
  .cardp .img img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    image-rendering:auto;
    transform:translateZ(0);
    backface-visibility:hidden;
  }
  .slide-img img,
  .side-img img{
    object-fit:contain !important;
    object-position:center center;
    padding:6px;
    background:#fff;
  }
  @media(hover:hover){
    .cardp:hover .img img{
      transform:scale(1.025);
    }
  }
  @media(hover:none){
    .cardp:hover .img img{
      transform:none !important;
    }
  }

  /* Header/search becomes cleaner on small phones */
  @media(max-width:820px){
    .top-strip .inner,
    .nav-row .inner,
    .search-row .inner{
      padding-left:12px;
      padding-right:12px;
    }
    .brandBox img{
      max-height:44px;
    }
    .navLinks{
      overflow-x:auto;
      flex-wrap:nowrap;
      justify-content:flex-start;
      padding-bottom:2px;
      -webkit-overflow-scrolling:touch;
    }
    .navLinks a{
      flex:0 0 auto;
    }
    .navRight .btn,
    .search-row .btn,
    .catBtn{
      min-height:44px;
    }
    .supportBox{
      line-height:1.45;
      text-align:center;
    }
  }

  /* Hero slider: stop product images from cropping on phones */
  @media(max-width:860px){
    .hero-box{
      height:auto !important;
      min-height:0;
    }
    .slide{
      position:relative;
      display:none;
      grid-template-columns:1fr !important;
      padding:12px;
      min-height:auto;
    }
    .slide.active{
      display:grid;
    }
    .slide-img{
      height:190px !important;
    }
    .slide-name{
      font-size:16px;
    }
    .price{
      font-size:19px;
    }
  }

  /* Product grid and card touch improvements */
  @media(max-width:620px){
    .wrap{
      padding:10px;
    }
    .panel{
      border-radius:14px;
      padding:10px;
    }
    .grid{
      grid-template-columns:repeat(2, minmax(0,1fr)) !important;
      gap:10px !important;
    }
    .cardp{
      border-radius:14px;
      box-shadow:0 6px 16px rgba(17,24,39,.06);
      overflow:hidden;
    }
    .cardp .img{
      aspect-ratio:1 / 1 !important;
      min-height:148px !important;
      padding:8px !important;
    }
    .cardp .body{
      padding:8px 9px !important;
    }
    .cardp .name{
      font-size:12.5px !important;
      line-height:1.25 !important;
      min-height:32px;
    }
    .price-small{
      font-size:13.5px;
    }
    .oldprice,
    .starcount,
    .cardp .muted{
      font-size:11px;
    }
    .stars{
      font-size:11px;
      letter-spacing:.5px;
    }
    .cardp .row{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:7px !important;
      align-items:stretch !important;
    }
    .cardp .row .btn{
      width:100% !important;
      min-height:40px;
      justify-content:center;
      padding:10px 8px !important;
      font-size:11.5px !important;
    }
    .cardp .row .js-quick-view{
      display:inline-flex !important;
      background:#fff;
      border-color:rgba(37,99,235,.22);
    }
    .heartbtn{
      width:34px !important;
      height:34px !important;
      top:7px !important;
      right:7px !important;
      background:rgba(255,255,255,.96);
    }
    .discTag{
      top:7px !important;
      left:7px !important;
    }
    .pager{
      align-items:stretch;
    }
    .pager .links,
    .pager .info{
      width:100%;
      justify-content:center;
      text-align:center;
    }
  }
  @media(max-width:380px){
    .grid{
      grid-template-columns:1fr !important;
    }
    .cardp .img{
      min-height:230px !important;
    }
  }

  /* Product quick view: professional image control */
  .quickview-backdrop{
    background:rgba(17,24,39,.74) !important;
    backdrop-filter:blur(4px);
  }
  .quickview-card{
    overflow:hidden !important;
  }
  .qv-media,
  .qv-info{
    min-width:0;
  }
  .qv-imgbox{
    position:relative;
    overflow:hidden !important;
    touch-action:none !important;
    cursor:grab;
    user-select:none;
    -webkit-user-select:none;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:auto;
  }
  .qv-imgbox:active{
    cursor:grabbing;
  }
  .qv-imgbox img{
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    object-position:center center;
    transform:
      translate3d(var(--qv-x, 0px), var(--qv-y, 0px), 0)
      scale(var(--qv-scale, 1)) !important;
    transform-origin:center center !important;
    will-change:transform;
    transition:transform .16s ease;
    user-select:none;
    -webkit-user-drag:none;
    image-rendering:auto;
    backface-visibility:hidden;
  }
  .qv-zoom-btn,
  .qv-close{
    touch-action:manipulation;
  }
  .qv-tip{
    text-align:center;
    font-weight:850 !important;
  }

  @media(max-width:760px){
    .quickview-backdrop{
      padding:0 !important;
      align-items:stretch !important;
      justify-content:stretch !important;
    }
    .quickview-card{
      width:100% !important;
      height:100dvh !important;
      max-height:100dvh !important;
      border-radius:0 !important;
      display:grid !important;
      grid-template-columns:1fr !important;
      grid-template-rows:minmax(0, 58dvh) minmax(0, 42dvh) !important;
    }
    .qv-media{
      border-right:0 !important;
      border-bottom:1px solid var(--border) !important;
      padding:10px !important;
      min-height:0 !important;
      display:flex;
      flex-direction:column;
    }
    .qv-imgbox{
      flex:1;
      height:auto !important;
      min-height:0 !important;
      max-height:none !important;
      border-radius:16px !important;
    }
    .qv-zoombar{
      margin-top:8px !important;
      gap:7px !important;
      flex-shrink:0;
    }
    .qv-zoom-btn{
      width:42px !important;
      height:40px !important;
      border-radius:12px !important;
    }
    .qv-zoom-reset{
      width:auto !important;
      padding:0 12px !important;
    }
    .qv-zoom-level{
      padding:9px 10px !important;
      min-width:64px !important;
    }
    .qv-tip{
      margin-top:7px !important;
      font-size:11.5px !important;
      flex-shrink:0;
    }
    .qv-info{
      overflow:auto !important;
      padding:14px !important;
      -webkit-overflow-scrolling:touch;
    }
    .qv-close{
      position:absolute !important;
      top:10px !important;
      right:10px !important;
      margin-left:0 !important;
      background:rgba(255,255,255,.96) !important;
      box-shadow:0 8px 18px rgba(17,24,39,.14);
    }
    .qv-title{
      font-size:17px !important;
      line-height:1.25 !important;
      padding-right:46px !important;
      margin-top:2px !important;
    }
    .qv-price{
      font-size:21px !important;
    }
    .qv-desc{
      font-size:13px !important;
      line-height:1.5 !important;
    }
    .qv-actions{
      position:sticky;
      bottom:0;
      background:#fff;
      padding-top:10px;
      border-top:1px solid var(--border);
      display:grid !important;
      grid-template-columns:1fr !important;
    }
    .qv-actions form{
      width:100%;
      display:grid !important;
      grid-template-columns:76px 1fr !important;
      gap:8px !important;
    }
    .qv-actions .qty{
      width:100% !important;
    }
    .qv-actions .btn{
      width:100%;
      justify-content:center;
      min-height:44px;
    }
    .qv-actions > a.btn{
      width:100% !important;
    }
  }

  @media(max-width:420px){
    .toast{
      left:10px !important;
      right:10px !important;
      bottom:12px !important;
      transform:none !important;
      max-width:none !important;
    }
  }
