/* ============================================================
   Banger Labs — Checkout / Track / Order-status / Account skin
   Ported 1:1 from checkout-client.tsx (rebranded).
   Brand: violet #7C5CFF · indigo #5B3BE0 · lavender #9B7BFF
          ink #14102E · mute #6B6488 · orange spark #FF6A2C
   ============================================================ */

/* keyframes (scoped, no collision with style.css bl-*) */
@keyframes blco-viewer-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
@keyframes blco-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* ------------------------------------------------------------
   Page shell — the source uses a soft-grey app surface.
   ------------------------------------------------------------ */
.blco-page{
  background:#f5f4fb;
  min-height:60vh;
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  color:var(--bl-ink);
}

/* Slim checkout top strip (we keep the theme header/footer; this sits inside) */
.blco-strip{
  background:linear-gradient(110deg,#14102E,#5B3BE0 60%,#7C5CFF);
}
.blco-strip-inner{
  max-width:none;margin:0;padding:0 24px;
  height:52px;display:flex;align-items:center;justify-content:space-between;
}
.blco-strip-back{
  display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.82);
  font-size:13px;font-weight:600;font-family:var(--font-display);
  padding:6px 10px 6px 6px;border-radius:8px;transition:background .15s var(--bl-ease);
}
.blco-strip-back:hover{background:rgba(255,255,255,.12);color:#fff;}
.blco-strip-secure{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  color:rgba(255,255,255,.9);font-family:var(--font-display);letter-spacing:.02em;
}

/* Trust bar */
.blco-trustbar{
  background:linear-gradient(110deg,#14102E,#2c1f63);
  padding:9px 16px;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.blco-trustbar-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center;}
.blco-trustbar-item{
  display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;
  color:rgba(255,255,255,.85);white-space:nowrap;font-family:var(--font-display);
}
.blco-trustbar-item svg{opacity:.7;flex-shrink:0;}

/* ------------------------------------------------------------
   Top promo card (single, branded, always-visible) + contained trust banner
   ------------------------------------------------------------ */
.blco-topromo{max-width:1760px;margin:0 auto;padding:24px clamp(20px,4vw,72px) 0;box-sizing:border-box;width:100%;}
.blco-topromo-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:#fff;border:1px solid #ece9f6;border-radius:16px;padding:15px 22px;
  box-shadow:0 1px 3px rgba(20,16,46,.06),0 2px 10px rgba(20,16,46,.04);
}
.blco-topromo-label{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--bl-ink);flex-shrink:0;}
.blco-topromo .blco-promo-row{display:flex;gap:10px;flex:0 1 480px;min-width:240px;}
.blco-topromo .blco-promo-row input{flex:1;height:46px;padding:0 16px;font-size:14px;border:1.5px solid #e6e2f5;border-radius:12px;background:#fff;font-family:var(--font-mono);text-transform:uppercase;box-sizing:border-box;outline:none;transition:border-color .15s var(--bl-ease),box-shadow .15s var(--bl-ease);}
.blco-topromo .blco-promo-row input:focus{border-color:rgba(124,92,255,.55);box-shadow:0 0 0 3px rgba(124,92,255,.10);}
.blco-topromo .blco-promo-row button{height:46px;padding:0 26px;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(120deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);border:0;border-radius:12px;cursor:pointer;font-family:var(--font-display);white-space:nowrap;transition:transform .15s var(--bl-ease),box-shadow .15s var(--bl-ease);}
.blco-topromo .blco-promo-row button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(124,92,255,.35);}
.blco-topromo-applied-wrap{display:flex;flex-wrap:wrap;gap:8px;flex:0 1 480px;}
.blco-topromo .blco-promo-applied{flex:1;min-width:240px;border-radius:12px;}

.blco-trustwrap{max-width:1760px;margin:0 auto;padding:14px clamp(20px,4vw,72px) 0;box-sizing:border-box;width:100%;}
.blco-trustwrap-inner{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 1px 3px rgba(20,16,46,.06),0 8px 26px -10px rgba(91,59,224,.30);}

/* ── Animated trust banner (flowing gradient + shimmer sweep + rolling checkmark glow + pulsing lock) ── */
.blco-trustwrap-inner .blco-strip{
  background:linear-gradient(110deg,#14102E 0%,#5B3BE0 42%,#7C5CFF 66%,#9B7BFF 100%);
  background-size:230% 100%;animation:blco-flow 7s ease-in-out infinite;
}
.blco-trustwrap-inner .blco-trustbar{
  background:linear-gradient(110deg,#14102E 0%,#2c1f63 50%,#3a2a78 100%);
  background-size:230% 100%;animation:blco-flow 9s ease-in-out infinite;
}
@keyframes blco-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* diagonal light sheen sweeping across the whole banner */
.blco-trustwrap-inner::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.20) 48%,rgba(255,255,255,.06) 56%,transparent 72%);
  transform:translateX(-130%);animation:blco-sheen 4.2s ease-in-out infinite;
}
@keyframes blco-sheen{0%{transform:translateX(-130%)}55%,100%{transform:translateX(130%)}}
/* the 4 trust items: staggered entrance + a glow "wave" rolling across them */
.blco-trustbar-row,.blco-strip-inner{position:relative;z-index:2;}
.blco-trustbar-item{animation:blco-item-in .6s both,blco-item-glow 3.6s ease-in-out infinite;}
.blco-trustbar-item:nth-child(1){animation-delay:.05s,0s}
.blco-trustbar-item:nth-child(2){animation-delay:.15s,.9s}
.blco-trustbar-item:nth-child(3){animation-delay:.25s,1.8s}
.blco-trustbar-item:nth-child(4){animation-delay:.35s,2.7s}
@keyframes blco-item-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes blco-item-glow{0%,100%{color:rgba(255,255,255,.85);text-shadow:none}50%{color:#fff;text-shadow:0 0 16px rgba(155,123,255,.95)}}
.blco-trustbar-item svg{animation:blco-check-pulse 3.6s ease-in-out infinite;transform-origin:center;}
.blco-trustbar-item:nth-child(1) svg{animation-delay:0s}
.blco-trustbar-item:nth-child(2) svg{animation-delay:.9s}
.blco-trustbar-item:nth-child(3) svg{animation-delay:1.8s}
.blco-trustbar-item:nth-child(4) svg{animation-delay:2.7s}
@keyframes blco-check-pulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3);filter:drop-shadow(0 0 6px rgba(155,123,255,.9))}}
/* SSL lock pulse + Back nudge */
.blco-strip-secure svg{animation:blco-lock 2.4s ease-in-out infinite;}
@keyframes blco-lock{0%,100%{opacity:.7}50%{opacity:1;filter:drop-shadow(0 0 7px rgba(124,92,255,.95))}}
.blco-strip-secure{animation:blco-ssl-text 2.4s ease-in-out infinite;}
@keyframes blco-ssl-text{0%,100%{color:rgba(255,255,255,.9)}50%{color:#fff;text-shadow:0 0 12px rgba(124,92,255,.7)}}
@media (prefers-reduced-motion: reduce){
  .blco-trustwrap-inner .blco-strip,.blco-trustwrap-inner .blco-trustbar,
  .blco-trustwrap-inner::after,.blco-trustbar-item,.blco-trustbar-item svg,
  .blco-strip-secure,.blco-strip-secure svg{animation:none!important}
}

/* Full-width checkout: break out of the standard 820px page-article container (page.php),
   AND make the whole page one continuous color (kill the white band + "Checkout" title). */
body.woocommerce-checkout .bl-container,
body.page-id-9 .bl-container{max-width:none!important;padding:0!important;background:#f5f4fb!important;}
body.woocommerce-checkout .bl-page-article,
body.page-id-9 .bl-page-article{max-width:none!important;margin-left:0!important;margin-right:0!important;}
body.woocommerce-checkout .bl-page-content,
body.page-id-9 .bl-page-content{width:100%;}
/* Remove the "Checkout" page title + the white space it sat in. */
body.woocommerce-checkout .bl-page-head,
body.page-id-9 .bl-page-head{display:none!important;}

/* Wide-desktop: 2-column form fields so inputs aren't stretched across the full width. */
@media(min-width:1024px){
  /* Contact card: email + phone side by side */
  body.woocommerce-checkout #bl-contact{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;}
  body.woocommerce-checkout #bl-contact .blco-card-title{grid-column:1 / -1;}
  /* Delivery card: 2-col grid; address/country rows span both */
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;}
  body.woocommerce-checkout #billing_country_field,
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #billing_address_2_field{grid-column:1 / -1;}
  /* Payment CTA + methods: cap to a comfortable width (don't stretch the button across the whole column) */
  body.woocommerce-checkout #bl-payment .blco-pay-methods,
  body.woocommerce-checkout #bl-payment .blco-amount-due,
  body.woocommerce-checkout #bl-payment .blco-wc-gateways,
  body.woocommerce-checkout #bl-payment .blco-card-sub{max-width:680px;}
  body.woocommerce-checkout #bl-payment #place_order{max-width:680px;}
}

@media(max-width:900px){
  .blco-topromo,.blco-trustwrap{padding-left:16px;padding-right:16px;}
  .blco-topromo{padding-top:16px;}
  .blco-trustwrap{padding-top:12px;}
}
@media(max-width:600px){
  .blco-topromo-inner{flex-direction:column;align-items:stretch;gap:12px;}
  .blco-topromo .blco-promo-row,.blco-topromo-applied-wrap{flex:1 1 100%;}
}

/* ------------------------------------------------------------
   2-col body
   ------------------------------------------------------------ */
.blco-body{
  max-width:1760px;margin:0 auto;width:100%;
  padding:36px clamp(20px,4vw,72px) 110px;
  display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:clamp(28px,3vw,72px);align-items:start;
}
.blco-left{display:flex;flex-direction:column;gap:24px;}

/* Cards */
.blco-card{
  background:#fff;border-radius:22px;padding:32px 36px;
  box-shadow:0 1px 3px rgba(20,16,46,.06),0 2px 10px rgba(20,16,46,.04);
}
.blco-card-title{
  font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--bl-ink);
  margin-bottom:24px;letter-spacing:-.025em;
}
.blco-card-sub{font-size:12px;color:var(--bl-mute);margin:-16px 0 20px;line-height:1.5;}

/* Fields — restyle WooCommerce form-rows to match the source inputs */
.blco-card .form-row{margin:0 0 20px;padding:0;}
.blco-card .form-row label{
  font-size:11px;font-weight:500;color:var(--bl-mute);text-transform:uppercase;
  letter-spacing:.08em;display:block;margin-bottom:7px;
}
.blco-card .form-row label .required{color:var(--bl-orange);text-decoration:none;border:0;}
.blco-card .form-row label .optional{color:#a39cc0;font-weight:400;text-transform:none;letter-spacing:0;}
.blco-card .input-text,
.blco-card .form-row input.input-text,
.blco-card .form-row textarea,
.blco-card .form-row .select2-container,
.blco-card .form-row select{
  font-family:var(--font-body);font-size:15px;font-weight:400;color:#1a1530;
  background:#fff;border:1.5px solid #e6e2f5;border-radius:12px;
  padding:13px 16px;width:100%;outline:none;-webkit-appearance:none;box-sizing:border-box;
  transition:border-color .15s var(--bl-ease),box-shadow .15s var(--bl-ease);
}
.blco-card .form-row textarea{min-height:84px;line-height:1.5;resize:vertical;}
.blco-card .form-row input.input-text:focus,
.blco-card .form-row textarea:focus,
.blco-card .form-row select:focus{
  border-color:rgba(124,92,255,.55);box-shadow:0 0 0 3px rgba(124,92,255,.10);
}
/* native select chevron */
.blco-card .form-row select{
  cursor:pointer;padding-right:36px;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239B7BFF' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
/* Don't paint pristine empty required fields red — WC tags them woocommerce-invalid on load.
   Keep the neutral border; only flag red AFTER a failed submit (body.bl-checkout-submitted). */
.blco-card .form-row.woocommerce-invalid input.input-text,
.blco-card .form-row.woocommerce-invalid select{border-color:#e6e2f5;}
.bl-checkout-submitted .blco-card .form-row.woocommerce-invalid input.input-text,
.bl-checkout-submitted .blco-card .form-row.woocommerce-invalid select{border-color:#ef4444;}
.blco-card .form-row.woocommerce-validated input.input-text{border-color:#e6e2f5;}

/* two-up / three-up rows that WC may render via form-row-first/last */
.blco-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.blco-card .form-row-first,.blco-card .form-row-last{width:auto;float:none;}
.woocommerce form .form-row.blco-half{width:48%;}

/* ------------------------------------------------------------
   Payment area (skin lives in inc/payments-ui.php; styles here)
   ------------------------------------------------------------ */
.blco-pay-methods{display:flex;flex-direction:column;gap:12px;}
.blco-pay-option{
  position:relative;text-align:left;width:100%;display:block;overflow:hidden;
  border:1.5px solid #e6e2f5;background:#fff;border-radius:16px;padding:16px 18px;
  cursor:pointer;transition:border-color .15s var(--bl-ease),background .15s var(--bl-ease),box-shadow .2s var(--bl-ease);
}
.blco-pay-option:hover{border-color:rgba(124,92,255,.4);}
.blco-pay-option.is-selected{
  border:0;color:#fff;padding:18px 20px;
  background:linear-gradient(135deg,#2b2060 0%,#3a2a7e 55%,#4a2f8f 100%);
  box-shadow:0 16px 40px -16px rgba(124,92,255,.7);
}
.blco-pay-option.is-selected::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(120deg,#FFB54D,#FF8A3D 50%,#FF6A2C);opacity:.95;
}
.blco-pay-badge{
  position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.18);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.07em;
  padding:5px 10px;border-radius:999px;
}
.blco-pay-head{display:flex;align-items:center;gap:12px;}
.blco-pay-radio{
  width:20px;height:20px;border-radius:50%;flex-shrink:0;box-sizing:border-box;
  border:2px solid #cbd5e1;transition:border .15s var(--bl-ease);
}
.blco-pay-option.is-selected .blco-pay-radio{border:6px solid #fff;background:#fff;}
.blco-pay-label{font-size:15.5px;font-weight:700;color:var(--bl-ink);flex:1;}
.blco-pay-option.is-selected .blco-pay-label{color:#fff;}
.blco-pay-cards{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:13px 0 0 32px;}
.blco-pay-cards svg{border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.18);}
.blco-pay-help{font-size:12.5px;color:var(--bl-mute);line-height:1.5;margin:10px 0 0 32px;}
.blco-pay-option.is-selected .blco-pay-help{color:rgba(255,255,255,.82);}

/* crypto chips */
.blco-crypto-chips{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;}
.blco-crypto-chips span{
  font-family:Arial,Helvetica,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.02em;
  color:var(--bl-mute);background:#f4f2fb;border:1px solid #e6e2f5;border-radius:5px;padding:3px 6px;line-height:1;
}

/* amount due */
.blco-amount-due{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:16px;padding-top:14px;border-top:1px solid #f1eff9;
}
.blco-amount-due .label{font-size:13px;color:var(--bl-mute);}
.blco-amount-due .value{
  font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.03em;color:#14102E;
}

/* WC's actual gateway list, restyled so whatever gateway is active inherits the skin */
.blco-wc-gateways{margin-top:14px;}
.blco-wc-gateways ul.wc_payment_methods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.blco-wc-gateways li.wc_payment_method{
  border:1.5px solid #ece9f6;border-radius:16px;padding:18px;background:#fff;
  box-shadow:0 10px 30px -18px rgba(20,16,46,.28);
}
.blco-wc-gateways li.wc_payment_method > label{
  font-size:14px;font-weight:700;color:var(--bl-ink);display:inline-flex;align-items:center;gap:10px;cursor:pointer;margin:0;
}
.blco-wc-gateways li.wc_payment_method input[type=radio]{accent-color:#7C5CFF;width:18px;height:18px;}
.blco-wc-gateways .payment_box{
  background:#fff;border:0;border-radius:12px;padding:8px 0 0;margin-top:8px;font-size:13px;color:var(--bl-mute);
}
.blco-wc-gateways .payment_box::before{display:none;}
/* tidy CardsShield's inner box so it doesn't look out-of-place (neutralise its grey panel) */
.blco-wc-gateways .payment_box > div,
.blco-wc-gateways .payment_box .mecom-paypal-fields,
.blco-wc-gateways .payment_box [class*="cardsshield"],
.blco-wc-gateways .payment_box [class*="cs-"]{background:transparent !important;border-radius:12px;}
.blco-wc-gateways .payment_box img{max-width:100%;}

/* place order button — orange spark accent used sparingly */
.blco-card #place_order,
.blco-card button#place_order,
.blco-place-order{
  width:100%;margin-top:18px;height:54px;border:0;border-radius:12px;cursor:pointer;
  font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:.01em;color:#fff;
  background:linear-gradient(120deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);
  box-shadow:0 8px 24px rgba(124,92,255,.32);
  position:relative;overflow:hidden;transition:transform .15s var(--bl-ease),box-shadow .15s var(--bl-ease);
}
.blco-card #place_order::after,
.blco-place-order::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(120deg,#FFB54D,#FF8A3D 50%,#FF6A2C);opacity:.9;
}
.blco-card #place_order:hover,.blco-place-order:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(124,92,255,.4);}

/* spinner */
.blco-spinner{animation:blco-spin 1s linear infinite;flex-shrink:0;}

/* card-flow info / alert boxes */
.blco-info-box{
  margin-top:16px;background:#faf9ff;border:1px solid #ece9fa;border-radius:12px;
  padding:32px 18px;text-align:center;color:var(--bl-mute);font-size:13px;
}
.blco-alert-warn{
  margin-top:16px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;
  padding:14px 16px;color:#92400e;font-size:13px;line-height:1.55;
}
.blco-alert-warn strong{display:block;font-size:13px;margin-bottom:4px;color:#78350f;}
.blco-alert-err{
  margin-top:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;
  padding:14px 16px;color:#dc2626;font-size:13px;line-height:1.55;
}
.blco-alert-err strong{display:block;font-size:13px;margin-bottom:4px;color:#b91c1c;}

/* RUO compliance line on checkout */
.blco-ruo{
  display:flex;gap:10px;background:rgba(20,16,46,.03);border:1px solid rgba(20,16,46,.07);
  border-radius:12px;padding:13px 16px;
}
.blco-ruo .dot{width:7px;height:7px;border-radius:50%;background:var(--bl-orange);margin-top:5px;flex-shrink:0;}
.blco-ruo .label{font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(20,16,46,.5);margin-bottom:3px;}
.blco-ruo p{font-size:11.5px;color:rgba(20,16,46,.45);margin:0;line-height:1.5;}

/* ship date */
.blco-shipdate{
  background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 1px 3px rgba(20,16,46,.06);
  display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--bl-mute);
}
.blco-shipdate strong{color:#7C5CFF;}

/* review strip + carousel */
.blco-review{
  background:#fff;border-radius:14px;padding:16px 20px;
  box-shadow:0 1px 3px rgba(20,16,46,.06),0 2px 10px rgba(20,16,46,.04);
}
.blco-review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.blco-verified{
  display:inline-flex;align-items:center;gap:3px;background:rgba(22,163,74,.08);
  border:1px solid rgba(22,163,74,.2);border-radius:4px;padding:1px 6px;
  font-size:10px;font-weight:700;color:#16a34a;
}
.blco-stars span{color:var(--bl-amber);font-size:12px;}
.blco-review-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;}
.blco-review-track::-webkit-scrollbar{display:none;}
.blco-review-slide{display:block;flex:0 0 100%;scroll-snap-align:start;min-width:0;padding-right:2px;}
.blco-review-text{font-size:13px;color:var(--bl-ink);line-height:1.6;letter-spacing:-.01em;margin:0;}
.blco-review-name{font-size:12px;font-weight:600;color:var(--bl-mute);margin-top:6px;letter-spacing:-.01em;}
.blco-review-dots{display:flex;gap:6px;margin-top:10px;}
.blco-review-dots button{
  width:6px;height:6px;border-radius:50%;border:0;padding:0;background:rgba(124,92,255,.2);
  cursor:pointer;transition:background .15s var(--bl-ease);
}
.blco-review-dots button.is-active{background:#7C5CFF;}

/* ------------------------------------------------------------
   RIGHT — order summary
   ------------------------------------------------------------ */
.blco-summary-col{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px;align-self:start;}
.blco-summary-toggle{display:none;}
.blco-summary-content{display:flex;flex-direction:column;gap:14px;}

.blco-viewers{
  background:#fff;border-radius:12px;padding:11px 15px;box-shadow:0 1px 3px rgba(20,16,46,.06);
  display:flex;align-items:center;gap:9px;font-size:12px;color:var(--bl-mute);border-left:3px solid #7C5CFF;
}
.blco-viewers .dot{width:8px;height:8px;border-radius:50%;background:#16a34a;flex-shrink:0;animation:blco-viewer-pulse 2s ease-in-out infinite;}
.blco-viewers strong{color:var(--bl-ink);}

.blco-summary{
  background:#fff;border-radius:20px;overflow:hidden;
  box-shadow:0 1px 3px rgba(20,16,46,.06),0 2px 10px rgba(20,16,46,.04);
}
.blco-bogo{background:linear-gradient(110deg,#14102E,#3a2a78 60%,#2c1f63);padding:13px 18px;display:flex;align-items:center;gap:10px;}
.blco-bogo-ic{width:28px;height:28px;background:rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.blco-bogo-t{font-family:var(--font-display);font-size:13px;font-weight:700;color:#fff;letter-spacing:.04em;}
.blco-bogo-s{font-size:11px;color:rgba(255,255,255,.55);margin-top:1px;}

.blco-items{padding:14px 18px 0;}
.blco-item{display:flex;align-items:flex-start;gap:11px;padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid #f1eff9;}
.blco-item-thumb{position:relative;flex-shrink:0;}
.blco-item-thumb .img{width:48px;height:48px;border-radius:9px;border:1px solid #e6e2f5;background:linear-gradient(145deg,#ede8f8,#e0d6f5);overflow:hidden;}
.blco-item-thumb .img img{width:100%;height:100%;object-fit:cover;}
.blco-item-qty{position:absolute;top:-6px;left:-6px;background:var(--bl-mute);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid #fff;}
.blco-item-name{font-size:13px;font-weight:500;color:var(--bl-ink);line-height:1.4;}
.blco-item-bogo{font-size:10.5px;font-weight:700;color:#7C5CFF;margin-top:2px;display:flex;align-items:center;gap:3px;}
.blco-item-price{font-size:13.5px;font-weight:600;color:var(--bl-ink);text-align:right;flex-shrink:0;padding-left:6px;}

/* promo / coupon */
.blco-promo{padding:12px 18px;border-top:1px solid #f1eff9;}
.blco-promo-row{display:flex;gap:8px;}
.blco-promo-row input{
  flex:1;height:36px;padding:0 12px;font-size:13px;border:1px solid #e6e2f5;border-radius:8px;
  background:#fff;font-family:var(--font-mono);text-transform:uppercase;
}
.blco-promo-row button{
  height:36px;padding:0 16px;font-size:12px;font-weight:700;color:#7C5CFF;
  background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;cursor:pointer;font-family:var(--font-display);
}
.blco-promo-applied{
  display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;
  border:1px solid #bbf7d0;border-radius:8px;padding:8px 12px;
}

/* totals */
.blco-totals{padding:10px 18px 16px;border-top:1px solid #f1eff9;}
.blco-trow{display:flex;justify-content:space-between;font-size:12.5px;color:var(--bl-mute);padding:3.5px 0;}
.blco-trow.discount{color:#16a34a;}
.blco-trow.discount span:first-child{display:flex;align-items:center;gap:4px;}
.blco-trow.free span:last-child{font-weight:600;color:#16a34a;}
.blco-saved{display:flex;justify-content:space-between;font-size:12px;padding:6px 10px;background:rgba(22,163,74,.06);border:1px solid rgba(22,163,74,.15);border-radius:8px;margin:8px 0 2px;}
.blco-saved span{font-weight:700;color:#15803d;}
.blco-total{display:flex;justify-content:space-between;align-items:baseline;font-size:20px;font-weight:600;letter-spacing:-.03em;color:var(--bl-ink);border-top:1.5px solid #e6e2f5;margin-top:10px;padding-top:12px;}
.blco-total .compare{font-size:12px;color:#9ca3af;text-decoration:line-through;font-weight:400;letter-spacing:0;margin-bottom:2px;}
.blco-total .amt{color:#14102E;font-family:var(--font-display);}

/* secure + card icons strip */
.blco-secure{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;border-top:1px solid #f1eff9;flex-wrap:nowrap;}
.blco-secure-label{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.blco-secure-label span{font-size:12px;font-weight:700;color:#16a34a;white-space:nowrap;font-family:var(--font-display);}
.blco-cards{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.blco-card-ic{width:42px;height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.blco-card-ic.visa{background:#1A1F71;}
.blco-card-ic.visa span{font-family:Arial,sans-serif;font-size:9px;font-weight:900;font-style:italic;color:#fff;letter-spacing:-.5px;}
.blco-card-ic.mc{background:#1a1a1a;}
.blco-card-ic.amex{background:#2557D6;}
.blco-card-ic.amex span{font-family:Arial,sans-serif;font-size:9px;font-weight:900;color:#fff;letter-spacing:.5px;}
.blco-card-ic.disc{background:#231F20;gap:2px;}
.blco-card-ic.disc span{font-family:Arial,sans-serif;font-size:8px;font-weight:900;color:#fff;}
.blco-card-ic.disc .d{width:6px;height:6px;border-radius:50%;background:#F76F20;flex-shrink:0;}

/* guarantee */
.blco-guarantee{display:flex;align-items:flex-start;gap:10px;padding:12px 18px 16px;border-top:1px solid #f1eff9;}
.blco-guarantee .t{font-size:12px;font-weight:700;color:var(--bl-ink);margin-bottom:2px;}
.blco-guarantee .d{font-size:11.5px;color:var(--bl-mute);line-height:1.5;}
.blco-tls{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px 16px;border-top:1px solid #f1eff9;}
.blco-tls span{font-size:11px;color:rgba(20,16,46,.34);font-weight:500;}

/* empty cart */
.blco-empty{min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;}
.blco-empty .h{font-size:20px;font-weight:600;margin-bottom:8px;color:var(--bl-ink);font-family:var(--font-display);}
.blco-empty .p{color:var(--bl-mute);margin-bottom:24px;}
.blco-empty a{background:linear-gradient(120deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);color:#fff;padding:12px 28px;border-radius:12px;font-weight:600;font-size:14px;font-family:var(--font-display);}

/* ------------------------------------------------------------
   Track Order page
   ------------------------------------------------------------ */
.bltrk-head{border-bottom:1px solid #e6e2f5;background:#fff;}
.bltrk-head-inner{max-width:768px;margin:0 auto;padding:48px clamp(16px,4vw,24px);text-align:center;}
.bltrk-head h1{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--bl-ink);margin:0 0 8px;}
.bltrk-head p{color:var(--bl-mute);margin:0;}
.bltrk-wrap{max-width:768px;margin:0 auto;padding:48px clamp(16px,4vw,24px);}
.bltrk-form{background:#fff;border-radius:18px;border:1px solid #e6e2f5;padding:32px;margin-bottom:40px;}
.bltrk-form label{display:block;font-size:13px;font-weight:600;color:var(--bl-ink);margin-bottom:7px;}
.bltrk-form-grid{display:flex;flex-direction:column;gap:16px;}
.bltrk-input{width:100%;padding:13px 16px;font-size:14px;border:1.5px solid #e6e2f5;border-radius:11px;background:#fff;outline:none;box-sizing:border-box;font-family:var(--font-body);}
.bltrk-input.mono{font-family:var(--font-mono);}
.bltrk-input:focus{border-color:rgba(124,92,255,.55);box-shadow:0 0 0 3px rgba(124,92,255,.1);}
.bltrk-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;border:0;border-radius:11px;cursor:pointer;font-family:var(--font-display);font-size:15px;font-weight:700;color:#fff;background:linear-gradient(120deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);box-shadow:0 6px 18px rgba(124,92,255,.28);transition:transform .15s var(--bl-ease);}
.bltrk-btn:hover{transform:translateY(-1px);}
.bltrk-notfound{text-align:center;padding:32px;border-radius:18px;border:1px solid #e6e2f5;background:#fff;}
.bltrk-notfound .h{font-weight:700;color:var(--bl-ink);margin:0 0 4px;font-family:var(--font-display);}
.bltrk-notfound .p{font-size:14px;color:var(--bl-mute);margin:0;}
.bltrk-notfound a{color:#7C5CFF;text-decoration:underline;}

.bltrk-result{background:#fff;border-radius:18px;border:1px solid #e6e2f5;overflow:hidden;}
.bltrk-rhead{padding:24px;border-bottom:1px solid #e6e2f5;display:flex;flex-direction:column;gap:16px;}
@media(min-width:640px){.bltrk-rhead{flex-direction:row;align-items:center;justify-content:space-between;}}
.bltrk-rhead .lbl{font-size:11px;color:var(--bl-mute);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;}
.bltrk-rhead .num{font-size:20px;font-weight:700;color:var(--bl-ink);font-family:var(--font-mono);margin:0;}
.bltrk-rhead .meta{font-size:14px;color:var(--bl-mute);margin:2px 0 0;}
.bltrk-rhead .total{font-size:20px;font-weight:700;color:var(--bl-ink);font-family:var(--font-display);margin:0;}
.bltrk-rhead .right{text-align:left;}
@media(min-width:640px){.bltrk-rhead .right{text-align:right;}}

.bltrk-cancelled{padding:24px;border-bottom:1px solid #e6e2f5;background:#fef2f2;display:flex;align-items:center;gap:12px;}
.bltrk-cancelled .ic{width:40px;height:40px;border-radius:50%;background:#fee2e2;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#dc2626;}
.bltrk-cancelled .h{font-size:14px;font-weight:700;color:#dc2626;margin:0;}
.bltrk-cancelled .p{font-size:12px;color:rgba(220,38,38,.8);margin:2px 0 0;}
.bltrk-cancelled a{text-decoration:underline;}

.bltrk-steps-wrap{padding:32px 24px;}
.bltrk-steps{position:relative;}
.bltrk-line{position:absolute;top:20px;left:20px;right:20px;height:2px;background:#ece9fa;display:none;}
.bltrk-line-fill{position:absolute;top:20px;left:20px;height:2px;background:#7C5CFF;display:none;transition:right .3s var(--bl-ease);}
@media(min-width:640px){.bltrk-line,.bltrk-line-fill{display:block;}}
.bltrk-steps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(min-width:640px){.bltrk-steps-grid{grid-template-columns:repeat(4,1fr);gap:16px;}}
.bltrk-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;position:relative;}
.bltrk-step-ic{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #e6e2f5;background:#fff;color:var(--bl-mute);}
.bltrk-step.is-complete .bltrk-step-ic{background:#7C5CFF;border-color:#7C5CFF;color:#fff;}
.bltrk-step .lbl{font-size:14px;font-weight:600;color:var(--bl-mute);}
.bltrk-step.is-complete .lbl,.bltrk-step.is-active .lbl{color:var(--bl-ink);}
.bltrk-step .desc{font-size:12px;color:var(--bl-mute);margin-top:4px;line-height:1.5;}
.bltrk-track-cta{margin-top:32px;padding-top:24px;border-top:1px solid #e6e2f5;display:flex;flex-direction:column;align-items:center;text-align:center;}
.bltrk-track-cta a{padding:8px 24px;border-radius:8px;font-weight:700;color:#fff;background:#7C5CFF;margin-bottom:12px;font-family:var(--font-display);}
.bltrk-track-cta .num{font-family:var(--font-mono);font-weight:700;color:#7C5CFF;}
.bltrk-items{margin-top:32px;padding-top:24px;border-top:1px solid #e6e2f5;}
.bltrk-items h3{font-size:14px;font-weight:700;color:var(--bl-ink);margin:0 0 16px;font-family:var(--font-display);}
.bltrk-item{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding:4px 0;}
.bltrk-item .name{color:var(--bl-mute);}
.bltrk-item .name b{font-size:12px;font-weight:600;}
.bltrk-item .price{font-weight:600;color:var(--bl-ink);}

/* ------------------------------------------------------------
   Order status pages (confirmed/success/failed/pending)
   ------------------------------------------------------------ */
.blos-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:64px 16px;background:#fafafa;}
.blos-card{max-width:480px;width:100%;text-align:center;}
.blos-ic{width:80px;height:80px;margin:0 auto 28px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.blos-ic.ok{background:#e8f7f0;color:#16a34a;}
.blos-ic.okfull{background:#10b981;color:#fff;}
.blos-ic.pending{background:#fff9e6;color:#f59e0b;}
.blos-ic.fail{background:#fef2f2;color:#ef4444;}
.blos-card h1{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--bl-ink);margin:0 0 12px;}
.blos-card p.lead{font-size:16px;color:var(--bl-mute);margin:0 0 24px;line-height:1.6;}
.blos-ref{background:#f4f2fb;padding:16px;border-radius:10px;margin-bottom:28px;}
.blos-ref .lbl{font-size:12px;color:var(--bl-mute);margin:0 0 8px;}
.blos-ref .val{font-size:18px;font-weight:600;color:var(--bl-ink);font-family:var(--font-mono);margin:0;}
.blos-note{display:flex;align-items:center;gap:8px;justify-content:center;padding:12px 16px;border-radius:11px;margin-bottom:24px;font-size:14px;}
.blos-note.pending{background:#fff9e6;color:#b45309;}
.blos-note.ok{background:#e8f7f0;color:#15803d;}
.blos-note.fail-reason{background:#f4f2fb;color:var(--bl-mute);text-align:left;flex-direction:column;align-items:flex-start;}
.blos-note.fail-reason .h{font-weight:600;color:var(--bl-ink);margin:0 0 2px;}
.blos-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.blos-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:11px;font-weight:700;font-size:14px;font-family:var(--font-display);border:0;cursor:pointer;}
.blos-btn.primary{color:#fff;background:linear-gradient(120deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);box-shadow:0 6px 18px rgba(124,92,255,.28);}
.blos-btn.primary:hover{transform:translateY(-1px);}
.blos-btn.ghost{background:#ece9fa;color:var(--bl-ink);}
.blos-btn.outline{background:#fff;border:1.5px solid #e6e2f5;color:var(--bl-ink);}
.blos-btn.full{width:100%;}

/* ------------------------------------------------------------
   Account / login / register (WC my-account form-login)
   ------------------------------------------------------------ */
.blac-page{min-height:60vh;background:#f5f4fb;padding:48px 16px;}
.blac-wrap{max-width:920px;margin:0 auto;}
.blac-logo{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:32px;}
.blac-logo .glyph{width:36px;height:36px;border-radius:12px;background:#7C5CFF;display:flex;align-items:center;justify-content:center;}
.blac-logo .txt{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--bl-ink);letter-spacing:-.02em;}
.blac-logo .txt b{color:#7C5CFF;}
.blac-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
@media(max-width:760px){.blac-grid{grid-template-columns:1fr;}}
.blac-card{background:#fff;border-radius:18px;border:1px solid #e6e2f5;padding:32px;box-shadow:0 1px 3px rgba(20,16,46,.05);}
.blac-card h1{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--bl-ink);margin:0 0 4px;}
.blac-card .sub{font-size:14px;color:var(--bl-mute);margin:0 0 28px;}
.blac-card .sub a{color:#7C5CFF;font-weight:600;}
.blac-field{margin-bottom:16px;}
.blac-field label{display:block;font-size:14px;font-weight:600;color:var(--bl-ink);margin-bottom:7px;}
.blac-field input{width:100%;padding:11px 14px;font-size:14px;border:1.5px solid #e6e2f5;border-radius:11px;background:#fff;outline:none;box-sizing:border-box;font-family:var(--font-body);}
.blac-field input:focus{border-color:rgba(124,92,255,.55);box-shadow:0 0 0 3px rgba(124,92,255,.1);}
.blac-field .reveal{position:relative;}
.blac-field .reveal input{padding-right:42px;}
.blac-field .reveal button{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--bl-mute);cursor:pointer;display:flex;}
.blac-forgot{display:flex;justify-content:flex-end;margin-top:-8px;margin-bottom:16px;}
.blac-forgot a{font-size:12px;color:var(--bl-mute);}
.blac-forgot a:hover{color:var(--bl-ink);}
.blac-acks{display:flex;flex-direction:column;gap:12px;margin:8px 0 18px;}
.blac-ack{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.blac-ack input{margin-top:2px;width:16px;height:16px;accent-color:#7C5CFF;flex-shrink:0;}
.blac-ack p{font-size:12px;color:var(--bl-mute);line-height:1.5;margin:0;}
.blac-ack a{text-decoration:underline;}
.blac-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;border:0;border-radius:11px;cursor:pointer;font-family:var(--font-display);font-size:15px;font-weight:700;color:#fff;background:linear-gradient(120deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);box-shadow:0 6px 18px rgba(124,92,255,.28);transition:transform .15s var(--bl-ease);margin-top:6px;}
.blac-btn:hover{transform:translateY(-1px);}
.blac-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.blac-foot{text-align:center;font-size:12px;color:var(--bl-mute);margin-top:24px;}
.blac-foot a{text-decoration:underline;}
.woocommerce-error,.woocommerce-message,.woocommerce-info{
  border-radius:11px;border:1px solid #e6e2f5;background:#faf9ff;padding:12px 16px;font-size:13px;color:var(--bl-ink);list-style:none;margin:0 0 18px;
}
.woocommerce-error{background:#fef2f2;border-color:#fecaca;color:#dc2626;}

/* The validation modal (.bl-vmodal) replaces the inline checkout error notice so the
   page never shifts. Hide the in-flow notice that WooCommerce injects into the form on
   checkout_error — kept in the DOM for a11y, just visually removed (no layout shift). */
form.checkout .woocommerce-NoticeGroup-checkout,
form.checkout .woocommerce-NoticeGroup-updateOrderReview,
form.checkout > .woocommerce-error,
form.checkout > .woocommerce-info,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}

/* ------------------------------------------------------------
   Responsive — collapse to single column, summary on top
   ------------------------------------------------------------ */
@media(max-width:900px){
  /* minmax(0,1fr) (not bare 1fr) so the track can't be forced wider than the screen by content
     min-content; min-width:0 lets the flex/grid children shrink → no horizontal cut-off. */
  .blco-body{grid-template-columns:minmax(0,1fr);padding:18px 12px 80px;gap:18px;}
  .blco-left,.blco-summary-col{min-width:0;max-width:100%;}
  .blco-left>*,.blco-summary-col>*{min-width:0;max-width:100%;box-sizing:border-box;}
  .blco-card{max-width:100%;box-sizing:border-box;}
  .blco-card input,.blco-card select,.blco-card textarea,.blco-card .select2-container,.blco-card .input-text{max-width:100%;box-sizing:border-box;}
  .blco-summary-col{position:static;order:-1;gap:0;}
  .blco-summary-toggle{
    display:flex;width:100%;align-items:center;justify-content:space-between;background:#fff;
    border:1px solid #e6e2f5;border-radius:12px;padding:14px 16px;cursor:pointer;
    box-shadow:0 1px 3px rgba(20,16,46,.06);font:inherit;
  }
  .blco-summary-toggle .ttl{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#14102E;font-family:var(--font-display);}
  .blco-summary-toggle .chev{transition:transform .2s var(--bl-ease);}
  .blco-summary-toggle[aria-expanded="true"] .chev{transform:rotate(180deg);}
  .blco-summary-toggle .amt{font-size:17px;font-weight:700;letter-spacing:-.02em;color:#14102E;font-family:var(--font-display);}
  .blco-summary-content{display:none;}
  .blco-summary-content.is-open{display:flex;margin-top:14px;}
}
@media(max-width:600px){
  .blco-card{padding:20px 18px;}
  .blco-row-grid{grid-template-columns:1fr;}
}

/* ============================================================
   WOOCOMMERCE BLOCK CHECKOUT — Banger branded
   ============================================================ */
.wc-block-checkout{font-family:var(--font-body);}
.wc-block-checkout__main{padding-right:8px;}

/* step cards */
.wc-block-components-checkout-step{background:#fff;border:1px solid #ece7fb;border-radius:20px;padding:26px 30px!important;margin-bottom:20px!important;box-shadow:0 18px 44px -30px rgba(91,59,224,.28);}
.wc-block-components-checkout-step__container::after{display:none!important;}
.wc-block-components-checkout-step__title,.wc-block-components-title{font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:-.02em;color:var(--bl-ink)!important;}
.wc-block-components-checkout-step__heading{margin-top:0!important;margin-bottom:8px!important;}
.wc-block-components-checkout-step__description{color:var(--bl-mute);font-family:var(--font-body);}

/* inputs + selects */
.wc-block-components-text-input input,.wc-block-components-text-input textarea,
.wc-block-checkout select,.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox-control input{
  border:1px solid #e2ddf2!important;border-radius:12px!important;font-family:var(--font-body)!important;
  transition:border-color .18s var(--bl-ease),box-shadow .18s var(--bl-ease)!important;}
.wc-block-components-text-input input:focus,.wc-block-checkout select:focus,
.wc-block-components-combobox-control input:focus{
  border-color:var(--bl-p)!important;box-shadow:0 0 0 4px rgba(124,92,255,.13)!important;outline:none!important;}
.wc-block-components-text-input label{color:var(--bl-mute)!important;font-family:var(--font-body)!important;}
.wc-block-components-text-input.is-active label{color:var(--bl-p)!important;}

/* sidebar / order summary card */
.wc-block-checkout__sidebar .wc-block-components-sidebar{background:#fff;border:1px solid #ece7fb;border-radius:20px;padding:26px 24px!important;box-shadow:0 22px 50px -26px rgba(91,59,224,.3);}
.wc-block-checkout__sidebar .wc-block-components-title{font-size:20px!important;}
.wc-block-components-order-summary-item__description .wc-block-components-product-name{font-family:var(--font-display);font-weight:600;color:var(--bl-ink);}
.wc-block-components-product-metadata__description{display:none!important;} /* hide verbose long product description */
.wc-block-components-product-metadata{font-size:12px;color:var(--bl-mute);}
.wc-block-components-order-summary-item__quantity span{background:var(--bl-ink)!important;border-color:var(--bl-ink)!important;}
.wc-block-components-totals-item__value,.wc-block-formatted-money-amount{font-family:var(--font-display);font-weight:600;color:var(--bl-ink);}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--bl-p)!important;}

/* coupon / panel */
.wc-block-components-panel__button{font-family:var(--font-display);color:var(--bl-p)!important;}

/* place order button */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions_row .wc-block-components-button.contained{
  background:linear-gradient(120deg,#7C5CFF,#5B3BE0)!important;color:#fff!important;border-radius:999px!important;
  font-family:var(--font-display)!important;font-weight:600!important;font-size:16px!important;height:auto!important;padding:16px 30px!important;
  box-shadow:0 14px 30px -10px rgba(124,92,255,.5)!important;transition:transform .2s var(--bl-ease),box-shadow .2s var(--bl-ease)!important;}
.wc-block-components-checkout-place-order-button:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px rgba(124,92,255,.6)!important;}

/* links + checkbox accent */
.wc-block-checkout a{color:var(--bl-p);}
.wc-block-components-checkbox__input:checked{background:var(--bl-p)!important;border-color:var(--bl-p)!important;}

/* ───────── Beautified Order Summary (premium) ───────── */
.wc-block-checkout__sidebar .wc-block-components-sidebar{
  background:linear-gradient(180deg,#ffffff 0%,#fdfcff 100%)!important;
  border:1px solid #ece7fb!important;border-radius:24px!important;padding:26px 24px 22px!important;
  box-shadow:0 26px 64px -32px rgba(91,59,224,.4), 0 2px 10px rgba(20,16,46,.04)!important;
}
.wc-block-checkout__sidebar .wc-block-components-title{font-family:var(--font-display)!important;font-size:1.35rem!important;font-weight:700!important;color:#14102E!important;letter-spacing:-.02em;margin-bottom:18px!important;}
/* product rows */
.wc-block-components-order-summary-item{padding:16px 0!important;border-bottom:1px solid #f4f1fc!important;}
.wc-block-components-order-summary__content .wc-block-components-order-summary-item:last-child{border-bottom:none!important;}
.wc-block-components-order-summary-item__image,.wc-block-components-order-summary-item__image img{border-radius:13px!important;}
.wc-block-components-order-summary-item__image img{box-shadow:0 4px 14px rgba(20,16,46,.12)!important;background:#f6f4ff!important;}
.wc-block-components-order-summary-item__quantity{position:absolute;}
.wc-block-components-order-summary-item__quantity span{background:linear-gradient(135deg,#7C5CFF,#5B3BE0)!important;border:2px solid #fff!important;color:#fff!important;font-family:var(--font-display)!important;font-weight:700!important;box-shadow:0 3px 8px rgba(91,59,224,.4)!important;}
.wc-block-components-product-name{font-family:var(--font-display)!important;font-weight:700!important;color:#14102E!important;font-size:.96rem!important;}
.wc-block-components-order-summary-item__total-price .wc-block-formatted-money-amount{font-family:var(--font-display)!important;font-weight:700!important;color:#14102E!important;}
.wc-block-components-product-metadata,.wc-block-components-product-details{color:#9089a8!important;font-size:.8rem!important;}
/* coupon row */
.wc-block-components-totals-coupon__button-text,.wc-block-components-totals-coupon a{color:#5B3BE0!important;font-weight:700!important;}
.wc-block-components-totals-wrapper{border-top:1px solid #f1eff9!important;}
/* totals */
.wc-block-components-totals-item{padding:7px 0!important;}
.wc-block-components-totals-item__label{color:#6b6488!important;font-size:.92rem!important;}
.wc-block-components-totals-item__value{font-family:var(--font-display)!important;font-weight:600!important;color:#14102E!important;}
/* discounts in green */
.wc-block-components-totals-discount .wc-block-components-totals-item__value,.wc-block-components-totals-item__value:has(+ *){}
/* grand total emphasized */
.wc-block-components-totals-footer-item{border-top:2px solid #ece7fb!important;margin-top:8px!important;padding-top:16px!important;}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--font-display)!important;font-weight:700!important;font-size:1.1rem!important;color:#14102E!important;}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,.wc-block-components-totals-footer-item .wc-block-formatted-money-amount{font-family:var(--font-display)!important;font-weight:800!important;font-size:1.55rem!important;color:#5B3BE0!important;letter-spacing:-.02em;}

/* ============================================================
   AOV: free-ship progress bar + shipping-protection toggle + "Researchers Also Added" carousel
   ============================================================ */
/* Free-shipping progress nudge */
.blco-freeship{padding:12px 18px 14px;border-bottom:1px solid #f1eff9;}
.blco-freeship-top{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--bl-ink);margin-bottom:8px;line-height:1.3;}
.blco-freeship-top svg{color:#7C5CFF;flex-shrink:0;}
.blco-freeship-top strong{color:#5B3BE0;font-weight:700;}
.blco-freeship.is-unlocked .blco-freeship-top{color:#15803d;}
.blco-freeship.is-unlocked .blco-freeship-top svg,.blco-freeship.is-unlocked .blco-freeship-top strong{color:#16a34a;}
.blco-freeship-bar{height:7px;border-radius:99px;background:#ece9f6;overflow:hidden;}
.blco-freeship-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);background-size:200% 100%;animation:blco-flow 3s linear infinite;transition:width .55s var(--bl-ease);}
.blco-freeship.is-unlocked .blco-freeship-bar span{background:linear-gradient(90deg,#16a34a,#22c55e);}

/* Shipping Protection opt-out toggle */
.blco-shipprotect{display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:14px 16px;background:#faf9ff;border:1px solid #ece9fa;border-radius:14px;cursor:pointer;}
.blco-shipprotect-ic{width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid #ece9fa;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.blco-shipprotect-txt{flex:1;min-width:0;}
.blco-shipprotect-txt .t{display:block;font-family:var(--font-display);font-size:13.5px;font-weight:700;color:var(--bl-ink);}
.blco-shipprotect-txt .t .amt{color:#7C5CFF;font-weight:700;}
.blco-shipprotect-txt .d{display:block;font-size:11.5px;color:var(--bl-mute);margin-top:2px;line-height:1.4;}
.blco-toggle{position:relative;flex-shrink:0;width:44px;height:26px;}
.blco-toggle input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2;}
.blco-toggle-track{position:absolute;inset:0;border-radius:99px;background:#cbd5e1;transition:background .2s var(--bl-ease);}
.blco-toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--bl-ease);}
.blco-toggle input:checked ~ .blco-toggle-track{background:linear-gradient(120deg,#7C5CFF,#5B3BE0);}
.blco-toggle input:checked ~ .blco-toggle-track .blco-toggle-knob{transform:translateX(18px);}

/* Recommended carousel (full-width bottom; horizontal swipe on mobile) */
.blco-reco{max-width:1760px;margin:0 auto;padding:8px clamp(20px,4vw,72px) 44px;box-sizing:border-box;width:100%;}
.blco-reco-inner{background:#fff;border:1px solid #ece9f6;border-radius:22px;padding:22px 24px;box-shadow:0 1px 3px rgba(20,16,46,.06),0 10px 34px -18px rgba(91,59,224,.28);}
.blco-reco-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.blco-reco-title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--bl-ink);letter-spacing:-.02em;}
.blco-reco-pill{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,#7C5CFF,#5B3BE0);padding:4px 9px;border-radius:99px;animation:blco-pill-pulse 2.4s ease-in-out infinite;}
@keyframes blco-pill-pulse{0%,100%{box-shadow:0 0 0 0 rgba(124,92,255,.5)}50%{box-shadow:0 0 0 6px rgba(124,92,255,0)}}
.blco-reco-sub{font-size:12.5px;color:var(--bl-mute);margin-top:5px;line-height:1.4;}
.blco-reco-urgent{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:99px;padding:6px 12px;white-space:nowrap;}
.blco-reco-urgent .dot{width:7px;height:7px;border-radius:50%;background:#f59e0b;animation:blco-viewer-pulse 1.8s ease-in-out infinite;flex-shrink:0;}
.blco-reco-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:4px 2px 12px;}
.blco-reco-track::-webkit-scrollbar{height:6px;}
.blco-reco-track::-webkit-scrollbar-thumb{background:#ddd6fe;border-radius:99px;}
.blco-reco-track::-webkit-scrollbar-track{background:transparent;}
.blco-reco-card{position:relative;flex:0 0 230px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1.5px solid #eee9fb;border-radius:16px;overflow:hidden;transition:transform .18s var(--bl-ease),box-shadow .18s var(--bl-ease),border-color .18s var(--bl-ease);animation:blco-reco-in .5s both;}
.blco-reco-card:hover{transform:translateY(-3px);border-color:#cbb8ff;box-shadow:0 16px 32px -16px rgba(91,59,224,.42);}
@keyframes blco-reco-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.blco-reco-card:nth-child(1){animation-delay:.04s}
.blco-reco-card:nth-child(2){animation-delay:.10s}
.blco-reco-card:nth-child(3){animation-delay:.16s}
.blco-reco-card:nth-child(4){animation-delay:.22s}
.blco-reco-card:nth-child(5){animation-delay:.28s}
.blco-reco-card:nth-child(6){animation-delay:.34s}
.blco-reco-tag{position:absolute;top:9px;left:9px;z-index:2;font-family:var(--font-display);font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5B3BE0;background:rgba(255,255,255,.93);border:1px solid #e6e2f5;border-radius:6px;padding:3px 7px;}
.blco-reco-media{height:138px;background:linear-gradient(160deg,#f3f0fc,#ece6fb);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.blco-reco-media img{width:100%;height:100%;object-fit:cover;display:block;}
.blco-reco-card.is-kit .blco-reco-media{background:linear-gradient(135deg,#7C5CFF,#5B3BE0);}
.blco-reco-body{display:flex;flex-direction:column;gap:6px;padding:13px 14px 14px;flex:1;}
.blco-reco-name{font-family:var(--font-display);font-size:13.5px;font-weight:700;color:var(--bl-ink);line-height:1.25;}
.blco-reco-bogo{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;letter-spacing:.02em;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:2px 7px;align-self:flex-start;}
.blco-reco-kitsub{font-size:11px;color:var(--bl-mute);line-height:1.4;}
.blco-reco-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px;}
.blco-reco-price{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--bl-ink);}
.blco-reco-add{flex-shrink:0;border:0;cursor:pointer;font-family:var(--font-display);font-size:12px;font-weight:700;color:#fff;background:linear-gradient(120deg,#9B7BFF,#7C5CFF 55%,#5B3BE0);border-radius:10px;padding:9px 16px;transition:transform .15s var(--bl-ease),box-shadow .15s var(--bl-ease);text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap;}
.blco-reco-add:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(124,92,255,.4);}
.blco-reco-add.is-loading{opacity:.7;pointer-events:none;}
.blco-reco-link{background:linear-gradient(120deg,#14102E,#5B3BE0);width:100%;justify-content:center;}
@media(prefers-reduced-motion:reduce){
  .blco-freeship-bar span,.blco-reco-pill,.blco-reco-urgent .dot,.blco-reco-card{animation:none!important;}
}
@media(max-width:900px){
  .blco-reco{padding-left:16px;padding-right:16px;}
  .blco-reco-inner{padding:18px 16px;border-radius:18px;}
  .blco-reco-head{flex-direction:column;gap:8px;}
  .blco-reco-card{flex:0 0 78vw;max-width:300px;}
}

/* ── Kill the double-border on Country/State (select2): inner selection borderless, styled container is the only box ── */
.blco-card .form-row .select2-container--default .select2-selection--single{border:0!important;background:transparent!important;border-radius:0!important;height:auto!important;min-height:0!important;outline:0!important;}
.blco-card .form-row .select2-container--default.select2-container--open .select2-selection--single,
.blco-card .form-row .select2-container--default.select2-container--focus .select2-selection--single{box-shadow:none!important;border:0!important;}
.blco-card .form-row .select2-selection__rendered{padding:0 22px 0 0!important;color:#1a1530!important;line-height:1.4!important;font-family:var(--font-body);}
.blco-card .form-row .select2-selection__arrow{height:100%!important;top:0!important;right:8px!important;}
.blco-card .form-row .select2-selection__arrow b{border-color:#9B7BFF transparent transparent transparent!important;}

/* ── Shiny + animated BOGO header (matches the trust banner) ── */
.blco-bogo{position:relative;overflow:hidden;background:linear-gradient(110deg,#14102E 0%,#3a2a78 52%,#5b3b8f 100%);background-size:230% 100%;animation:blco-flow 8s ease-in-out infinite;}
.blco-bogo > *{position:relative;z-index:2;}
.blco-bogo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.18) 48%,rgba(255,255,255,.05) 56%,transparent 72%);transform:translateX(-130%);animation:blco-sheen 4.6s ease-in-out infinite;}

/* ── Summary line-item quantity steppers + BOGO note ── */
.blco-item-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
.blco-item-bogo-note{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:#15803d;line-height:1.2;}
.blco-item-stepper{display:inline-flex;align-items:center;border:1px solid #e6e2f5;border-radius:9px;overflow:hidden;align-self:flex-start;background:#fff;}
.blco-item-stepper.is-loading{opacity:.55;pointer-events:none;}
.blco-qty-btn{width:26px;height:26px;border:0;background:#faf9ff;color:#5B3BE0;font-size:15px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);transition:background .15s var(--bl-ease);}
.blco-qty-btn:hover{background:#ece9fa;}
.blco-qty-val{min-width:32px;text-align:center;font-size:12.5px;font-weight:700;color:var(--bl-ink);font-family:var(--font-display);}

@media(prefers-reduced-motion:reduce){ .blco-bogo,.blco-bogo::after{animation:none!important;} }

/* ── Recommended carousel prev/next arrows ── */
.blco-reco-headright{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.blco-reco-nav{display:inline-flex;gap:8px;}
.blco-reco-arrow{width:34px;height:34px;border-radius:50%;border:1px solid #e6e2f5;background:#fff;color:#5B3BE0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s var(--bl-ease),color .15s var(--bl-ease),transform .15s var(--bl-ease),box-shadow .15s var(--bl-ease);box-shadow:0 1px 3px rgba(20,16,46,.06);flex-shrink:0;}
.blco-reco-arrow:hover{background:linear-gradient(120deg,#7C5CFF,#5B3BE0);color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:0 8px 18px rgba(124,92,255,.35);}
@media(max-width:900px){ .blco-reco-nav{display:none;} }

/* ── Build a Full Kit selector (checkout AOV) ── */
.blco-kitsel{ max-width:1760px; margin:14px auto 0; padding:0 clamp(20px,4vw,72px); box-sizing:border-box; width:100%; }
.blco-kitsel-inner{ position:relative; overflow:hidden; background:linear-gradient(135deg,#2c2252,#3a2c6e); border:1px solid rgba(124,92,255,.42); border-radius:22px; padding:22px 24px; box-shadow:0 18px 50px -24px rgba(124,92,255,.55); }
.blco-kitsel-inner::before{ content:""; position:absolute; inset:0; background:radial-gradient(120% 140% at 12% -10%, rgba(255,106,44,.16), transparent 55%); pointer-events:none; }
.blco-kitsel-inner::after{ content:""; position:absolute; top:0; left:-60%; width:55%; height:100%; background:linear-gradient(105deg,transparent,rgba(255,255,255,.10),transparent); transform:skewX(-18deg); animation:blKitShine 6.5s ease-in-out infinite; pointer-events:none; }
@keyframes blKitShine{ 0%,72%{ left:-60%; } 86%,100%{ left:120%; } }
.blco-kitsel-head{ position:relative; z-index:1; margin-bottom:16px; }
.blco-kitsel-title{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.18rem; color:#fff; letter-spacing:-.01em; }
.blco-kitsel-pill{ background:linear-gradient(90deg,#FF6A2C,#ff9356); color:#fff; font-size:.72rem; font-weight:800; padding:4px 9px; border-radius:999px; letter-spacing:.04em; box-shadow:0 4px 14px -4px rgba(255,106,44,.8); }
.blco-kitsel-sub{ margin-top:6px; font-size:.86rem; color:rgba(255,255,255,.72); line-height:1.45; max-width:62ch; }
.blco-kitsel-row{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; }
.blco-kitsel-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.blco-kitsel-field>span{ font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.6); }
.blco-kitsel-field select{ width:100%; appearance:none; -webkit-appearance:none; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237C5CFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 12px center; border:1.5px solid rgba(124,92,255,.4); border-radius:13px; padding:12px 38px 12px 14px; font-size:.95rem; font-weight:600; color:#1a1430; cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.blco-kitsel-field select:focus{ outline:none; border-color:#7C5CFF; box-shadow:0 0 0 3px rgba(124,92,255,.25); }
.blco-kitsel-field select:disabled{ opacity:.5; cursor:not-allowed; }
.blco-kitsel-act{ display:flex; align-items:center; gap:12px; }
.blco-kitsel-price{ font-weight:800; font-size:1.15rem; color:#fff; min-width:80px; text-align:right; font-variant-numeric:tabular-nums; }
.blco-kitsel-add{ background:linear-gradient(90deg,#7C5CFF,#9b7dff); color:#fff; border:none; border-radius:13px; padding:13px 22px; font-size:.95rem; font-weight:800; cursor:pointer; white-space:nowrap; box-shadow:0 8px 24px -8px rgba(124,92,255,.9); transition:transform .12s, box-shadow .12s, opacity .15s; }
.blco-kitsel-add:hover:not(:disabled){ transform:translateY(-1px); box-shadow:0 12px 30px -8px rgba(124,92,255,1); }
.blco-kitsel-add:disabled{ opacity:.45; cursor:not-allowed; }
.blco-kitsel-add.is-loading{ opacity:.7; pointer-events:none; }
.blco-kitsel-viewall{ position:relative; z-index:1; display:inline-block; margin-top:14px; color:#b9a4ff; font-weight:700; font-size:.85rem; text-decoration:none; transition:color .15s, transform .15s; }
.blco-kitsel-viewall:hover{ color:#fff; transform:translateX(3px); }
@media (max-width:640px){
	.blco-kitsel-inner{ padding:18px 16px; border-radius:18px; }
	.blco-kitsel-row{ grid-template-columns:1fr 1fr; }
	.blco-kitsel-act{ grid-column:1 / -1; justify-content:space-between; margin-top:2px; }
	.blco-kitsel-add{ flex:1; text-align:center; }
}

/* ── Build-a-Full-Kit: custom photo dropdowns (replace native <select>) ── */
.blco-kitdd{ position:relative; min-width:0; }
.blco-kitdd-native{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); border:0; }
.blco-kitdd-btn{
	display:flex; align-items:center; gap:10px; width:100%; box-sizing:border-box;
	background:#fff; border:1.5px solid rgba(124,92,255,.4); border-radius:13px;
	padding:9px 12px; min-height:50px; text-align:left; cursor:pointer;
	transition:border-color .15s, box-shadow .15s; font-family:var(--font-body, inherit);
}
.blco-kitdd-btn:focus-visible{ outline:none; border-color:#7C5CFF; box-shadow:0 0 0 3px rgba(124,92,255,.25); }
.blco-kitdd.is-open .blco-kitdd-btn{ border-color:#7C5CFF; box-shadow:0 0 0 3px rgba(124,92,255,.22); }
.blco-kitdd.is-disabled .blco-kitdd-btn,
.blco-kitdd-btn:disabled{ opacity:.5; cursor:not-allowed; }
.blco-kitdd-btn-media{ flex-shrink:0; display:flex; }
.blco-kitdd-btn-media:empty{ display:none; }
.blco-kitdd-btn-label{ flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.18; }
.blco-kitdd-btn-label .t{ font-family:var(--font-display, inherit); font-weight:700; font-size:.95rem; color:#1a1430; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.blco-kitdd-btn-label .s{ font-weight:700; font-size:.8rem; color:#7C5CFF; font-variant-numeric:tabular-nums; }
.blco-kitdd-chev{ flex-shrink:0; color:#7C5CFF; transition:transform .18s; }
.blco-kitdd.is-open .blco-kitdd-chev{ transform:rotate(180deg); }

.blco-kitdd-thumb{
	width:38px; height:38px; border-radius:9px; background:#f3f0ff center/cover no-repeat;
	border:1px solid rgba(124,92,255,.18); flex-shrink:0; display:block;
}
.blco-kitdd-thumb.is-empty{ background:linear-gradient(135deg,#efeaff,#e3dbff); }

.blco-kitdd-panel{
	position:absolute; z-index:40; top:calc(100% + 6px); left:0; right:0;
	background:#fff; border:1px solid rgba(124,92,255,.28); border-radius:14px;
	box-shadow:0 24px 60px -18px rgba(20,16,46,.55); padding:6px; overflow:hidden auto;
	max-height:320px; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
}
.blco-kitdd-opt{
	display:flex; align-items:center; gap:10px; width:100%; box-sizing:border-box;
	background:transparent; border:0; border-radius:10px; padding:8px 9px; cursor:pointer;
	text-align:left; transition:background .12s; font-family:var(--font-body, inherit);
}
.blco-kitdd-opt:hover,
.blco-kitdd-opt:focus-visible{ background:rgba(124,92,255,.1); outline:none; }
.blco-kitdd-opt.is-sel{ background:rgba(124,92,255,.14); }
.blco-kitdd-opt-txt{ flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.2; }
.blco-kitdd-opt-txt .n{ font-family:var(--font-display, inherit); font-weight:700; font-size:.92rem; color:#1a1430; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.blco-kitdd-opt-txt .p{ font-weight:700; font-size:.82rem; color:#7C5CFF; font-variant-numeric:tabular-nums; }
.blco-kitdd-tick{ flex-shrink:0; color:#7C5CFF; }

/* Custom scrollbar inside the panel (e.g. a compound with many doses) */
.blco-kitdd-panel::-webkit-scrollbar{ width:8px; }
.blco-kitdd-panel::-webkit-scrollbar-thumb{ background:rgba(124,92,255,.4); border-radius:8px; }

@media (max-width:640px){
	.blco-kitdd-btn{ min-height:54px; }
	.blco-kitdd-panel{ max-height:min(60vh,340px); }
	.blco-kitdd-thumb{ width:40px; height:40px; }
}

/* ── Mobile checkout polish ── */
/* Reserve room for the SELECTED badge so the long label never runs under it */
.blco-pay-option.is-selected .blco-pay-head{ padding-right:92px; }
/* The floating cart FAB is redundant on checkout AND can overlap the PayPal buttons → hide it here */
body.woocommerce-checkout .bl-cart-fab{ display:none !important; }
@media(max-width:600px){
  .blco-pay-option.is-selected{ padding:16px 16px 16px; }
  .blco-pay-option.is-selected .blco-pay-head{ padding-right:84px; }
  .blco-pay-cards{ margin-left:30px; gap:5px; }
  .blco-pay-cards svg{ width:34px; height:auto; }
  .blco-pay-help{ margin-left:30px; }
}

/* ── CardsShield (mecom_paypal) gateway box — make it pretty + fit mobile ── */
.blco-wc-gateways .payment_box.payment_method_mecom_paypal{ background:#fff !important; border:0 !important; box-shadow:none !important; padding:6px 0 2px !important; margin-top:8px !important; }
.blco-wc-gateways .payment_box.payment_method_mecom_paypal::before{ display:none !important; }
.blco-wc-gateways .mecom-paypal-checkout-description{ font-size:12.5px; line-height:1.5; color:#6b6880; margin:0 0 12px; }
.blco-wc-gateways .mecom-paypal-checkout-description p{ margin:0; }
/* PayPal smart-buttons iframe: full width + room for all 3 (PayPal / Pay Later / Debit-Credit) */
.blco-wc-gateways .mecom-paypal-credit-form-container-inline{ width:100% !important; max-width:100% !important; overflow:visible !important; }
.blco-wc-gateways .mecom-paypal-credit-form-container-inline iframe{ width:100% !important; min-width:100% !important; min-height:150px !important; }
/* Gateway label (Credit/Debit Card + card icons) — wrap so the Visa icon never gets cut off */
.blco-wc-gateways li.wc_payment_method > label{ flex-wrap:wrap; gap:8px; }
.blco-wc-gateways li.wc_payment_method > label img{ max-width:100%; height:auto; }
.blco-wc-gateways li.wc_payment_method img{ max-width:46px; height:auto; }

/* ── Reco card: dose dropdown + full-width BOGO button ── */
.blco-reco-card .blco-reco-foot{ display:flex; flex-direction:column; gap:9px; align-items:stretch; margin-top:auto; }
.blco-reco-priceline{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.blco-reco-dosewrap{ position:relative; display:inline-flex; align-items:center; }
.blco-reco-dose{ appearance:none;-webkit-appearance:none; background:#f5f3ff; border:1.5px solid #ddd6fe; border-radius:8px; padding:5px 23px 5px 9px; font-size:12px; font-weight:600; color:#14102E; cursor:pointer; }
.blco-reco-dose:focus{ outline:none; border-color:#7C5CFF; box-shadow:0 0 0 3px rgba(124,92,255,.2); }
.blco-reco-chev{ position:absolute; right:7px; pointer-events:none; color:#7C5CFF; }
.blco-reco-card .blco-reco-add:not(.blco-reco-link){ width:100%; text-align:center; }

/* ── Mobile: don't spread the review Verified-Purchase badge + stars to opposite edges ── */
@media(max-width:600px){
  .blco-review-top{ justify-content:flex-start; gap:12px; flex-wrap:wrap; }
}

/* Pay-in-4 line + PayPal card (checkout summary) */
.blco-pay4 { display:flex; align-items:center; gap:8px; font-size:12.5px; line-height:1.3; color:#6B6488; margin:14px 18px 8px; font-family:var(--font-body,'Inter',sans-serif); }
.blco-pay4 strong { color:#14102E; font-weight:600; }
.blco-pp { font-family:Arial,Helvetica,sans-serif; font-style:italic; font-weight:800; font-size:13px; color:#003087; flex-shrink:0; }
.blco-pp b { color:#009CDE; }
.blco-card-ic.pp { background:#fff; border:1px solid #e6e2f5; width:auto; min-width:42px; padding:0 6px; gap:0; }
.blco-card-ic.pp .ppa { font-family:Arial,sans-serif; font-style:italic; font-weight:900; font-size:9px; color:#003087; }
.blco-card-ic.pp .ppb { font-family:Arial,sans-serif; font-style:italic; font-weight:900; font-size:9px; color:#009CDE; }

/* Bottom upsell — "Complete your research" (checkout, above footer) */
.blco-recob { max-width: 1240px; margin: 34px auto 8px; padding: 0 20px; }
.blco-recob-head { margin-bottom: 18px; }
.blco-recob-title { font-family: var(--font-display,'Space Grotesk',sans-serif); font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: #14102E; margin: 8px 0 4px; }
.blco-recob-sub { font-size: 13px; color: #6B6488; font-family: var(--font-body,'Inter',sans-serif); }
.blco-recob-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.blco-recob-grid .blco-reco-card { width: auto; min-width: 0; }
@media (max-width: 1024px) { .blco-recob-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 760px) { .blco-recob-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; } }

/* "Before you go" — cart-aware category accordion (#44) */
.blco-ca { max-width: 1240px; margin: 36px auto 8px; padding: 0 20px; }
.blco-ca-head { margin-bottom: 18px; }
.blco-ca-h { font-family: var(--font-display,'Space Grotesk',sans-serif); font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: #14102E; margin: 8px 0 4px; }
.blco-ca-sub { font-size: 13px; color: #6B6488; font-family: var(--font-body,'Inter',sans-serif); max-width: 70ch; }
.blco-ca-list { display: flex; flex-direction: column; gap: 14px; }
.blco-ca-rect { position: relative; display: block; width: 100%; height: 150px; border: none; padding: 0; border-radius: 18px; overflow: hidden; cursor: pointer; text-align: left; background: #0a3d34; box-shadow: 0 10px 30px -16px rgba(20,16,46,.4); }
.blco-ca-bg { position: absolute; inset: 0; background-size: 100% auto; background-position: center 58%; background-repeat: no-repeat; transition: opacity .5s ease, transform .6s ease; }
.blco-ca-dry { background-image: var(--d); }
.blco-ca-wet { background-image: var(--w); opacity: 0; }
.blco-ca-rect:hover .blco-ca-dry { transform: scale(1.03); }
.blco-ca-item.is-open .blco-ca-wet { opacity: 1; }
.blco-ca-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,6,20,.80) 0%, rgba(8,6,20,.38) 46%, rgba(8,6,20,.10) 100%); }
.blco-ca-txt { position: absolute; left: 26px; top: 50%; transform: translateY(-50%); z-index: 2; color: #fff; display: flex; flex-direction: column; gap: 5px; }
.blco-ca-title { font-family: var(--font-display,'Space Grotesk',sans-serif); font-size: 22px; font-weight: 700; letter-spacing: -.015em; line-height: 1.1; }
.blco-ca-csub { font-family: var(--font-body,'Inter',sans-serif); font-size: 12.5px; color: rgba(255,255,255,.85); }
.blco-ca-chev { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); z-index: 2; color: #fff; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.16); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); display: flex; align-items: center; justify-content: center; transition: transform .3s ease, background .2s; }
.blco-ca-item.is-open .blco-ca-chev { transform: translateY(-50%) rotate(180deg); background: rgba(255,255,255,.28); }
.blco-ca-panel { padding: 16px 0 4px; }
.blco-ca-track { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; padding: 2px 2px 12px; }
.blco-ca-track::-webkit-scrollbar { height: 6px; }
.blco-ca-track::-webkit-scrollbar-thumb { background: #d8d0f0; border-radius: 3px; }
.blco-ca-track .blco-reco-card { flex: 0 0 210px; scroll-snap-align: start; }
@media (max-width: 768px) {
  .blco-ca-rect { height: 124px; border-radius: 14px; }
  .blco-ca-dry { background-image: var(--dm); }
  .blco-ca-wet { background-image: var(--wm); }
  .blco-ca-title { font-size: 18px; }
  .blco-ca-txt { left: 18px; }
  .blco-ca-track .blco-reco-card { flex: 0 0 72vw; max-width: 280px; }
}

/* ============================================================
   Checkout top strip — LIGHT LAVENDER redesign (2026-06-24)
   Soft #f0ecff bar: Back · pay-in-4 + accepted methods · secure.
   Appended last so it overrides the dark-gradient strip rules above.
   ============================================================ */
.blco-trustwrap-inner{
  box-shadow:0 1px 2px rgba(20,16,46,.05),0 6px 22px -12px rgba(91,59,224,.20);
}
.blco-trustwrap-inner::after{display:none!important;} /* kill the white sheen sweep on the light bar */
.blco-strip,
.blco-trustwrap-inner .blco-strip{
  background:linear-gradient(110deg,#f3effe 0%,#ece6ff 50%,#f3effe 100%);
  background-size:200% 100%;animation:blco-strip-drift 10s ease-in-out infinite;
  border-bottom:1px solid #e7dffb;
}
@keyframes blco-strip-drift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.blco-strip-inner{
  max-width:none;margin:0;padding:8px 22px;min-height:52px;box-sizing:border-box;
  display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;
}
.blco-strip-back,
.blco-trustwrap-inner .blco-strip-back{
  color:#5B3BE0;font-weight:700;flex-shrink:0;
}
.blco-strip-back:hover{background:rgba(124,92,255,.10);color:#4326c4;}

/* center cluster: pay-in-4 pill + accepted methods */
.blco-strip-msg{
  display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;justify-content:center;flex:1 1 auto;
}
.blco-strip-bnpl{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-family:var(--font-display);font-size:12.5px;font-weight:600;color:#3a2a78;
  background:#fff;border:1px solid #e7dffb;border-radius:999px;padding:5px 14px;
  box-shadow:0 1px 2px rgba(91,59,224,.10);
}
.blco-strip-bnpl b{font-weight:800;color:#5B3BE0;}
.blco-strip-bnpl svg{color:#7C5CFF;flex-shrink:0;}
.blco-strip-methods{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-family:var(--font-display);font-size:12px;font-weight:600;color:#6B6488;letter-spacing:.01em;
}
.blco-strip-methods svg{color:#9B7BFF;flex-shrink:0;}

/* security — deep purple, gentle lock pulse, no white-text wash */
.blco-strip-secure,
.blco-trustwrap-inner .blco-strip-secure{
  color:#5B3BE0;font-weight:800;font-size:12px;flex-shrink:0;
  animation:none!important;text-shadow:none!important;
}
.blco-strip-secure svg{color:#7C5CFF;animation:blco-lock-soft 2.6s ease-in-out infinite;}
@keyframes blco-lock-soft{0%,100%{opacity:.78}50%{opacity:1;filter:drop-shadow(0 0 5px rgba(124,92,255,.55))}}

@media (max-width:720px){
  .blco-strip-inner{justify-content:center;gap:8px 12px;padding:9px 16px;}
  .blco-strip-back{order:-1;margin-right:auto;}
  .blco-strip-secure{order:-1;margin-left:auto;}
  .blco-strip-msg{flex:1 1 100%;order:1;}
}
@media (max-width:460px){
  .blco-strip-methods{display:none;} /* keep it clean on phones; pay-in-4 + secure stay */
}
