/*! BioCollex Refresh · module: checkout · Checkout page (body.woocommerce-checkout form.bxco-form)
 * Phone first, then 640px+, then the two-column layout at 1024px+ (the theme's breakpoint).
 * Goal: the least scrolling with nothing needed to check out left out.
 * The layout comes from this file alone and is keyed to the theme's checkout markup
 * (bxco-*), so nothing jumps when checkout.js runs. checkout.js only adds: email as the
 * first billing field, the compact Zelle / Venmo / Cash App steps, the one-line shipment
 * protection, the bold lead-ins on the two confirmations and the Place Order hint.
 * Every rule is scoped to form.bxco-form, which the order-received page does not have.
 * The theme's checkout CSS and its inline styles in <body> are unlayered and some load after
 * this file, so selectors here carry enough weight to win; !important only where the theme uses it.
 */

/* ---------- Tokens ---------- */
.woocommerce-checkout form.bxco-form {
  --bxrf-co-edge: #cfdcf0;
  --bxrf-co-edge-h: #b4c8e6;
  --bxrf-co-soft: #f6f9fe;
  --bxrf-co-err: #b42318;
  --bxrf-co-err-line: #e0574c;
  --bxrf-co-err-bg: #fff7f6;
  --bxrf-co-ring: 0 0 0 4px rgba(42, 106, 208, .16);
  --bxrf-co-card: 0 1px 2px rgba(10, 31, 68, .05), 0 22px 44px -30px rgba(26, 58, 120, .45);
  --bxrf-co-chip: linear-gradient(135deg, var(--bxrf-navy-2), var(--bxrf-blue));
  --bxrf-co-ic-bill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a6ad0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.5 20c1.3-3.6 4.1-5.4 7.5-5.4s6.2 1.8 7.5 5.4'/%3E%3C/svg%3E");
  --bxrf-co-ic-ship: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a6ad0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2M15 18H9M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E");
  --bxrf-co-ic-pay: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a6ad0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E");
  --bxrf-co-ic-review: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a6ad0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 3h6v3H9zM9 13.5l2 2 4-4'/%3E%3C/svg%3E");
  --bxrf-co-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  counter-reset: bxrf-co-step;
}

/* ---------- Page frame: less padding on phones ---------- */
@media (max-width: 1023.98px) {
  .woocommerce-checkout .bx-page:has(form.bxco-form) { padding: 14px 16px 0; }
}
.woocommerce-checkout .bxco:has(> form.bxco-form) > .bxco-back { margin-bottom: 10px; font-size: 14px; }

/* ---------- Express Check-Out band (from bcx-refresh.js): compact, sub-line on one line ---------- */
.woocommerce-checkout form.bxco-form .bxrf-xp { margin: 0 0 4px; padding: 12px 14px 10px; border-radius: 18px; }
.woocommerce-checkout form.bxco-form .bxrf-xp-h { font-size: 12px; letter-spacing: .12em; }
.woocommerce-checkout form.bxco-form .bxrf-xp-sub {
  flex-wrap: nowrap; gap: 5px; margin: 2px 0 10px; font-size: 12px; line-height: 1.35; text-align: center; text-wrap: balance;
}
.woocommerce-checkout form.bxco-form .bxrf-xp-sub svg { flex: none; }
.woocommerce-checkout form.bxco-form .bxrf-apay-xp { height: 46px; }
.woocommerce-checkout form.bxco-form .bxrf-xp-or { margin-top: 10px; font-size: 11.5px; }

/* ---------- Step headers: number, title, icon tile ---------- */
.woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h,
.woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h) {
  counter-increment: bxrf-co-step;
  display: flex; align-items: center; gap: 10px;
  margin: 26px 0 12px; padding: 0;
  font-size: 19px; font-weight: 800; line-height: 1.2; letter-spacing: -.02em; color: var(--bxrf-ink);
}
.woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h:first-of-type { margin-top: 18px; }
.woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h::before,
.woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h)::before {
  content: counter(bxrf-co-step); content: counter(bxrf-co-step) / "";
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--bxrf-co-chip); color: #fff;
  font-size: 13px; font-weight: 800; letter-spacing: 0; line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 6px 12px -6px rgba(42, 106, 208, .85);
}
.woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h::after,
.woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h)::after {
  content: ""; flex: none; width: 32px; height: 32px; margin-left: auto; border-radius: 10px;
  background: var(--bxrf-co-ic, none) center / 17px 17px no-repeat, linear-gradient(145deg, #f3f7ff, #e1ebfb);
  box-shadow: inset 0 0 0 1px rgba(42, 106, 208, .1);
}
.woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h:has(+ .woocommerce-billing-fields) { --bxrf-co-ic: var(--bxrf-co-ic-bill); }
.woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h:has(+ #bx-shipping-methods, + .woocommerce-shipping-fields) { --bxrf-co-ic: var(--bxrf-co-ic-ship); }
.woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h:has(+ .bxco-secure, + #payment) { --bxrf-co-ic: var(--bxrf-co-ic-pay); }
.woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h) { --bxrf-co-ic: var(--bxrf-co-ic-review); }

/* ---------- 1. Billing: email first (checkout.js moves it), names side by side ---------- */
.woocommerce-checkout form.bxco-form .bxco-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
}
.woocommerce-checkout form.bxco-form .bxco-grid > .form-row {
  grid-column: 1 / -1; min-width: 0; margin: 0; padding: 0; float: none; width: auto;
}
.woocommerce-checkout form.bxco-form .bxco-grid > :is(#billing_first_name_field, #billing_last_name_field, #billing_city_field, #billing_postcode_field, #billing_state_field, #billing_country_field,
  #shipping_first_name_field, #shipping_last_name_field, #shipping_city_field, #shipping_postcode_field, #shipping_state_field, #shipping_country_field) { grid-column: auto; }
.woocommerce-checkout form.bxco-form .bxco-grid > .bxco-remember { margin: 0; padding: 8px 12px; font-size: 12.5px; }
.woocommerce-checkout form.bxco-form .bxco-grid .form-row label {
  display: block; margin: 0 0 4px; padding: 0;
  font-size: 13px; font-weight: 600; line-height: 1.3; color: #22324d;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.woocommerce-checkout form.bxco-form .bxco-grid .form-row label .required { margin-left: 1px; color: var(--bxrf-blue); font-weight: 700; }
.woocommerce-checkout form.bxco-form .bxco-grid .form-row :is(input.input-text, select) {
  display: block; width: 100%; height: 46px; margin: 0; padding: 0 13px; box-sizing: border-box;
  border: 1px solid var(--bxrf-co-edge); border-radius: 11px; background-color: #fff;
  font: inherit; font-size: 16px; line-height: normal; color: var(--bxrf-ink);
  box-shadow: 0 1px 2px rgba(10, 31, 68, .04);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
/* (the extra class outweighs the shared field rule above, so the text stops short of the arrow) */
.woocommerce-checkout form.bxco-form .bxco-grid .form-row .woocommerce-input-wrapper select { padding-right: 34px; background-position: right 10px center; background-size: 16px; text-overflow: ellipsis; }
/* the hint text can be smaller so it fits half-width fields; typed text stays 16px for iOS */
.woocommerce-checkout form.bxco-form .bxco-grid .form-row input.input-text::placeholder { color: #8b98ad; opacity: 1; font-size: 15px; }
.woocommerce-checkout form.bxco-form .bxco-grid .form-row :is(input.input-text, select):focus {
  border-color: var(--bxrf-blue); outline: none; box-shadow: var(--bxrf-co-ring);
}
.woocommerce-checkout form.bxco-form .bxco-grid .form-row.woocommerce-validated :is(input.input-text, select) { border-color: var(--bxrf-co-edge); }
.woocommerce-checkout form.bxco-form .bxco-grid .form-row.woocommerce-invalid :is(input.input-text, select) {
  border-color: var(--bxrf-co-err-line); background-color: var(--bxrf-co-err-bg); box-shadow: none;
}
.woocommerce-checkout form.bxco-form .bxco-grid .form-row.woocommerce-invalid :is(input.input-text, select):focus { box-shadow: 0 0 0 4px rgba(224, 87, 76, .16); }
.woocommerce-checkout form.bxco-form .bxco-grid .form-row.woocommerce-invalid label { color: var(--bxrf-co-err); }
.woocommerce-checkout form.bxco-form .bxco-grid .checkout-inline-error-message {
  margin: 4px 0 0; font-size: 12px; font-weight: 600; line-height: 1.35; color: var(--bxrf-co-err);
}

/* Omnisend opt-ins: one compact panel. The email box keeps its tick, the text box stays unticked. */
.woocommerce-checkout form.bxco-form #omnisend_newsletter_checkbox_field,
.woocommerce-checkout form.bxco-form #omnisend_sms_checkbox_field {
  margin: 0; padding: 9px 12px; background: var(--bxrf-co-soft); border: 1px solid #e3eaf5;
}
.woocommerce-checkout form.bxco-form #omnisend_newsletter_checkbox_field { margin-top: 12px; border-radius: 12px 12px 0 0; border-bottom: 0; padding-bottom: 5px; }
.woocommerce-checkout form.bxco-form #omnisend_sms_checkbox_field { border-radius: 0 0 12px 12px; border-top: 0; padding-top: 5px; }
.woocommerce-checkout form.bxco-form #omnisend_newsletter_checkbox_field:not(:has(+ #omnisend_sms_checkbox_field)) { border-bottom: 1px solid #e3eaf5; border-radius: 12px; padding-bottom: 9px; }
.woocommerce-checkout form.bxco-form :is(#omnisend_newsletter_checkbox_field, #omnisend_sms_checkbox_field) label.checkbox {
  display: flex; align-items: flex-start; gap: 9px; margin: 0;
  font-size: 13.5px; font-weight: 600; line-height: 1.35; color: #1d2a44;
}
.woocommerce-checkout form.bxco-form :is(#omnisend_newsletter_checkbox_field, #omnisend_sms_checkbox_field) input.input-checkbox {
  flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--bxrf-navy-2);
}
.woocommerce-checkout form.bxco-form #omnisend_sms_checkbox_field .bxco-optin-fine {
  margin-top: 2px; font-size: 11px; font-weight: 400; line-height: 1.4; color: #6b7a90;
}

/* ---------- 2. Shipping ---------- */
.woocommerce-checkout form.bxco-form .bxco-main .bxco-ship { gap: 8px; }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-ship-opt {
  align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; border-color: var(--bxrf-co-edge);
}
.woocommerce-checkout form.bxco-form .bxco-main .bxco-ship-opt.is-checked { border-color: #8fb2e6; background-color: #f3f7fe; }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-ship-opt input { margin: 0; accent-color: var(--bxrf-navy-2); }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-ship-name,
.woocommerce-checkout form.bxco-form .bxco-main .bxco-ship-cost { font-size: 15px; }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-ship-note { font-size: 12.5px; }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-toggle-wrap { margin: 8px 0 0; padding: 0; }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-toggle {
  gap: 12px; padding: 12px 14px; border-color: var(--bxrf-co-edge); border-radius: 12px;
  font-size: 15px; line-height: 1.3; color: #1d2a44;
}
.woocommerce-checkout form.bxco-form .bxco-main .bxco-toggle input { width: 18px; height: 18px; accent-color: var(--bxrf-navy-2); }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-toggle:has(input:checked) { border-color: #8fb2e6; background: #f3f7fe; }
.woocommerce-checkout form.bxco-form .woocommerce-shipping-fields .shipping_address { margin-top: 12px; }

/* ---------- 3. Payment ---------- */
.woocommerce-checkout form.bxco-form .bxco-main .bxco-secure { gap: 6px; margin: -6px 0 10px; font-size: 12.5px; line-height: 1.35; }
.woocommerce-checkout form.bxco-form .bxco-main .bxco-secure svg { width: 14px; height: 14px; color: var(--bxrf-ok); }
.woocommerce-checkout form.bxco-form #payment ul.payment_methods { gap: 8px; }
.woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method {
  line-height: 1.4; border-color: var(--bxrf-co-edge); border-radius: 14px;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method:has(> input:checked) {
  border-color: #8fb2e6; background-color: #f5f8fe; box-shadow: 0 10px 24px -20px rgba(26, 58, 120, .6);
}
.woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method > label {
  gap: 8px; min-height: 50px; padding: 12px 14px 12px 44px; font-size: 15px; line-height: 1.3;
}
.woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method > label::before { left: 15px; }
.woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method > label .bxpay-logo { width: 24px; height: 24px; font-size: 14px; }
.woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method .payment_box { padding: 0 14px 14px !important; font-size: 14px; }
.woocommerce-checkout form.bxco-form #payment li.payment_method_tagada_inline .payment_box > p:first-child { margin: 0 0 10px; font-size: 12.5px; }

/* Zelle, Venmo, Cash App: checkout.js swaps the long block for three numbered steps */
.woocommerce-checkout form.bxco-form #payment .payment_box.bxrf-co-done > :is(ol.bxpay-steps, p.bxpay-note) { display: none; }
.woocommerce-checkout form.bxco-form #payment .bxrf-co-pay { margin: 0; color: #24324a; }
.woocommerce-checkout form.bxco-form #payment ol.bxrf-co-steps {
  position: relative; display: grid; gap: 9px; margin: 0; padding: 0; list-style: none;
}
/* the thin line that joins the step numbers */
.woocommerce-checkout form.bxco-form #payment ol.bxrf-co-steps::before {
  content: ""; position: absolute; left: 10.5px; top: 14px; bottom: 14px; width: 1px;
  background: linear-gradient(180deg, #a9c3ea, #d7e3f5);
}
.woocommerce-checkout form.bxco-form #payment ol.bxrf-co-steps > li {
  position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: 10px; align-items: start;
  margin: 0; padding: 0; border: 0; list-style: none;
  font-size: 13.5px; font-weight: 400; line-height: 1.45; text-align: left;
}
/* WooCommerce clears floats on every list item in the payment list with ::before/::after */
.woocommerce-checkout form.bxco-form #payment ol.bxrf-co-steps > li::before,
.woocommerce-checkout form.bxco-form #payment ol.bxrf-co-steps > li::after { content: none; display: none; }
.woocommerce-checkout form.bxco-form #payment .bxrf-co-n {
  position: relative; display: flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; margin-top: -1px; border-radius: 50%;
  background: var(--bxrf-co-chip); color: #fff;
  font-size: 11.5px; font-weight: 800; line-height: 1; font-style: normal;
  box-shadow: 0 0 0 3px #f5f8fe;
}
.woocommerce-checkout form.bxco-form #payment .bxrf-co-steps b { font-weight: 700; color: var(--bxrf-ink); }
.woocommerce-checkout form.bxco-form #payment .bxrf-co-steps .bxrf-co-amt { color: var(--bxrf-navy-2); }
.woocommerce-checkout form.bxco-form #payment .bxrf-co-to { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 8px; margin-top: 5px; }
.woocommerce-checkout form.bxco-form #payment .bxrf-co-handle {
  display: inline-block; max-width: 100%; padding: 4px 10px; border-radius: 8px;
  background: #fff; border: 1px solid var(--bxrf-co-edge); border-left: 3px solid var(--bxrf-co-brand, var(--bxrf-blue));
  font-size: 14px; font-weight: 700; line-height: 1.35; letter-spacing: -.005em; color: var(--bxrf-navy);
  overflow-wrap: anywhere; user-select: all; -webkit-user-select: all;
}
.woocommerce-checkout form.bxco-form #payment .bxrf-co-who { font-size: 12px; line-height: 1.35; color: var(--bxrf-muted); }
.woocommerce-checkout form.bxco-form #payment .bxrf-co-who svg { display: inline-block; margin: -2px 3px 0 0; vertical-align: middle; color: var(--bxrf-ok); }
.woocommerce-checkout form.bxco-form #payment p.bxrf-co-paynote {
  display: flex; align-items: flex-start; gap: 7px; margin: 11px 0 0; padding: 7px 10px; border-radius: 10px;
  background: var(--bxrf-ok-bg); color: #14532d; font-size: 12.5px; font-weight: 600; line-height: 1.4;
}
.woocommerce-checkout form.bxco-form #payment p.bxrf-co-paynote svg { flex: none; margin-top: 1px; }

/* ---------- 4. Review & place order ---------- */
/* Order summary first, then the two confirmations right above Place Order. Visual order only:
   nothing is moved in the page, so WooCommerce's own updates are unaffected. */
.woocommerce-checkout form.bxco-form .bxco-card { display: flex; flex-direction: column; }
.woocommerce-checkout form.bxco-form .bxco-card > * { order: 4; }
.woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h) { order: 0; margin-top: 0; }
.woocommerce-checkout form.bxco-form .bxco-card > .bxco-summary-h { order: 1; }
.woocommerce-checkout form.bxco-form .bxco-card > #order_review { order: 2; }
.woocommerce-checkout form.bxco-form .bxco-card > .bxco-confirm { order: 3; }
.woocommerce-checkout form.bxco-form .bxco-card > #place_order { order: 5; }
.woocommerce-checkout form.bxco-form .bxco-card > .bxrf-co-hint { order: 6; }
.woocommerce-checkout form.bxco-form .bxco-card > .bxco-secure-foot { order: 7; }

.woocommerce-checkout form.bxco-form .bxco-card {
  padding: 20px; background: #fff; border: 1px solid rgba(42, 106, 208, .16); border-radius: 20px; box-shadow: var(--bxrf-co-card);
}
.woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-summary-h {
  display: flex; align-items: baseline; gap: 6px; margin: 0 0 7px; padding: 0;
  font-size: 11.5px; font-weight: 800; line-height: 1.3; letter-spacing: .09em; text-transform: uppercase; color: var(--bxrf-muted);
}
.woocommerce-checkout form.bxco-form .bxco-card > #order_review {
  margin: 0 0 12px; padding: 12px 14px; background: #f7f9fd; border: 1px solid #e3eaf5; border-radius: 16px;
}
.woocommerce-checkout form.bxco-form #order_review .bxco-items { gap: 10px; margin: 0 0 10px; }
.woocommerce-checkout form.bxco-form #order_review .bxco-item { align-items: center; gap: 12px; }
.woocommerce-checkout form.bxco-form #order_review .bxco-item-thumb { width: 46px; height: 46px; border-color: #e3eaf5; }
.woocommerce-checkout form.bxco-form #order_review .bxco-item-info { gap: 3px; }
.woocommerce-checkout form.bxco-form #order_review .bxco-item-name { font-size: 14.5px; line-height: 1.3; }
.woocommerce-checkout form.bxco-form #order_review .bxco-item-price { font-size: 14.5px; }
.woocommerce-checkout form.bxco-form #order_review .bxco-chip { padding: 1px 6px; font-size: 10.5px; }

/* Free shipment protection: one line (checkout.js); the full wording opens under it */
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot {
  position: relative; overflow: hidden; display: flex; align-items: center; gap: 8px;
  margin: 0 0 10px; padding: 6px 6px 6px 10px; border-radius: 10px;
  background: linear-gradient(90deg, #e3f4e9, #f1f9f4); box-shadow: inset 0 0 0 1px rgba(21, 128, 61, .12);
  font-size: 12.5px; line-height: 1.35; color: #14532d;
  container: bxrf-co-prot / inline-size;
}
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-ic { position: relative; flex: none; display: flex; color: var(--bxrf-ok); }
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-t { flex: 1 1 auto; min-width: 0; }
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-t b { font-weight: 700; color: #0f3d22; }
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-more {
  flex: none; display: inline-flex; align-items: center; gap: 3px; min-height: 28px; margin: 0; padding: 0 8px; border: 0; border-radius: 8px;
  background: rgba(255, 255, 255, .7); color: #166534; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-t { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* phones: "included" drops so the line stays on one line */
@container bxrf-co-prot (max-width: 330px) {
  .woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-x { display: none; }
}
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-more svg { transition: transform .25s var(--bxrf-ease); }
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-more[aria-expanded="true"] svg { transform: rotate(180deg); }
.woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-more:focus-visible { outline: 2px solid var(--bxrf-ok); outline-offset: 1px; }
.woocommerce-checkout form.bxco-form #order_review p.bxco-protect.bxrf-co-prot-body { margin: -4px 0 10px; padding: 9px 11px; font-size: 12px; line-height: 1.5; background: #f1f9f4; color: #1f4d33; }
.woocommerce-checkout form.bxco-form #order_review p.bxco-protect.bxrf-co-prot-body[hidden] { display: none; }
/* Animation, once: the shield's tick draws in and a soft light passes over the line */
.woocommerce-checkout form.bxco-form .bxrf-co-prot .bxrf-co-tick { stroke-dasharray: 12; stroke-dashoffset: 0; }
.woocommerce-checkout form.bxco-form .bxrf-co-prot.is-wait .bxrf-co-tick { stroke-dashoffset: 12; }
.woocommerce-checkout form.bxco-form .bxrf-co-prot.is-play .bxrf-co-tick { animation: bxrf-co-tick .5s var(--bxrf-ease) .25s both; }
.woocommerce-checkout form.bxco-form .bxrf-co-prot.is-play .bxrf-co-prot-ic svg { animation: bxrf-co-pop .6s var(--bxrf-ease) both; }
.woocommerce-checkout form.bxco-form .bxrf-co-prot.is-play::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 40%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent);
  animation: bxrf-co-shine 1.1s ease-out .45s both;
}
@keyframes bxrf-co-tick { from { stroke-dashoffset: 12; } to { stroke-dashoffset: 0; } }
@keyframes bxrf-co-pop { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.12); opacity: 1; } 100% { transform: none; } }
@keyframes bxrf-co-shine { from { transform: translateX(-110%); } to { transform: translateX(260%); } }

/* Promo code: one row */
.woocommerce-checkout form.bxco-form #order_review .bxco-promo {
  position: relative; margin: 0 0 10px; padding: 0; border: 0; border-radius: 0; background: none;
}
.woocommerce-checkout form.bxco-form #order_review .bxco-promo-head { position: absolute; left: 4px; top: 4px; z-index: 1; margin: 0; pointer-events: none; }
.woocommerce-checkout form.bxco-form #order_review .bxco-promo-ico { flex-basis: 32px; width: 32px; height: 32px; background: #e8f0fb; }
.woocommerce-checkout form.bxco-form #order_review .bxco-promo-label {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.woocommerce-checkout form.bxco-form #order_review .bxco-promo-row { height: 42px; padding: 3px 3px 3px 42px; border-color: var(--bxrf-co-edge); background: #fff; }
.woocommerce-checkout form.bxco-form #order_review .bxco-promo-row:focus-within { border-color: var(--bxrf-blue); box-shadow: var(--bxrf-co-ring); }
.woocommerce-checkout form.bxco-form #order_review .bxco-promo .bxco-promo-input { font-size: 16px; }
.woocommerce-checkout form.bxco-form #order_review .bxco-promo .bxco-promo-btn { height: 34px; padding: 0 16px; background: var(--bxrf-navy-2); font-size: 13.5px; font-weight: 700; }
.woocommerce-checkout form.bxco-form #order_review .bxco-promo-msg { margin: 6px 2px 0; font-size: 12.5px; }

/* Totals */
.woocommerce-checkout form.bxco-form #order_review .bxco-totals { gap: 4px; padding-top: 10px; border-top-color: #e3eaf5; }
.woocommerce-checkout form.bxco-form #order_review .bxco-totals > div { font-size: 13.5px; line-height: 1.4; }
.woocommerce-checkout form.bxco-form #order_review .bxco-totals > div.bxco-total {
  align-items: baseline; margin-top: 4px; padding-top: 8px; border-top-color: #e3eaf5; font-size: 16px; font-weight: 800;
}
.woocommerce-checkout form.bxco-form #order_review .bxco-totals > div.bxco-total dd { font-size: 19px; font-weight: 800; letter-spacing: -.02em; color: var(--bxrf-ink); }

/* The two confirmations: exact wording, a bold lead-in, the whole box ticks */
.woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm {
  display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 10px; align-items: start;
  margin: 0 0 8px; padding: 10px 12px 11px 11px; border: 1px solid var(--bxrf-co-edge); border-radius: 14px; background: #fff;
  font-size: 12px; line-height: 1.45; color: #3b4a61; cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm:has(input:checked) {
  border-color: #8fb2e6; background: #f3f7fe; box-shadow: inset 3px 0 0 var(--bxrf-blue);
}
.woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm input {
  width: 20px; height: 20px; margin: 0; accent-color: var(--bxrf-navy-2); cursor: pointer;
}
.woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm strong { font-weight: 700; color: #1d2a44; }
.woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm .bxrf-co-lead {
  display: block; margin: 0 0 2px; font-size: 13.5px; font-weight: 800; line-height: 1.35; letter-spacing: -.01em; color: var(--bxrf-ink);
}
.woocommerce-checkout form.bxco-form .bxco-card > p.bxco-legal {
  margin: 2px 0 12px; padding: 0 2px; border: 0; font-size: 11.5px; line-height: 1.5; color: #6b7a90;
}
.woocommerce-checkout form.bxco-form .bxco-card > p.bxco-legal :is(a, u) { color: #44536b; text-underline-offset: 2px; }

/* Place Order */
.woocommerce-checkout form.bxco-form .bxco-card > #place_order.bxco-place {
  height: 54px; margin: 0; border-radius: 999px;
  background: linear-gradient(135deg, var(--bxrf-navy-2), var(--bxrf-blue));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 14px 26px -14px rgba(42, 106, 208, .9);
  font-size: 16.5px; font-weight: 800; letter-spacing: -.005em;
  transition: transform .2s var(--bxrf-ease), box-shadow .2s ease, opacity .2s ease, filter .2s ease;
}
.woocommerce-checkout form.bxco-form .bxco-card > #place_order.bxco-place:is(:disabled, .is-disabled) { opacity: .45; box-shadow: none; filter: saturate(.6); }
.woocommerce-checkout form.bxco-form .bxco-card > #place_order.bxco-place:not(:disabled):active { transform: scale(.98); }
.woocommerce-checkout form.bxco-form .bxco-card > #place_order.bxco-place:focus-visible { outline: 2px solid var(--bxrf-navy); outline-offset: 3px; }
.woocommerce-checkout form.bxco-form .bxco-card > .bxrf-co-hint {
  display: flex; align-items: center; justify-content: center; gap: 5px; margin: 8px 0 0;
  font-size: 12.5px; font-weight: 600; line-height: 1.35; color: var(--bxrf-navy-2); text-align: center;
}
.woocommerce-checkout form.bxco-form .bxco-card > #place_order:not(:disabled) ~ .bxrf-co-hint { display: none; }
.woocommerce-checkout form.bxco-form .bxco-card > .bxco-secure-foot { margin: 8px 0 0; font-size: 12px; }

/* ---------- Phones and tablets: one column, the review step reads like the others ---------- */
@media (max-width: 1023.98px) {
  .woocommerce-checkout form.bxco-form { gap: 0; }
  .woocommerce-checkout form.bxco-form .bxco-card { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
  .woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h) { margin-top: 26px; }
  .woocommerce-checkout form.bxco-form .bxco-card > .bxco-secure-foot { margin-bottom: 8px; }
}

/* Narrow phones (320-374px): the theme zooms the page 1.1x, so a 360px phone lays out ~327px */
@media (max-width: 374.98px) {
  .woocommerce-checkout .bx-page:has(form.bxco-form) { padding-left: 12px; padding-right: 12px; }
  .woocommerce-checkout form.bxco-form .bxco-grid { gap: 9px 8px; }
  .woocommerce-checkout form.bxco-form .bxco-grid .form-row :is(input.input-text, select) { padding-left: 11px; }
  .woocommerce-checkout form.bxco-form .bxco-grid .form-row .woocommerce-input-wrapper select { padding-right: 28px; background-position: right 7px center; }
  .woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm { padding: 9px 10px; column-gap: 9px; }
  .woocommerce-checkout form.bxco-form .bxco-card > #order_review { padding: 11px 12px; }
}

/* ---------- 640px and up: four-column address grid ---------- */
@media (min-width: 640px) {
  .woocommerce-checkout form.bxco-form .bxco-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .woocommerce-checkout form.bxco-form .bxco-grid > :is(#billing_first_name_field, #billing_last_name_field, #billing_address_1_field, #billing_address_2_field, #billing_phone_field, #billing_industry_field,
    #shipping_first_name_field, #shipping_last_name_field, #shipping_address_1_field, #shipping_address_2_field) { grid-column: span 2; }
  .woocommerce-checkout form.bxco-form .bxco-grid > :is(#billing_city_field, #billing_postcode_field, #billing_state_field, #billing_country_field,
    #shipping_city_field, #shipping_postcode_field, #shipping_state_field, #shipping_country_field) { grid-column: span 1; }
  .woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h,
  .woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h) { font-size: 20px; }
  .woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h { margin-top: 30px; }
  .woocommerce-checkout form.bxco-form #omnisend_sms_checkbox_field .bxco-optin-fine { font-size: 11.5px; }
}

/* ---------- 1024px and up: two columns, the review card sticks ---------- */
@media (min-width: 1024px) {
  .woocommerce-checkout form.bxco-form { grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; }
  .woocommerce-checkout form.bxco-form .bxco-main h2.bxco-h:first-of-type { margin-top: 6px; }
  .woocommerce-checkout form.bxco-form .bxrf-xp { margin-bottom: 14px; }
  .woocommerce-checkout form.bxco-form .bxco-card > h3.bxco-card-h:not(.bxco-summary-h) { margin-bottom: 14px; }
  /* A card taller than the window (checkout.js measures) sticks by its bottom edge instead,
     so Place Order stays in view while the left column scrolls. */
  .woocommerce-checkout form.bxco-form > .bxco-side.bxrf-co-tall { align-self: end; top: auto; bottom: 16px; }
}

/* ---------- Floating extras on phones ---------- */
@media (max-width: 1023.98px) {
  /* While a field is in use the chat bubble and the Apple Pay bar step aside, and the bar
     also gives way once Place Order is on screen, so neither covers what is being tapped. */
  html.bxrf-co-typing body.woocommerce-checkout #bcx-agent:not(.bcx-open) { opacity: 0; pointer-events: none; }
  /* the bar's entrance animation holds its opacity, so it is switched off while hidden;
     it plays again (a short rise) when the bar comes back */
  html:is(.bxrf-co-typing, .bxrf-co-cta) body.woocommerce-checkout .bxrf-xpbar {
    animation: none; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(14px);
    transition: opacity .2s ease, transform .25s var(--bxrf-ease), visibility 0s linear .25s;
  }
  html:is(.bxrf-co-typing, .bxrf-co-cta).bxrf-xpbar-on body.woocommerce-checkout #bcx-agent { transform: none; }
}

/* Chat bubble over a price, Apply or Place Order (checkout.js sets bxrf-co-clear). Only faded:
   moving it would change what it overlaps. */
html.bxrf-co-clear body.woocommerce-checkout #bcx-agent:not(.bcx-open) { opacity: 0; pointer-events: none; }

/* ---------- Mouse and trackpad ---------- */
@media (hover: hover) and (pointer: fine) {
  .woocommerce-checkout form.bxco-form .bxco-grid .form-row :is(input.input-text, select):hover:not(:focus) { border-color: var(--bxrf-co-edge-h); }
  .woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method:not(:has(> input:checked)):hover { border-color: var(--bxrf-co-edge-h); }
  .woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm:hover { border-color: var(--bxrf-co-edge-h); }
  .woocommerce-checkout form.bxco-form .bxco-card > #place_order.bxco-place:not(:disabled):hover { filter: none; transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 18px 30px -14px rgba(42, 106, 208, .95); }
  .woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-more:hover { background: #fff; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .woocommerce-checkout form.bxco-form .bxco-grid .form-row :is(input.input-text, select),
  .woocommerce-checkout form.bxco-form #payment ul.payment_methods li.wc_payment_method,
  .woocommerce-checkout form.bxco-form .bxco-card > label.bxco-confirm,
  .woocommerce-checkout form.bxco-form .bxco-card > #place_order.bxco-place,
  .woocommerce-checkout form.bxco-form #order_review .bxrf-co-prot-more svg,
  html:is(.bxrf-co-typing, .bxrf-co-cta) body.woocommerce-checkout .bxrf-xpbar { transition: none; }
  .woocommerce-checkout form.bxco-form .bxrf-co-prot .bxrf-co-tick,
  .woocommerce-checkout form.bxco-form .bxrf-co-prot-ic svg,
  .woocommerce-checkout form.bxco-form .bxrf-co-prot::after { animation: none !important; stroke-dashoffset: 0 !important; }
  .woocommerce-checkout form.bxco-form .bxco-card > #place_order.bxco-place:hover { transform: none; }
}
