/* ===============================================================
   CRISPLY · marketplace-style product page (mobile-first)
   =============================================================== */
:root{
  --bg:#e3e6e6;            /* page grey behind cards */
  --card:#fff;
  --ink:#0f1111;
  --ink-soft:#565959;
  --ink-faint:#8a8d8f;
  --line:#d5d9d9;
  --link:#007185;
  --orange:#ff9900;
  --star:#ffa41c;
  --price:#b12704;
  --dealred:#cc0c39;
  --green:#007600;
  --cta:#ffd814;           /* add to basket */
  --cta-b:#fcd200;
  --buy:#ffa41c;           /* buy now */
  --buy-b:#ff8f00;
  --hd:#131921;
  --hd2:#232f3e;
  --maxw:560px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --accent:#232f3e;
}

*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:#9da3a3;
  line-height:1.45;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}
a{color:var(--link);text-decoration:none;cursor:pointer}
::selection{background:#ffe6a8}

.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---- app shell ---- */
.app{
  position:relative;
  max-width:var(--maxw);
  margin:0 auto;
  background:var(--bg);
  min-height:100vh;
  box-shadow:0 0 60px rgba(0,0,0,.45);
  overflow-x:clip;            /* contain off-canvas drawer/checkout so the page never exceeds the screen width */
}

/* ===============================================================
   HEADER
   =============================================================== */
.hd{position:sticky;top:0;z-index:120;background:var(--hd);padding:10px 14px 0}
.hd__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.hd__logo{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.5px}
.hd__logo span{color:var(--orange);font-weight:700}
.hd__icons{display:flex;gap:4px}
.hd__ic{width:40px;height:40px;display:grid;place-items:center;color:#fff;border-radius:6px}
.hd__ic:active{background:rgba(255,255,255,.12)}
.hd__cart{position:relative}
.cart-count{
  position:absolute;top:2px;right:1px;min-width:17px;height:17px;padding:0 4px;
  background:var(--orange);color:#131921;border-radius:9px;font-size:11px;font-weight:700;
  display:grid;place-items:center;transform:scale(0);transition:transform .3s var(--ease)}
.cart-count.show{transform:scale(1)}
.hd__search{display:flex;height:42px;border-radius:9px;overflow:hidden;background:#fff;
  border:2px solid transparent;margin-bottom:0}
.hd__search:focus-within{border-color:var(--orange)}
.hd__search input{flex:1;border:none;outline:none;padding:0 13px;font-size:16px;font-family:inherit;min-width:0}
.hd__search button{width:48px;background:var(--orange);color:#131921;display:grid;place-items:center}
.hd__loc{display:flex;align-items:center;gap:7px;color:#dde3e8;font-size:12.5px;
  padding:9px 2px;margin:0 -14px;padding-left:16px;background:var(--hd2);margin-top:10px}
.hd__loc .ico{width:15px;height:15px;flex:0 0 auto}

/* ===============================================================
   CARDS
   =============================================================== */
main{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:8px}
.card{background:var(--card);padding:16px 16px 18px}
.card--flush{padding-bottom:12px}
.ch{font-size:18px;font-weight:700;margin-bottom:12px}
.ch--sub{font-size:15px;margin:18px 0 10px}

/* breadcrumb + badge + title */
.crumbs{font-size:11.5px;color:var(--ink-soft);margin-bottom:10px}
.bseller{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bseller__tag{background:#e47911;color:#fff;font-size:11px;font-weight:700;
  padding:3px 9px;border-radius:4px 12px 12px 4px;letter-spacing:.01em}
.bseller__in{font-size:12px;color:var(--link)}
.ptitle{font-size:15.5px;font-weight:400;line-height:1.4;margin-bottom:8px}
.rline{display:flex;align-items:center;gap:7px}
.rline__score{font-size:14px;font-weight:500}
.rline__count{font-size:13.5px}
.bought{font-size:12.5px;color:#6f3a16;margin-top:4px;font-weight:500}

/* stars (mask technique, orange) */
.stars{--r:5;display:inline-block;position:relative;width:96px;height:17px;
  background:linear-gradient(90deg,var(--star) calc(var(--r)/5*100%),#d3d6d6 0);
  -webkit-mask:repeat-x left center/19.2px 17px
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M10 1.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L10 14.9 4.8 17.6l1-5.8L1.5 7.7l5.9-.9z'/></svg>");
  mask:repeat-x left center/19.2px 17px
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M10 1.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L10 14.9 4.8 17.6l1-5.8L1.5 7.7l5.9-.9z'/></svg>")}
.stars--sm{width:81px;height:14px;-webkit-mask-size:16.2px 14px;mask-size:16.2px 14px}

/* ===============================================================
   GALLERY
   =============================================================== */
.gal{position:relative;margin:12px -16px 0;background:#fff}
.gal__stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gal__stage::-webkit-scrollbar{display:none}
/* square slides via padding-top spacer — robust on iOS Safari (aspect-ratio +
   percentage-height chains resolve inconsistently there) */
.slide{flex:0 0 100%;position:relative;scroll-snap-align:center;min-width:0}
.slide::before{content:"";display:block;padding-top:100%}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px}
.gal__counter{position:absolute;left:14px;bottom:12px;background:rgba(255,255,255,.92);
  border:1px solid var(--line);color:var(--ink-soft);font-size:12.5px;font-weight:500;
  padding:3px 11px;border-radius:20px;pointer-events:none}
.gal__heart{position:absolute;right:12px;top:10px;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.92);border:1px solid var(--line);display:grid;place-items:center;
  color:var(--ink-soft);transition:color .2s,transform .15s}
.gal__heart:active{transform:scale(.9)}
.gal__heart.on{color:#cc0c39}
.gal__heart.on .ico{fill:#cc0c39;stroke:#cc0c39}

.thumbs{display:flex;gap:8px;padding:10px 0 2px;overflow-x:auto;scrollbar-width:none}
.thumbs::-webkit-scrollbar{display:none}
.thumb{flex:0 0 56px;height:56px;border-radius:7px;overflow:hidden;background:#fff;
  border:1px solid var(--line);padding:4px;transition:border-color .2s,box-shadow .2s}
.thumb img{width:100%;height:100%;object-fit:contain}
.thumb.is-active{border:2px solid #e77600;box-shadow:0 0 0 2px rgba(228,121,17,.18)}
.thumb:active{transform:scale(.95)}

/* ===============================================================
   BUY BOX
   =============================================================== */
.deal{display:inline-block;background:var(--dealred);color:#fff;font-size:12px;font-weight:700;
  padding:5px 10px;border-radius:5px;margin-bottom:10px}
.pricerow{display:flex;align-items:flex-start;gap:10px}
.pricerow__off{color:var(--dealred);font-size:26px;font-weight:400;line-height:1.1}
.pricerow__now{font-size:32px;font-weight:500;line-height:1;letter-spacing:-.5px}
.pricerow__now sup{font-size:15px;font-weight:500;top:-9px;position:relative}
.rrp{font-size:13px;color:var(--ink-soft);margin-top:5px}
.rrp s{color:var(--ink-soft)}
.vat{font-size:12px;color:var(--ink-faint);margin-top:2px}

.shiprow{margin-top:14px;font-size:14px}
.shiprow .green{color:var(--green)}
.shiprow__cd{margin-top:2px;font-size:13.5px;color:var(--ink-soft)}

.instock{color:var(--green);font-size:17px;font-weight:500;margin-top:13px}
.lowstock{color:var(--dealred);font-size:13px;margin-top:2px}

.qtyrow{display:flex;align-items:center;gap:12px;margin:15px 0 13px}
.qtyrow__lab{font-size:14px;font-weight:500}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;
  background:#f0f2f2;box-shadow:0 2px 5px rgba(15,17,17,.06)}
.qty button{width:44px;height:44px;font-size:19px;color:var(--ink-soft);display:grid;place-items:center}
.qty button:active{color:var(--ink)}
.qty span{width:26px;text-align:center;font-size:15px;font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;width:100%;height:46px;
  border-radius:100px;font-size:14.5px;font-weight:500;color:var(--ink);
  transition:filter .15s,transform .12s;border:1px solid transparent}
.btn:active{transform:scale(.985);filter:brightness(.95)}
.btn--cart{background:var(--cta);border-color:var(--cta-b);margin-bottom:9px;
  box-shadow:0 2px 5px rgba(213,217,217,.5)}
.btn--buy{background:var(--buy);border-color:var(--buy-b);
  box-shadow:0 2px 5px rgba(213,217,217,.5)}
.btn--lite{background:#fff;border-color:var(--line);box-shadow:0 2px 5px rgba(213,217,217,.5);
  height:38px;width:auto;padding:0 16px;font-size:13px}
.btn--block{width:100%}

/* trust rows */
.trust{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;margin-top:18px}
.trust li{display:flex;gap:9px;align-items:flex-start}
.trust .ico{width:21px;height:21px;color:var(--link);flex:0 0 auto;margin-top:1px}
.trust b{display:block;font-size:12.5px;font-weight:600}
.trust span{font-size:11.5px;color:var(--ink-soft)}

/* ===============================================================
   ABOUT / SPECS / MANUFACTURER
   =============================================================== */
.about{list-style:disc;padding-left:19px;display:grid;gap:9px}
.about li{font-size:13.5px;line-height:1.5;color:#333}
.about b{font-weight:600;color:var(--ink)}

.spec{width:100%;border-collapse:collapse;font-size:13px}
.spec tr{border-bottom:1px solid #e7e9e9}
.spec tr:last-child{border-bottom:none}
.spec th{width:42%;text-align:left;font-weight:600;color:#333;background:#f4f6f6;
  padding:9px 10px;vertical-align:top}
.spec td{padding:9px 10px;color:#333}

.mfr{display:grid;gap:10px}
.mfr img{width:100%;height:auto;border-radius:8px;border:1px solid #eee}

/* ===============================================================
   REVIEWS
   =============================================================== */
.rsummary__top{display:flex;align-items:center;gap:9px}
.rsummary__avg{font-size:15px;font-weight:500}
.rsummary__n{font-size:13px;color:var(--ink-soft);margin:4px 0 12px}
.dist{display:grid;gap:8px;max-width:340px}
.dist__row{display:flex;align-items:center;gap:10px;font-size:13px}
.dist__row a{width:42px;flex:0 0 auto}
.dist__row>span{width:34px;text-align:right;color:var(--ink-soft);font-size:12px}
.dist__bar{flex:1;height:18px;background:#f0f2f2;border-radius:4px;overflow:hidden;
  border:1px solid #e3e6e6}
.dist__bar i{display:block;height:100%;width:0;background:var(--star);border-radius:3px 0 0 3px;
  transition:width 1s var(--ease)}
.dist.in i{width:var(--w)}

.rev-photos{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  margin:0 -16px;padding:0 16px 4px}
.rev-photos::-webkit-scrollbar{display:none}
.rev-photo{flex:0 0 auto;width:96px;height:96px;border-radius:8px;overflow:hidden;
  background:#f0f2f2;border:1px solid var(--line);padding:0;transition:transform .15s}
.rev-photo img{width:100%;height:100%;object-fit:cover}
.rev-photo:active{transform:scale(.95)}

.rlist{display:grid;gap:20px}
.rev{border-bottom:1px solid #e7e9e9;padding-bottom:18px}
.rev:last-child{border-bottom:none}
.rev__who{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}
.avatar{width:30px;height:30px;border-radius:50%;background:#d5d9d9;color:#555;
  display:grid;place-items:center;font-size:14px;font-weight:600;flex:0 0 auto}
.rev__rate{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rev__rate b{font-size:13.5px}
.rev__meta{font-size:12px;color:var(--ink-soft);margin-top:4px}
.rev__vp{font-size:12px;color:#c45500;font-weight:500;margin-top:2px}
.rev__body{font-size:13.5px;line-height:1.55;color:#333;margin-top:7px}
.rev__pics{display:flex;gap:7px;margin-top:10px}
.rev__pics .rev-photo{width:72px;height:72px}
.rev__help{font-size:12px;color:var(--ink-soft);margin:10px 0 8px}
#showMore{margin-top:16px}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:360;background:rgba(15,17,17,.92);
  display:grid;place-items:center;opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease);padding:20px;overscroll-behavior:contain}
.lightbox.show{opacity:1;pointer-events:auto}
.lightbox img{max-width:100%;max-height:82vh;border-radius:10px;
  transform:scale(.94);transition:transform .35s var(--ease)}
.lightbox.show img{transform:scale(1)}
.lightbox__close{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;
  width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;
  display:grid;place-items:center}

/* ===============================================================
   FOOTER
   =============================================================== */
.totop{display:block;width:100%;background:#37475a;color:#fff;font-size:13.5px;
  padding:14px 0;text-align:center}
.totop:active{background:#2f3e50}
.ft{background:var(--hd2);padding:22px 18px calc(26px + 80px + env(safe-area-inset-bottom))}
.ft__links{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;margin-bottom:16px}
.ft__links a{color:#dde3e8;font-size:12.5px}
.ft__legal{text-align:center;font-size:11.5px;color:#99a3ad}

/* ===============================================================
   STICKY BUY BAR
   =============================================================== */
.stickybar{
  position:fixed;left:50%;bottom:0;transform:translate(-50%,120%);
  width:min(var(--maxw),100%);z-index:130;
  display:flex;align-items:center;gap:11px;padding:10px 14px;
  padding-bottom:max(10px,env(safe-area-inset-bottom));
  background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -8px 24px -16px rgba(0,0,0,.5);
  transition:transform .4s var(--ease);
}
.stickybar.show{transform:translate(-50%,0)}
.stickybar img{width:46px;height:46px;object-fit:contain;flex:0 0 auto}
.stickybar__info{flex:1;min-width:0}
.stickybar__price{font-size:17px;font-weight:600}
.stickybar__price em{font-style:normal;color:var(--dealred);font-size:13px;font-weight:700;margin-right:4px}
.stickybar__ship{font-size:11.5px;color:var(--green)}
.stickybar__btn{width:auto;padding:0 22px;height:42px;flex:0 0 auto}

/* ===============================================================
   CART DRAWER
   =============================================================== */
.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%}
.icon-btn:active{background:rgba(0,0,0,.06)}
.drawer-overlay{position:fixed;inset:0;background:rgba(15,17,17,.5);opacity:0;pointer-events:none;
  z-index:300;transition:opacity .35s var(--ease)}
.drawer-overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(400px,90vw);background:#fff;
  z-index:310;transform:translateX(100%);transition:transform .4s var(--ease);
  display:flex;flex-direction:column;box-shadow:-16px 0 50px -28px rgba(0,0,0,.6)}
.drawer.show{transform:none}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;
  border-bottom:1px solid var(--line);background:#f7f8f8}
.drawer__head h3{font-size:18px;font-weight:700}
.drawer__items{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:6px 18px}
.drawer__empty{flex:1;display:grid;place-items:center;color:var(--ink-faint);font-size:14px}
.ditem{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid #e7e9e9;animation:slideIn .35s var(--ease)}
@keyframes slideIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.ditem img{width:62px;height:62px;object-fit:contain;flex:0 0 auto;background:#fff;
  border:1px solid #eee;border-radius:6px;padding:3px}
.ditem__b{flex:1}
.ditem__name{font-size:13.5px;line-height:1.35}
.ditem__c{font-size:12px;color:var(--ink-soft);margin-top:2px}
.ditem__row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.ditem__price{font-size:15px;font-weight:600;color:var(--price)}
.ditem__rm{font-size:12px;color:var(--link);padding:14px 12px;margin:-14px -12px}
.drawer__foot{padding:14px 18px;padding-bottom:max(14px,env(safe-area-inset-bottom));
  border-top:1px solid var(--line);background:#f7f8f8}
.drawer__total{display:flex;justify-content:space-between;font-size:16px;font-weight:600;margin-bottom:12px}
.drawer__note{text-align:center;font-size:11.5px;color:var(--green);margin-top:9px}

/* toast */
.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);z-index:320;
  background:var(--hd);color:#fff;font-size:13px;padding:12px 20px;border-radius:8px;
  opacity:0;pointer-events:none;transition:all .3s var(--ease);
  display:flex;align-items:center;gap:9px;white-space:nowrap;box-shadow:0 10px 28px -10px rgba(0,0,0,.6)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast::before{content:"✓";color:var(--orange);font-weight:700}

/* ===============================================================
   CHECKOUT
   =============================================================== */
.checkout{position:fixed;inset:0;left:50%;transform:translate(-50%,100%);
  width:min(var(--maxw),100%);z-index:400;background:#fff;
  display:flex;flex-direction:column;transition:transform .45s var(--ease);overflow:hidden}
.checkout.show{transform:translate(-50%,0)}
.co-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;
  border-bottom:1px solid var(--line);background:var(--hd);color:#fff;flex:0 0 auto}
.co-bar__back{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#fff}
.co-bar__back:active{background:rgba(255,255,255,.12)}
.co-bar__brand{font-size:16px;font-weight:600}
.co-bar__secure{width:40px;display:grid;place-items:center;color:var(--orange)}
.co-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

.co-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:13px 18px;background:#f7f8f8;font-size:14px;border-bottom:1px solid var(--line);color:var(--ink-soft)}
.co-toggle>span{display:flex;align-items:center;gap:8px}
.co-toggle .ico{width:17px;height:17px}
.co-toggle__r{color:var(--ink)}
.co-toggle__r b{font-size:16px;margin-right:8px;font-weight:700}
.co-toggle__chev{transition:transform .3s var(--ease)}
.checkout.sum-open .co-toggle__chev{transform:rotate(180deg)}
.co-sumwrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease);
  background:#f7f8f8;border-bottom:1px solid var(--line)}
.checkout.sum-open .co-sumwrap{grid-template-rows:1fr}
.co-suminner{min-height:0;overflow:hidden}
.co-sum{padding:4px 18px}
.co-item{display:flex;gap:12px;padding:11px 0;align-items:center}
.co-item img{width:54px;height:54px;object-fit:contain;flex:0 0 auto;background:#fff;
  border:1px solid #eee;border-radius:6px;padding:3px}
.co-item__b{flex:1;min-width:0}
.co-item__n{font-size:13.5px;line-height:1.3}
.co-item__q{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;
  background:var(--accent);color:#fff;font-size:10px;font-weight:700;
  border-radius:10px;margin-left:7px;vertical-align:middle}
.co-item__c{font-size:12px;color:var(--ink-soft)}
.co-item__p{font-size:14px;font-weight:600}
.co-disc{display:flex;gap:8px;padding:8px 18px 13px}
.co-disc input{flex:1;border:1px solid var(--line);border-radius:8px;padding:0 13px;height:44px;
  font-family:inherit;font-size:16px;background:#fff}
.co-disc input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,153,0,.15)}
.co-disc button{padding:0 16px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;
  font-weight:600;color:var(--ink);background:#fff}
.co-totals{padding:2px 18px 16px;display:grid;gap:8px}
.co-totals div{display:flex;justify-content:space-between;font-size:13.5px;color:var(--ink-soft)}
.co-totals dd{color:var(--ink);font-weight:500}
.co-disc-row dt,.co-disc-row dd{color:var(--green)!important}
.co-totals__grand{padding-top:11px;margin-top:2px;border-top:1px solid var(--line)}
.co-totals__grand dt{font-weight:700;color:var(--ink);font-size:15px}
.co-totals__grand dd{font-size:19px;font-weight:700;color:var(--price)}

.co-form{padding:20px 18px 42px}
.co-sec{margin-bottom:22px}
.co-sec h3{font-size:16px;font-weight:700;margin-bottom:12px}
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.co-field{position:relative;margin-bottom:10px}
.co-field input{width:100%;height:52px;border:1px solid #a6a6a6;border-radius:8px;
  padding:18px 14px 4px;font-family:inherit;font-size:16px;background:#fff;color:var(--ink);
  transition:border-color .2s,box-shadow .2s}
.co-field input:focus{outline:none;border-color:#e77600;box-shadow:0 0 0 3px rgba(228,121,17,.18)}
.co-field label{position:absolute;left:14px;top:16px;color:var(--ink-faint);font-size:14.5px;
  pointer-events:none;transition:all .16s var(--ease)}
.co-field input:focus+label,.co-field input:not(:placeholder-shown)+label{top:8px;font-size:11px;color:var(--ink-soft)}
.co-secure-note{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-soft);margin-bottom:12px}
.co-secure-note .ico{width:15px;height:15px;stroke:var(--green)}
/* Stripe Payment Element */
#payment-element{min-height:46px}
.co-pe-loading{padding:18px;text-align:center;color:var(--ink-faint);font-size:13px;
  border:1px dashed var(--line);border-radius:8px;background:#fafafa}
.co-pe-msg{margin-top:10px;font-size:13px;color:var(--ink-soft);line-height:1.5}
.co-pe-msg.is-error{color:#b3261e}

.co-ship{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);
  border-radius:8px;margin-bottom:9px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.co-ship input{accent-color:#e77600;width:18px;height:18px;flex:0 0 auto}
.co-ship.is-sel{border-color:#e77600;background:#fef8f0;box-shadow:0 0 0 1px #e77600 inset}
.co-ship__b{flex:1;display:flex;flex-direction:column}
.co-ship__b b{font-size:13.5px;font-weight:600}
.co-ship__b i{font-size:12px;color:var(--ink-soft);font-style:normal}
.co-ship__p{font-size:14px;font-weight:600}

.co-submit{height:50px;margin-top:6px;position:relative;gap:9px;font-weight:600}
.co-submit__amt{font-weight:700}
.co-submit.loading .co-submit__label,.co-submit.loading .co-submit__amt{opacity:0}
.co-submit__spin{position:absolute;width:22px;height:22px;border-radius:50%;
  border:2px solid rgba(15,17,17,.3);border-top-color:var(--ink);opacity:0}
.co-submit.loading .co-submit__spin{opacity:1;animation:cospin .8s linear infinite}
@keyframes cospin{to{transform:rotate(360deg)}}
.co-fineprint{text-align:center;font-size:11.5px;color:var(--ink-faint);margin-top:14px;line-height:1.7}

.co-done{position:absolute;inset:0;background:#fff;z-index:2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:32px;animation:fadeIn .4s var(--ease)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.co-done__check{width:78px;height:78px;margin-bottom:16px}
.co-done__check svg{width:100%;height:100%;fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.co-done__check circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw .6s .15s var(--ease) forwards}
.co-done__check path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .45s .6s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.co-done h2{font-size:24px;font-weight:700}
.co-done>p{color:var(--ink-soft);font-size:14px;max-width:36ch;margin:6px 0 22px;line-height:1.6}
.co-done__card{width:100%;max-width:340px;margin-bottom:24px;display:grid;gap:8px;
  border:1px solid var(--line);border-radius:10px;padding:14px;background:#fafafa}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;scroll-behavior:auto}
}
