/* ============================================================
   AAJ Pharmacy — Design System (tokens + components)
   ============================================================ */
:root{
  /* Real AAJ Pharmacy palette — extracted from aajpharmacy.in (sky blue + cyan + orange) */
  --primary-800:#0156ff; --primary-700:#0e81ed; --primary-600:#19a3ff; --primary-500:#1aa7fe;
  --primary-100:#eafbfd; --primary-50:#f5f7ff;
  --secondary-700:#151875; --secondary-500:#0e81ed; --secondary-50:#eafbfd; /* deep navy + blue */
  --accent-500:#2bd6e8; --accent-50:#eafbfd;             /* cyan (tagline) */
  --orange-500:#f5872a; --orange-50:#fff1e6;             /* logo "PHARMACY" orange */
  --success-600:#1aab2a; --warning-600:#C77700; --danger-600:#D23B3B;
  --rx:#d6336c;
  --ink-900:#151875; --ink-700:#484848; --ink-500:#767575; --ink-300:#acacac;
  --line:#d9d9d9; --surface:#fff; --bg:#f5f7ff;
  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(21,24,117,.06); --sh-2:0 2px 10px rgba(21,24,117,.10); --sh-3:0 8px 28px rgba(21,24,117,.16);
  --font:"Poppins","Segoe UI",Roboto,Arial,sans-serif;
  --font-display:"Playfair Display",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink-900);font-size:14px;line-height:1.5;
  overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:var(--primary-600);text-decoration:none}
img{max-width:100%;height:auto}
::selection{background:var(--primary-600);color:#fff}
/* Global API loading bar */
.api-loader{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;background:transparent;
  opacity:0;transition:opacity .2s;pointer-events:none}
.api-loader.active{opacity:1}
.api-loader::before{content:"";position:absolute;top:0;left:0;height:100%;width:40%;border-radius:0 3px 3px 0;
  background:linear-gradient(90deg,var(--primary-600),var(--accent-500));box-shadow:0 0 8px rgba(14,129,237,.5);
  animation:apiSlide 1.1s ease-in-out infinite}
@keyframes apiSlide{0%{left:-40%}50%{left:30%}100%{left:100%}}
/* Branded slim scrollbar */
*{scrollbar-width:thin;scrollbar-color:var(--primary-500) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--primary-600),var(--accent-500));border-radius:var(--r-pill);border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:var(--primary-700)}
.container{max-width:1200px;margin:0 auto;padding:0 16px;width:100%}
/* Grid children must be allowed to shrink, else fixed side columns overflow the viewport */
.two-col>*,.plp>*,.acc-layout>*{min-width:0}
/* Long unbreakable strings (compositions, addresses, emails) shouldn't force horizontal scroll */
.prose,.pdp-sec,.lab-sec,.kv td,.acc-content{overflow-wrap:anywhere}
table.kv{width:100%;table-layout:fixed}
.muted{color:var(--ink-500)}
.tabular{font-variant-numeric:tabular-nums}
h1{font-size:28px;margin:.4em 0;font-weight:800;letter-spacing:-.01em}h2{font-size:22px;margin:.5em 0;font-weight:700}h3{font-size:18px;margin:.4em 0;font-weight:700}

/* Announcement bar (admin-controlled) */
.announce-bar{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;
  background:linear-gradient(120deg,var(--secondary-700),var(--primary-700));color:#fff;
  font-size:13px;font-weight:600;padding:8px 40px;text-align:center}
.announce-bar .announce-msg{color:#fff}
.announce-bar .announce-msg:hover{text-decoration:underline}
.announce-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:0;
  color:#fff;cursor:pointer;font-size:14px;opacity:.85}
.announce-x:hover{opacity:1}

/* Header */
.header{background:var(--surface);box-shadow:var(--sh-1);position:sticky;top:0;z-index:50}
.header .bar{display:flex;align-items:center;gap:16px;height:64px}
.logo{font-family:var(--font);font-weight:800;font-size:20px;color:var(--primary-600);white-space:nowrap}
.logo span{color:var(--orange-500)}
.logo-img{height:46px;width:auto;display:block}
.searchbar{flex:1;display:flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;gap:8px}
.searchbar input{border:0;background:transparent;flex:1;outline:none;font-size:14px}
.search-wrap{flex:1;position:relative}
.suggest-box{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);z-index:80;overflow:hidden;max-height:380px;overflow-y:auto}
.suggest-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--line)}
.suggest-item:hover{background:var(--primary-50)}
.suggest-item .ic{width:22px;text-align:center}
.suggest-item .lbl{flex:1}
.suggest-item .lbl small{color:var(--ink-500);display:block}
.suggest-item .lbl b{color:var(--primary-700);font-weight:700}
.sg-arrow{color:var(--muted);font-size:15px;padding:2px 6px;border-radius:6px}
.sg-arrow:hover{background:var(--primary-50);color:var(--primary-600)}
.header .actions{display:flex;align-items:center;gap:14px}
#bellLink{position:relative;font-size:18px}
.pincode{font-size:12px;color:var(--ink-500);cursor:pointer;white-space:nowrap}
.navrow{border-top:1px solid var(--line);display:flex;gap:18px;height:42px;align-items:center;overflow:visible}
.navrow a{color:var(--ink-700);font-weight:500;white-space:nowrap;font-size:13px}
.navrow a:hover{color:var(--primary-600)}
.cart-badge{background:var(--orange-500);color:#fff;border-radius:var(--r-pill);font-size:11px;padding:1px 6px;margin-left:4px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;
  border-radius:var(--r-md);padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;min-height:42px;
  background:linear-gradient(120deg,var(--primary-700),var(--primary-500));color:#fff;
  box-shadow:0 4px 12px rgba(14,129,237,.25);transition:transform .15s,box-shadow .15s,filter .15s,background .15s}
.btn:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 8px 18px rgba(14,129,237,.34)}
.btn:active{transform:translateY(0);box-shadow:0 3px 8px rgba(14,129,237,.28)}
.btn:disabled{background:var(--ink-300);box-shadow:none;cursor:not-allowed;filter:none;transform:none}
.btn.sm{padding:6px 12px;min-height:34px;font-size:13px}
.btn.block{width:100%}
.btn.outline{background:#fff;border-color:var(--primary-600);color:var(--primary-700);box-shadow:var(--sh-1)}
.btn.outline:hover{background:var(--primary-50)}
.btn.ghost{background:transparent;color:var(--primary-700);box-shadow:none}
.btn.ghost:hover{background:var(--primary-50)}
.btn.secondary{background:linear-gradient(120deg,var(--secondary-700),var(--secondary-500));box-shadow:0 4px 12px rgba(21,24,117,.22)}
.btn.danger{background:linear-gradient(120deg,#c62f2f,var(--danger-600));box-shadow:0 4px 12px rgba(210,59,59,.25)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill)}
.badge.rx{background:#fbe9eb;color:var(--rx)}
.badge.generic{background:var(--primary-50);color:var(--primary-700)}
.badge.off{background:var(--orange-50);color:var(--orange-500)}
.badge.oos{background:#fbe9eb;color:var(--danger-600)}
.badge.in{background:#e6f6ee;color:var(--success-600)}
.badge.pending{background:var(--accent-50);color:var(--warning-600)}
.badge.verified{background:#e6f6ee;color:var(--success-600)}
.badge.rejected{background:#fbe9eb;color:var(--danger-600)}

/* Cards / grid */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.grid{display:grid;gap:16px}
.grid.products{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.grid.cats{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;gap:6px;transition:.15s}
.pcard:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.pcard .thumb{height:120px;background:var(--primary-50);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:34px;cursor:pointer;overflow:hidden}
.pcard .thumb img{width:100%;height:100%;object-fit:contain;padding:8px}
.thumb-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.med-svg{opacity:.85}
.pcard .pc-tags{display:flex;flex-wrap:wrap;gap:4px;min-height:20px}
.pcard .pc-tags:empty{display:none}
.pcard .name{font-weight:600;font-size:13px;min-height:34px;cursor:pointer}
.pcard .price{font-weight:700;font-size:16px}
.pcard .mrp{color:var(--ink-500);text-decoration:line-through;font-size:12px;margin-left:6px;font-weight:400}
.pc-cart{margin-top:auto}
.qty-step{display:flex;align-items:center;justify-content:space-between;border:1.5px solid var(--primary-600);
  border-radius:var(--r-md);overflow:hidden;height:36px;background:#fff}
.qty-step button{flex:none;width:40px;height:100%;background:var(--primary-50);color:var(--primary-700);
  font-size:18px;font-weight:800;line-height:1;border:0;cursor:pointer;transition:background .12s}
.qty-step button:hover{background:var(--primary-100)}
.qty-step span{flex:1;text-align:center;font-weight:700;color:var(--primary-700);font-size:14px}
.cat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 8px;text-align:center;cursor:pointer;transition:.15s}
.cat-tile:hover{border-color:var(--primary-500);box-shadow:var(--sh-2);transform:translateY(-3px)}
.cat-tile .ic{width:54px;height:54px;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:26px;
  border-radius:50%;background:radial-gradient(circle at 30% 30%,#eef3ff,#dbe6ff);overflow:hidden}
.cat-tile:hover .ic{background:radial-gradient(circle at 30% 30%,#e2ecff,#c7dcff)}
.cat-tile .ic img,.cat-card .ic img{width:100%;height:100%;object-fit:cover}
.cat-tile .nm{font-size:12px;margin-top:8px;color:var(--ink-700);font-weight:600}

/* Hero / banners */
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--primary-800),var(--primary-600) 55%,var(--accent-500));
  color:#fff;border-radius:var(--r-lg);padding:32px;margin:16px 0;display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:12px;box-shadow:0 12px 30px rgba(14,129,237,.22)}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
  background:rgba(255,255,255,.10)}
.hero::before{content:"";position:absolute;left:-40px;bottom:-80px;width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.07)}
.hero>div{position:relative;z-index:1}
.hero h2{margin:0 0 8px;color:#fff;font-family:var(--font-display);font-size:30px;line-height:1.2}
.hero p{margin:0 0 14px;opacity:.95}
.hero .btn{box-shadow:0 6px 16px rgba(0,0,0,.18)}
.trust{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0;color:var(--ink-700);font-size:13px}
.trust span{display:flex;align-items:center;gap:6px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}
.section-title h3{position:relative;padding-left:14px;margin:0;font-size:19px;color:var(--ink-900)}
.section-title h3::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:20px;
  border-radius:var(--r-pill);background:linear-gradient(var(--primary-600),var(--accent-500))}
.section-title>a{font-size:13px;font-weight:600;color:var(--primary-600);white-space:nowrap}
.section-title>a:hover{color:var(--primary-700)}

/* OTP boxes (matches real aajpharmacy.in login) */
.otp-row{display:flex;gap:10px;justify-content:center;margin:8px 0}
.otp-box{width:48px;height:54px;text-align:center;font-size:22px;font-weight:700;border:1px solid var(--line);
  border-radius:var(--r-md);outline:none}
.otp-box:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-50)}

/* Forms */
.field{margin-bottom:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
.field label{display:block;font-size:12px;font-weight:600;color:var(--ink-700);margin-bottom:4px}
.input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);font-size:14px;font-family:inherit;outline:none;background:#fff}
.input:focus,select:focus,textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}
.err{color:var(--danger-600);font-size:12px;margin-top:4px}

/* Layout helpers */
.row{display:flex;gap:16px}
.between{display:flex;justify-content:space-between;align-items:center}
.two-col{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
.stack{display:flex;flex-direction:column;gap:10px}
.p16{padding:16px}.p20{padding:20px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}
.divider{height:1px;background:var(--line);margin:12px 0}

/* Cart/summary */
.cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item:last-child{border-bottom:0}
.cart-item .thumb{width:64px;height:64px;flex:none;background:linear-gradient(160deg,var(--primary-50),#fff);
  border:1px solid var(--line);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden}
.cart-item .thumb img{width:100%;height:100%;object-fit:contain;padding:5px}
.cart-item .thumb .med-svg{width:34px;height:34px}
.ord-ic img{width:100%;height:100%;object-fit:contain;border-radius:var(--r-md)}
.ord-line{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.ord-line:last-child{border-bottom:0}
.ord-line-thumb{width:48px;height:48px;flex:none;border:1px solid var(--line);border-radius:var(--r-md);background:var(--primary-50);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ord-line-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}
.ord-line-thumb .med-svg{width:30px;height:30px}
.ord-line-main{flex:1;min-width:0;font-size:13.5px}
.ord-line-main a{color:var(--ink-900);font-weight:600}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-md)}
.qty button{border:0;background:#fff;width:30px;height:30px;cursor:pointer;font-size:16px}
.qty span{min-width:28px;text-align:center}
.summary-row{display:flex;justify-content:space-between;margin:6px 0;font-size:14px}
.summary-row.total{font-weight:700;font-size:16px;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
.summary-row .sv{color:var(--success-600);font-weight:600}
.gst-block{background:var(--primary-50);border-radius:var(--r-md);padding:8px 12px;margin:8px 0}
.gst-block .gst-head{font-size:12px;font-weight:600;color:var(--ink-700);margin-bottom:4px}
.gst-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-600);margin:2px 0}
.gst-row small{color:var(--muted)}

/* Timeline */
.timeline{list-style:none;padding:0;margin:0}
.timeline li{position:relative;padding:0 0 16px 24px;border-left:2px solid var(--primary-100)}
.timeline li:before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--primary-600)}
.timeline li.done:before{background:var(--success-600)}

/* Modal */
.modal-back{position:fixed;inset:0;background:rgba(16,34,31,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}
.modal{background:#fff;border-radius:var(--r-lg);max-width:420px;width:100%;box-shadow:var(--sh-3);padding:24px;max-height:90vh;overflow:auto}
.modal.lg{max-width:640px}

/* Toast */
.toasts{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px}
.toast{background:#fff;border-left:4px solid var(--primary-600);box-shadow:var(--sh-2);border-radius:var(--r-md);padding:12px 16px;min-width:240px;animation:slidein .2s}
.toast.error{border-color:var(--danger-600)}
.toast.success{border-color:var(--success-600)}
@keyframes slidein{from{transform:translateX(20px);opacity:0}to{transform:none;opacity:1}}

/* Skeleton */
.skel{background:linear-gradient(90deg,#eef1fb,#f8faff,#eef1fb);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:var(--r-md)}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Empty */
.empty{text-align:center;padding:48px 16px;color:var(--ink-500)}
.empty .ic{font-size:48px}
/* premium empty state (e.g. empty category) */
.empty-pro{max-width:520px;margin:24px auto;padding:48px 32px;text-align:center;
  background:linear-gradient(180deg,#fff 0%,var(--surface,#f6f8fc) 100%);
  border:1px solid var(--line);border-radius:var(--r-lg,18px);box-shadow:var(--sh-2)}
.empty-pro .ic{width:88px;height:88px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;
  font-size:42px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#eef3ff,#dbe6ff);
  box-shadow:0 8px 24px rgba(37,99,235,.18)}
.empty-pro h2{margin:0 0 8px;font-size:22px;color:var(--ink-900)}
.empty-pro p{margin:0 auto 24px;max-width:360px;color:var(--ink-500);font-size:14px;line-height:1.6}
.empty-pro .row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.empty-pro .row .btn{min-width:160px}

/* ============================================================
   Consult — Coming Soon (healthcare hero card)
   ============================================================ */
.consult-soon{display:flex;justify-content:center;padding:32px 16px;
  background:radial-gradient(1200px 400px at 50% -120px,var(--primary-100),transparent),
             linear-gradient(180deg,var(--bg),#fff)}
.cs-card{position:relative;max-width:560px;width:100%;text-align:center;padding:56px 36px 40px;
  background:linear-gradient(180deg,#fff,var(--primary-50));
  border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh-3);overflow:hidden;
  animation:csIn .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes csIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.cs-badge{position:absolute;top:18px;right:18px;background:linear-gradient(120deg,var(--orange-500),#ffb061);
  color:#fff;font-weight:700;font-size:12px;padding:6px 14px;border-radius:var(--r-pill);
  box-shadow:0 6px 16px rgba(245,135,42,.35);animation:csPulse 2.4s ease-in-out infinite}
@keyframes csPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.cs-illus{position:relative;width:140px;height:140px;margin:0 auto 22px}
.cs-doc{position:relative;z-index:2;width:140px;height:140px;display:flex;align-items:center;justify-content:center;
  font-size:66px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#eaf3ff,#cfe3ff);
  box-shadow:0 14px 34px rgba(14,129,237,.28);animation:csFloat 3.4s ease-in-out infinite}
@keyframes csFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.cs-pulse{position:absolute;inset:-12px;border-radius:50%;background:var(--primary-500);opacity:.18;
  animation:csRipple 2.6s ease-out infinite}
@keyframes csRipple{0%{transform:scale(.85);opacity:.28}70%{opacity:0}100%{transform:scale(1.5);opacity:0}}
.cs-float{position:absolute;z-index:3;font-size:24px;background:#fff;border-radius:50%;padding:8px;
  box-shadow:var(--sh-2);animation:csFloat 3.4s ease-in-out infinite}
.cs-float.f1{top:-6px;left:-14px;animation-delay:.2s}
.cs-float.f2{bottom:0;right:-16px;animation-delay:.8s}
.cs-float.f3{top:24px;right:-22px;animation-delay:1.3s}
.cs-title{margin:0 0 8px;font-size:28px;color:var(--ink-900)}
.cs-desc{margin:0 auto 22px;max-width:380px;color:var(--ink-500);font-size:15px;line-height:1.6}
.cs-features{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:26px}
.cs-feat{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-pill);padding:8px 14px;font-size:12.5px;font-weight:600;color:var(--ink-700);
  box-shadow:var(--sh-1)}
.cs-feat span{font-size:15px}
.cs-notify{min-width:200px;font-size:15px;box-shadow:0 10px 24px rgba(14,129,237,.3);transition:.18s}
.cs-notify:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(14,129,237,.4)}
.cs-note{margin:16px 0 0;font-size:12px}
@media(max-width:560px){
  .cs-card{padding:48px 22px 34px}
  .cs-title{font-size:24px}
  .cs-float.f3{display:none}
}

/* Footer */
/* SEO / about content block above the footer (premium, always visible) */
.seo-foot{background:linear-gradient(180deg,#fff,var(--primary-50));border-top:1px solid var(--line);margin-top:40px}
.seo-foot-body{padding:32px 16px 36px;color:var(--ink-500);font-size:13px;line-height:1.7}
.seo-head{text-align:center;max-width:640px;margin:0 auto 22px}
.seo-head h2{margin:0 0 6px;color:var(--ink-900);font-size:24px}
.seo-head p{margin:0;color:var(--ink-500)}
/* delivery update highlight */
.seo-update{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--sh-1);padding:20px;margin-bottom:18px}
.seo-update-ic{width:52px;height:52px;flex:none;display:flex;align-items:center;justify-content:center;font-size:26px;
  border-radius:var(--r-md);background:radial-gradient(circle at 30% 30%,#eef3ff,#dbe6ff);box-shadow:var(--sh-1)}
.seo-update h4{margin:2px 0 8px;color:var(--ink-900);font-size:15px}
.seo-update ul{margin:0;padding-left:18px}
.seo-update li{margin:5px 0}
.seo-compliance{margin:12px 0 0;padding:10px 12px;background:var(--primary-50);border-radius:var(--r-md);
  color:var(--ink-700);font-size:12.5px;border:1px dashed var(--primary-500)}
/* brand cards + chips */
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:20px}
.seo-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:18px}
.seo-card h4{margin:0 0 12px;color:var(--ink-900);font-size:14px}
.seo-brands{display:flex;flex-wrap:wrap;gap:7px;margin:0}
.seo-chip{display:inline-block;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-pill);
  padding:5px 11px;font-size:12px;font-weight:600;color:var(--ink-700);transition:.14s}
.seo-chip:hover{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}
/* about paragraphs + disclaimer */
.seo-about{columns:2;column-gap:32px;margin-bottom:18px}
.seo-about p{margin:0 0 12px;break-inside:avoid}
.seo-disclaimer{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;
  font-size:12px;color:var(--ink-500);line-height:1.7}
@media(max-width:680px){
  .seo-update{flex-direction:column;gap:10px}
  .seo-about{columns:1}
}

.footer{background:var(--secondary-700);color:#cfe0ee;margin-top:0;padding:36px 0 24px}
.footer a{color:#cfe0ee;display:inline-block;padding:4px 0;font-size:13.5px;transition:color .15s,transform .15s;position:relative}
.footer a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1.5px;
  background:linear-gradient(90deg,var(--accent-500),var(--primary-600));transition:width .22s}
.footer a:hover{color:#fff;transform:translateX(2px)}
.footer a:hover::after{width:100%}
.footer .cols{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:24px}
.footer .cols>div>b{display:inline-block;color:#fff;font-size:14px;margin-bottom:12px;letter-spacing:.02em;
  padding-bottom:8px;border-bottom:2px solid var(--accent-500)}
.foot-brand{max-width:320px}
.foot-social{margin-top:16px}
.foot-social>b{display:block;color:#fff;margin-bottom:8px}
.social-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:4px 0}
.social{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  color:#fff;line-height:0;border:2px solid rgba(255,255,255,.9);
  transition:transform .18s,box-shadow .18s,filter .18s;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.social svg{display:block;width:21px;height:21px}
.social:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 22px rgba(0,0,0,.4);filter:brightness(1.08)}
.social[aria-label="Instagram"]{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.social[aria-label="Facebook"]{background:#1877f2}
.social[aria-label="YouTube"]{background:#ff0000}
.social[aria-label="X (Twitter)"]{background:#000}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:6px 0}
.foot-compliance{color:#9fc;font-size:12px;max-width:520px;text-align:right}
@media(max-width:860px){
  .footer .cols{grid-template-columns:1fr 1fr;gap:18px}
  .foot-brand{grid-column:1 / -1;max-width:none}
  .foot-compliance{text-align:left}
}
@media(max-width:480px){.footer .cols{grid-template-columns:1fr}}

/* Bottom tab (mobile) */
.tabbar{display:none}
@media(max-width:860px){
  .two-col{grid-template-columns:1fr}
  .navrow{display:none}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);
    justify-content:space-around;padding:6px 0;z-index:60}
  .tabbar a{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--ink-500);gap:2px}
  .tabbar a .ic{font-size:20px}
  .tabbar a.rx{background:var(--primary-600);color:#fff;border-radius:50%;width:48px;height:48px;justify-content:center;margin-top:-16px;box-shadow:var(--sh-2)}
  body{padding-bottom:64px}
}

/* Collapse side-by-side layouts a little earlier so the 360px column never crowds */
@media(max-width:980px){
  .two-col{grid-template-columns:1fr}
}

/* Responsive header: search drops to its own full-width line, secondary actions trimmed */
@media(max-width:760px){
  .header .bar{flex-wrap:wrap;height:auto;padding:8px 0;gap:8px 12px}
  .search-wrap{order:10;flex-basis:100%}
  .header .actions{gap:12px;margin-left:auto}
  .header .actions .btn.outline{display:none}     /* Upload Rx — still reachable via the bottom + tab */
  .logo-img{height:38px}
  .pincode{font-size:11px}
  h1{font-size:22px}
}
@media(max-width:480px){
  .container{padding:0 12px}
  .header .actions #accountLink{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  h1{font-size:20px}
}

/* ============================================================
   PharmEasy-parity additions (mega-menu, PLP filters, cart offers,
   lab detail, FAQ) — AAJ branding
   ============================================================ */

/* Mega-menu */
.navrow .menu{position:relative}
.navrow .menu>a{display:inline-flex;align-items:center;gap:4px}
.navrow .menu>a:after{content:"▾";font-size:10px;color:var(--ink-300)}
.mega{position:absolute;top:100%;left:0;min-width:560px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);padding:16px;z-index:90;display:none;
  grid-template-columns:repeat(3,1fr);gap:6px 20px}
.navrow .menu:hover .mega,
.navrow .menu:focus-within .mega{display:grid}
.navrow .menu.force-close .mega{display:none}
.mega .grp{break-inside:avoid}
.mega .grp>a.head{font-weight:700;color:var(--ink-900);display:block;padding:4px 0;font-size:13px}
.mega .grp .sub{display:block;color:var(--ink-500);font-size:12px;padding:3px 0}
.mega .grp .sub:hover{color:var(--primary-600)}

/* PLP with filters */
.plp{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
.plp.plp-empty{grid-template-columns:1fr}
.filters{position:sticky;top:120px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}
.filters h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-700)}
.filters .fgroup{padding:10px 0;border-bottom:1px solid var(--line)}
.filters .fgroup:last-child{border-bottom:0}
.filters label.chk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-700);padding:3px 0;cursor:pointer;font-weight:400}
.fscroll{max-height:220px;overflow-y:auto;padding-right:4px}
.fscroll::-webkit-scrollbar{width:7px}
.fscroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
.fscroll::-webkit-scrollbar-thumb:hover{background:var(--primary-100)}
.filters .clear{font-size:12px;cursor:pointer}
.price-inputs{display:flex;gap:8px;align-items:center}
.price-inputs input{padding:7px 8px}
.result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;box-shadow:var(--sh-1)}
.active-filters{display:flex;gap:6px;flex-wrap:wrap}
.active-filters .chip{background:var(--primary-50);color:var(--primary-700);border-radius:var(--r-pill);
  font-size:12px;padding:3px 10px;cursor:pointer}
.active-filters .chip:after{content:" ✕";font-size:10px}
.plp-sentinel{min-height:48px;display:flex;align-items:center;justify-content:center}
.plp-loader{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;padding:18px 0}
.plp-end{text-align:center;color:var(--muted);font-size:13px;padding:18px 0}
.spin{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--primary-100);
  border-top-color:var(--primary);animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.filters-toggle{display:none}
/* admin: clickable rows, customer profile, KPI cards */
tr.rowlink{cursor:pointer}
tr.rowlink:hover{background:var(--primary-50)}
.cust-head{display:flex;gap:18px;align-items:center;margin-bottom:16px}
.cust-ava{width:72px;height:72px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--primary-600),var(--primary-500));
  color:#fff;font-weight:800;font-size:30px;display:flex;align-items:center;justify-content:center}
.cust-meta h2{margin:0 0 4px}
.cust-facts{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--ink-700)}
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}
.kpi-v{font-size:22px;font-weight:800;color:var(--ink-900)}
.kpi-l{font-size:12px;color:var(--muted);margin-top:2px}
.kpi.ok .kpi-v{color:var(--success-600)} .kpi.warn .kpi-v{color:#b8860b} .kpi.bad .kpi-v{color:var(--danger-600,#e23b3b)}
.addr-card{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;margin-bottom:8px;font-size:13px}
/* orders dashboard */
.ostat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.ostat{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:13px 15px;box-shadow:var(--sh-1)}
.ostat.clk{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}
.ostat.clk:hover{box-shadow:var(--sh-2);transform:translateY(-2px);border-color:var(--primary-100)}
.ostat-ic{flex:none;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:19px;background:var(--primary-50)}
.ostat-v{font-size:20px;font-weight:800;color:var(--ink-900);line-height:1.1;letter-spacing:-.01em}
.ostat-l{font-size:11px;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.ostat.b-blue .ostat-ic{background:#e7f0ff;color:var(--primary-600)}
.ostat.b-green .ostat-ic{background:#e6f6ee;color:var(--success-600)}
.ostat.b-red .ostat-ic{background:#fdeaea;color:var(--danger-600,#e23b3b)}
.ostat.b-amber .ostat-ic{background:#fdf3e0;color:#b8860b}
.ostat.b-violet .ostat-ic{background:#efe9ff;color:#7c3aed}
.ofilter{box-shadow:var(--sh-1)}
.chipbtn{border:1px solid var(--line);background:#fff;border-radius:var(--r-pill);padding:6px 13px;font-size:12.5px;cursor:pointer;font-weight:600;color:var(--ink-700);transition:.12s}
.chipbtn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-50)}
.hc-tab{border:0;background:none;padding:9px 14px;font-size:13.5px;font-weight:700;color:var(--ink-500);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px}
.hc-tab:hover{color:var(--primary)}
.hc-tab.on{color:var(--primary-700);border-bottom-color:var(--primary)}
.hc-status{width:auto;padding:3px 22px 3px 10px;font-size:11px;font-weight:700;border:0;border-radius:var(--r-pill);cursor:pointer;background-position:right 6px center}
.perm-chip{display:inline-block;background:var(--primary-50);color:var(--primary-700);border-radius:var(--r-pill);font-size:11px;font-weight:600;padding:2px 9px;margin:0 4px 4px 0}
.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.perm-grid{grid-template-columns:1fr}}
.perm-group{border:1px solid var(--line);border-radius:var(--r-md);padding:12px}
.perm-group-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}
.perm-row{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}
.perm-row input{margin-top:3px}
.perm-row span{display:flex;flex-direction:column}
.perm-row small{color:var(--muted);font-size:11.5px}
.settings-savebar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface,#fff);border-top:1px solid var(--line);padding:12px 4px;margin-top:8px;flex-wrap:wrap}
.obulk{display:flex;align-items:center;gap:10px;background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--r-md);padding:10px 14px;margin-bottom:10px;flex-wrap:wrap}
.otable{width:100%;border-collapse:separate;border-spacing:0}
.otable thead th{background:#f6f8fc;color:var(--ink-700);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;padding:11px 12px;border-bottom:1px solid var(--line)}
.otable td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.otable tbody tr:last-child td{border-bottom:0}
.otable th.srt{cursor:pointer;user-select:none} .otable th.srt:hover{color:var(--primary)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.cust-head{flex-direction:column;text-align:center}}
.img-up{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.img-up-prev{width:80px;height:80px;flex:none;border:1px solid var(--line);border-radius:var(--r-md);
  background:var(--primary-50);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11px}
.img-up-prev img{width:100%;height:100%;object-fit:contain}
.img-up-act{display:flex;gap:8px;flex-wrap:wrap}
.brand-logo{display:inline-flex;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);
  background:var(--primary-50);align-items:center;justify-content:center;overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain}
@media(max-width:860px){
  .plp{grid-template-columns:1fr}
  .filters{position:static;display:none}
  .filters.open{display:block}
  .filters-toggle{display:inline-flex}
}

/* Offer / coupon strip */
.offer-card{border:1px dashed var(--primary-500);background:var(--primary-50);border-radius:var(--r-md);
  padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.offer-card.best{border-style:solid;border-width:2px;background:#e6f6ee;box-shadow:0 1px 6px rgba(60,201,106,.18)}
.offer-card .code{font-weight:800;letter-spacing:.04em;color:var(--primary-800)}
.offer-card small{color:var(--ink-500);display:block;font-weight:400;letter-spacing:0}
.unlock{background:linear-gradient(120deg,var(--primary-600),var(--accent-500));color:#fff;border-radius:var(--r-md);
  padding:12px 14px;margin-bottom:12px;font-size:13px}
.unlock.done{background:linear-gradient(120deg,var(--success-600),#3cc96a)}
.unlock .bar{height:6px;background:rgba(255,255,255,.35);border-radius:var(--r-pill);margin-top:8px;overflow:hidden}
.unlock .bar>span{display:block;height:100%;background:#fff;border-radius:var(--r-pill);transition:width .4s}
.savings-pill{background:#e6f6ee;color:var(--success-600);border-radius:var(--r-md);padding:8px 12px;
  font-weight:700;font-size:13px;text-align:center;margin:8px 0}
.plus-card{border:1px solid var(--orange-500);background:var(--orange-50);border-radius:var(--r-md);padding:14px;margin-top:12px}
.plus-card b{color:var(--orange-500)}

/* Checkout: numbered steps + selectable option cards */
.step-h{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.step-n{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--primary-600);color:#fff;font-size:13px;font-weight:700}
.opt-list{display:flex;flex-direction:column;gap:10px}
.opt-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px solid var(--line);
  border-radius:var(--r-md);cursor:pointer;transition:.15s}
.opt-card:hover{border-color:var(--primary-500);background:var(--primary-50)}
.opt-card input{margin-top:2px;accent-color:var(--primary-600)}
.opt-card:has(input:checked){border-color:var(--primary-600);background:var(--primary-50);box-shadow:0 0 0 2px var(--primary-50)}
.opt-body{display:flex;flex-direction:column;gap:3px}
.opt-body .muted{font-size:12.5px}
.pay-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pay-card{align-items:center}
@media(max-width:480px){.pay-list{grid-template-columns:1fr}}

/* Membership plan cards */
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:6px 0 8px;align-items:start}
.plan-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);
  padding:24px;transition:.18s}
.plan-card:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.plan-popular{border:2px solid var(--primary-600);box-shadow:0 12px 30px rgba(14,129,237,.16)}
.plan-tag{position:absolute;top:-12px;right:20px;background:linear-gradient(120deg,var(--orange-500),#ffb061);color:#fff;
  font-size:12px;font-weight:700;padding:5px 12px;border-radius:var(--r-pill);box-shadow:var(--sh-2)}
.plan-name{margin:0;font-size:20px;color:var(--ink-900)}
.plan-price{font-size:34px;font-weight:800;color:var(--primary-700);margin:6px 0 14px}
.plan-price span{font-size:14px;font-weight:500;color:var(--ink-500)}
.plan-perks{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:10px}
.plan-perks li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink-700)}
.plan-perks .tick{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:#e6f6ee;color:var(--success-600);font-size:12px;font-weight:800}

/* Upload Rx dropzone + steps */
.rx-drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer;
  padding:34px 20px;border:2px dashed var(--primary-500);border-radius:var(--r-lg);background:var(--primary-50);
  margin-bottom:16px;transition:.15s}
.rx-drop:hover{background:#eaf2ff;border-color:var(--primary-600)}
.rx-drop.has-file{border-style:solid;border-color:var(--success-600);background:#eefaf1}
.rx-drop b{color:var(--ink-900);font-size:15px}
.rx-drop-ic{font-size:34px}
.rx-how .rx-steps{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:14px}
.rx-how .rx-steps li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink-700)}
.rx-how .rx-steps li span{width:24px;height:24px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--primary-600);color:#fff;font-size:12px;font-weight:700}

/* Lab */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.tabs .tab{border:1px solid var(--line);background:#fff;border-radius:var(--r-pill);padding:7px 16px;
  font-size:13px;font-weight:600;cursor:pointer;color:var(--ink-700)}
.tabs .tab.active{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}
.about-list{list-style:none;padding:0;margin:0}
.about-list li{padding:10px 0;border-bottom:1px solid var(--line)}
.about-list li b{display:block;margin-bottom:2px}

/* ---- Lab test detail (premium) ---- */
.lab-hero{display:flex;gap:24px;align-items:flex-start;
  background:linear-gradient(160deg,var(--primary-50),#fff)}
.lab-hero-ic{width:110px;height:110px;flex:none;border-radius:var(--r-lg);
  background:radial-gradient(circle at 32% 30%,#eaf3ff,#cfe3ff);box-shadow:0 10px 26px rgba(14,129,237,.20);
  display:flex;align-items:center;justify-content:center;font-size:52px}
.lab-hero-info{flex:1;min-width:220px}
.lab-title{margin:8px 0 4px;font-size:26px;line-height:1.2}
.lab-meta{font-size:13px}
.lab-price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:12px 0}
.lab-now{font-size:30px;font-weight:800;color:var(--ink-900);letter-spacing:-.5px}
.lab-price-row .muted{font-size:12px}
.lab-cta{box-shadow:0 8px 20px rgba(14,129,237,.28)}
.lab-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.lab-chips span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-pill);padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--ink-700);box-shadow:var(--sh-1)}

.lab-about{padding:8px 22px}
.lab-sec{padding:16px 0;border-top:1px solid var(--line)}
.lab-sec:first-child{border-top:0}
.lab-sec h4{margin:0 0 6px;font-size:15px;color:var(--ink-900)}
.lab-sec p{margin:0;line-height:1.7;color:var(--ink-700)}

.lab-side{position:sticky;top:84px}
.lab-book-card{border:1px solid var(--primary-500);box-shadow:var(--sh-2)}
.lab-book-top{display:flex;justify-content:space-between;align-items:baseline}
.lab-book-price{font-size:26px;font-weight:800;color:var(--ink-900)}
.lab-book-free{margin-top:8px;color:var(--success-600);font-weight:600;font-size:13px}
.lab-book-note{font-size:12px;margin:10px 0 0;text-align:center}
.lab-why{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:10px}
.lab-why li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-700)}
.lab-why li span{font-size:16px}
@media(max-width:760px){
  .lab-hero{gap:16px}
  .lab-hero-ic{width:84px;height:84px;font-size:40px}
  .lab-title{font-size:22px}
  .lab-side{position:static}
}

/* FAQ accordion */
.faq{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-top:8px}
.faq .q{padding:14px 16px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;
  align-items:center;border-bottom:1px solid var(--line)}
.faq .q:last-child{border-bottom:0}
.faq .q .a{display:none;font-weight:400;color:var(--ink-500);margin-top:8px;font-size:13px}
.faq .q.open .a{display:block}
.faq .q .caret{transition:.2s}
.faq .q.open .caret{transform:rotate(180deg)}

/* USP cards (home) */
.usp{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}
.usp .u{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;gap:12px;
  align-items:center;transition:box-shadow .15s,transform .15s,border-color .15s}
.usp .u:hover{box-shadow:var(--sh-2);transform:translateY(-2px);border-color:var(--primary-500)}
.usp .u .ic{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;font-size:22px;
  border-radius:50%;background:radial-gradient(circle at 30% 30%,#eef3ff,#dbe6ff)}
.usp .u b{display:block;color:var(--ink-900)}.usp .u small{color:var(--ink-500)}
.wa-btn{background:#25d366 !important;border-color:#25d366 !important;color:#fff !important}
.wa-btn:hover{background:#1ebe5a !important}

/* Lab test → WhatsApp booking banner */
.lab-wa{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0;
  background:linear-gradient(120deg,#e9fbef,#fff);border-color:#bdebcb}
.lab-wa-txt h3{margin:0 0 4px}
.lab-wa .wa-btn{min-width:200px}

/* Coming-soon panel (Wallet) */
.coming-soon .cs-ic{font-size:54px;margin-bottom:6px}
.coming-soon h3{color:var(--ink-900)}
.coming-soon p{max-width:360px;margin:6px auto 0;line-height:1.6}

/* Demo OTP hint in login modal */
.demo-otp{background:var(--primary-50);border:1px dashed var(--primary-500);border-radius:var(--r-md);
  padding:10px 12px;font-size:13px;color:var(--ink-700);margin-bottom:12px;text-align:center}
.demo-otp b{font-size:15px;letter-spacing:2px;color:var(--primary-700)}
.demo-otp a{margin-left:6px;font-size:12px}
.promo-strip{display:flex;gap:14px;overflow-x:auto;margin:16px 0;padding-bottom:4px}
.promo{min-width:280px;border-radius:var(--r-lg);padding:20px;color:#fff;flex:1}
.promo h4{margin:0 0 4px;font-size:18px}.promo p{margin:0;font-size:12px;opacity:.9}
.promo.a{background:linear-gradient(120deg,#0e81ed,#19a3ff)}
.promo.b{background:linear-gradient(120deg,#f5872a,#ffb061)}
.promo.c{background:linear-gradient(120deg,#151875,#2bd6e8)}
.banner-rail{padding:4px 2px 10px}
.banner-slide{min-width:340px;max-width:340px;min-height:140px;display:flex;flex-direction:column;justify-content:flex-end;
  scroll-snap-align:start;text-decoration:none}
.banner-slide h4{font-size:20px}

/* Pay partners (footer) */
.pay-partners{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pay-partners span{background:#fff;color:var(--ink-700);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}

/* qty stepper on product card */
.pcard .qty{align-self:stretch;justify-content:space-between}

/* ---- Product detail: variants, rating, prose, details ---- */
.rating-line{display:flex;align-items:center;gap:8px}
.rating-line .stars{color:#f5a623;letter-spacing:2px;font-size:15px}
.variant-wrap{margin:10px 0}
.vrow{margin:10px 0}
.vlabel{font-size:12px;font-weight:700;color:var(--ink-700);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}
.vchips{display:flex;gap:8px;flex-wrap:wrap}
.vchip{border:1px solid var(--line);background:#fff;border-radius:var(--r-md);padding:8px 14px;font-size:13px;
  font-weight:600;cursor:pointer;color:var(--ink-700);transition:.12s}
.vchip:hover{border-color:var(--primary-500)}
.vchip.on{border-color:var(--primary-600);background:var(--primary-50);color:var(--primary-700);box-shadow:0 0 0 2px var(--primary-50)}
.vtitle{font-size:14px;font-weight:700;color:var(--ink-900);margin-bottom:4px}
.vchip.vcolor{display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 9px}
.vswatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);flex:none}
/* explicit per-variant list — every variant shown & selectable */
.vlist{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.vopt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;
  border:1px solid var(--line);background:#fff;border-radius:var(--r-md);padding:10px 14px;transition:all .15s}
.vopt:hover{border-color:var(--primary-500)}
.vopt.on{border-color:var(--primary-600);background:var(--primary-50);box-shadow:0 0 0 2px var(--primary-50)}
.vopt-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.vopt-label{font-size:14px;font-weight:600;color:var(--ink-900)}
.vopt-meta{font-size:12.5px;color:var(--ink-700);font-weight:600}
.vopt-mrp{text-decoration:line-through;color:var(--muted);font-weight:400}
.vopt-off{color:var(--success-600)}
.vopt-oos{color:var(--danger-600,#e23b3b)}
.vopt.oos{opacity:.6}
.vopt-tick{opacity:0;color:var(--primary-600);font-weight:800;font-size:16px;transition:opacity .15s}
.vopt.on .vopt-tick{opacity:1}

/* Product share: gallery FAB + popup */
.pdp-main{position:relative}
.pdp-share-fab{position:absolute;top:12px;right:12px;width:38px;height:38px;border:1px solid var(--line);
  background:#fff;border-radius:50%;font-size:16px;cursor:pointer;box-shadow:var(--sh-2);transition:.15s}
.pdp-share-fab:hover{background:var(--primary-50);border-color:var(--primary-500);transform:translateY(-1px)}
.share-modal{max-width:420px}
.share-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:14px}
.share-opt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1px solid var(--line);
  border-radius:var(--r-md);font-size:12px;font-weight:600;color:var(--ink-700);background:#fff;transition:.15s}
.share-opt:hover{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700);transform:translateY(-2px)}
.share-opt .share-ic{font-size:22px}
.share-opt.wa-btn{color:#fff !important}
.share-copy{display:flex;gap:8px}
.share-copy .input{flex:1;font-size:12px}

/* Change-location slide-in drawer */
.drawer-back{position:fixed;inset:0;background:rgba(21,24,117,.42);z-index:120;opacity:0;transition:opacity .25s}
.drawer-back.open{opacity:1}
.drawer{position:absolute;top:0;right:0;height:100%;width:380px;max-width:88vw;background:#fff;
  box-shadow:-8px 0 28px rgba(21,24,117,.18);padding:20px;overflow-y:auto;transform:translateX(100%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.drawer-back.open .drawer{transform:none}
.drawer h2{margin:0;font-size:18px}
.drawer-x{cursor:pointer;font-size:18px;color:var(--ink-500)}
.loc-pin{display:flex;gap:8px;margin-top:16px}
.loc-pin .input{flex:1}
.loc-saved-t{margin:22px 0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500)}
.loc-list{display:flex;flex-direction:column;gap:10px}
.loc-card{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-md);padding:12px;cursor:pointer;transition:.15s}
.loc-card:hover{border-color:var(--primary-500);background:var(--primary-50)}
.loc-ic{font-size:18px;flex:none}
.loc-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.loc-body .muted{font-size:12px;line-height:1.5}

/* Static info / footer content pages (premium) */
.info-hero2{display:flex;align-items:center;gap:18px;margin:12px 0 16px;padding:26px 28px;border-radius:var(--r-lg);
  color:#fff;background:linear-gradient(120deg,var(--primary-800),var(--primary-600) 60%,var(--accent-500));
  box-shadow:var(--sh-2);position:relative;overflow:hidden}
.info-hero2::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;
  background:rgba(255,255,255,.12)}
.info-hero2-ic{width:64px;height:64px;flex:none;display:flex;align-items:center;justify-content:center;font-size:32px;
  border-radius:var(--r-lg);background:rgba(255,255,255,.18);backdrop-filter:blur(2px);z-index:1}
.info-hero2-tx{z-index:1}
.info-hero2-tx h1{margin:0;color:#fff;font-size:26px}
.info-hero2-tx p{margin:4px 0 0;color:rgba(255,255,255,.9);font-size:14px}
.info-body{padding:8px 26px;animation:accIn .35s ease both}
.info-sec{padding:18px 0;border-top:1px solid var(--line)}
.info-sec:first-child{border-top:0}
.info-sec h3{margin:0 0 6px;font-size:16px;color:var(--ink-900)}
.info-sec p{margin:0;line-height:1.7;color:var(--ink-700)}
.info-sec a{font-weight:600}
/* Contact method cards */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:14px 0 6px}
.contact-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:20px 14px;
  border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg,#fff,var(--primary-50));
  color:var(--ink-700);transition:.16s}
.contact-card:hover{border-color:var(--primary-500);box-shadow:var(--sh-2);transform:translateY(-3px)}
.contact-card b{color:var(--ink-900);font-size:14px}
.contact-card .muted{font-size:12.5px}
.contact-ic{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#eef3ff,#dbe6ff);box-shadow:var(--sh-1)}
@media(max-width:480px){.info-body{padding:8px 16px}.info-hero2{padding:20px}.info-hero2-tx h1{font-size:22px}}
.prose p{margin:8px 0;line-height:1.6}
.prose ul{margin:6px 0 10px;padding-left:20px}
.prose li{margin:3px 0}
table.kv{border:0;background:transparent}
table.kv td{border:0;border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top}
table.kv td.k{width:200px;color:var(--ink-500);font-weight:600}
.rating-summary{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.rating-summary .rscore{text-align:center;min-width:120px}
.rating-summary .rscore .big{font-size:40px;font-weight:800;color:var(--primary-700);line-height:1}
.rbars{flex:1;min-width:240px}
.rbar{display:flex;align-items:center;gap:10px;margin:4px 0;font-size:12px}
.rbar .rl{width:28px;color:var(--ink-500)}
.rbar .rtrack{flex:1;height:8px;background:var(--bg);border-radius:var(--r-pill);overflow:hidden}
.rbar .rtrack>span{display:block;height:100%;background:#f5a623;border-radius:var(--r-pill)}
.rbar .rp{width:38px;text-align:right;color:var(--ink-500)}

/* ============================================================
   Product Detail Page (PDP) — premium layout
   ============================================================ */
.breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--ink-500);margin-top:4px}
.breadcrumb a{color:var(--ink-500)}
.breadcrumb a:hover{color:var(--primary-600)}
.breadcrumb span{color:var(--ink-300)}
.breadcrumb .cur{color:var(--ink-900);font-weight:600;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.pdp-hero{display:grid;grid-template-columns:300px 1fr;gap:28px}
.pdp-gallery{position:sticky;top:84px}
.pdp-main{height:300px;background:linear-gradient(160deg,var(--primary-50),#fff);border:1px solid var(--line);
  border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:110px;overflow:hidden}
.pdp-main-img{width:100%;height:100%;object-fit:contain;padding:16px}
.pdp-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}
.pdp-thumb{overflow:hidden}
.pdp-thumbs{display:flex;gap:10px;margin-top:12px}
.pdp-thumb{width:60px;height:60px;background:var(--primary-50);border:1px solid var(--line);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;transition:.15s}
.pdp-thumb:hover{border-color:var(--primary-500)}
.pdp-thumb.on{border-color:var(--primary-600);box-shadow:0 0 0 2px var(--primary-50)}

.pdp-info-col{min-width:0}
.pdp-title{margin:8px 0 4px;font-size:24px;line-height:1.25}
.pdp-brand{font-size:13px}
.pdp-compo{font-size:13.5px;margin:8px 0;color:var(--ink-900)}
.pdp-compo .muted{font-weight:400}
.pdp-rating{display:inline-flex;margin:10px 0;gap:8px;align-items:center}
.rating-pill{display:inline-flex;align-items:center;gap:4px;background:var(--success-600);color:#fff;
  font-weight:700;font-size:13px;padding:2px 9px;border-radius:var(--r-sm)}
.rating-pill.sm{font-size:12px;padding:1px 7px}

.pdp-price{margin:14px 0 4px}
.pdp-price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pdp-now{font-size:30px;font-weight:800;color:var(--ink-900);letter-spacing:-.5px}
.pdp-price .mrp{color:var(--ink-500);text-decoration:line-through;font-size:16px;font-weight:500}
.pdp-save{color:var(--success-600);font-weight:700;font-size:13px;margin-top:2px}

.pdp-actions{gap:10px;flex-wrap:wrap;margin:14px 0;max-width:560px}
.pdp-actions #pvAdd,.pdp-actions #pvBuy{flex:1;min-width:150px;max-width:230px}
.pdp-wish{border:1px solid var(--line);min-width:44px;font-size:18px}
.pdp-wish:hover{color:var(--rx);border-color:var(--rx)}
.pdp-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.pdp-trust>div{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-700)}
.pdp-trust span{font-size:16px}

.pdp-side{position:sticky;top:84px}
.pdp-promise{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink-700)}
.pdp-promise>div{display:flex;align-items:center;gap:8px}

.pdp-info{padding:8px 22px}
.pdp-sec{padding:18px 0;border-top:1px solid var(--line)}
.pdp-sec:first-child{border-top:0}
.pdp-sec h3{margin:0 0 8px;font-size:16px;color:var(--ink-900)}
.pdp-sec p{margin:6px 0;line-height:1.7;color:var(--ink-700)}
.rich{line-height:1.7;color:var(--ink-700)}
.rich p{margin:6px 0}.rich ul,.rich ol{margin:6px 0;padding-left:22px}.rich li{margin:4px 0}
.rich h3{margin:10px 0 4px;font-size:16px;color:var(--ink-900)}.rich a{color:var(--primary-600)}
.rich b,.rich strong{font-weight:700}
.pdp-sec ul{margin:6px 0;padding-left:22px}
.pdp-sec li{margin:5px 0;line-height:1.6;color:var(--ink-700)}
.pdp-meta{display:flex;gap:24px;flex-wrap:wrap;color:var(--ink-700);font-size:13px}
.pdp-disclaimer{background:var(--primary-50);border-style:dashed}
.pdp-disclaimer .muted{font-size:12px;line-height:1.6}
.pdp-review b{display:block;margin-top:8px}
.pdp-review-by{margin-top:8px;font-size:12px;color:var(--ink-500);font-weight:600}

@media(max-width:760px){
  .pdp-hero{grid-template-columns:1fr;gap:18px}
  .pdp-gallery,.pdp-side{position:static}
  .pdp-main{height:240px;font-size:90px}
}

/* ---- Home: rails, concerns, brands, stats, testimonials ---- */
/* Horizontal scrollers: scrollbar hidden, drag-to-slide enabled via JS */
.rail,.concerns,.brands,.testi{scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.rail::-webkit-scrollbar,.concerns::-webkit-scrollbar,.brands::-webkit-scrollbar,.testi::-webkit-scrollbar{display:none}
.rail.dragging,.concerns.dragging,.brands.dragging,.testi.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;user-select:none}
.rail{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity;scroll-behavior:smooth}
.rail .pcard{min-width:190px;max-width:190px;scroll-snap-align:start}

/* Carousel wrapper with prev/next arrows */
.carousel{position:relative}
.car-nav{position:absolute;top:42%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;
  background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2);color:var(--primary-700);font-size:20px;
  font-weight:700;line-height:1;cursor:pointer;z-index:6;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .15s}
.carousel:hover .car-nav{opacity:1}
.car-nav:hover{background:var(--primary-50)}
.car-nav.prev{left:-10px}
.car-nav.next{right:-10px}
@media(hover:none){.car-nav{display:none}}

.concerns{display:flex;gap:20px;overflow-x:auto;padding:8px 2px 12px}
.concern{text-align:center;min-width:96px;cursor:pointer}
.concern .circle{width:84px;height:84px;border-radius:50%;background:var(--primary-50);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto;transition:.15s}
.concern:hover .circle{border-color:var(--primary-500);background:var(--primary-100)}
.concern .nm{font-size:12px;margin-top:8px;color:var(--ink-700)}

.rx-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:16px 0;
  background:linear-gradient(120deg,var(--primary-50),#fff)}

.member-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--secondary-700),var(--primary-600));color:#fff;border-radius:var(--r-lg);
  padding:22px;margin:20px 0}
.member-banner p{opacity:.9}

.brands{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 10px}
.brand{min-width:140px;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 14px;text-align:center;
  background:#fff;cursor:pointer;transition:.15s}
.brand:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.brand .bic{width:48px;height:48px;border-radius:50%;background:var(--primary-50);color:var(--primary-700);
  font-weight:800;font-size:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;text-transform:uppercase;overflow:hidden}
.brand .bic img{width:100%;height:100%;object-fit:contain;padding:4px}
.brand .nm{font-size:13px;font-weight:600}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:14px 0 26px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;text-align:center}
.stat .v{font-size:26px;font-weight:800;color:var(--primary-700)}
.stat .l{font-size:13px;color:var(--ink-500);margin-top:4px}

.app-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:var(--accent-50);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin:20px 0}
.app-banner h2{font-family:var(--font-display);color:var(--secondary-700)}
.store-pill{background:var(--secondary-700);color:#fff;border-radius:var(--r-pill);padding:8px 16px;font-size:13px;font-weight:600}

.testi{display:flex;gap:14px;overflow-x:auto;padding:8px 2px 16px}
.testi .t{min-width:280px;max-width:280px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.testi .t .stars{color:#f5a623;letter-spacing:2px}
.testi .t p{font-size:13px;color:var(--ink-700);line-height:1.6}

.cart-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--primary-500);
  border-radius:var(--r-lg);padding:14px 18px;margin:16px 0;box-shadow:var(--sh-1)}
.cart-strip .cs-thumbs{display:flex}
.cart-strip .cs-th{width:40px;height:40px;border-radius:var(--r-sm);background:var(--primary-50);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:18px;margin-left:-8px;overflow:hidden}
.cart-strip .cs-th:first-child{margin-left:0}
.cart-strip .cs-th img{width:100%;height:100%;object-fit:contain;padding:3px}
.cart-strip .cs-th .med-svg{width:24px;height:24px}

/* ---- Account page (sidebar layout) ---- */
.crumbs{font-size:13px;color:var(--ink-500);margin:14px 0}
.crumbs a{color:var(--ink-500)}
.crumbs a:hover{color:var(--primary-600)}
.crumbs span{color:var(--ink-900);font-weight:600}
.acc-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start;margin-bottom:30px}
.acc-side{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;position:sticky;top:120px}
.acc-user{display:flex;align-items:center;gap:12px;padding:6px 6px 14px}
.acc-avatar{width:46px;height:46px;border-radius:50%;background:var(--primary-600);color:#fff;font-weight:800;
  font-size:20px;display:flex;align-items:center;justify-content:center}
.acc-plus{display:block;background:linear-gradient(120deg,#6a5cff,#9b7bff);color:#fff;border-radius:var(--r-md);
  padding:12px 14px;margin-bottom:12px;font-size:12px;text-decoration:none}
.acc-plus b{color:#fff;font-size:13px}
.acc-plus div{opacity:.92;margin-top:2px}
.acc-nav{display:flex;flex-direction:column}
.acc-group{padding:6px 0;border-top:1px solid var(--line)}
.acc-group-t{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--ink-500);
  text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px}
.acc-group-t .ai{width:20px;text-align:center;font-size:14px}
.acc-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);color:var(--ink-700);
  font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}
.acc-link .ai{width:20px;text-align:center}
.acc-link .acc-link-lbl{flex:1}
.acc-link.sub{padding-left:40px;font-size:13.5px}              /* indented children under a group header */
.acc-link.lead{border-top:1px solid var(--line);margin-top:2px;font-weight:600}
.acc-link.lead:first-child{border-top:0}
.acc-link:hover{background:var(--primary-50);color:var(--primary-700)}
.acc-link.active{background:var(--primary-50);color:var(--primary-700);font-weight:700;
  box-shadow:inset 3px 0 0 var(--primary-600)}
.acc-link:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}
.acc-badge{background:#e6f6ee;color:var(--success-600);font-size:10px;font-weight:700;padding:2px 7px;
  border-radius:var(--r-pill);white-space:nowrap}
.acc-content{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;min-height:360px}
.acc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.acc-head h2{margin:0;font-size:18px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-900)}
/* content swaps animate in for a smooth tab transition */
#accSub>*{animation:accIn .32s cubic-bezier(.2,.8,.2,1) both}
@keyframes accIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#accSub>*{animation:none}}

/* Order cards (Medicine + Lab) */
.ord-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:16px;margin-bottom:12px;cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s}
.ord-card:hover{box-shadow:var(--sh-2);border-color:var(--primary-500);transform:translateY(-1px)}
.ord-ic{width:44px;height:44px;flex:none;border-radius:var(--r-md);background:var(--primary-50);
  display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden}
.ord-main{flex:1;min-width:0}
.ord-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ord-amt{font-weight:800;color:var(--ink-900);white-space:nowrap}
.ord-status{font-size:12.5px;font-weight:600;margin:4px 0 6px}
.ord-status.verified{color:var(--success-600)}
.ord-status.pending{color:var(--warning-600)}
.ord-status.rejected{color:var(--danger-600)}
.ord-items{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ord-date{font-size:12px;margin-top:2px}
.ord-actions{display:flex;gap:8px;flex:none;align-self:center}
@media(max-width:540px){
  .ord-card{flex-wrap:wrap}
  .ord-actions{width:100%;margin-top:4px}
  .ord-actions .btn{flex:1}
}
@media(max-width:860px){
  .acc-layout{grid-template-columns:1fr}
  .acc-side{position:static}
}

/* Admin product editor tabs */
.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:14px}
.admin-tabs .atab{padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink-500);
  border-bottom:2px solid transparent;margin-bottom:-1px}
.admin-tabs .atab.active{color:var(--primary-700);border-bottom-color:var(--primary-600)}

/* Admin */
.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.admin-side{background:linear-gradient(180deg,#151875 0%,#0f174f 100%);color:#dce8f3;padding:18px;position:sticky;top:0;height:100vh;overflow:auto}
.admin-side .logo{color:#fff}
.admin-side a{display:block;color:#cfe0ee;padding:10px 12px;border-radius:var(--r-md);margin:2px 0;font-size:13px}
.admin-side a.active,.admin-side a:hover{background:rgba(255,255,255,.12);color:#fff}
.admin-main{padding:24px;background:linear-gradient(180deg,#f9fbff 0%,#f4f7ff 100%)}
.brand-block{display:flex;gap:10px;align-items:center;padding:10px 8px 16px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.page-head h1{margin:0}
.mt16{margin-top:16px}.mb8{margin-bottom:8px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 8px 30px rgba(21,24,117,.06)}
.btn{background:var(--primary-600);color:#fff;border:0;border-radius:999px;padding:9px 14px;font-weight:600;cursor:pointer}
.btn.outline{background:#fff;color:var(--primary-700);border:1px solid var(--line)}
.btn.sm{padding:6px 10px;font-size:12px}
.btn.danger{background:var(--danger-600)}
.input{border:1px solid var(--line);border-radius:10px;padding:9px 10px;min-height:40px;width:100%}
select{border:1px solid var(--line);border-radius:10px;padding:9px 10px;min-height:40px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--primary-50);color:var(--primary-700);font-size:12px;font-weight:600}
.badge.rx{background:#fef2e6;color:#c96a0a}
.badge.pending{background:#fff4dd;color:#b66b00}
.badge.in{background:#ecfdf3;color:#1aab2a}
.badge.rejected{background:#fef2f2;color:#d6336c}
.badge.oos{background:#fef2f2;color:#d6336c}
.badge.verified{background:#eaf3ff;color:#0e81ed}
.badge.generic{background:#eef0fb;color:#4b4f9e}

/* Grouped sidebar navigation */
.admin-side nav{display:flex;flex-direction:column;gap:2px}
.admin-side .nav-link{display:flex;align-items:center;gap:9px;color:#cfe0ee;padding:9px 12px;border-radius:var(--r-md);font-size:13px;text-decoration:none;margin:0}
.admin-side .nav-link:hover{background:rgba(255,255,255,.10);color:#fff}
.admin-side .nav-link.active{background:var(--primary-600);color:#fff;font-weight:600}
.admin-side .nav-link .nav-ic{width:18px;text-align:center}
.admin-side .nav-link.sub{padding-left:34px;font-size:12.5px}
.nav-group{display:flex;flex-direction:column}
.nav-group-h{display:flex;align-items:center;gap:9px;width:100%;background:transparent;border:0;cursor:pointer;text-align:left;
  color:#9fb4d8;padding:10px 12px;border-radius:var(--r-md);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.nav-group-h:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-group-h .nav-ic{width:18px;text-align:center;font-size:14px}
.nav-group-h .nav-caret{margin-left:auto;transition:transform .2s;font-size:11px}
.nav-group.open .nav-group-h .nav-caret{transform:rotate(180deg)}
.nav-sub{display:none;flex-direction:column;gap:2px}
.nav-group.open .nav-sub{display:flex}
.admin-side-foot{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:2px}
.admin-side-foot a{color:#9fc;padding:8px 12px;border-radius:var(--r-md);font-size:13px;text-decoration:none;margin:0}
.admin-side-foot a:hover{background:rgba(255,255,255,.10);color:#fff}

/* Topbar + notifications */
.admin-main-wrap{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(180deg,#f9fbff,#f4f7ff)}
.admin-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  background:#fff;border-bottom:1px solid var(--line);padding:10px 24px;box-shadow:0 1px 6px rgba(21,24,117,.05)}
.admin-crumb{font-weight:700;color:var(--ink-900);font-size:15px}
.topbar-right{display:flex;align-items:center;gap:16px;position:relative}
.topbar-user{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-700);font-weight:600;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 12px;cursor:pointer}
.topbar-user:hover{border-color:var(--primary-500);color:var(--primary-700)}
.um-caret{font-size:10px}
.user-menu{position:absolute;top:46px;right:0;width:220px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);z-index:60;overflow:hidden}
.user-menu .um-head{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-bottom:1px solid var(--line)}
.user-menu .um-head .muted{font-size:12px}
.user-menu a{display:block;padding:11px 14px;color:var(--ink-700);font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.user-menu a:last-child{border-bottom:0;color:var(--danger-600)}
.user-menu a:hover{background:var(--primary-50)}
.notif-bell{position:relative;background:transparent;border:0;font-size:19px;cursor:pointer;line-height:1}
.notif-badge{position:absolute;top:-6px;right:-8px;background:var(--danger-600);color:#fff;font-size:10px;font-weight:700;
  min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.notif-panel{position:absolute;top:38px;right:0;width:310px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);z-index:60;overflow:hidden}
.notif-head{padding:12px 14px;font-weight:700;border-bottom:1px solid var(--line);font-size:13px}
.notif-item{display:flex;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line);color:var(--ink-700);font-size:13px;text-decoration:none}
.notif-item:last-child{border-bottom:0}
.notif-item:hover{background:var(--primary-50)}
.notif-ic{font-size:16px;width:20px;text-align:center}
.notif-empty{padding:24px 14px;text-align:center;color:var(--ink-500);font-size:13px}

.sw{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.2);vertical-align:middle;margin-right:8px}

/* Searchable dropdown (combobox) — body-level fixed panel anchored to the input */
.ss-panel{position:fixed;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);z-index:9998;max-height:260px;overflow-y:auto}
.ss-opt{padding:9px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--line)}
.ss-opt:last-child{border-bottom:0}
.ss-opt:hover{background:var(--primary-50);color:var(--primary-700)}
.ss-empty{padding:10px 12px;font-size:12px;color:var(--ink-500)}

/* Lightweight WYSIWYG editor */
.rte{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}
.rte-tb{display:flex;gap:2px;flex-wrap:wrap;padding:6px;background:var(--bg);border-bottom:1px solid var(--line)}
.rte-b{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--line);background:#fff;border-radius:6px;
  font-size:13px;font-weight:600;color:var(--ink-700);cursor:pointer}
.rte-b:hover{border-color:var(--primary-500);color:var(--primary-700)}
.rte-ed{min-height:120px;max-height:340px;overflow-y:auto;padding:12px 14px;font-size:14px;line-height:1.6;color:var(--ink-900);outline:none}
.rte-ed:focus{box-shadow:inset 0 0 0 2px var(--primary-50)}
.rte-ed h3{margin:8px 0 4px;font-size:16px}
.rte-ed ul,.rte-ed ol{margin:6px 0;padding-left:22px}
.rte-ed p{margin:6px 0}
.rte-ed a{color:var(--primary-600)}

/* Toggle switch (active/inactive) */
.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.switch input{display:none}
.switch .slider{position:relative;width:38px;height:21px;border-radius:999px;background:var(--ink-300);transition:.2s;flex:none}
.switch .slider::before{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch input:checked + .slider{background:var(--success-600)}
.switch input:checked + .slider::before{transform:translateX(17px)}
.switch .switch-label{font-size:12.5px;font-weight:600;color:var(--ink-700)}

/* Confirmation modal */
.confirm-modal{max-width:380px;text-align:center}
.confirm-ic{width:60px;height:60px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:28px;
  border-radius:50%;background:var(--primary-50)}
.confirm-ic.danger{background:#fdeaea}
.confirm-modal h3{margin:0 0 6px}
.confirm-modal p{margin:0 0 18px}
.confirm-actions{display:flex;gap:10px;justify-content:center}
.confirm-actions .btn{min-width:120px}

/* Professional numbered pager */
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:4px}
.pager-count{font-size:12.5px;color:var(--ink-500)}
.pg-nav{display:flex;gap:6px;align-items:center}
.pg-btn{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);background:#fff;border-radius:var(--r-md);
  font-size:13px;font-weight:600;color:var(--ink-700);cursor:pointer;transition:.12s}
.pg-btn:hover:not(:disabled):not(.active){border-color:var(--primary-500);color:var(--primary-700)}
.pg-btn.active{background:var(--primary-600);border-color:var(--primary-600);color:#fff}
.pg-btn:disabled{opacity:.45;cursor:not-allowed}
.pg-gap{color:var(--ink-300);padding:0 2px}
.crumb-bar{background:var(--primary-50);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 14px;
  margin-bottom:12px;font-size:13px}
.crumb-bar a{color:var(--primary-700);font-weight:600}
/* Product filter bar + bulk action bar */
.prod-counts{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:12px}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filter-bar .input,.filter-bar select{min-height:38px}
.bulk-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--secondary-700);color:#fff;
  border-radius:var(--r-md);padding:10px 14px;margin-bottom:10px}
.bulk-bar b{color:#fff}
.bulk-bar select,.bulk-bar .input{min-height:34px}

/* Product wizard (full-page editor) */
.wiz-progress{height:6px;background:var(--bg);border-radius:var(--r-pill);overflow:hidden;margin-bottom:16px}
.wiz-fill{height:100%;background:linear-gradient(90deg,var(--primary-600),var(--accent-500));border-radius:var(--r-pill);transition:width .3s}
.wiz-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.wiz-step{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink-500);cursor:pointer;transition:.15s}
.wiz-step .wiz-num{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--bg);
  color:var(--ink-500);font-size:12px;font-weight:700}
.wiz-step:hover{border-color:var(--primary-500)}
.wiz-step.active{border-color:var(--primary-600);color:var(--primary-700);box-shadow:0 0 0 2px var(--primary-50)}
.wiz-step.active .wiz-num{background:var(--primary-600);color:#fff}
.wiz-step.done .wiz-num{background:var(--success-600);color:#fff}
.wiz-body{min-height:200px;padding:4px 0 8px}
.wiz-actions{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:8px;
  position:sticky;bottom:0;background:#fff;padding-bottom:4px}
@media(max-width:600px){.wiz-step span:not(.wiz-num){display:none}}

/* Dashboard quick actions */
.quick-actions{display:flex;gap:10px;flex-wrap:wrap}
.qa{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:12px 16px;font-size:13px;font-weight:600;color:var(--ink-700);text-decoration:none;box-shadow:var(--sh-1);transition:.15s}
.qa:hover{border-color:var(--primary-500);color:var(--primary-700);transform:translateY(-2px);box-shadow:var(--sh-2)}
.qa span{font-size:18px}

@media(max-width:860px){
  .admin-shell{grid-template-columns:1fr}
  .admin-side{position:static;height:auto}
}

/* Media library + product image grids */
.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.img-cell{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column}
.img-cell.primary{border-color:var(--primary-600);box-shadow:0 0 0 2px var(--primary-50)}
.img-cell>img{width:100%;height:130px;object-fit:contain;background:var(--primary-50);padding:8px}
.img-cell .img-actions{display:flex;gap:6px;flex-wrap:wrap;padding:8px;align-items:center}
.img-cell .img-actions .btn{flex:1;min-width:0}
/* Reports & analytics charts */
.rep-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.rep-2col .card,.admin-main .card h3{margin-top:0}
.admin-main .card h3{margin:0 0 12px;font-size:15px}
.chart-svg{width:100%;height:auto;display:block}
.barsh{display:flex;flex-direction:column;gap:10px}
.barh{display:grid;grid-template-columns:130px 1fr 64px;align-items:center;gap:10px;font-size:12.5px}
.barh .bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-700)}
.barh .bt{height:12px;background:var(--bg);border-radius:var(--r-pill);overflow:hidden}
.barh .bt>span{display:block;height:100%;border-radius:var(--r-pill);transition:width .4s}
.barh .bv{text-align:right;font-weight:700;color:var(--ink-900)}
.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.donut-legend{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-700)}
.donut-legend .lg{display:flex;align-items:center;gap:8px}
.donut-legend .dot{width:11px;height:11px;border-radius:3px;flex:none}
@media(max-width:900px){.rep-2col{grid-template-columns:1fr}}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}
.kpi .v{font-size:26px;font-weight:800;color:var(--primary-700)}
.kpi .l{font-size:12px;color:var(--ink-500)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r-lg);overflow:hidden}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px}
th{background:var(--primary-50);color:var(--ink-700);font-weight:600}

/* ============================================================
   MOBILE-FIRST APP SHELL — native WebView experience
   (drawer · bottom-tab · sticky PDP buy bar · safe-areas · touch)
   ============================================================ */

/* Native touch polish */
*{-webkit-tap-highlight-color:transparent}
body{overscroll-behavior-y:none}
a,button,.btn,.tabbar a,.qty button,.chipbtn{touch-action:manipulation}
.rail,.concerns,.brands,.testi,.pdp-thumbs{-webkit-overflow-scrolling:touch}
/* Respect notches / gesture bars in WebView */
.header{padding-top:env(safe-area-inset-top)}

/* Hamburger (mobile only) */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:4px;width:42px;height:42px;flex:none;
  border:0;background:transparent;cursor:pointer;padding:9px;border-radius:var(--r-md)}
.hamburger span{display:block;height:2.5px;width:100%;background:var(--ink-900);border-radius:2px;transition:.2s}
.hamburger:active{background:var(--primary-50)}

/* Slide-in drawer + scrim */
.mscrim{position:fixed;inset:0;background:rgba(21,24,117,.42);opacity:0;visibility:hidden;
  transition:opacity .25s;z-index:90;backdrop-filter:saturate(120%) blur(1px)}
.mdrawer{position:fixed;top:0;left:0;bottom:0;width:82%;max-width:330px;background:#fff;z-index:91;
  transform:translateX(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:var(--sh-3);
  display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);overflow-y:auto;overscroll-behavior:contain}
body.drawer-open{overflow:hidden}
body.drawer-open .mscrim{opacity:1;visibility:visible}
body.drawer-open .mdrawer{transform:translateX(0)}
.md-top{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.md-logo{height:38px}
.md-close{border:0;background:var(--bg);width:38px;height:38px;border-radius:50%;font-size:16px;cursor:pointer;color:var(--ink-700)}
.md-nav{padding:8px 10px 24px;display:flex;flex-direction:column}
.md-link{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:var(--r-md);
  color:var(--ink-900);font-weight:600;font-size:15px;min-height:48px}
.md-link:active{background:var(--primary-50)}
.md-link.md-strong{color:var(--primary-700)}
.md-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);
  padding:14px 12px 6px;margin-top:6px;border-top:1px solid var(--line)}

@media(max-width:860px){
  .hamburger{display:flex}
}

/* Bottom tab: active state + safe-area inset */
.tabbar a.active{color:var(--primary-700);font-weight:700}
.tabbar a.active .ic{transform:translateY(-1px)}
@media(max-width:860px){
  .tabbar{padding-bottom:calc(6px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px rgba(21,24,117,.08)}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .tabbar a{min-width:56px;padding-top:2px}
}

/* Prevent iOS auto-zoom on focus (inputs must be >=16px) + comfortable fields */
@media(max-width:760px){
  .searchbar input,.input,input,select,textarea{font-size:16px}
  .field input,.field select,.field textarea{min-height:46px}
}

/* Touch-friendly header actions */
@media(max-width:760px){
  .header .actions a{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
  .header .actions{gap:8px}
  #accountLink{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Phone product & category grids — 2-up like native apps */
@media(max-width:560px){
  .grid.products{grid-template-columns:repeat(2,1fr);gap:10px}
  .grid.cats{grid-template-columns:repeat(3,1fr);gap:10px}
  .pcard{padding:10px;border-radius:var(--r-md)}
  .pcard .thumb{height:104px}
  .grid{gap:12px}
}
@media(max-width:360px){
  .grid.cats{grid-template-columns:repeat(2,1fr)}
}

/* Sticky bottom Add-to-Cart bar on the product page (mobile) */
@media(max-width:760px){
  body[data-route="product"] .pdp-actions{
    position:fixed;left:0;right:0;bottom:0;z-index:70;margin:0;max-width:none;
    background:#fff;border-top:1px solid var(--line);
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    box-shadow:0 -6px 18px rgba(21,24,117,.12)}
  body[data-route="product"] .pdp-actions #pvAdd,
  body[data-route="product"] .pdp-actions #pvBuy{max-width:none;min-width:0;min-height:48px}
  body[data-route="product"] .tabbar{display:none}            /* buy bar replaces tabs on PDP */
  body[data-route="product"]{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}

/* Larger, comfier tap targets for quantity steppers & chips on touch */
@media(max-width:760px){
  .qty button{min-width:38px;min-height:38px;font-size:17px}
  .chipbtn,.seo-chip{min-height:36px;display:inline-flex;align-items:center}
}

/* Smooth, app-like view entrance on route change */
@media(prefers-reduced-motion:no-preference){
  #view>*{animation:viewIn .26s ease both}
}
@keyframes viewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ============================================================
   DEEP POLISH — checkout pay bar · filter bottom-sheet · PDP swipe gallery
   ============================================================ */

/* ---- Sticky checkout / cart pay bar (mobile) ---- */
.checkout-bar{display:none}
.cb-total{display:flex;flex-direction:column;line-height:1.15}
.cb-total span{font-size:11px;color:var(--ink-500);font-weight:600}
.cb-total b{font-size:19px;color:var(--ink-900)}
@media(max-width:980px){
  .checkout-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;align-items:center;justify-content:space-between;
    gap:14px;background:#fff;border-top:1px solid var(--line);
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(21,24,117,.12)}
  .checkout-bar .btn{flex:1;max-width:62%;min-height:48px}
  body[data-route="checkout"] .tabbar,body[data-route="cart"] .tabbar{display:none}
  body[data-route="checkout"],body[data-route="cart"]{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  body[data-route="checkout"] #placeBtn{display:none}   /* the sticky bar is the CTA on mobile */
}

/* ---- Filters as a bottom-sheet (mobile) ---- */
.filters-scrim{display:none}
.filters-sheet-head,.filters-done{display:none}
@media(max-width:860px){
  .filters-scrim{display:block;position:fixed;inset:0;background:rgba(21,24,117,.42);opacity:0;visibility:hidden;
    transition:opacity .25s;z-index:88}
  body.filters-sheet-open{overflow:hidden}
  body.filters-sheet-open .filters-scrim{opacity:1;visibility:visible}
  .filters{position:fixed!important;left:0;right:0;bottom:0;top:auto;display:block;transform:translateY(100%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:89;border-radius:18px 18px 0 0;max-height:86vh;
    overflow-y:auto;overscroll-behavior:contain;padding:0 16px 8px;border:0;box-shadow:0 -8px 30px rgba(21,24,117,.22)}
  .filters.open{transform:translateY(0)}
  .filters-sheet-head{display:flex;align-items:center;justify-content:flex-end;position:sticky;top:0;background:#fff;
    padding:14px 0 8px;z-index:2;border-bottom:1px solid var(--line)}
  .sheet-handle{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:42px;height:4px;border-radius:3px;background:var(--line)}
  .sheet-close{border:0;background:var(--bg);width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer;color:var(--ink-700)}
  .fscroll{max-height:none}
  .filters-done{display:block;position:sticky;bottom:0;background:#fff;margin-top:6px;
    padding:12px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
}

/* ---- PDP swipeable gallery (mobile) ---- */
.pdp-dots{display:none}
@media(max-width:760px){
  .pdp-main{height:300px}
  .pdp-main-img{padding:22px}
  .pdp-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
  .pdp-dot{width:7px;height:7px;border-radius:50%;border:0;background:var(--line);padding:0;cursor:pointer;transition:.2s}
  .pdp-dot.on{background:var(--primary-600);width:22px;border-radius:4px}
  .pdp-thumbs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:6px}
  .pdp-thumb{flex:0 0 56px;height:56px;scroll-snap-align:start}
}
