/* ============================================================
   VELMORA — Inquiry · Checkout · Account · Admin · Content
   ============================================================ */

.phead{text-align:center;padding:44px 0 30px;}
.phead__title{font-size:clamp(28px,3.4vw,42px);font-weight:400;margin-bottom:10px;}
.phead__sub{font-size:14.5px;color:var(--ink-70);max-width:660px;margin:0 auto;line-height:1.85;}

.card{background:#fff;border:1px solid var(--line);padding:28px 30px;}
.card--soft{background:var(--bg-soft);}
.card__title{font-family:var(--serif);font-size:21px;margin-bottom:7px;}
.card__sub{font-size:13.5px;color:var(--ink-70);margin-bottom:20px;line-height:1.75;}

/* ---------- Forms ---------- */
.field{margin-bottom:16px;}
.field label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-70);margin-bottom:8px;}
.field label .req{color:var(--gold-dark);}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;
  padding:12px 14px;font-size:14px;transition:border-color .26s,box-shadow .26s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(197,168,128,.14);}
.field textarea{resize:vertical;min-height:130px;line-height:1.7;}
.field__hint{font-size:12px;color:var(--ink-55);margin-top:6px;line-height:1.65;}
.field__err{font-size:10.5px;color:var(--danger);margin-top:6px;display:none;}
.field.is-bad input,.field.is-bad textarea{border-color:var(--danger);}
.field.is-bad .field__err{display:block;}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.fgrid--3{grid-template-columns:1fr 1fr 1fr;}
.checkline{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink-70);
  line-height:1.65;margin-bottom:12px;}
.checkline input{width:15px;height:15px;margin-top:2px;flex-shrink:0;accent-color:var(--gold);}
.checkline a{color:var(--gold-deep);text-decoration:underline;}

/* ---------- Inquiry ---------- */
/* minmax(0,…) on BOTH tracks: a bare `1fr 380px` gives each track an
   implicit min-width:auto, so long content pushed the sidebar past the
   viewport edge and the whole page scrolled sideways. */
.inq__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);
  gap:30px;align-items:start;}
.inq__summary{position:sticky;top:calc(var(--header-h) + 16px);}
.inq__pill-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;min-height:26px;}
/* The whole summary panel was set in 9.5-13.5px and read as grey mush.
   Everything below is one to two steps larger and darker. (30 Jul 2026) */
.inq__summary .card__title{font-size:20px;}
.inq__summary .card__sub{font-size:13.5px;color:var(--ink-70);line-height:1.65;}
.inq__none{font-size:14px;color:var(--ink-70);font-style:italic;font-weight:500;}
.inq__count{font-size:15.5px;font-weight:700;color:var(--ink);padding:15px 0;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin-bottom:18px;}
.inq__count b{color:var(--gold-deep);font-size:21px;font-family:var(--serif);font-weight:600;}
.inq__note{font-size:13.5px;color:var(--ink-70);line-height:1.75;font-weight:500;}
.inq__maillabel{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-55);display:block;margin-bottom:7px;}
.inq__summary .footer__mail{font-size:14.5px;font-weight:700;}
.inq__pill{font-size:12.5px;font-weight:600;}
@media (max-width:700px){
  .inq__summary .card__title{font-size:21px;}
  .inq__summary .card__sub,.inq__note{font-size:15px;}
  .inq__none{font-size:15px;}
  .inq__count{font-size:16.5px;}
  .inq__count b{font-size:23px;}
  .inq__summary .footer__mail{font-size:15.5px;}
}

/* ---------- Checkout ---------- */
.co__grid{display:grid;grid-template-columns:1.25fr .95fr;gap:44px;align-items:start;
  padding:26px 0 76px;}
.co__panel{min-width:0;}
.co__side{position:sticky;top:calc(var(--header-h) + 16px);}
.express{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
.express button{border:1px solid var(--line);background:#fff;padding:13px;display:grid;place-items:center;
  transition:all .28s var(--ease);border-radius:3px;}
.express button:hover{border-color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.express svg{height:19px;width:auto;}
.divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--ink-40);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--line);}
.step{font-family:var(--serif);font-size:18px;margin:26px 0 14px;display:flex;align-items:center;gap:11px;}
.step__n{width:23px;height:23px;border-radius:50%;background:var(--gold);color:#fff;font-size:11px;
  font-weight:700;display:grid;place-items:center;font-family:var(--sans);flex-shrink:0;}
.paymethods{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
/* Shopify-style radio rows (owner, 3 Sep 2026): "tick karne wala option
   chahiye — bade square buttons samajh nahi aate." Radio circle left,
   naam + note beech mein, card logos right. */
.paymethod{border:1px solid var(--line);padding:14px 16px;font-size:15px;font-weight:600;
  letter-spacing:0;color:var(--ink);background:#fff;transition:all .22s var(--ease);
  display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;
  border-radius:10px;font-family:inherit;}
.paymethod::before{content:'';width:19px;height:19px;border-radius:50%;
  border:2px solid #CBCBCB;flex:none;transition:all .18s;}
.paymethod:hover{border-color:var(--gold);}
.paymethod.is-on{border-color:var(--gold);background:var(--gold-wash);}
.paymethod.is-on::before{border-color:var(--gold-deep);background:var(--gold-deep);
  box-shadow:inset 0 0 0 3.5px #fff;}
.paymethod__name{display:flex;flex-direction:column;gap:2px;}
.paymethod__name small{font-weight:400;color:var(--ink-55);font-size:12px;letter-spacing:0;}
.paymethod .paycards{margin-left:auto;gap:5px;}
.paymethod .paycards .paycard{width:37px;height:25px;}
.paymethod.is-off{opacity:.45;cursor:not-allowed;}
.paymethod[hidden]{display:none!important;}
.cardbrand{position:absolute;right:12px;top:34px;font-size:9px;font-weight:700;letter-spacing:.1em;
  color:var(--gold-deep);text-transform:uppercase;}
.field--card{position:relative;}
.osum{border:1px solid var(--line);background:#fff;}
.osum__head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;
  justify-content:space-between;align-items:center;}
.osum__head h2{font-size:18px;}
.osum__body{padding:18px 22px;max-height:330px;overflow-y:auto;}
.osum__foot{padding:18px 22px;border-top:1px solid var(--line);background:var(--bg-soft);}
.secure{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10.5px;
  color:var(--ink-55);padding:14px 0 0;}
.secure svg{width:13px;height:13px;color:var(--ok);}
.trustbar{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:16px;
  padding-top:16px;border-top:1px solid var(--line);}
.trustbar span{font-size:9.5px;color:var(--ink-40);letter-spacing:.08em;display:flex;
  align-items:center;gap:5px;}
.trustbar svg{width:12px;height:12px;color:var(--gold);}

/* ---------- Account ---------- */
.acct__grid{display:grid;grid-template-columns:230px 1fr;gap:34px;align-items:start;padding:10px 0 76px;}
.acct__nav{border:1px solid var(--line);background:#fff;position:sticky;
  top:calc(var(--header-h) + 16px);overflow:hidden;}
.acct__navbtn{display:flex;align-items:center;gap:11px;width:100%;padding:13px 18px;font-size:12.5px;
  text-align:left;border-bottom:1px solid var(--line-soft);transition:all .26s var(--ease);color:var(--ink-70);}
.acct__navbtn:last-child{border-bottom:0;}
.acct__navbtn svg{width:15px;height:15px;stroke-width:1.6;flex-shrink:0;}
.acct__navbtn:hover{background:var(--gold-wash);color:var(--gold-deep);}
.acct__navbtn.is-on{background:var(--gold);color:#fff;}
.acct__pane{display:none;}
.acct__pane.is-on{display:block;animation:fadeUp .42s var(--ease);}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.emptybox{text-align:center;padding:52px 22px;border:1px dashed var(--line);background:var(--bg-soft);}
.emptybox svg{width:38px;height:38px;color:var(--line);margin:0 auto 14px;stroke-width:1;}
.emptybox p{font-size:13px;color:var(--ink-55);margin-bottom:18px;}
.gbtn{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;border:1px solid var(--line);
  background:#fff;padding:13px;font-size:13px;font-weight:500;transition:all .28s var(--ease);}
.gbtn:hover{border-color:var(--ink-40);box-shadow:var(--shadow-sm);}
.gbtn svg{width:17px;height:17px;}
.otable{width:100%;border-collapse:collapse;font-size:12.5px;}
.otable th{text-align:left;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-40);padding:10px 12px;border-bottom:1px solid var(--line);}
.otable td{padding:13px 12px;border-bottom:1px solid var(--line-soft);}
.otable tr:hover td{background:var(--gold-wash);}
.badge{display:inline-block;padding:3px 9px;font-size:9px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;border-radius:2px;}
.badge--ok{background:rgba(46,125,91,.12);color:var(--ok);}
.badge--wait{background:var(--gold-tint);color:var(--gold-deep);}
/* (5 Sep) Order status colors — owner: "Delivered ekdum green dikhe, padhna
   na pade". Received=amber, Confirmed/Processing=blue, Delivered=green,
   Cancelled/Refunded/Released=red. */
.badge--info{background:rgba(31,111,192,.12);color:#1F6FC0;}
.badge--bad{background:rgba(198,40,40,.12);color:#C62828;}

/* ---------- Content / legal ---------- */
.prose{max-width:820px;margin:0 auto;padding:8px 0 80px;}
.prose h2{font-size:25px;margin:42px 0 14px;padding-top:14px;border-top:1px solid var(--line-soft);}
.prose h2:first-of-type{border-top:0;margin-top:16px;padding-top:0;}
.prose h3{font-size:18px;margin:26px 0 10px;}
.prose p{font-size:14px;line-height:1.92;color:var(--ink-70);margin-bottom:15px;}
.prose ul{margin:0 0 16px;padding-left:20px;list-style:disc;}
.prose li{font-size:14px;line-height:1.88;color:var(--ink-70);margin-bottom:8px;}
.prose strong{color:var(--ink);font-weight:600;}
.prose a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px;}
.callout{border-left:3px solid var(--gold);background:var(--gold-wash);padding:18px 22px;margin:22px 0;}
.callout p{margin:0;font-size:13px;}
.callout--warn{border-left-color:var(--danger);background:rgba(192,57,43,.045);}
.toc{background:var(--bg-soft);border:1px solid var(--line);padding:20px 24px;margin-bottom:34px;}
.toc h2{font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans);
  margin:0 0 12px!important;border:0!important;padding:0!important;color:var(--ink-40);font-weight:700;}
.toc ol{margin:0;padding-left:18px;}
.toc li{font-size:12.5px;margin-bottom:6px;color:var(--ink-70);}
.toc a{color:var(--ink-70);text-decoration:none;}
.toc a:hover{color:var(--gold-deep);text-decoration:underline;}

/* 4Cs education */
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:30px 0 10px;}
/* Was an inline style on about.html, which beat the mobile media query and
   forced three columns onto a 390px screen. */
.cgrid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.ccard{border:1px solid var(--line);padding:24px 26px;background:#fff;transition:all .34s var(--ease);}
.ccard:hover{border-color:var(--gold);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.ccard__n{font-family:var(--serif);font-size:34px;color:var(--gold);line-height:1;margin-bottom:10px;
  display:block;}
.ccard h3{font-size:19px;margin-bottom:9px;}
.ccard p{font-size:12.5px;line-height:1.85;color:var(--ink-70);margin-bottom:14px;}
.scale{display:flex;gap:3px;flex-wrap:wrap;}
.scale span{flex:1;min-width:26px;text-align:center;font-size:8.5px;font-weight:600;padding:5px 2px;
  background:var(--bg-soft);border:1px solid var(--line-soft);letter-spacing:.04em;}
.scale span.hi{background:var(--gold);color:#fff;border-color:var(--gold);}

/* FAQ accordion */
.faq{border:1px solid var(--line);background:#fff;margin-bottom:9px;}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 20px;text-align:left;font-size:14px;font-weight:500;transition:color .26s;}
.faq__q:hover{color:var(--gold-deep);}
.faq__q::after{content:'';width:8px;height:8px;border-right:1.6px solid var(--gold);
  border-bottom:1.6px solid var(--gold);transform:rotate(45deg);transition:transform .32s var(--ease);
  flex-shrink:0;}
.faq.is-open .faq__q::after{transform:rotate(225deg);}
.faq__a{display:none;padding:0 20px 18px;font-size:13px;line-height:1.85;color:var(--ink-70);}
.faq.is-open .faq__a{display:block;}
.faq__a a{color:var(--gold-deep);text-decoration:underline;}

/* ---------- Admin ---------- */
.admin{padding:20px 0 76px;}
.admin__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 20px;background:var(--ink);color:#fff;margin-bottom:22px;}
.admin__bar h1{color:#fff;font-size:20px;}
.admin__bar p{font-size:11px;color:rgba(255,255,255,.6);margin-top:2px;}
.admin__tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:24px;flex-wrap:wrap;}
.admin__tab{padding:12px 20px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-55);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .26s var(--ease);}
.admin__tab:hover{color:var(--gold-deep);}
.admin__tab.is-on{color:var(--gold-deep);border-bottom-color:var(--gold);}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;}
.stat{border:1px solid var(--line);padding:18px 20px;background:#fff;}
.stat__n{font-family:var(--serif);font-size:29px;color:var(--ink);line-height:1;margin-bottom:6px;}
.stat__l{font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);}
.stat--gold .stat__n{color:var(--gold-dark);}
.drop{border:2px dashed var(--line);background:var(--bg-soft);padding:44px 26px;text-align:center;
  transition:all .3s var(--ease);cursor:pointer;}
.drop.is-over{border-color:var(--gold);background:var(--gold-wash);}
.drop svg{width:40px;height:40px;color:var(--ink-40);margin:0 auto 14px;stroke-width:1.1;}
.drop h3{font-size:17px;margin-bottom:7px;}
.drop p{font-size:12px;color:var(--ink-55);margin-bottom:16px;}
.log{background:#1A1A1A;color:#C9E5C9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;line-height:1.75;padding:16px 18px;max-height:250px;overflow-y:auto;margin-top:18px;
  white-space:pre-wrap;word-break:break-word;}
.log:empty{display:none;}
.itable{width:100%;border-collapse:collapse;font-size:11.5px;background:#fff;}
.itable th{position:sticky;top:0;background:var(--bg-soft);text-align:left;font-size:9px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-55);padding:10px;
  border-bottom:1px solid var(--line);z-index:2;}
.itable td{padding:9px 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap;}
.itable tr:hover td{background:var(--gold-wash);}
.itable__wrap{max-height:600px;overflow:auto;border:1px solid var(--line);}
.tag-blank{background:rgba(192,57,43,.1);color:var(--danger);padding:2px 7px;font-size:9px;
  font-weight:700;letter-spacing:.06em;}

@media (max-width:1000px){
  .inq__grid,.co__grid,.acct__grid{grid-template-columns:minmax(0,1fr);}
  .inq__summary,.co__side,.acct__nav{position:static;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .cgrid,.cgrid--3{grid-template-columns:minmax(0,1fr);}
  .acct__nav{display:flex;flex-wrap:wrap;}
  .acct__navbtn{width:auto;flex:1;min-width:130px;border-bottom:1px solid var(--line-soft);}
}
@media (max-width:600px){
  .fgrid,.fgrid--3{grid-template-columns:1fr;}
  .express{grid-template-columns:1fr;}
  .card{padding:20px 18px;}
  .stats{grid-template-columns:1fr;}
  .co__grid{gap:28px;}
}

/* ---- Auth tabs (Sign In / Create Account) ---- */
.authtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:-4px 0 20px;}
.authtab{flex:1;padding:12px 8px;font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-40);border-bottom:2px solid transparent;
  margin-bottom:-1px;transition:all .26s var(--ease);}
.authtab:hover{color:var(--gold-deep);}
.authtab.is-on{color:var(--ink);border-bottom-color:var(--gold);}
.authpane{display:none;}
.authpane.is-on{display:block;animation:fadeUp .34s var(--ease);}
.linkish{color:var(--gold-deep);text-decoration:underline;font-size:inherit;font-weight:600;}
.linkish:hover{color:var(--gold-dark);}

/* ---- Pre-order banner in the order summary ---- */
.prebanner{display:block;padding:13px 15px;margin-bottom:14px;border-left:3px solid var(--gold);
  background:var(--gold-wash);font-size:12px;line-height:1.65;}
.prebanner b{color:var(--gold-deep);}
.prebanner > b{display:block;margin-bottom:3px;font-size:12.5px;}
.prebanner span{color:var(--ink-70);}

/* ---- Order tracking ---- */
.trackfind{display:flex;gap:9px;margin-bottom:20px;}
.trackfind input{flex:1;border:1px solid var(--line);padding:11px 14px;font-size:13px;}
.trackfind input:focus{outline:none;border-color:var(--gold);}
.trackbox{border:1px solid var(--line);padding:20px 22px;margin-bottom:14px;background:#fff;}
.trackbox__top{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.trackbox__top b{font-size:14px;display:block;}
.trackbox__top span{font-size:11.5px;color:var(--ink-55);}
.trackbox__num{text-align:right;}
.trackbox__num span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-40);}
.trackbox__num b{font-size:13px;font-variant-numeric:tabular-nums;}
.tracksteps{display:flex;gap:5px;margin-bottom:16px;}
.trackstep{flex:1;text-align:center;min-width:0;}
.trackstep__bar{display:block;height:4px;border-radius:2px;background:var(--line);margin-bottom:8px;
  transition:background .3s;}
.trackstep.is-done .trackstep__bar{background:var(--gold);}
.trackstep.is-now .trackstep__bar{background:var(--gold-dark);
  box-shadow:0 0 0 3px rgba(197,168,128,.22);}
.trackstep__lab{font-size:9px;letter-spacing:.05em;color:var(--ink-40);line-height:1.35;display:block;}
.trackstep.is-done .trackstep__lab{color:var(--gold-deep);font-weight:600;}
.trackbox__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  padding-top:14px;border-top:1px solid var(--line-soft);}
.trackbox__foot span{font-size:12px;color:var(--ink-70);}
@media (max-width:600px){
  .tracksteps{flex-wrap:wrap;gap:8px 4px;}
  .trackstep{flex:0 0 31%;}
  .trackstep__lab{font-size:8px;}
}

/* ---- Delivery method chooser ---- */
.delivopts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.delivopt{border:1px solid var(--line);background:#fff;padding:14px 16px;text-align:left;
  transition:all .26s var(--ease);border-radius:2px;}
.delivopt b{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.delivopt span{display:block;font-size:11.5px;color:var(--ink-55);line-height:1.5;}
.delivopt:hover{border-color:var(--gold);}
.delivopt.is-on{border-color:var(--gold);background:var(--gold-wash);box-shadow:0 0 0 1px var(--gold);}
.delivopt.is-on b{color:var(--gold-deep);}
@media (max-width:600px){ .delivopts{grid-template-columns:1fr;} }

/* ---- Admin: bulk selection + upload preview ---- */
.admbulk{display:flex;align-items:center;gap:12px;padding:11px 16px;margin-bottom:12px;
  background:var(--gold-wash);border:1px solid var(--gold);}
.admbulk[hidden]{display:none!important;}
.admbulk span{font-size:12.5px;font-weight:700;color:var(--gold-deep);margin-right:auto;}
.itable tr.is-sel td{background:var(--gold-tint)!important;}
.itable input[type=checkbox]{width:15px;height:15px;accent-color:var(--gold);cursor:pointer;}
.uppreview{border:1px solid var(--line);background:var(--bg-soft);padding:14px 16px;margin-bottom:18px;}
.uppreview[hidden]{display:none!important;}
.uppreview__t{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-40);margin-bottom:10px;}
.uppreview__row{display:flex;gap:10px;flex-wrap:wrap;}
.uppreview figure{margin:0;width:74px;text-align:center;}
.uppreview img{width:74px;height:74px;object-fit:cover;border:1px solid var(--line);background:#fff;}
.uppreview figure.is-file span{display:grid;place-items:center;width:74px;height:74px;
  border:1px solid var(--line);background:#fff;font-size:13px;font-weight:800;color:var(--gold-deep);}
.uppreview figcaption{font-size:9px;color:var(--ink-55);margin-top:5px;letter-spacing:.04em;}
.uppreview figure{position:relative;}
.upx{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;
  background:#C0392B;color:#fff;font-size:14px;line-height:1;display:grid;place-items:center;
  box-shadow:0 1px 4px rgba(0,0,0,.28);transition:transform .2s;}
.upx:hover{transform:scale(1.15);}
.gbtn--soon{opacity:.72;}
.gbtn__soon{display:block;text-align:center;font-size:10.5px;color:var(--ink-40);
  margin:5px 0 2px;letter-spacing:.04em;}

/* ══════════════════════════════════════════════════════════════════
   ADDRESS AUTOCOMPLETE  (Photon / OpenStreetMap — free, no API key)
   ══════════════════════════════════════════════════════════════════ */
.addr-auto{position:relative;}
.addr-list{position:absolute;left:0;right:0;top:calc(100% - 18px);z-index:60;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);
  max-height:262px;overflow-y:auto;margin:0;padding:4px;list-style:none;}
.addr-list[hidden]{display:none;}
.addr-list li{padding:10px 12px;font-size:13px;line-height:1.45;cursor:pointer;
  border-radius:2px;color:var(--ink);}
.addr-list li b{font-weight:700;display:block;}
.addr-list li span{color:var(--ink-55);font-size:11.5px;}
.addr-list li:hover,.addr-list li.is-active{background:var(--gold-wash);}
.addr-list li[aria-disabled="true"]{color:var(--ink-40);cursor:default;font-size:12px;}
.addr-list li[aria-disabled="true"]:hover{background:transparent;}
.field__hint{display:block;font-size:11px;color:var(--ink-40);margin-top:5px;line-height:1.5;}
.field.is-bad .field__hint{display:none;}
@media (max-width:700px){
  .addr-list li{padding:13px 12px;font-size:14.5px;}
  .addr-list li span{font-size:12.5px;}
  .field__hint{font-size:12px;}
}

/* ---- Admin: Website Media notices ---- */
.notice{border:1px solid var(--line);background:var(--bg-soft);padding:13px 15px;
  font-size:13px;line-height:1.6;color:var(--ink-70);}
.notice b{color:var(--ink);}
.notice--ok{background:#EAF5EF;border-color:#BFE0CE;color:#1E7A50;}
.notice--ok b{color:#1E7A50;}

/* ---- Checkout: delivery notes ---- */
#coNotes{width:100%;border:1px solid var(--line);padding:11px 14px;font-size:12.5px;
  font-family:var(--sans);line-height:1.6;resize:vertical;min-height:78px;background:#fff;
  color:var(--ink);}
#coNotes:focus{outline:none;border-color:var(--gold);}
#coNotes::placeholder{color:var(--ink-40);}
@media (max-width:700px){
  #coNotes{font-size:16px;min-height:92px;}   /* 16px stops iOS zooming */
}

/* ---- Order tracking: the customer's own delivery notes ---- */
.ordernotes{border-left:3px solid var(--gold);background:var(--gold-wash);
  padding:11px 14px;margin:0 0 14px;font-size:12.5px;line-height:1.65;}
.ordernotes b{display:block;color:var(--gold-deep);margin-bottom:3px;font-size:12px;
  letter-spacing:.04em;text-transform:uppercase;}
.ordernotes span{color:var(--ink-70);white-space:pre-wrap;}

/* ---- Password show / hide ---- */
.field--pass{position:relative;}
.field--pass input{padding-right:46px;}
.passtoggle{position:absolute;right:1px;top:50%;transform:translateY(-2px);
  width:42px;height:40px;display:grid;place-items:center;color:var(--ink-40);
  background:transparent;border:0;cursor:pointer;transition:color .22s;}
.passtoggle:hover,.passtoggle:focus-visible{color:var(--gold-deep);}
.passtoggle svg{width:19px;height:19px;}
@media (max-width:700px){
  .passtoggle{width:46px;height:46px;}
  .passtoggle svg{width:21px;height:21px;}
}

/* ---- Checkout: guest vs signed-in banner ---- */
.whobox{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border:1px solid var(--line);background:var(--bg-soft);padding:14px 16px;margin:0 0 18px;}
.whobox b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px;}
.whobox span{display:block;font-size:12px;color:var(--ink-55);line-height:1.6;max-width:52ch;}
.whobox--in{background:var(--gold-wash);border-color:var(--gold-tint);}
.whobox--in b{color:var(--gold-deep);}
.prefill-note{font-size:12px;color:var(--ink-55);line-height:1.6;margin:0 0 12px;
  padding:9px 12px;border-left:3px solid var(--gold);background:var(--gold-wash);}
.prefill-note b{color:var(--ink);}
.checkline small{display:block;font-size:11px;color:var(--ink-40);margin-top:2px;}
@media (max-width:700px){
  .whobox{flex-direction:column;align-items:flex-start;gap:10px;}
  .whobox span{font-size:13px;}
  .prefill-note{font-size:13px;}
  .checkline small{font-size:12px;}
}

/* ================================================================
   Bank transfer — checkout panel and post-order instructions
   Added when Click & Collect was removed; the business is
   online-only and takes manual transfers from NZ and overseas.
   ================================================================ */
.bankpay{border:1px solid var(--line);background:var(--bg-soft);padding:20px 20px 22px;margin:0 0 4px;}
.bankpay__head b{display:block;font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:3px;}
.bankpay__head span{display:block;font-size:12.5px;color:var(--ink-55);}
.bankpay__lead{font-size:13px;color:var(--ink-70);line-height:1.8;margin:14px 0 16px;}
.bankacct{background:#fff;border:1px solid var(--line);padding:15px 16px;margin-bottom:12px;}
.bankacct__t{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);
  font-weight:700;margin-bottom:11px;}
.bankacct__l{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;font-size:13px;}
.bankacct__l dt{color:var(--ink-55);white-space:nowrap;}
.bankacct__l dd{margin:0;color:var(--ink);display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.copyval{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-weight:700;
  letter-spacing:.02em;}
.copybtn{border:1px solid var(--line);background:#fff;color:var(--ink-70);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;cursor:pointer;
  transition:border-color .18s,color .18s;}
.copybtn:hover{border-color:var(--gold);color:var(--gold-deep);}
.copybtn.is-done{border-color:var(--ok);color:var(--ok);}
.hintopt{color:var(--ink-40);font-weight:400;text-transform:none;letter-spacing:0;}

/* Post-order "now pay us" block on the thank-you screen */
.paynow{border:1px solid var(--gold-tint);background:var(--gold-wash);padding:22px 20px;
  margin:22px 0 24px;text-align:left;}
.paynow__t{font-family:var(--serif);font-size:19px;color:var(--ink);margin-bottom:6px;text-align:center;}
.paynow__lead{font-size:12.5px;color:var(--ink-70);line-height:1.75;margin-bottom:15px;text-align:center;}
.paynow__ref{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;
  border:1px dashed var(--gold);padding:11px 14px;margin-bottom:15px;}
.paynow__ref span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55);}
.paynow__ref b{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:16px;
  color:var(--gold-deep);letter-spacing:.04em;}
.paynow__l{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;margin:0 0 14px;font-size:13px;}
.paynow__l dt{color:var(--ink-55);white-space:nowrap;}
.paynow__l dd{margin:0;color:var(--ink);}
.paynow__note{font-size:12px;color:var(--ink-55);line-height:1.75;margin:0;}
@media (max-width:700px){
  .bankpay{padding:16px 14px 18px;}
  .bankacct__l,.paynow__l{grid-template-columns:1fr;gap:3px;}
  .bankacct__l dt,.paynow__l dt{margin-top:9px;font-size:11px;letter-spacing:.08em;
    text-transform:uppercase;}
  .bankacct__l dd,.paynow__l dd{font-size:14.5px;}
  .bankpay__lead,.paynow__lead,.paynow__note{font-size:13.5px;}
  .copybtn{font-size:11.5px;padding:6px 12px;}
  .paynow__ref{flex-direction:column;gap:5px;}
}

/* ================================================================
   Admin inventory — pagination and select-all-matching
   The table used to render only the first 300 matches with no way
   to reach the rest, so a full 5,000-row clear was impossible.
   ================================================================ */
.invpager{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;
  padding:11px 14px;border:1px solid var(--line);background:var(--bg-soft);}
.invpager[hidden]{display:none!important;}
.invpager__b{border:1px solid var(--line);background:#fff;color:var(--ink);
  font-size:12px;letter-spacing:.06em;padding:7px 13px;cursor:pointer;
  transition:border-color .18s,color .18s;}
.invpager__b:hover:not(:disabled){border-color:var(--gold);color:var(--gold-deep);}
.invpager__b:disabled{opacity:.38;cursor:not-allowed;}
.invpager__mid{font-size:12.5px;color:var(--ink-70);display:flex;align-items:center;gap:7px;}
.invpager__mid input{width:66px;border:1px solid var(--line);padding:6px 8px;
  font-size:12.5px;text-align:center;font-family:inherit;}
.invpager__mid b{color:var(--ink);}
.invpager__per{margin-left:auto;font-size:12px;padding:7px 10px;}

.selall{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;
  padding:10px 15px;background:var(--gold-wash);border:1px solid var(--gold-tint);}
.selall[hidden]{display:none!important;}
.selall span{font-size:12.5px;color:var(--ink-70);}
.linkbtn{background:none;border:none;padding:0;font:inherit;font-size:12.5px;font-weight:700;
  color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.linkbtn:hover{color:var(--ink);}
.linkbtn[hidden]{display:none!important;}
.linkbtn--danger{color:var(--danger);}

@media (max-width:700px){
  .invpager{gap:7px;padding:10px;}
  .invpager__b{font-size:13px;padding:9px 14px;flex:1;min-width:74px;}
  .invpager__mid{width:100%;justify-content:center;order:-1;margin-bottom:4px;font-size:14px;}
  .invpager__per{margin-left:0;width:100%;font-size:13.5px;}
  .selall{gap:8px;}
  .selall span,.linkbtn{font-size:13.5px;}
}

/* ================================================================
   Delivery zones — North/South Island, city vs rural, overseas
   Replaces the old single "complimentary worldwide" line so the
   customer sees a realistic delivery window for their address.
   ================================================================ */
.zonelead{font-size:13px;color:var(--ink-70);margin:16px 0 10px;}
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.zone{position:relative;text-align:left;border:1px solid var(--line);background:#fff;
  padding:13px 14px 12px;cursor:pointer;transition:border-color .18s,box-shadow .18s;
  display:flex;flex-direction:column;gap:2px;font-family:inherit;}
.zone:hover{border-color:var(--gold-tint);}
.zone.is-on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);
  background:var(--gold-wash);}
.zone__n{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35;}
.zone__s{font-size:11px;color:var(--ink-55);text-transform:uppercase;letter-spacing:.08em;}
.zone__d{font-size:12px;color:var(--ink-70);margin-top:5px;}
.zone__p{font-size:12.5px;font-weight:700;color:var(--gold-deep);margin-top:3px;}
.zone__p.is-free{color:var(--ok);}
.zone.is-on::after{content:'';position:absolute;top:10px;right:11px;width:8px;height:8px;
  border-radius:50%;background:var(--gold);}
.zonenote{font-size:12.5px;color:var(--ink-70);line-height:1.75;margin:12px 0 0;
  padding:11px 14px;border-left:3px solid var(--gold);background:var(--gold-wash);}
.zonenote b{color:var(--ink);}
.sum-row small{display:block;font-size:11px;color:var(--ink-55);font-weight:400;
  margin-top:1px;letter-spacing:0;text-transform:none;}
@media (max-width:900px){
  .zones{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:700px){
  .zones{grid-template-columns:1fr;gap:9px;}
  .zone{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:8px;padding:14px;}
  .zone__n{font-size:15px;}
  .zone__s{font-size:12px;}
  .zone__d{width:100%;margin-top:2px;font-size:13px;}
  .zone__p{margin-left:auto;margin-top:0;font-size:14px;}
  .zonelead,.zonenote{font-size:13.5px;}
}

/* ================================================================
   Admin → Shipping & Text
   Lets the owner change delivery prices and page wording himself,
   without waiting on a rebuild.
   ================================================================ */
.ziprate{display:flex;flex-direction:column;gap:8px;}
.ziprate__row{display:grid;grid-template-columns:1fr auto 150px;gap:14px;align-items:center;
  padding:11px 14px;border:1px solid var(--line);background:var(--bg-soft);}
.ziprate__n{font-size:13.5px;font-weight:700;color:var(--ink);}
.ziprate__d{font-size:12px;color:var(--ink-55);white-space:nowrap;}
.ziprate__i{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-70);
  justify-self:end;}
.ziprate__i input{width:88px;border:1px solid var(--line);padding:8px 10px;font-size:13.5px;
  font-family:inherit;text-align:right;background:#fff;}
.ziprate__i input:focus{border-color:var(--gold);outline:none;}
.savedtag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  color:var(--ok);letter-spacing:.06em;text-transform:uppercase;}
.savedtag[hidden]{display:none!important;}
.savedtag::before{content:'✓';font-size:14px;}
#atab-content textarea{width:100%;border:1px solid var(--line);padding:11px 13px;
  font-family:inherit;font-size:13.5px;line-height:1.75;resize:vertical;background:#fff;}
#atab-content textarea:focus{border-color:var(--gold);outline:none;}
#atab-content .admin__actions{display:flex;align-items:center;gap:14px;margin-top:16px;}
@media (max-width:700px){
  .ziprate__row{grid-template-columns:1fr;gap:6px;padding:13px;}
  .ziprate__i{justify-self:start;}
  .ziprate__i input{width:110px;font-size:15px;padding:10px;}
  .ziprate__n{font-size:15px;}
  .ziprate__d{font-size:13px;}
}

/* ================================================================
   Admin → Website Media : picture and wording editors
   ================================================================ */
.picgrid{display:flex;flex-direction:column;gap:12px;}
.picrow{display:grid;grid-template-columns:88px 1fr auto;gap:16px;align-items:center;
  border:1px solid var(--line);background:var(--bg-soft);padding:13px 15px;}
.picrow__thumb{width:88px;height:64px;border:1px solid var(--line);background:#fff;
  display:grid;place-items:center;overflow:hidden;}
.picrow__thumb img{width:100%;height:100%;object-fit:cover;}
.picrow__thumb span{font-size:10.5px;color:var(--ink-40);letter-spacing:.08em;
  text-transform:uppercase;}
.picrow__info b{display:block;font-size:13.5px;color:var(--ink);}
.picrow__info span{display:block;font-size:12px;color:var(--ink-55);}
.picrow__info em{display:block;font-size:11.5px;color:var(--ok);font-style:normal;
  font-weight:700;margin-top:3px;}
.picrow__act{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;}
.txtgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.txtgrid textarea{width:100%;border:1px solid var(--line);padding:10px 12px;
  font-family:inherit;font-size:13.5px;line-height:1.7;resize:vertical;background:#fff;}
.txtgrid textarea:focus{border-color:var(--gold);outline:none;}
@media (max-width:820px){
  .txtgrid{grid-template-columns:1fr;}
  .picrow{grid-template-columns:64px 1fr;gap:12px;}
  .picrow__thumb{width:64px;height:48px;}
  .picrow__act{grid-column:1 / -1;justify-content:flex-start;}
}
.chg{display:inline-block;background:var(--gold-wash);border:1px solid var(--gold-tint);
  color:var(--gold-deep);font-size:9.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:2px 7px;border-radius:20px;margin-left:7px;
  vertical-align:middle;}
.picrow__thumb video{width:100%;height:100%;object-fit:cover;}

/* Owner-written note that replaces or precedes a Terms section. Marked so a
   reader can tell it is the merchant speaking, not boilerplate. */
.ownernote{border-left:4px solid var(--gold);background:var(--gold-wash);
  padding:14px 18px;margin:0 0 18px;border-radius:0 8px 8px 0;}
.ownernote p{margin:0 0 10px;font-size:14.5px;line-height:1.8;}
.ownernote p:last-child{margin-bottom:0;}
.box-lite{background:var(--bg-soft);border:1px solid var(--line);padding:14px 16px;
  border-radius:8px;margin-top:16px;font-size:13px;color:var(--ink-70);line-height:1.75;}
.box-lite b{display:block;color:var(--ink);font-size:14px;margin-bottom:4px;}

/* FX buffer control in Admin → Shipping & Text */
.fxrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.fxrow input{width:96px;border:1px solid var(--line);padding:9px 11px;font-size:14px;
  font-family:inherit;text-align:right;background:#fff;}
.fxrow input:focus{border-color:var(--gold);outline:none;}
.fxrow__pc{font-size:14px;font-weight:700;color:var(--ink-70);}
.fxrow__live{font-size:12.5px;color:var(--ink-55);margin-left:6px;}
.fxrow__live b{color:var(--gold-deep);}
@media (max-width:700px){ .fxrow__live{width:100%;margin-left:0;font-size:13px;} }

/* Orders & Inquiries tab */
.ordhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin-bottom:14px;flex-wrap:wrap;}
.ordwrap{max-height:520px;overflow:auto;border:1px solid var(--line);}
.ordwrap .itable th{position:sticky;top:0;z-index:2;}

/* ---------- Orders list, redesigned 14 Aug 2026 ----------
   No fixed height, no forced horizontal scroll — the simplified table
   (When / Order / Customer / Total / Status / Fulfilment / View) always
   fits, so the page just scrolls normally like the rest of Admin. */
.ordwrap2{width:100%;overflow-x:auto;}
.ordwrap2 .itable{white-space:normal;}
.ordwrap2 .itable tr{cursor:pointer;}
.ordwrap2 .itable tr:hover td{background:var(--gold-wash);}

/* ---------- Order Detail modal ---------- */
.ordmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;}
.ordmodal[hidden]{display:none;}
.ordmodal__backdrop{position:absolute;inset:0;background:rgba(20,18,14,.45);}
.ordmodal__panel{position:relative;background:#fff;width:min(920px,94vw);max-height:92vh;overflow:auto;
  margin:3vh auto;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:26px 28px 32px;}
.ordmodal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;
  padding-bottom:14px;border-bottom:1px solid var(--line);}
.ordmodal__x{background:none;border:none;cursor:pointer;color:var(--ink-55);padding:6px;}
.ordmodal__x:hover{color:var(--ink);}
.ordmodal__x svg{width:20px;height:20px;}
.orddet__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
.orddet__card{border:1px solid var(--line);border-radius:8px;padding:16px 18px;}
.orddet__card h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-40);
  margin-bottom:10px;font-weight:700;}
.orddet__card p{font-size:13px;color:var(--ink-85);line-height:1.7;margin:0;}
.orddet__stones{width:100%;border-collapse:collapse;margin-top:6px;}
.orddet__stones td{padding:6px 0;font-size:12.5px;border-bottom:1px solid var(--line-soft);}
.orddet__total{font-size:20px;font-weight:700;color:var(--ink);}
@media (max-width:700px){.orddet__grid{grid-template-columns:1fr;}}
.msgcell{max-width:340px;white-space:normal;line-height:1.6;overflow-wrap:anywhere;word-break:break-word;}
.usdnote{font-size:12.5px;color:var(--ink-55);line-height:1.7;margin:16px 0 0;
  padding:11px 14px;background:var(--bg-soft);border:1px solid var(--line);}
.usdnote b{color:var(--ink);}

/* ── Admin → Reports ─────────────────────────────────────────────
   Worked out in the browser from orders, inquiries and the local
   search log. No third-party analytics anywhere on the site.      */
.repgrid{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.repstat{flex:1;min-width:120px;background:var(--paper);border:1px solid var(--line);
         border-radius:8px;padding:14px 12px;text-align:center}
.repstat b{display:block;font-family:var(--serif);font-size:26px;color:var(--ink);line-height:1.1}
.repstat span{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-40)}
.repcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.repcard{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fff}
.repcard h3{font-family:var(--serif);font-size:15px;margin-bottom:2px;color:var(--ink)}
.repsub{font-size:10.5px;color:var(--ink-40);margin-bottom:8px}
table.rep{width:100%;border-collapse:collapse;font-size:11.5px}
table.rep td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
table.rep tr:last-child td{border-bottom:0}
.repbar{display:block;height:9px;border-radius:5px;
        background:linear-gradient(90deg,var(--gold),var(--gold-dark));min-width:4px}
@media(max-width:640px){
  .repcols{grid-template-columns:1fr}
  .repstat{min-width:calc(50% - 5px)}
}

/* ---------- NZ-only trading switch (Admin → Website Media) ---------- */
.nzonly{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:14px 16px;
  border:1px solid var(--line);background:#fff;border-radius:3px;max-width:640px;
  transition:all .26s var(--ease);}
.nzonly:hover{border-color:var(--gold);}
.nzonly.is-on{border-color:var(--gold);background:linear-gradient(180deg,rgba(197,168,128,.09),#fff);}
.nzonly input{position:absolute;opacity:0;width:0;height:0;}
.nzonly__box{flex-shrink:0;width:20px;height:20px;border:1.6px solid var(--line);border-radius:3px;
  display:grid;place-items:center;background:#fff;transition:all .24s var(--ease);margin-top:1px;}
.nzonly__box svg{width:13px;height:13px;stroke-width:3;color:#fff;opacity:0;transition:opacity .2s;}
.nzonly.is-on .nzonly__box{background:var(--gold);border-color:var(--gold);}
.nzonly.is-on .nzonly__box svg{opacity:1;}
.nzonly input:focus-visible + .nzonly__box{outline:2px solid var(--gold);outline-offset:2px;}
.nzonly__t{font-size:14px;font-weight:700;color:var(--ink);line-height:1.4;}
.nzonly__t em{display:block;font-style:normal;font-size:12px;font-weight:600;
  color:var(--ink-55);margin-top:4px;}
.nzonly__t em.is-nz{color:var(--gold-deep);}

/* ---------- Coupon list state pill ---------- */
.cpstate{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;
  padding:3px 9px;border-radius:2px;white-space:nowrap;}
.cpstate.is-on{background:rgba(46,125,91,.12);color:var(--ok);}
.cpstate.is-warn{background:rgba(197,168,128,.18);color:var(--gold-deep);}
.cpstate.is-off{background:rgba(192,57,43,.1);color:var(--danger);}

/* ---------- Card-hold cell in the Orders table ---------- */
.holdbox{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:120px;}
.holdbox .btn{padding:4px 10px;font-size:10.5px;}

/* ---------- Fulfilment cell in the Orders table (redesigned 14 Aug 2026) ---------- */
.fulbox{min-width:230px;max-width:280px;}
.fulbox__view{display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.fulstep{display:flex;gap:3px;width:100%;}
.fulstep__seg{flex:1;height:6px;border-radius:3px;background:var(--line);}
.fulstep__seg.is-done{background:var(--ok);}
.fulbox__label{font-size:12px;font-weight:700;color:var(--ink-85);}

/* Compact read-only version used in the Orders list row (see fulfilSummary
   in admin.js) — same bar, smaller footprint, no click target. */
.fulsum{display:flex;flex-direction:column;gap:4px;min-width:150px;}
.fulsum__label{font-size:11px;font-weight:600;color:var(--ink-70);}
.fulbox__track{font-size:11px;color:var(--ink-70);}
.fulbox__track b{color:var(--ink);}
.fulbox__when{font-size:10px;color:var(--ink-40);}
.fulbox__view .btn{padding:4px 10px;font-size:10.5px;}

.fulbox__edit{display:flex;flex-direction:column;gap:10px;padding:12px;margin:2px 0;
  background:#FAFAF8;border:1px solid var(--line);border-radius:8px;min-width:260px;}
.fulpills{display:flex;flex-direction:column;gap:5px;}
.fulpill{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);
  border-radius:6px;background:#fff;font-size:11.5px;text-align:left;cursor:pointer;
  transition:border-color .15s,background .15s;}
.fulpill:hover{border-color:var(--gold);}
.fulpill.is-on{border-color:var(--gold);background:var(--gold-wash);font-weight:700;}
.fulpill__n{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;
  background:var(--line);color:var(--ink-55);font-size:10px;font-weight:700;flex-shrink:0;}
.fulpill.is-on .fulpill__n{background:var(--gold);color:#fff;}
.fultrack{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px dashed var(--line);}
.fultrack__sel,.fultrack__inp{font-size:11.5px;padding:6px 8px;border:1px solid var(--line);
  background:#fff;color:var(--ink-85);border-radius:5px;width:100%;}
.fulbox__acts{display:flex;gap:8px;}
.fulbox__acts .btn{padding:5px 14px;font-size:11px;}

/* ---------- Customers table: name edit / hide ---------- */
.custname{display:flex;align-items:center;gap:6px;}
.custname__edit{border:none;background:none;color:var(--ink-40);cursor:pointer;font-size:11px;
  text-decoration:underline;padding:0;}
.custrow.is-hidden{opacity:.45;}

/* ---------- Visitors ---------- */
.vstat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
.vstat>div{border:1px solid var(--line);padding:16px;text-align:center;border-radius:3px;
  background:linear-gradient(180deg,rgba(197,168,128,.06),#fff);}
.vstat b{display:block;font-size:26px;font-weight:800;color:var(--ink);line-height:1.1;}
.vstat span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-55);}
.vh{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-55);margin:20px 0 10px;}
.vbars{display:flex;flex-direction:column;gap:7px;}
.vbar{display:grid;grid-template-columns:150px 1fr 50px;gap:12px;align-items:center;}
.vbar__k{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;}
.vbar__t{background:#EDF0F3;height:20px;border-radius:2px;overflow:hidden;}
.vbar__t i{display:block;height:100%;background:var(--gold);}
.vbar__n{font-size:12.5px;font-weight:800;text-align:right;color:var(--ink);}
@media(max-width:640px){.vstat{grid-template-columns:1fr}.vbar{grid-template-columns:100px 1fr 40px}}

/* ---------- SEO preview ---------- */
.gpreview{border:1px solid var(--line);padding:16px;border-radius:3px;background:#fff;
  max-width:600px;}
.gpreview__u{font-size:12.5px;color:#3C6E3C;margin-bottom:3px;}
.gpreview__t{font-size:19px;color:#1a0dab;line-height:1.3;margin-bottom:4px;}
.gpreview__d{font-size:13px;color:#4d5156;line-height:1.5;}

/* ---------- Health ---------- */
.hlist{display:flex;flex-direction:column;gap:2px;}
.hrow{display:grid;grid-template-columns:26px 220px 1fr;gap:12px;align-items:center;
  padding:11px 14px;border-radius:3px;}
.hrow.is-ok{background:rgba(46,125,91,.06);}
.hrow.is-warn{background:rgba(197,168,128,.1);}
.hrow.is-bad{background:rgba(192,57,43,.07);}
.hrow__i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  font-weight:800;font-size:12px;color:#fff;}
.hrow.is-ok .hrow__i{background:var(--ok);}
.hrow.is-warn .hrow__i{background:var(--gold-deep);}
.hrow.is-bad .hrow__i{background:var(--danger);}
.hrow__n{font-size:13.5px;font-weight:700;color:var(--ink);}
.hrow__d{font-size:12.5px;color:var(--ink-55);}
@media(max-width:640px){.hrow{grid-template-columns:26px 1fr;}.hrow__d{grid-column:2}}

/* Country search sits above the select, same width. */
.cosearch{width:100%;border:1px solid var(--line);padding:10px 12px;font-size:13.5px;
  margin-bottom:7px;background:#fff;border-radius:2px;}
.cosearch:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(197,168,128,.15);}

/* ---------- Country tick-list ---------- */
.ctrygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:6px;
  max-height:460px;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:3px;
  background:#FAFBFC;}
.ctry{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;
  padding:7px 10px;background:#fff;border:1px solid var(--line);border-radius:2px;
  cursor:pointer;transition:all .18s;}
.ctry:hover{border-color:var(--gold);}
.ctry.is-on{border-color:var(--gold);background:linear-gradient(180deg,rgba(197,168,128,.08),#fff);}
.ctry input{margin:0;accent-color:var(--gold-deep);}
.ctry__n{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;}
.ctry__t{font-size:10px;font-weight:800;padding:2px 6px;border-radius:2px;white-space:nowrap;}
.ctry__t.is-t1{background:rgba(46,125,91,.13);color:var(--ok);}
.ctry__t.is-t2{background:rgba(197,168,128,.2);color:var(--gold-deep);}
.ctry__t.is-t3{background:#EDF0F3;color:var(--ink-55);}
.ctry__x{display:none;}
/* Full-width group label inside the grid — "Selected" vs the rest, so the
   countries the owner already sells to don't get lost among 190 others.
   (15 Aug 2026) */
.ctrygrid__head{grid-column:1/-1;font-size:10px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-55);padding:8px 4px 2px;}
.ctrygrid__head:first-child{padding-top:2px;}

/* ---------- Admin HOME ---------- */
.hstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.hstat{border:1px solid var(--line);padding:16px 14px;border-radius:3px;
  background:linear-gradient(180deg,rgba(197,168,128,.07),#fff);}
.hstat b{display:block;font-size:28px;font-weight:800;color:var(--ink);line-height:1.05;}
.hstat span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-55);margin-top:5px;}
.hstat em{display:block;font-style:normal;font-size:12px;color:var(--gold-deep);
  font-weight:700;margin-top:5px;}

.htodo{display:flex;flex-direction:column;gap:8px;}
.htrow{display:grid;grid-template-columns:1fr auto;grid-template-areas:'t a' 's a';
  gap:4px 14px;align-items:center;
  text-align:left;padding:14px 16px;border-radius:3px;border:1px solid var(--line);
  background:#fff;cursor:pointer;transition:all .2s;width:100%;}
.htrow:hover{border-color:var(--gold);transform:translateX(2px);}
.htrow.is-urgent{border-left:4px solid var(--danger);background:rgba(192,57,43,.04);}
.htrow.is-warn{border-left:4px solid var(--gold-deep);background:rgba(197,168,128,.07);}
.htrow.is-info{border-left:4px solid var(--ink-40);}
.htrow__t{grid-area:t;font-size:14px;font-weight:700;color:var(--ink);}
.htrow__s{grid-area:s;font-size:12.5px;color:var(--ink-55);}
.htrow__a{grid-area:a;font-size:12px;font-weight:800;color:var(--gold-deep);white-space:nowrap;}

.htiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}
.htile{display:flex;flex-direction:column;align-items:center;gap:9px;padding:20px 12px;
  border:1px solid var(--line);background:#fff;border-radius:3px;cursor:pointer;
  transition:all .2s;font-size:12.5px;font-weight:700;color:var(--ink);text-align:center;}
.htile:hover{border-color:var(--gold);background:rgba(197,168,128,.06);transform:translateY(-2px);}
.htile__i{font-size:20px;color:var(--gold-deep);line-height:1;}
@media(max-width:600px){
  .hstats{grid-template-columns:1fr 1fr;}
  .htiles{grid-template-columns:1fr 1fr;}
}

.htile__i{width:22px;height:22px;color:var(--gold-deep);}
.htile__i svg{width:100%;height:100%;}

/* ============================================================
   ADMIN v4 — sidebar layout
   The owner asked for the shape he knows from Wix and Shopify: every
   section listed down the left, the work opening on the right, and the
   full width of the screen used instead of a centred column.
   "pura screen use karo, A2Z size apna."
   ============================================================ */

.admin--shell{max-width:none;width:100%;padding:0 0 60px;}
.admin--shell .admin__bar{border-radius:0;margin:0;padding:16px 26px;}
.admin--shell .stats{padding:0 26px;margin:18px 0 0;}

.admin__body{display:grid;grid-template-columns:228px 1fr;gap:0;
  align-items:start;margin-top:18px;}

/* ---- left rail ---- */
.anav{position:sticky;top:0;align-self:start;padding:14px 10px 30px;
  border-right:1px solid var(--line);background:#FCFBF9;min-height:calc(100vh - 130px);}
.anav__g{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-40);padding:16px 12px 7px;}
.anav__g:first-child{padding-top:4px;}
.anav__i{display:flex;align-items:center;gap:10px;width:100%;
  padding:9px 12px;margin-bottom:1px;border:0;background:none;cursor:pointer;
  font:inherit;font-size:13px;color:var(--ink-70);text-align:left;
  border-radius:7px;transition:background .13s,color .13s;}
.anav__i svg{width:16px;height:16px;flex:none;opacity:.72;}
.anav__i:hover{background:#F2EFE9;color:var(--ink);}
.anav__i.is-on{background:var(--ink);color:#fff;font-weight:600;}
.anav__i.is-on svg{opacity:1;}

/* ---- right pane ---- */
.apane{padding:6px 26px 0;min-width:0;}
.apane .card{max-width:none;}

/* Tables were built for a 1140px column; with the full screen they can
   finally breathe instead of scrolling sideways. */
.apane .itable__wrap,.apane .tablewrap{max-width:none;}

@media (max-width:1000px){
  .admin__body{grid-template-columns:1fr;}
  .anav{position:static;min-height:0;border-right:0;
    border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px;
    padding:10px 14px;}
  .anav__g{display:none;}
  .anav__i{width:auto;padding:7px 11px;font-size:12px;}
  .anav__i span{white-space:nowrap;}
  .apane{padding:16px 14px 0;}
  .admin--shell .admin__bar{padding:14px 16px;}
  .admin--shell .stats{padding:0 16px;}
}

/* chat log */
.hstat.is-warn b{color:var(--danger);}

/* ============================================================
   ADMIN v5 — nested rail, Wix Studio shape
   Parents expand; children sit indented under them. The shop header and
   footer are gone from admin.html entirely, so the rail starts at the very
   top of the page and the work area gets the full width.
   ============================================================ */

.anav__p{display:flex;align-items:center;gap:10px;width:100%;
  padding:9px 12px;margin-bottom:1px;border:0;background:none;cursor:pointer;
  font:inherit;font-size:13px;color:var(--ink-70);text-align:left;
  border-radius:7px;transition:background .13s,color .13s;}
.anav__p svg:first-child{width:16px;height:16px;flex:none;opacity:.72;}
.anav__p span{flex:1;}
.anav__cv{width:13px;height:13px;opacity:.5;transition:transform .16s;}
.anav__p.is-open .anav__cv{transform:rotate(90deg);}
.anav__p:hover{background:#F2EFE9;color:var(--ink);}
.anav__p.is-active{color:var(--ink);font-weight:600;}
.anav__p.is-active svg:first-child{opacity:1;}

.anav__sub{margin:0 0 4px 26px;padding-left:10px;
  border-left:1px solid var(--line);}
.anav__s{display:block;width:100%;padding:7px 11px;margin-bottom:1px;
  border:0;background:none;cursor:pointer;font:inherit;font-size:12.5px;
  color:var(--ink-55);text-align:left;border-radius:6px;
  transition:background .13s,color .13s;}
.anav__s:hover{background:#F2EFE9;color:var(--ink);}
.anav__s.is-on{background:var(--ink);color:#fff;font-weight:600;}

/* ---- payments ---- */
.paylist{display:flex;flex-direction:column;gap:9px;margin-top:14px;}
.payrow{display:flex;align-items:center;gap:14px;padding:15px 18px;
  border:1px solid var(--line);border-radius:9px;background:#fff;}
.payrow.is-on{border-color:var(--ok);background:#F6FBF8;}
.payrow__x{flex:1;min-width:0;}
.payrow__x b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px;}
.payrow__x span{font-size:12px;color:var(--ink-55);line-height:1.5;}

.paysteps{display:flex;flex-direction:column;gap:7px;}
.paysteps>div{display:flex;align-items:flex-start;gap:11px;font-size:12.5px;
  color:var(--ink-70);}
.paysteps b{flex:none;width:20px;height:20px;border-radius:50%;
  background:var(--gold);color:#fff;font-size:11px;display:grid;
  place-items:center;margin-top:1px;}

.paynote{margin-top:14px;padding:12px 14px;border-radius:0 7px 7px 0;
  background:#FDF3F2;border-left:3px solid var(--danger);
  font-size:12.5px;color:var(--ink-70);line-height:1.6;}
.paynote--ok{background:#F1F8F4;border-left-color:var(--ok);}

/* ---- settings ---- */
.setgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
@media(max-width:760px){.setgrid{grid-template-columns:1fr;}}
/* Only the leading counter is a circle; any <b> inside the text is not. */
.paysteps>div>span b{all:unset;font-weight:700;color:var(--ink);}

/* Card surcharge tag on the payment buttons */
.paymethod__fee{display:block;font-size:10px;letter-spacing:.04em;
  color:var(--gold-deep);margin-top:2px;font-weight:600;}
.paymethod.is-on .paymethod__fee{color:inherit;opacity:.85;}

/* Which picture am I replacing */
.picrow__mine{color:var(--ok);font-style:normal;font-size:11px;font-weight:600;}
.picrow__orig{color:var(--ink-40);font-style:normal;font-size:11px;}

/* Checkout: the policy summary that replaced three walls of text */
.cosummary{margin:20px 0 4px;padding:13px 16px;border:1px solid var(--line);
  border-radius:9px;background:#FBFAF8;}
.cosummary__line{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;
  color:var(--ink-70);line-height:1.6;margin:0;}
.cosummary__line span{position:relative;padding-left:15px;}
.cosummary__line span::before{content:'';position:absolute;left:0;top:6px;
  width:6px;height:6px;border-radius:50%;background:var(--gold);}
.cosummary__more{display:inline-block;margin-top:9px;font-size:12px;
  color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px;}
.cosummary__more:hover{color:var(--ink);}

/* Where am I. Wix keeps this at the top of the work area; with 27 pages the
   rail alone stopped being enough. */
.apane__crumb{font-family:var(--serif);font-size:21px;font-weight:400;
  color:var(--ink);margin:4px 0 18px;letter-spacing:.01em;}

/* ============================================================
   INVENTORY — help strip + file buttons
   Added 8 Aug 2026. The owner could not find where to edit a stone
   (Add and Edit used to sit together), and the import/export buttons
   lived only in the black bar at the top of the page.
   ============================================================ */
.invhelp{margin:0 0 14px;padding:13px 16px;font-size:12.8px;line-height:1.65;
  color:var(--ink);background:#FDFCFA;border:1px solid var(--line);
  border-left:3px solid var(--gold);}
.invhelp__btn{display:inline-block;border:1px solid var(--gold);color:var(--gold-deep);
  padding:1px 8px;font-size:11px;font-weight:600;border-radius:2px;
  letter-spacing:.04em;white-space:nowrap;}

.invfile{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin:0 0 14px;padding:12px 14px;background:#fff;border:1px solid var(--line);}
.invfile__lab{font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-40);font-weight:600;margin-right:4px;}
.invfile__note{font-size:11.5px;color:var(--ink-40);margin-left:auto;}
@media (max-width:760px){
  .invfile__note{margin-left:0;flex-basis:100%;}
}

/* ---- Settings › Change password: the steps, spelled out ----
   Added 8 Aug 2026. A bare "Open ↗" left the owner staring at the
   Supabase dashboard with no idea which of its screens he needed. */
.payrow--tall{align-items:flex-start;}
.pwsteps{margin:12px 0 0;padding:16px 18px 16px 40px;list-style:decimal;
  background:#FDFCFA;border:1px solid var(--line);border-left:3px solid var(--gold);
  font-size:12.8px;line-height:1.75;color:var(--ink);}
.pwsteps li{margin:0 0 7px;padding-left:3px;}
.pwsteps li:last-child{margin-bottom:0;}
.pwmono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;background:#fff;border:1px solid var(--line);padding:1px 7px;}
.pwwarn{margin:11px 0 0;padding:12px 15px;font-size:12.4px;line-height:1.65;
  background:#FFF8F0;border:1px solid #E8D5BC;color:var(--ink);}

/* ============================================================
   PAYMENTS — real switches, not a status board
   Rebuilt 8 Aug 2026. The owner asked to drive this himself:
   "jo mujhe karna hoga main kar lunga" — so every method is a
   switch with its own key fields, and nothing routes through us.
   ============================================================ */
.payblk{border:1px solid var(--line);background:#fff;margin:0 0 12px;}
.payblk.is-on{border-color:var(--gold);}
.payblk__h{display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:14px 16px;background:#FDFCFA;border-bottom:1px solid var(--line);}
.payblk.is-on .payblk__h{background:var(--gold-wash);}
.payblk__b{padding:16px;}
.paysw{display:flex;align-items:flex-start;gap:11px;cursor:pointer;flex:1;}
.paysw input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold-deep);
  flex:none;cursor:pointer;}
.paysw__t{display:block;line-height:1.5;}
.paysw__t b{display:block;font-size:14.5px;}
.paysw__t em{display:block;font-style:normal;font-size:12px;color:var(--ink-55);
  margin-top:2px;}
.paynote--red{background:#FDF0EE;border-color:#E8BDB5;}
.paynote--why{background:#F3F6FA;border-color:#C9D6E5;}
.payblk__b .btn{margin:10px 8px 0 0;}

/* ---- checkout: discount code ----
   Added 8 Aug 2026. The coupon box only existed in the cart drawer, so a
   buyer who pressed Buy Now on a product page never saw one — and neither
   could the owner when he went looking for where to type his own code. */
.copromo{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid var(--line);}
.copromo__row{display:flex;gap:8px;}
.copromo__row input{flex:1;min-width:0;border:1px solid var(--line);background:#fff;
  padding:10px 13px;font-size:13px;letter-spacing:.05em;outline:none;
  transition:border-color .2s;}
.copromo__row input:focus{border-color:var(--gold);}
.copromo__go{flex:none;background:var(--ink);color:#fff;border:none;cursor:pointer;
  padding:10px 20px;font-size:11.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;transition:background .22s;}
.copromo__go:hover{background:var(--gold-deep);}
.copromo__has{display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#F1F9F5;border:1px solid #B9DCC9;padding:10px 14px;font-size:13px;}
.copromo__has b{color:var(--ok);letter-spacing:.06em;}
.copromo__x{background:none;border:none;cursor:pointer;font-size:12px;
  color:var(--ink-55);text-decoration:underline;padding:0;}
.copromo__x:hover{color:var(--danger);}

/* ---- coupons: how it actually works ----
   The owner made a code, then could not find where a customer would ever
   type it. The page never said. (8 Aug 2026) */
.cphow{margin:14px 0 18px;padding:15px 18px;background:#FDFCFA;
  border:1px solid var(--line);border-left:3px solid var(--gold);font-size:13px;
  line-height:1.75;}
.cphow > b{display:block;margin-bottom:8px;font-size:14px;}
.cphow ol{margin:0;padding-left:20px;}
.cphow li{margin-bottom:5px;}
.cphow__t{display:block;margin-top:10px;padding-top:9px;
  border-top:1px dashed var(--line);color:var(--ink-55);font-size:12.5px;}

/* ---- SEO page: the actual order of work ----
   The page had three boxes and no explanation, so "how do I get on Google"
   had no answer on it. (8 Aug 2026) */
.seohow{margin:14px 0;padding:15px 18px;background:#F3F6FA;border:1px solid #C9D6E5;
  font-size:13px;line-height:1.75;}
.seohow > b{display:block;margin-bottom:6px;font-size:14px;}
.seohow p{margin:0;color:var(--ink-70);}
.seostep{display:flex;gap:13px;align-items:flex-start;padding:12px 0;
  border-bottom:1px solid var(--line);}
.seostep:last-of-type{border-bottom:none;}
.seostep__n{flex:none;width:28px;height:28px;display:grid;place-items:center;
  background:var(--gold);color:#fff;font-size:13px;font-weight:700;border-radius:50%;}
.seostep__x b{display:block;font-size:14px;margin-bottom:3px;}
.seostep__x span{display:block;font-size:13px;line-height:1.7;color:var(--ink-70);}
.seostep__x a{color:var(--gold-deep);text-decoration:underline;}
.seokw{margin:16px 0;padding:15px 18px;background:#FDFCFA;border:1px solid var(--line);
  border-left:3px solid var(--gold);}
.seokw > b{display:block;margin-bottom:10px;font-size:14px;}
.seokw__g{display:flex;flex-wrap:wrap;gap:7px;}
.seokw__g span{background:#fff;border:1px solid var(--line);padding:5px 12px;
  font-size:12.5px;color:var(--ink-70);border-radius:2px;}
.seokw__t{display:block;margin-top:11px;font-size:12.5px;color:var(--ink-55);
  line-height:1.65;}

/* ============================================================
   CHECKOUT — payment, simplified   (8 Aug 2026)
   Six payment buttons became two, behind one question. Bank
   transfer is New Zealand only: an overseas refund costs the
   buyer 5-6% in FX both ways, a card hold costs nothing to
   release.
   ============================================================ */
.payfrom{margin:0 0 18px;}
.payfrom__q{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-55);font-weight:700;margin-bottom:10px;}
.payfrom__opts{display:flex;gap:12px;flex-wrap:wrap;}
.payfrom__o{flex:1 1 200px;text-align:left;background:#fff;border:2px solid var(--line);
  padding:13px 18px;cursor:pointer;transition:all .2s var(--ease);}
.payfrom__o b{display:block;font-size:15.5px;color:var(--ink);font-weight:700;}
.payfrom__o small{display:block;font-size:12.5px;color:var(--ink-55);margin-top:2px;}
.payfrom__o:hover{border-color:var(--gold);}
.payfrom__o.is-on{border-color:var(--ok);background:#F5FBF8;}
.payfrom__o.is-on b{color:var(--ok);}

.paymethod[hidden]{display:none!important;}
.paymethod__free{display:block;font-size:11.5px;font-weight:700;color:var(--ok);
  margin-top:3px;letter-spacing:.04em;}
/* ---- card marks: the real logos, drawn, not typed ----
   These used to be the words VISA / MC / AMEX inside coloured boxes.
   The owner saw it in one glance: "लगता है कि फेक है सबने, रियलिटी लगती
   ही नहीं". They are inline SVG now — real shapes, sharp at any size,
   nothing to download, nothing that can fail. (10 Aug 2026) */
.paycards{display:flex;gap:5px;justify-content:center;
  align-items:center;flex-wrap:wrap;}
.paycard{display:inline-flex;width:33px;height:22px;line-height:0;}
.paycard svg{width:100%;height:100%;display:block;border-radius:3px;}
/* Slightly dimmed until the method is chosen, so the row of logos does not
   shout louder than the word "Card" above it. */
.paymethod .paycards{opacity:.82;transition:opacity .18s;}
.paymethod.is-on .paycards,.paymethod:hover .paycards{opacity:1;}
.paymethod.is-off .paycards{opacity:.4;filter:grayscale(1);}
.paymethods__note{font-size:12px;color:var(--ink-40);margin:8px 0 0;line-height:1.6;}

/* ---- Payment fees: airline-style expandable disclosure (26 Aug 2026) ----
     Owner asked for the airline booking pattern: chhota neela link jo click
     par khul kar batata hai ki har payment method se pay karne par kitna
     lagega. Default band — page shaant rehta hai. */
.feefacts{margin:12px 0 0;}
.feefacts[hidden]{display:none!important;}
.feefacts__toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;
  padding:2px 0;cursor:pointer;font:inherit;font-family:inherit;font-size:13px;
  font-weight:600;color:#1B5FCE;text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:rgba(27,95,206,.45);}
.feefacts__toggle svg{width:15px;height:15px;flex:none;}
.feefacts__toggle .feefacts__chev{transition:transform .18s ease;}
.feefacts__toggle.is-open .feefacts__chev{transform:rotate(180deg);}
.feefacts__toggle:hover{color:#154a9e;}
.feefacts__panel{margin-top:10px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg-soft);padding:4px 16px;}
.feefacts__row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding:10px 0;border-bottom:1px dashed var(--line);}
.feefacts__row:last-of-type{border-bottom:0;}
.feefacts__row b{font-size:13px;font-weight:600;color:var(--ink);}
.feefacts__row span{font-size:13px;font-weight:600;color:#1B5FCE;text-align:right;
  white-space:nowrap;}
.feefacts__row span small{display:block;font-weight:400;color:var(--ink-55);
  white-space:normal;line-height:1.5;}
.feefacts__foot{font-size:11.5px;color:var(--ink-40);margin:0;padding:8px 0 10px;
  line-height:1.55;}
@media (max-width:640px){
  .feefacts__row{flex-direction:column;gap:3px;align-items:flex-start;}
  .feefacts__row span{text-align:left;white-space:normal;}
}

/* ---- discount code: live clock, and a code that clears itself ---- */
.copromo--dead{padding-bottom:14px;}
.copromo__gone{background:#FDF0EE;border:1px solid #E8BDB5;padding:11px 14px;
  margin-bottom:10px;font-size:13px;line-height:1.55;}
.copromo__gone b{display:block;color:var(--danger);font-size:13.5px;}
.copromo__gone span{color:var(--ink-55);font-size:12.5px;}
.copromo__code{font-style:normal;font-size:11px;color:var(--ink-40);
  letter-spacing:.06em;margin-left:2px;}
.copromo__clock{display:flex;align-items:center;gap:9px;margin-top:9px;
  padding:8px 13px;background:#FFF8F0;border:1px solid #E8D5BC;}
.copromo__clock span{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:700;}
.copromo__clock b{font-size:16px;font-variant-numeric:tabular-nums;
  color:var(--gold-deep);letter-spacing:.04em;}
.copromo__clock.is-soon{background:#FDF0EE;border-color:#E8BDB5;}
.copromo__clock.is-soon span,
.copromo__clock.is-soon b{color:var(--danger);}

/* ---- summary: darker, easier to read (he said it felt faint) ---- */
.sum-row{font-size:14.5px;color:var(--ink);}
.sum-row small{color:var(--ink-55);font-size:12px;}
.sum-row--total{font-size:19px;font-weight:700;}
.sum-row--total small{font-size:12px;font-weight:400;}
.sum-row--save em{font-style:normal;font-size:11px;color:var(--ink-40);
  letter-spacing:.06em;margin-left:3px;}

@media (max-width:700px){
  .payfrom__o{flex:1 1 100%;}
}


/* ================= payment method: present but not ready =================
   trimPayMethods() used to delete a button that had no keys behind it.
   The owner sat clicking the empty space where Card had been, and nothing
   happened — because nothing was there. A method you have not set up yet
   should still be visible and clearly not ready, never removed.
   (10 Aug 2026) */
.paymethod.is-off{opacity:.55;cursor:not-allowed;position:relative;}
.paymethod.is-off:hover{border-color:var(--line);background:#fff;}
.paymethod__soon{display:block;font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-40);margin-top:5px;font-weight:600;}

/* ================= POLi ================= */
.paymethod__poli{display:flex;align-items:center;justify-content:center;
  gap:5px;margin-top:6px;}
.paymethod__poli svg{height:15px;width:auto;display:block;}
.polipay{border:1px solid var(--line);padding:20px 22px;margin-top:16px;
  background:#FBFCFD;}
.polipay__head{display:flex;align-items:flex-start;gap:13px;
  padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:15px;}
.polipay__head svg{flex:0 0 auto;height:26px;width:auto;margin-top:1px;}
.polipay__head b{display:block;font-size:14.5px;color:var(--ink);
  letter-spacing:.01em;}
.polipay__head span{display:block;font-size:12.5px;color:var(--ink-55);
  margin-top:3px;line-height:1.6;}
.polipay__steps{list-style:none;margin:0 0 15px;padding:0;
  counter-reset:polistep;}
.polipay__steps li{position:relative;padding:0 0 11px 30px;font-size:13px;
  color:var(--ink-70);line-height:1.6;counter-increment:polistep;}
.polipay__steps li:last-child{padding-bottom:0;}
.polipay__steps li::before{content:counter(polistep);position:absolute;
  left:0;top:0;width:20px;height:20px;border-radius:50%;
  background:var(--gold);color:#fff;font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;}
.polipay__banks{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px;}
.polipay__banks i{font-style:normal;font-size:11px;letter-spacing:.04em;
  color:var(--ink-55);border:1px solid var(--line);padding:3px 8px;
  background:#fff;}
.polipay__note{font-size:11.5px;color:var(--ink-40);line-height:1.65;
  margin:11px 0 0;}
.polipay__test{background:#FFF8F0;border:1px solid #E8D5BC;padding:10px 13px;
  font-size:12px;color:var(--gold-deep);margin:0 0 14px;line-height:1.6;}
.polipay__test b{display:block;font-size:12.5px;}
.polipay__err{background:#FDF0EE;border:1px solid #E8BDB5;padding:11px 14px;
  font-size:12.5px;color:var(--danger);margin:12px 0 0;line-height:1.6;}
.polipay__err[hidden]{display:none;}
@media(max-width:600px){
  .polipay{padding:16px 15px;}
  .polipay__head{gap:10px;}
  .paycard{width:30px;height:20px;}
}

/* ---- one destination only: show it, don't fake a choice ---- */
.coonly{border:1px solid var(--line);background:#FBFCFD;padding:13px 15px;}
.coonly b{display:block;font-size:14.5px;color:var(--ink);letter-spacing:.01em;}
.coonly span{display:block;font-size:12px;color:var(--ink-55);margin-top:4px;
  line-height:1.6;}

/* ---- delivery zones: what the six areas actually are ---- */
.zonelist{list-style:none;margin:0 0 16px;padding:0;
  border:1px solid var(--line);}
.zonelist li{padding:11px 15px;border-bottom:1px solid var(--line);}
.zonelist li:last-child{border-bottom:0;}
.zonelist b{display:block;font-size:13.5px;color:var(--ink);}
.zonelist span{display:block;font-size:12px;color:var(--ink-55);margin-top:2px;}

/* ═══════════════════════════════════════════════════════════════════
   ADMIN PANEL — visual polish, 14 Aug 2026
   Storefront pages (index, product, checkout, account…) keep the sharp,
   minimal luxury look on purpose — this block only ever applies inside
   #admPanel, so none of it touches the customer-facing site.
   Softer shadows, rounder corners, more breathing room — closer to a
   modern SaaS dashboard, without changing any layout or feature.
   ═══════════════════════════════════════════════════════════════════ */
#admPanel{background:#F6F5F2;}

#admPanel .card{border-radius:12px;border:1px solid #EEEBE4;
  box-shadow:0 1px 3px rgba(20,18,14,.04),0 8px 24px rgba(20,18,14,.04);
  margin-bottom:18px;padding:26px 28px;}
#admPanel .card:last-child{margin-bottom:0;}
#admPanel .card__title{letter-spacing:-.01em;}

/* Sidebar */
#admPanel .anav{background:#FBFAF8;border-right:1px solid #EEEBE4;}
#admPanel .anav__i,#admPanel .anav__p{border-radius:8px;margin-bottom:2px;}
#admPanel .anav__i.is-on{background:var(--gold-deep);box-shadow:0 2px 8px rgba(154,122,79,.28);}
#admPanel .anav__s{border-radius:7px;}
#admPanel .anav__s.is-on{background:var(--gold-deep);}

/* Top bar */
#admPanel .admin__bar{border-radius:0 0 14px 14px;}

/* Dashboard stat cards */
#admPanel .stat{border-radius:12px;border:1px solid #EEEBE4;
  box-shadow:0 1px 3px rgba(20,18,14,.04),0 6px 18px rgba(20,18,14,.04);}

/* Tables */
#admPanel .itable{border-radius:10px;overflow:hidden;}
#admPanel .itable th{background:#F6F4EF;font-size:9.5px;letter-spacing:.1em;}
#admPanel .itable td{padding:11px 12px;}
#admPanel .ordwrap2{border:1px solid #EEEBE4;border-radius:10px;overflow:hidden;}
#admPanel .ordwrap2 .itable{border-radius:0;}

/* Badges — softer pill shape reads calmer at a glance */
#admPanel .badge{border-radius:20px;padding:4px 11px;}

/* Buttons — a touch rounder to match the cards */
#admPanel .btn,#admPanel .linkbtn{border-radius:7px;}
#admPanel .btn--gold{box-shadow:0 2px 6px rgba(197,168,128,.3);}

/* Order Detail modal already has its own radius; align it precisely */
#admPanel .ordmodal__panel{border-radius:14px;}

/* Wishlist cards on My Account keep their own price/lab-badge row spread */
#pane-wishlist .pcard__priceline{justify-content:space-between;}


/* ---------- Account: clickable order rows + order detail ---------- */
.otable tr.orow{cursor:pointer;transition:background .2s var(--ease);}
.otable tr.orow:hover,.otable tr.orow:focus-visible{background:var(--gold-wash);outline:none;}
.otable tr.orow:focus-visible{box-shadow:inset 0 0 0 2px rgba(197,168,128,.5);}
.orow__chev{width:28px;text-align:right;}
.orow__chev svg{width:14px;height:14px;color:var(--ink-40);transition:transform .2s var(--ease);}
.otable tr.orow:hover .orow__chev svg{transform:translateX(3px);color:var(--gold-deep);}
.orow__back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-55);margin-bottom:14px;}
.orow__back svg{width:14px;height:14px;}
.orow__back:hover{color:var(--gold-deep);}
.ordtotal{max-width:340px;margin-left:auto;margin-top:16px;border-top:1px solid var(--line);
  padding-top:10px;font-size:13px;}
.ordtotal div{display:flex;justify-content:space-between;gap:14px;padding:5px 0;color:var(--ink-70);}
.ordtotal .ordtotal__grand{border-top:2px solid var(--ink);color:var(--ink);
  font-weight:800;font-size:15px;padding-top:9px;margin-top:4px;}
.ordship,.ordnotes{font-size:12.5px;color:var(--ink-70);line-height:1.7;margin-top:14px;}
.ordship b,.ordnotes b{color:var(--ink);}
.ordacts{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px;}

/* ---------- Newsletter footer form (shown when owner turns it ON) ---------- */
/* .newsletter-form ab main.css me hai (6 Sep v7 — har page par load hota hai) */

/* Newsletter form inside narrow footer columns must never overflow —
   mobile two-column footer (~150px per column) made the 280px form
   overlap the next column. (17 Aug 2026) */
/* (6 Sep v7) max-width ab main.css me — sab pages consistent 280px */
@media (max-width:900px){
  .newsletter-form{padding:12px 13px;}
  .newsletter-form__row{flex-wrap:wrap;}
  .newsletter-form__row input{flex:1 1 100%;}
  .newsletter-form__row .btn{width:100%;}
}
@media (max-width:600px){
  .newsletter-form{margin-top:18px;}
}

/* Bigger checkbox click target — orders/inquiries rows (18 Aug 2026).
   Poora cell label click karke checkbox toggle karta hai, aur row click
   se order detail modal nahi khulta. */
.orowchkcell{width:44px;text-align:center;}
.orowchklab{display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;height:28px;cursor:pointer;border-radius:6px;}
.orowchklab:hover{background:rgba(197,168,128,.14);}
.orowchklab input{width:17px;height:17px;margin:0;accent-color:var(--gold-deep);cursor:pointer;}


/* ---- Shopify-style payment radio rows — final overrides (3 Sep 2026) ---- */
.paymethod .paymethod__name small,
.paymethod__free{display:inline;font-size:12px;font-weight:500;color:var(--ink-55);
  margin:0;letter-spacing:0;}
.paymethod .paycards{margin-left:auto;flex:none;}
.paymethod .paymethod__poli{margin-left:auto;flex:none;}
.paymethod .paycards .paycard{width:37px;height:25px;}
.paymethod.is-off{opacity:.45;cursor:not-allowed;}
.paymethod.is-off::before{border-color:#DDD;}

/* ---- Checkout: bold section headings + rounded form fields (3 Sep 2026)
     Owner: "Payment dikhta hi nahi, bold karo. Shopify jaisa compact
     rounded form chahiye." Shopify-style dark, bold section headers. */
.step{font-family:var(--sans);font-size:17px;font-weight:700;color:var(--ink);
  margin:30px 0 12px;display:flex;align-items:center;gap:11px;
  letter-spacing:-.01em;}
.step__n{width:26px;height:26px;border-radius:50%;background:var(--gold);color:#fff;
  font-size:12px;font-weight:700;display:grid;place-items:center;font-family:var(--sans);flex-shrink:0;}
.field__in, .field input, .field select, .field textarea{
  border-radius:8px!important;border:1px solid #D9D9D9!important;
  padding:10px 12px!important;font-size:14px!important;transition:border-color .15s;}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:var(--ink)!important;outline:none;box-shadow:0 0 0 1px var(--ink);}
.field__lab{font-size:12px!important;font-weight:600!important;color:var(--ink-70)!important;
  margin-bottom:4px!important;display:block!important;}

/* ---- Chat icon center fix (3 Sep): "gol ke andar chat icon side pe aa
     gaya, aankh jaisa lag raha hai" — grid center kar diya. ---- */
#vchatBtn{display:grid!important;place-items:center!important;padding:0!important;}


/* ---- Compact form fields (3 Sep round 2): "chauda lag raha hai" ---- */
.field__in, .field input, .field select, .field textarea{
  padding:8px 10px!important;font-size:13px!important;}
.co-block .field{margin-bottom:10px!important;}
.setgrid{gap:10px!important;}

/* ---- Newsletter form on checkout (3 Sep round 2): wapas lagaya,
     par ab subtle — white square nahi, page ke style mein integrated. ---- */
.checkout-news{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;
  text-align:center;}
.checkout-news .newsletter-form{max-width:440px;margin:0 auto;border:none;
  background:none;padding:0;box-shadow:none;}
.checkout-news .newsletter-form__t{font-size:13px;font-weight:600;color:var(--ink-70);}
.checkout-news .newsletter-form__sub{font-size:12px;color:var(--ink-40);margin:4px 0 10px;}
.checkout-news .newsletter-form__row input{border:1px solid #D9D9D9;border-radius:8px;
  padding:9px 12px;font-size:13.5px;}
.checkout-news .newsletter-form__row .btn{border-radius:8px;padding:9px 18px;font-size:13px;}


/* ---- Checkout NARROW (4 Sep): "Shopify jaisa chhota width chahiye" ---- */
@media (min-width: 900px) {
  .co__grid { max-width: 1060px; margin: 0 auto; }
  .co__grid > .co-main { max-width: 560px; }
}

/* Chat icon center — SAB pages par (4 Sep: homepage par bhi) */
#vchatBtn{display:grid!important;place-items:center!important;padding:0!important;
  line-height:1!important;font-size:0!important;}
#vchatBtn svg{margin:0!important;padding:0!important;display:block!important;}


/* ---- Checkout form narrow (4 Sep round 2): sirf form column chhota,
     order summary apni original size mein rahega. ---- */
@media (min-width: 900px) {
  .co__grid { max-width: 1060px; margin: 0 auto; }
  .co__grid > .co-main,
  .co__grid > form > .co-main { max-width: 520px; }
  .co__grid aside,
  .co__grid > form > aside { max-width: none; flex: 1; }
}


/* (ZIP P — owner ka hukum) Sidebar MAIN headings BOLD + BADA —
   "Sales, Catalog, Customers... thoda pata chale ki MAIN hai"
   Sub-items chhote normal rahte hain */
.anav__p{font-size:13px !important;font-weight:800 !important;
  letter-spacing:.04em !important;text-transform:uppercase !important;
  color:#1A1A1C !important;}
.anav__p svg{width:17px;height:17px;stroke-width:2;opacity:.85;}
.anav__s{font-size:12px;font-weight:400;color:#5c5650;}
