/* BazShop Verse 4.2 – cart drawer + checkout fixes (loaded after theme.css) */

/* ---------- Cart drawer ---------- */
.bz-drawer { max-width: 100vw; overflow: hidden; }
.bz-drawer .bz-dh { flex: none; }
.bz-drawer .bz-dv { min-width: 0; }
.bz-drawer #bz-lines { padding: 0; overflow-x: hidden; }
.bz-drawer .bz-cl { list-style: none !important; margin: 0 !important; padding: 0 14px !important; }
.bz-drawer .bz-cli { list-style: none !important; display: flex !important; align-items: flex-start; gap: 12px; position: relative; padding: 12px 30px 12px 0 !important; border-bottom: 1px solid var(--bz-line); }
.bz-drawer .bz-cli::marker { content: ""; }
.bz-drawer .bz-cli-img { flex: none; width: 64px; height: 64px; display: block; border-radius: 8px; overflow: hidden; background: var(--bz-surface); }
.bz-drawer .bz-cli-img img,
.bz-drawer img.bz-thumb { width: 64px !important; height: 64px !important; max-width: none !important; object-fit: cover; border-radius: 8px; display: block; }
.bz-drawer .bz-cli-b { flex: 1; min-width: 0; }
.bz-drawer .bz-cli-t { font-size: 13px; font-weight: 600; line-height: 1.35; }
.bz-drawer .bz-cli-r { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.bz-drawer .bz-cq { display: inline-flex; align-items: center; height: 30px; border: 1px solid var(--bz-line); border-radius: 999px; overflow: hidden; background: #fff; }
.bz-drawer .bz-cq button { width: 30px; height: 100%; border: 0; background: #fff; font-size: 16px; line-height: 1; padding: 0; color: var(--bz-ink); }
.bz-drawer .bz-cq span { min-width: 26px; text-align: center; font-size: 13px; font-weight: 700; }
.bz-drawer .bz-cx { position: absolute; top: 10px; right: 0; width: 24px; height: 24px; border: 0; border-radius: 50%; background: none; color: var(--bz-mut); font-size: 20px; line-height: 1; padding: 0; }
.bz-drawer .bz-csub { display: flex; justify-content: space-between; align-items: center; padding: 14px; font-size: 15px; }
.bz-drawer .bz-fdel { position: sticky; top: 0; z-index: 2; }
.bz-drawer .bz-df { flex: none; }

/* ---------- Free delivery bar ---------- */
.bz-fdel-bar { height: 8px; border-radius: 8px; background: var(--bz-line); overflow: hidden; }
.bz-fdel-bar i { display: block; height: 100%; border-radius: 8px; }
.bz-sum > .bz-fdel { border-bottom: 1px solid var(--bz-line); }

/* ---------- Checkout page ---------- */
body.woocommerce-checkout .bz-layout-cols { display: block !important; }
body.woocommerce-checkout .bz-layout-cols > aside,
body.woocommerce-checkout .bz-sidebar,
body.woocommerce-checkout .bz-widget { display: none !important; }
body.woocommerce-checkout .bz-static { max-width: 1240px; margin: 0 auto; }
body.woocommerce-checkout .bz-static > h1 { font-size: 22px; margin: 0 0 18px; text-transform: uppercase; letter-spacing: .04em; }

form.bz-co .bz-co-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
@media (min-width: 900px) { form.bz-co .bz-co-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; } form.bz-co .bz-co-right { position: sticky; top: 90px; } }

form.bz-co h3 { margin: 0 0 14px; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
form.bz-co .woocommerce-billing-fields__field-wrapper,
form.bz-co .woocommerce-shipping-fields__field-wrapper,
form.bz-co .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
form.bz-co .form-row { display: block !important; float: none !important; width: auto !important; margin: 0 0 14px !important; padding: 0; grid-column: 1 / -1; }
form.bz-co .form-row-first,
form.bz-co .form-row-last { grid-column: auto; }
form.bz-co .form-row > label { display: block !important; margin: 0 0 6px; font-size: 13px; font-weight: 600; line-height: 1.3; }
form.bz-co .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
form.bz-co .form-row input.input-text,
form.bz-co .form-row input[type="text"],
form.bz-co .form-row input[type="email"],
form.bz-co .form-row input[type="tel"],
form.bz-co .form-row input[type="password"],
form.bz-co .form-row select,
form.bz-co .form-row textarea {
  display: block; width: 100% !important; max-width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--bz-line); border-radius: 8px; background: #fff; font-size: 14px; line-height: 1.2; color: var(--bz-ink);
}
form.bz-co .form-row textarea { height: auto !important; min-height: 100px; padding: 12px 14px; resize: vertical; }
form.bz-co .form-row select { appearance: auto; padding-right: 10px; }
form.bz-co .form-row .select2-container { width: 100% !important; display: block; }
form.bz-co .form-row .select2-container .select2-selection--single { height: 46px; display: flex; align-items: center; border: 1px solid var(--bz-line); border-radius: 8px; }
form.bz-co .form-row .select2-container .select2-selection__rendered { padding: 0 14px; line-height: 1.2; }
form.bz-co .form-row .select2-container .select2-selection__arrow { height: 44px; right: 8px; }
form.bz-co .form-row input::placeholder { color: #9a9a9a; }
form.bz-co .form-row input:focus,
form.bz-co .form-row select:focus,
form.bz-co .form-row textarea:focus { outline: 0; border-color: var(--bz-ink); }
form.bz-co .form-row .required { color: var(--bz-red); text-decoration: none; border: 0; }
form.bz-co #billing_address_2_field > label.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
form.bz-co #ship-to-different-address { margin: 8px 0 14px; }
form.bz-co #ship-to-different-address label { display: flex; gap: 8px; align-items: center; font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: 0; }
form.bz-co #ship-to-different-address input { width: 18px; height: 18px; }
form.bz-co .woocommerce-additional-fields { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--bz-line); }
@media (max-width: 599px) {
  form.bz-co .woocommerce-billing-fields__field-wrapper,
  form.bz-co .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  form.bz-co .form-row-first, form.bz-co .form-row-last { grid-column: 1 / -1; }
}

/* coupon + login toggles above the form */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info { display: block; margin: 0 0 14px; padding: 12px 16px; border: 1px dashed var(--bz-ink); border-radius: 8px; background: var(--bz-surface); font-size: 13px; }
body.woocommerce-checkout .woocommerce-info a { text-decoration: underline; font-weight: 700; }
body.woocommerce-checkout form.checkout_coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 16px; padding: 14px; border: 1px solid var(--bz-line); border-radius: 8px; }
body.woocommerce-checkout form.checkout_coupon p { margin: 0; float: none; width: auto; }
body.woocommerce-checkout form.checkout_coupon p.form-row-first { flex: 1; min-width: 180px; }
body.woocommerce-checkout form.checkout_coupon input.input-text { width: 100%; height: 44px; padding: 0 14px; border: 1px solid var(--bz-line); border-radius: 8px; }
body.woocommerce-checkout form.checkout_coupon button { height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--bz-ink); color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

/* order summary */
.bz-sum-img img, .bz-sum-img img.bz-thumb { width: 56px !important; height: 56px !important; max-width: none !important; object-fit: cover; border-radius: 8px; border: 1px solid var(--bz-line); display: block; }
.bz-sum-items { list-style: none !important; margin: 0 !important; padding: 4px 16px !important; }
.bz-sum-i { list-style: none !important; }

/* payment */
#payment { background: transparent; }
#payment ul.payment_methods { list-style: none; margin: 0 0 12px; padding: 0; }
#payment ul.payment_methods li { list-style: none; margin: 0 0 8px; }
#payment ul.payment_methods li > label { display: inline; font-weight: 700; font-size: 14px; margin-left: 6px; }
#payment .payment_box { margin: 8px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--bz-surface); font-size: 13px; color: var(--bz-mut); }
#payment .payment_box p { margin: 0; }
#payment #place_order { display: block; width: 100%; height: 52px; border: 0; border-radius: 999px; background: var(--bz-cta); color: var(--bz-cta-tx); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Checkout on mobile: hide the product list, keep totals / shipping / payment ---------- */
@media (max-width: 759px) {
  body.woocommerce-checkout .bz-sum-box { display: none !important; }
  body.woocommerce-checkout .bz-sum { border-radius: 10px; }
  body.woocommerce-checkout .bz-co-right { order: 2; }
}

/* ---------- Wider single product page ---------- */
body.single-product main.bz-wrap { max-width: 1680px; padding-left: 28px; padding-right: 28px; }
@media (max-width: 600px) { body.single-product main.bz-wrap { padding-left: 12px; padding-right: 12px; } }
@media (min-width: 860px) { body.single-product .bz-pd { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; } }
body.single-product .bz-sec { max-width: none; }

/* ---------- Reviews: wide 2-column layout ---------- */
.bz-rv { max-width: none; width: 100%; margin: 0; }
.bz-rv-head { padding-bottom: 14px; margin-bottom: 20px; border-bottom: 1px solid var(--bz-ink); }
.bz-rv-head h2 { font-size: 18px; }
.bz-rv-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
@media (min-width: 980px) { .bz-rv-cols { grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); gap: 48px; } .bz-rv-formcol { position: sticky; top: 90px; } }
.bz-rv-list { margin: 0 0 16px; }
.bz-rv-item { padding: 18px 20px; margin-bottom: 12px; border: 1px solid var(--bz-line); border-radius: 12px; background: #fff; }
.bz-rv-item:last-child { border-bottom: 1px solid var(--bz-line); }
.bz-rv-txt p { font-size: 15px; line-height: 1.6; }
.bz-rv-formwrap { margin-top: 0; background: var(--bz-surface); border: 0; border-radius: 12px; padding: 22px; }
.bz-rv-loadmore { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 320px; margin: 4px auto 24px; height: 46px; background: #fff; color: var(--bz-ink); border: 1px solid var(--bz-ink); border-radius: 999px; font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.bz-rv-loadmore:hover { background: var(--bz-ink); color: #fff; }

/* ---------- "Added to cart" toast + cart icon bump (side cart no longer auto-opens) ---------- */
#bz-toast { z-index: 9999; }
@keyframes bzbump { 0% { transform: scale(1); } 40% { transform: scale(1.25); } 100% { transform: scale(1); } }
.bz-cart-btn.bz-bump { animation: bzbump .45s ease; }

/* =====================================================================
   Checkout – reference style: 3 stacked cards on the right
   (1) collapsible Order summary  (2) Shipping options  (3) Total + Payment
   ===================================================================== */
form.bz-co .bz-co-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; margin: 20px 0 40px; }
@media (min-width: 900px) { form.bz-co .bz-co-grid { grid-template-columns: minmax(0, 1.35fr) minmax(340px, 1fr); gap: 32px; align-items: start; } }
form.bz-co .bz-checkout-right { display: block; }
.bz-sumwrap { display: block; }
.bz-sumwrap .bz-order-summary { border: 1px solid var(--bz-line); border-radius: var(--bz-card-r); background: #fff; overflow: hidden; margin: 0 0 18px; }
.bz-order-summary .bz-fdel { position: static; border-bottom: 1px solid var(--bz-line); }

/* toggle row */
.bz-order-summary .bz-sum-box > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; background: var(--bz-surface); font-size: 14px; font-weight: 700; }
.bz-order-summary .bz-sum-box > summary::-webkit-details-marker { display: none; }
.bz-order-summary .bz-sum-box > summary::before { content: none !important; }
.bz-order-summary .bz-sum-t { text-transform: none; letter-spacing: 0; font-size: 14px; }
.bz-order-summary .bz-sum-a { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; }
.bz-order-summary .bz-sum-a::after { content: "\25BE"; font-size: 13px; transition: transform .2s; }
.bz-order-summary .bz-sum-box[open] > summary .bz-sum-a::after { transform: rotate(180deg); }
.bz-order-summary .bz-sum-box[open] > summary { border-bottom: 1px solid var(--bz-line); }
.bz-order-summary .bz-totals { border-top: 1px solid var(--bz-line); }

/* shipping card */
.bz-sumwrap .bz-shipbox { padding: 14px 16px; }
.bz-sumwrap .bz-shipbox h4 { margin: 0 0 10px; font-size: 15px; font-weight: 800; text-transform: none; letter-spacing: 0; }

/* total card + payment as one card */
.bz-sumwrap .bz-total-card { margin: 0; border-bottom: 0; border-radius: var(--bz-card-r) var(--bz-card-r) 0 0; padding: 14px 16px 0; }
.bz-total-row { display: flex; justify-content: space-between; align-items: center; font-weight: 800; font-size: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--bz-line); }
body.woocommerce-checkout #payment { margin: 0; border: 1px solid var(--bz-line); border-top: 0; border-radius: 0 0 var(--bz-card-r) var(--bz-card-r); padding: 14px 16px 16px; background: #fff; }
body.woocommerce-checkout #payment #place_order { height: 48px; margin-top: 14px; background: var(--bz-ink) !important; color: #fff !important; border-radius: var(--bz-btn-r) !important; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }

/* mobile: product list hidden (as requested earlier) – keep free bar, shipping, total, payment */
@media (max-width: 759px) {
  body.woocommerce-checkout .bz-order-summary .bz-sum-box { display: none !important; }
}


/* =====================================================================
   Checkout v4.3 – Shopify-style fields, Total above coupons, no progress bar
   ===================================================================== */
/* card 1 */
.bz-sumcard .bz-total-row { padding: 16px; border-bottom: 1px solid var(--bz-line); font-size: 18px; }
.bz-coupon { margin: 14px 16px 0; border: 1px solid #c9c9c9; border-radius: 8px; background: #fff; }
.bz-coupon > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 15px 14px; font-size: 14px; }
.bz-coupon > summary::-webkit-details-marker { display: none; }
.bz-coupon > summary i { font-style: normal; font-size: 20px; line-height: 1; transition: transform .2s; }
.bz-coupon[open] > summary i { transform: rotate(180deg); }
.bz-coupon-body { display: flex; gap: 8px; padding: 0 12px 12px; }
.bz-coupon-body input { flex: 1; min-width: 0; height: 44px; border: 1px solid #c9c9c9; border-radius: 8px; padding: 0 12px; font-size: 14px; }
.bz-coupon-body button { height: 44px; padding: 0 18px; border: 0; border-radius: 8px; background: var(--bz-ink); color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.bz-sumcard .bz-totals { border-top: 0; margin-top: 6px; }
.bz-sumcard .bz-sum-box { border-top: 1px solid var(--bz-line); }
.bz-sumcard .bz-sum-box > summary { background: #fff; }
.bz-sumcard .bz-sum-a:empty::after, .bz-sumcard .bz-sum-a::after { content: "\25BE"; }

/* payment = its own card now */
body.woocommerce-checkout #payment { border-top: 1px solid var(--bz-line); border-radius: var(--bz-card-r); margin: 0; }
.bz-sumwrap .bz-total-card { display: none; }

/* ---------- Shopify-style fields ---------- */
form.bz-co .woocommerce-billing-fields__field-wrapper,
form.bz-co .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
form.bz-co .woocommerce-billing-fields__field-wrapper .form-row,
form.bz-co .woocommerce-shipping-fields__field-wrapper .form-row { margin: 0 !important; }
form.bz-co .woocommerce-billing-fields > h3 { margin-bottom: 14px; }

/* order: country, first, last, then the rest */
form.bz-co #billing_country_field, form.bz-co #shipping_country_field { order: 1; }
form.bz-co #billing_first_name_field, form.bz-co #shipping_first_name_field { order: 2; }
form.bz-co #billing_last_name_field, form.bz-co #shipping_last_name_field { order: 3; }
form.bz-co #billing_company_field, form.bz-co #shipping_company_field { order: 4; }
form.bz-co #billing_address_1_field, form.bz-co #shipping_address_1_field { order: 5; }
form.bz-co .bz-addlink { order: 6; }
form.bz-co #billing_address_2_field, form.bz-co #shipping_address_2_field { order: 7; }
form.bz-co #billing_city_field, form.bz-co #shipping_city_field { order: 8; }
form.bz-co #billing_state_field, form.bz-co #shipping_state_field { order: 9; }
form.bz-co #billing_postcode_field, form.bz-co #shipping_postcode_field { order: 10; }
form.bz-co #billing_phone_field { order: 11; }
form.bz-co #billing_email_field { order: 12; }
form.bz-co .form-row-wide, form.bz-co #billing_country_field, form.bz-co #billing_address_1_field, form.bz-co #billing_address_2_field,
form.bz-co #billing_city_field, form.bz-co #billing_state_field { grid-column: 1 / -1; }
@media (max-width: 599px) { form.bz-co .woocommerce-billing-fields__field-wrapper, form.bz-co .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr 1fr; } }

form.bz-co .form-row .required { display: none !important; }
form.bz-co .form-row .optional { display: inline; }

/* floating label */
form.bz-co .form-row.bz-fl { position: relative; }
form.bz-co .form-row.bz-fl > label { position: absolute; left: 14px; top: 18px; margin: 0 !important; max-width: calc(100% - 44px); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 15px; font-weight: 400; line-height: 1.2; color: #707070; pointer-events: none; z-index: 3; transition: top .15s, font-size .15s; }
form.bz-co .form-row.bz-fl.bz-filled > label,
form.bz-co .form-row.bz-fl:focus-within > label { top: 8px; font-size: 12px; color: #555; }
form.bz-co .form-row.bz-fl input.input-text,
form.bz-co .form-row.bz-fl input[type="text"],
form.bz-co .form-row.bz-fl input[type="email"],
form.bz-co .form-row.bz-fl input[type="tel"],
form.bz-co .form-row.bz-fl select { height: 58px; padding: 22px 14px 6px; border: 1px solid #c9c9c9; border-radius: 8px; font-size: 15px; background-color: #fff; }
form.bz-co .form-row.bz-fl input::placeholder { color: transparent; }
form.bz-co .form-row.bz-fl:focus-within input::placeholder { color: #a5a5a5; }
form.bz-co .form-row.bz-fl select { -webkit-appearance: none; appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round'/></svg>"); background-repeat: no-repeat; background-position: right 16px center; }
form.bz-co .form-row.bz-fl input:focus, form.bz-co .form-row.bz-fl select:focus { outline: 1px solid var(--bz-ink); outline-offset: -2px; border-color: var(--bz-ink); }
form.bz-co .form-row.bz-fl .select2-container .select2-selection--single { height: 58px; border: 1px solid #c9c9c9; border-radius: 8px; display: block; }
form.bz-co .form-row.bz-fl .select2-container .select2-selection__rendered { padding: 24px 40px 0 14px; line-height: 1.2; font-size: 15px; }
form.bz-co .form-row.bz-fl .select2-container .select2-selection__arrow { height: 56px; right: 10px; }
form.bz-co .woocommerce-invalid.bz-fl input, form.bz-co .woocommerce-invalid.bz-fl select { border-color: var(--bz-red); }

/* "+ Add apartment, suite, etc." */
form.bz-co .bz-addlink { grid-column: 1 / -1; justify-self: start; border: 0; background: none; padding: 2px 0; font-size: 14px; color: var(--bz-ink); text-align: left; }
form.bz-co .bz-addlink:hover { text-decoration: underline; }
form.bz-co .bz-collapsed { display: none !important; }

/* "Add a note to your order" */
form.bz-co .woocommerce-additional-fields { border-top: 1px solid var(--bz-line); margin-top: 22px; padding-top: 18px; }
form.bz-co .woocommerce-additional-fields > h3 { display: none; }
form.bz-co .bz-notechk { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 15px; font-weight: 400; cursor: pointer; }
form.bz-co .bz-notechk input { -webkit-appearance: none; appearance: none; flex: none; width: 24px; height: 24px; margin: 0; border: 1px solid #c9c9c9; border-radius: 6px; background: #fff; display: grid; place-items: center; cursor: pointer; }
form.bz-co .bz-notechk input:checked { background: var(--bz-ink); border-color: var(--bz-ink); }
form.bz-co .bz-notechk input:checked::after { content: ""; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) translate(-1px, -1px); }
form.bz-co #order_comments_field > label { display: none; }
form.bz-co #order_comments { width: 100%; min-height: 100px; border: 1px solid #c9c9c9; border-radius: 8px; padding: 12px 14px; font-size: 15px; }

/* =====================================================================
   v4.4 – SVG chevrons, mobile top order summary tab, payment options radio
   ===================================================================== */
.bz-chev { flex: none; display: inline-block; width: 14px; height: 9px; transition: transform .2s; }
.bz-coupon > summary i { display: none; }
.bz-coupon[open] > summary .bz-chev,
.bz-sum-box[open] > summary .bz-chev,
.bz-mtop[open] > summary .bz-chev { transform: rotate(180deg); }
.bz-order-summary .bz-sum-a::after, .bz-sumcard .bz-sum-a::after { content: none !important; }
/* select2 arrow: replace the text glyph with an SVG */
.select2-container .select2-selection__arrow b { display: none !important; }
.select2-container .select2-selection--single .select2-selection__arrow { width: 28px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1.5l6 6 6-6' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center; }

/* Mobile: Order summary tab at the very top of checkout */
.bz-mtop { display: none; }
@media (max-width: 759px) {
  form.bz-co .bz-mtop { display: block; margin: 0 0 18px; border-top: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; }
  .bz-mtop > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 2px; }
  .bz-mtop > summary::-webkit-details-marker { display: none; }
  .bz-mtop-t { font-size: 20px; }
  .bz-mtop-r { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; }
  .bz-mtop-r b { font-weight: 500; }
  .bz-mtop-body { padding: 0 0 14px; }
  .bz-mtop-body .bz-sum-items { max-height: none; padding: 0 !important; }
  .bz-mtop-body .bz-totals th, .bz-mtop-body .bz-totals td { padding: 8px 0; }
  .bz-mtop-body .bz-totals { border-top: 1px solid var(--bz-line); margin-top: 6px; }
}

/* Payment options (radio-control style) */
body.woocommerce-checkout #payment { border: 0; padding: 0; background: transparent; margin-top: 8px; }
body.woocommerce-checkout #payment::before { content: "Payment options"; display: block; margin: 6px 0 14px; font-size: 20px; font-weight: 400; }
#payment ul.wc_payment_methods, #payment ul.payment_methods { border: 1px solid #d5d5d5; border-radius: 8px; padding: 0; margin: 0 0 14px; overflow: hidden; }
#payment ul.payment_methods > li { margin: 0; padding: 18px 16px; border-bottom: 1px solid #e4e4e4; list-style: none; }
#payment ul.payment_methods > li:last-child { border-bottom: 0; }
#payment ul.payment_methods > li > input[type="radio"] { -webkit-appearance: none; appearance: none; width: 26px; height: 26px; margin: 0 14px 0 0; vertical-align: middle; border: 1px solid var(--bz-ink); border-radius: 50%; background: #fff; display: inline-block; position: relative; cursor: pointer; }
#payment ul.payment_methods > li > input[type="radio"]:checked::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--bz-ink); }
#payment ul.payment_methods > li > label, .radio-control__label { display: inline !important; margin: 0 !important; font-size: 15px; font-weight: 400 !important; vertical-align: middle; cursor: pointer; }
#payment .payment_box { margin: 14px 0 0 !important; padding: 0 !important; background: transparent !important; border-radius: 0; font-size: 15px; color: var(--bz-ink); }
#payment .payment_box::before, #payment .payment_box::after { display: none !important; content: none !important; }
body.woocommerce-checkout #payment .place-order { padding: 0; }

/* v4.5 – Total sits directly under the subtotal rows */
.bz-sumcard .bz-total-row { border-bottom: 0; border-top: 1px solid var(--bz-ink); padding: 14px 16px; margin-top: 4px; font-size: 18px; }
.bz-sumcard .bz-sum-box { border-top: 1px solid var(--bz-line); }
.bz-mtop-body .bz-total-row { padding: 12px 0 0; margin-top: 4px; font-size: 17px; }
.bz-sumcard .bz-coupon { margin-top: 16px; }

/* =========================================================
   Shop: category image tiles + sticky filter bar
   ========================================================= */
.bz-cattiles { margin: 6px 0 18px; }
.bz-cattiles-in { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 4px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.bz-cattile { flex: 0 0 auto; width: 259px; scroll-snap-align: start; color: var(--bz-ink); text-decoration: none; display: block; }
.bz-cattile-img { display: block; width: 100%; aspect-ratio: 259 / 145; overflow: hidden; background: var(--bz-surface); position: relative; }
.bz-cattile-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.bz-cattile:hover .bz-cattile-img img { transform: scale(1.05); }
.bz-cattile-ph { position: absolute; inset: 0; display: grid; place-items: center; font-size: 44px; font-weight: 700; color: #b5b5b5; background: linear-gradient(135deg, #f1f1f1, #e3e3e3); }
.bz-cattile-name { display: block; padding: 6px 0 0; font-size: 18px; line-height: 1.25; }
.bz-cattile:hover .bz-cattile-name, .bz-cattile.is-on .bz-cattile-name { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .bz-cattile { width: 150px; } .bz-cattile-name { font-size: 14px; } }

/* sticky chip bar (sits right under the sticky header; --bz-head-h is set by JS) */
.bz-ff { display: contents; } /* so the sticky chip bar can stick through the whole product list, not just inside the form */
.bz-fchips { position: sticky; top: var(--bz-head-h, 64px); z-index: 40; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 0; background: var(--bz-bg); transition: box-shadow .2s; }
.bz-fchips.is-stuck { box-shadow: 0 6px 14px rgba(0,0,0,.08); }
.bz-fslot { position: relative; }
.bz-chip { display: inline-flex; align-items: center; gap: 8px; margin: 0; height: 46px; padding: 0 20px; border: 0; border-radius: 6px; background: #f3f3f4; color: var(--bz-ink); font: inherit; font-size: 15px; cursor: pointer; white-space: nowrap; }
.bz-chip:hover { background: #ebebec; }
.bz-chip.is-active, .bz-chip[aria-expanded="true"] { box-shadow: inset 0 0 0 1.5px var(--bz-ink); background: #fff; }
.bz-chip-n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--bz-ink); color: #fff; font-size: 11px; font-weight: 700; }
.bz-caret { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s; margin-left: 2px; }
.bz-chip[aria-expanded="true"] .bz-caret { transform: rotate(-135deg) translateY(-2px); }
.bz-fresetall { font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; color: var(--bz-ink); margin-left: 4px; }

.bz-fpanel { position: absolute; left: 0; top: calc(100% + 8px); z-index: 60; width: 300px; max-height: 70vh; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bz-line); border-radius: 10px; box-shadow: 0 14px 34px rgba(0,0,0,.16); }
.bz-fpanel[hidden] { display: none; }
.bz-fpanel .bz-fg { padding: 16px 18px 6px; overflow-y: auto; }
.bz-fg h4 { margin: 0 0 12px; font-size: 15px; font-weight: 700; }
.bz-fl-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.bz-ff .bz-chk { display: flex; align-items: center; gap: 12px; padding: 8px 0; cursor: pointer; font-size: 14px; }
.bz-ff .bz-chk input { position: absolute; opacity: 0; width: 0; height: 0; }
.bz-ff .bz-chk-box { flex: none; width: 24px; height: 24px; border-radius: 4px; background: #ececec; display: grid; place-items: center; }
.bz-ff .bz-chk input:checked + .bz-chk-box { background: var(--bz-ink); }
.bz-ff .bz-chk input:checked + .bz-chk-box::after { content: ""; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) translate(-1px, -1px); }
.bz-ff .bz-chk input:focus-visible + .bz-chk-box { outline: 2px solid var(--bz-ink); outline-offset: 2px; }
.bz-ff .bz-chk-t { flex: 1; min-width: 0; }
.bz-ff .bz-chk-n { color: var(--bz-mut); font-size: 13px; }
.bz-fpf { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 18px; border-top: 1px solid var(--bz-line); }
.bz-fclear, .bz-fclear-all { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; color: var(--bz-ink); cursor: pointer; }
.bz-fapply { height: 40px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--bz-cta); color: var(--bz-cta-tx); font: inherit; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }

/* two-handle price slider */
.bz-range { position: relative; padding: 6px 0 4px; }
.bz-range-track { position: absolute; left: 0; right: 0; top: 22px; height: 6px; border-radius: 6px; background: #d9d9d9; }
.bz-range-fill { position: absolute; top: 0; bottom: 0; background: #2b2b2b; border-radius: 6px; }
.bz-range input[type=range] { position: relative; display: block; width: 100%; height: 34px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.bz-range input[type=range] + input[type=range] { margin-top: -34px; }
.bz-range input[type=range]::-webkit-slider-runnable-track { background: transparent; height: 34px; }
.bz-range input[type=range]::-moz-range-track { background: transparent; }
.bz-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 30px; height: 30px; margin-top: 2px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 1px 5px rgba(0,0,0,.4); cursor: grab; }
.bz-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 30px; height: 30px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 1px 5px rgba(0,0,0,.4); cursor: grab; }
.bz-range-lab { display: flex; justify-content: space-between; margin-top: 6px; font-size: 15px; }

/* "All filters" drawer */
.bz-fdrawer[hidden] { display: none; }
.bz-fd-ov { position: fixed; inset: 0; background: rgba(5,8,3,.55); z-index: 140; }
.bz-fd-box { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 100%); background: #fff; z-index: 150; display: flex; flex-direction: column; }
.bz-fd-h { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--bz-line); font-size: 15px; text-transform: uppercase; letter-spacing: .06em; }
.bz-fd-h button { width: 36px; height: 36px; border: 1px solid var(--bz-line); border-radius: 8px; background: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.bz-fd-body { flex: 1; overflow-y: auto; padding: 6px 18px 12px; }
.bz-fd-body .bz-fg { padding: 16px 0; border-bottom: 1px solid var(--bz-line); }
.bz-fd-body .bz-range { padding-right: 4px; }
body.bz-fd-open { overflow: hidden; }

.bz-fbar { margin: 4px 0 16px; }
.bz-fbar .bz-fcount { font-size: 15px; }

@media (max-width: 700px) {
  .bz-fchips { flex-wrap: nowrap; overflow-x: auto; gap: 8px; scrollbar-width: none; margin: 0 -12px; padding: 10px 12px; }
  .bz-fchips::-webkit-scrollbar { display: none; }
  .bz-chip { height: 42px; padding: 0 14px; font-size: 14px; flex: none; }
  .bz-fpanel { position: fixed; left: 0; right: 0; top: auto; bottom: 0; width: auto; max-height: 75vh; border-radius: 16px 16px 0 0; z-index: 150; }
}
.bz-fsheet-ov { position: fixed; inset: 0; background: rgba(5,8,3,.45); z-index: 145; }
@media (min-width: 701px) { .bz-fsheet-ov { display: none; } }

/* =========================================================
   Pre-search panel (Trending Searches + Trending Products)
   ========================================================= */
.bz-pre { position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%); width: min(880px, 94vw); max-height: min(76vh, 640px); overflow-y: auto; z-index: 70; display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; color: var(--bz-ink); border: 1px solid var(--bz-line); border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.16); padding: 22px 24px; gap: 22px; }
.bz-pre[hidden] { display: none !important; }
@media (min-width: 760px) { .bz-pre { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 0; } .bz-pre-col + .bz-pre-col { border-left: 1px solid var(--bz-line); padding-left: 24px; margin-left: 24px; } }
@media (max-width: 759px) { .bz-pre { left: 0; transform: none; width: 100%; padding: 16px; } }
.bz-pre h4 { margin: 0 0 14px; font-size: 20px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--bz-ink); }
.bz-pre-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.bz-tchip { display: inline-flex; align-items: center; min-height: 52px; padding: 0 20px; border: 1px solid #cfcfcf; border-radius: 999px; background: #fff; color: var(--bz-ink); font-size: 15px; font-weight: 700; text-decoration: none; text-transform: lowercase; }
.bz-tchip:hover { border-color: var(--bz-ink); background: var(--bz-surface); }
.bz-pre-list { display: grid; gap: 10px; }
.bz-pre-item { display: flex; align-items: center; gap: 14px; color: var(--bz-ink); text-decoration: none; }
.bz-pre-img { flex: none; width: 74px; height: 74px; border-radius: 4px; background: #ececec; overflow: hidden; display: block; }
.bz-pre-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: block; }
.bz-pre-info { display: grid; gap: 4px; min-width: 0; }
.bz-pre-t { font-size: 15px; font-weight: 700; line-height: 1.3; text-decoration: underline; text-underline-offset: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bz-pre-p { font-size: 14px; font-weight: 700; }
.bz-pre-p del { color: var(--bz-mut); font-weight: 400; margin-right: 6px; }
.bz-pre-p ins { text-decoration: none; }
.bz-pre-item:hover .bz-pre-t { text-decoration-thickness: 2px; }

/* =========================================================
   Search: "Showing results for" bar + matching categories / brands / tags
   ========================================================= */
.bz-sfixbar, .bz-sfix { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #f6f7fb; border-bottom: 1px solid var(--bz-line); padding: 14px 16px; color: #5b5b5b; font-size: 15px; text-decoration: none; }
.bz-sfixbar b, .bz-sfix b { color: #1d4fa3; text-decoration: underline; text-underline-offset: 3px; }
.bz-sfixbar a { color: var(--bz-ink); font-size: 14px; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
.bz-sfixbar a:hover { text-decoration: underline; }
.bz-sfix i, .bz-sfixbar a i { font-style: normal; font-size: 20px; line-height: 1; }
.bz-sfix { margin: -14px -16px 12px; border-radius: 14px 14px 0 0; }
.bz-sfix:hover { background: #eef0f7; }
.bz-sterms { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.bz-sterms-page { margin: 14px 0 6px; }
.bz-sterm { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--bz-line); border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; color: var(--bz-ink); text-decoration: none; background: #fff; }
.bz-sterm small { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bz-mut); }
.bz-sterm:hover { border-color: var(--bz-ink); background: var(--bz-surface); }

/* My account: optional label */
.bz-fld .bz-opt { font-style: normal; font-weight: 400; color: var(--bz-mut); font-size: 12px; }

/* My account: same look for every field (text, tel, email, password) */
.bz-auth .bz-fld input[type=text], .bz-auth .bz-fld input[type=tel], .bz-auth .bz-fld input[type=email], .bz-auth .bz-fld input[type=password] { width: 100%; height: 46px; border: 1px solid var(--bz-line); border-radius: 10px; padding: 0 14px; background: #fff; color: var(--bz-ink); font-size: 15px; font-weight: 400; -webkit-appearance: none; appearance: none; box-sizing: border-box; }
.bz-auth .bz-fld input:focus { outline: 0; border-color: var(--bz-ink); }
.bz-auth .bz-fld input::placeholder { color: #a8a8a8; }

/* My account: admin-set logo + background image on the dark side panel */
.bz-auth-side { position: relative; background-size: cover; background-position: center; isolation: isolate; }
.bz-auth-side.has-bg::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--bz-ink); opacity: var(--bz-auth-ov, .65); }
.bz-auth-logo { display: block; max-width: 190px; max-height: 64px; width: auto; height: auto; object-fit: contain; }


/* =========================================================
   v4.3  Checkboxes with a clear checkmark (login, sign-up, WooCommerce terms)
   ========================================================= */
.bz-auth .bz-chk { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 13px; font-weight: 500; line-height: 1.4; }
.bz-auth .bz-chk.bz-priv { align-items: flex-start; }
.bz-auth .bz-chk a { text-decoration: underline; font-weight: 600; }
.bz-auth-priv { margin: -2px 0 16px; }
.woocommerce-form__label-for-checkbox input[type=checkbox],
.woocommerce-form__input-checkbox,
.woocommerce-checkout #terms,
.woocommerce-checkout #ship-to-different-address-checkbox {
  -webkit-appearance: none; appearance: none; flex: none; box-sizing: border-box;
  width: 20px; height: 20px; min-width: 20px; margin: 0; padding: 0;
  border: 1.5px solid #9a9a9a; border-radius: 5px; background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: 14px 14px;
  cursor: pointer; transition: background-color .15s, border-color .15s; vertical-align: middle;
}
.woocommerce-form__label-for-checkbox input[type=checkbox]:hover,
.woocommerce-form__input-checkbox:hover { border-color: var(--bz-ink); }
.woocommerce-form__label-for-checkbox input[type=checkbox]:checked,
.woocommerce-form__input-checkbox:checked,
.woocommerce-checkout #terms:checked,
.woocommerce-checkout #ship-to-different-address-checkbox:checked {
  background-color: var(--bz-ink); border-color: var(--bz-ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.6l3.1 3.1 6.5-7.2' fill='none' stroke='%23ffffff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.woocommerce-form__label-for-checkbox input[type=checkbox]:focus-visible { outline: 2px solid var(--bz-ink); outline-offset: 2px; }
.woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 13px; line-height: 1.45; }
.woocommerce-form__label-for-checkbox a { text-decoration: underline; font-weight: 600; }
.woocommerce-form__label-for-checkbox .required { color: #c0392b; text-decoration: none; }
.woocommerce-privacy-policy-text { font-size: 12px; color: var(--bz-mut); line-height: 1.5; margin: 0 0 10px; }
.woocommerce-privacy-policy-text a { text-decoration: underline; }

/* Login / sign-up: welcome panel keeps its checklist on mobile too */
@media (max-width: 819px) {
  .bz-auth-side { padding: 22px 20px 20px; gap: 8px; }
  .bz-auth-side ul { display: grid; gap: 6px; margin-top: 6px; font-size: 13px; }
  .bz-auth-side p { font-size: 13px; line-height: 1.5; }
  .bz-auth-side h2 { font-size: 19px; }
}

/* =========================================================
   v4.3  Footer: icon boxes + (collapsible on mobile) menu groups
   ========================================================= */
.bz-ffeat { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 16px; }
.bz-feat { min-width: 0; }
.bz-fi { width: 40px; height: 40px; border: 2px solid #fff; display: grid; place-items: center; margin-bottom: 12px; }
.bz-fi svg { width: 20px; height: 20px; fill: none; stroke: #fff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.bz-feat b { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 3px; }
.bz-feat .bz-feat-t { display: block; font-size: 13px; line-height: 1.4; color: #dcdcdc; }
.bz-fmenus { margin-top: 30px; border-top: 1px solid #fff; }
.bz-fm-h { all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 25px 0; cursor: pointer; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #fff; -webkit-tap-highlight-color: transparent; }
.bz-fm-h:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.bz-fm-h svg { width: 16px; height: 16px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; flex: none; }
.bz-fm.open .bz-fm-h svg { transform: rotate(180deg); }
.bz-fm-b { display: none; list-style: none; margin: 0; padding: 0 0 18px; }
.bz-fm.open .bz-fm-b { display: block; }
.bz-fm-b li { padding: 5px 0; font-size: 13px; line-height: 1.5; color: #9c9c9c; }
.bz-fm-b a { color: #9c9c9c; } .bz-fm-b a:hover { color: #fff; }
@media (min-width: 860px) {
  .bz-ffeat { grid-template-columns: repeat(4, 1fr); gap: 0 32px; }
  .bz-feat { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; }
  .bz-feat .bz-fi { grid-row: 1 / span 2; margin: 0; }
  .bz-feat b { align-self: end; margin: 0; } .bz-feat .bz-feat-t { align-self: start; }
  .bz-fmenus { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 32px; margin-top: 34px; border-top: 1px solid #2a2a2a; padding-top: 26px; }
  .bz-fm-h { padding: 0 0 14px; cursor: default; pointer-events: none; }
  .bz-fm-h svg { display: none; }
  .bz-fm-b { display: block; padding: 0; }
}

/* =========================================================
   v4.3  Product page: "More in this category" carousel
   ========================================================= */
.bz-rel { --g: 12px; --n: 2.25; }
.bz-rel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.bz-rel-head h2 { margin: 0; }
.bz-rel-nav { display: none; gap: 8px; }
.bz-rel-nav button { width: 38px; height: 38px; border: 1px solid var(--bz-line); border-radius: 50%; background: #fff; display: grid; place-items: center; padding: 0; color: var(--bz-ink); }
.bz-rel-nav button:hover:not(:disabled) { background: var(--bz-ink); color: #fff; border-color: var(--bz-ink); }
.bz-rel-nav button:disabled { opacity: .35; cursor: default; }
.bz-rel-nav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bz-rel-track { display: flex; gap: var(--g); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
.bz-rel-track::-webkit-scrollbar { display: none; }
.bz-rel-track > .bz-card { flex: 0 0 calc((100% - (var(--n) - 1) * var(--g)) / var(--n)); min-width: 0; scroll-snap-align: start; }
@media (min-width: 640px) { .bz-rel { --g: 14px; --n: 3.25; } }
@media (min-width: 900px) { .bz-rel { --n: 4.25; } .bz-rel-nav { display: flex; } }
@media (min-width: 1180px) { .bz-rel { --n: var(--bz-cols); } }
@media (prefers-reduced-motion: reduce) { .bz-rel-track { scroll-behavior: auto; } }


/* =========================================================
   v4.4  Sticky filter bar (mobile: tighter), login checkmark, carousel scrollbar, "All in category" grid
   ========================================================= */
@media (max-width: 700px) { .bz-fchips { gap: 8px; padding: 8px 0; } .bz-chip { height: 40px; padding: 0 14px; font-size: 14px; } }

/* WooCommerce's own (unstyled) show-password button made a stray pill on the login form */
.bz-auth .show-password-input { display: none !important; }
.bz-auth .password-input { display: block; }

/* Checkbox built from real elements: works even if a cache/minify plugin strips CSS tricks */
.bz-auth .bz-chk { position: relative; }
.bz-auth .bz-chk input[type=checkbox] {
  -webkit-appearance: none; appearance: none; position: absolute; left: 0; top: 0; width: 20px; height: 20px; margin: 0; opacity: 0; cursor: pointer; border: 0; background: none;
}
.bz-auth .bz-chk.bz-priv input[type=checkbox] { top: 1px; }
.bz-cbox { flex: none; width: 20px; height: 20px; border: 1.5px solid #8f8f8f; border-radius: 5px; background: #fff; display: grid; place-items: center; transition: background-color .15s, border-color .15s; }
.bz-cbox svg { width: 14px; height: 14px; fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform: scale(.6); transition: opacity .12s, transform .12s; }
.bz-chk:hover .bz-cbox { border-color: var(--bz-ink); }
.bz-chk input:checked + .bz-cbox { background: var(--bz-ink); border-color: var(--bz-ink); }
.bz-chk input:checked + .bz-cbox svg { opacity: 1; transform: none; }
.bz-chk input:focus-visible + .bz-cbox { outline: 2px solid var(--bz-ink); outline-offset: 2px; }
.bz-auth .bz-chk.bz-priv .bz-cbox { margin-top: 1px; }
.bz-auth .bz-chk > span:last-child { min-width: 0; }
.bz-auth-terms { display: block; margin: 2px 0 16px; }

/* Carousel: scroll bar line under the products */
.bz-rel-bar { position: relative; height: 4px; margin-top: 14px; border-radius: 4px; background: #e4e4e4; touch-action: none; cursor: pointer; }
.bz-rel-bar i { position: absolute; left: 0; top: -1px; height: 6px; width: 30%; border-radius: 6px; background: var(--bz-ink); cursor: grab; }
.bz-rel-bar.is-off { display: none; }
.bz-rel-bar i:active { cursor: grabbing; }

/* "All in category" grid + Load more */
.bz-all-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.bz-all-head h2 { margin: 0; }
.bz-all-head a { font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bz-more-wrap { display: flex; justify-content: center; margin-top: 22px; }
.bz-more { min-width: 200px; height: 46px; padding: 0 28px; border: 1.5px solid var(--bz-ink); border-radius: 999px; background: #fff; color: var(--bz-ink); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .15s, color .15s; }
.bz-more:hover { background: var(--bz-ink); color: #fff; }
.bz-more[disabled] { opacity: .6; cursor: wait; }
.bz-more.is-done { display: none; }

/* =====================================================================
   4.5.0  Product page: tighter spacing, adidas-style info block,
   bold "More from" headings, better card Add to cart, nicer COD drawer
   ===================================================================== */

/* ---- 1. Remove the big gaps on the product page ---- */
body.single-product main.bz-wrap { padding-top: 0; padding-bottom: 8px; }
body.single-product .bz-crumbs { margin: 10px 0 10px; font-size: 11px; letter-spacing: .08em; gap: 6px; }
body.single-product .bz-crumbs .bz-cur { overflow: hidden; text-overflow: ellipsis; }
body.single-product .bz-pd { gap: 18px; }
@media (min-width: 860px) { body.single-product .bz-pd { gap: 40px; } }
/* content-visibility reserved 360px of blank space for each section: switch it off here */
body.single-product .bz-sec { margin: 18px 0; content-visibility: visible; contain-intrinsic-size: auto; }
body.single-product .bz-reviews { margin: 14px 0; }
body.single-product .bz-info h1 { margin: 0 0 6px; line-height: 1.25; }
body.single-product .bz-info .bz-brand { margin: 0 0 8px; }
body.single-product .bz-info .bz-pd-pr { margin: 0 0 8px; }
body.single-product .bz-buy-row { margin: 12px 0 14px; }
body.single-product .bz-desc { margin: 18px 0 0; }
body.single-product .bz-desc h2 { margin-bottom: 8px; }
body.single-product .bz-body > *:first-child { margin-top: 0; }
body.single-product .bz-body > *:last-child { margin-bottom: 0; }
body.single-product .bz-rv-head { padding-bottom: 10px; margin-bottom: 14px; }
body.single-product .bz-rv-item { padding: 14px 16px; margin-bottom: 10px; }

/* ---- 2. adidas-style info block ---- */
.bz-ax { border-top: 1px solid var(--bz-ink); margin-top: 6px; }
.bz-ax > * { border-bottom: 1px solid var(--bz-ink); }
.bz-ax .bz-ic { flex: none; width: 22px; height: 22px; }
.bz-ax-row { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; }
.bz-ax-row strong { display: block; font-size: 15px; font-weight: 800; letter-spacing: .01em; }
.bz-ax-row p { margin: 6px 0 0; font-size: 14px; color: var(--bz-mut); }
.bz-ax-link { display: inline-block; margin-top: 8px; font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.bz-ax-club { flex-direction: column; gap: 12px; }
.bz-ax-clubhead { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.bz-ax-clubhead strong { font-size: 16px; }
.bz-vclub { font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--bz-ink); line-height: 1; }
.bz-vclub i { font-style: italic; font-weight: 800; color: #2f7d4f; }
.bz-ax-pts { display: flex; align-items: center; gap: 12px; font-size: 15px; width: 100%; }
.bz-ax-pts b { font-weight: 800; }
.bz-ax-join { margin-left: auto; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; color: #2f7d4f; }
.bz-ax-acc summary { list-style: none; display: flex; align-items: center; gap: 14px; padding: 16px 0; cursor: pointer; font-size: 15px; }
.bz-ax-acc summary::-webkit-details-marker { display: none; }
.bz-ax-acc summary::marker { content: ""; }
.bz-ax-acc summary span { flex: 1; min-width: 0; }
.bz-ax-acc summary .bz-ic:last-child { width: 18px; height: 18px; transition: transform .2s; }
.bz-ax-acc[open] summary .bz-ic:last-child { transform: rotate(90deg); }
.bz-ax-acc p { margin: 0 0 16px 36px; font-size: 14px; color: var(--bz-mut); line-height: 1.5; }
.bz-ax-acc p a { color: var(--bz-ink); font-weight: 700; text-decoration: underline; }

/* ---- 3. Bold "More from ..." headings (brand + category) ---- */
body.single-product .bz-rel h2,
body.single-product .bz-all-head h2,
.bz-h-bold {
  font-family: var(--bz-font-display); font-size: clamp(20px, 2.6vw, 28px); font-weight: 900;
  letter-spacing: .01em; line-height: 1.1; text-transform: uppercase; color: var(--bz-ink);
}
body.single-product .bz-rel-head, body.single-product .bz-all-head { margin-bottom: 12px; align-items: center; flex-wrap: nowrap; }
body.single-product .bz-rel-head h2, body.single-product .bz-all-head h2 { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-viewall { flex: none; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; color: var(--bz-ink); }
.bz-rel-head .bz-rel-nav { margin-left: 4px; }
body.single-product .bz-rel-bar { margin-top: 12px; }
body.single-product .bz-more-wrap { margin-top: 16px; }

/* ---- 4. Better Add to cart on product cards ---- */
.bz-card .bz-add {
  height: 40px; padding: 0 8px; gap: 6px; font-size: 11px; font-weight: 800; letter-spacing: .05em; white-space: nowrap;
  border-radius: 999px; background: var(--bz-cta); color: var(--bz-cta-tx); border: 1.5px solid var(--bz-ink);
  transition: background-color .15s, color .15s, transform .1s;
}
.bz-card .bz-add span { overflow: hidden; text-overflow: ellipsis; }
.bz-card .bz-add .bz-add-ic { flex: none; width: 15px; height: 15px; }
.bz-card .bz-add:hover:not(:disabled) { background: var(--bz-ink); color: #fff; filter: none; }
.bz-card .bz-add:active:not(:disabled) { transform: scale(.97); }
.bz-card .bz-add.bz-add-alt { background: #fff; color: var(--bz-ink); }
.bz-card .bz-add:disabled { background: #f1f1f1; border-color: #e1e1e1; color: #9a9a9a; }
.bz-card .bz-add.is-loading svg { opacity: 0; }
.bz-card .bz-cb { padding: 10px 10px 12px; gap: 8px; }
@media (max-width: 480px) { .bz-card .bz-add { height: 38px; font-size: 10.5px; letter-spacing: .03em; } }

/* ---- 5. Quick COD drawer form ---- */
.bz-drawer .bz-dh strong { font-size: 15px; letter-spacing: .14em; text-transform: uppercase; }
.bz-drawer .bz-v-checkout { background: #f6f6f4; }
.bz-drawer .bz-v-checkout .bz-fb { padding: 12px; gap: 12px; }
.bz-fsec { background: #fff; border: 1px solid var(--bz-line); border-radius: 14px; padding: 14px; display: grid; gap: 12px; }
.bz-fsec-t { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bz-fsec-t span { width: 22px; height: 22px; border-radius: 50%; background: var(--bz-ink); color: #fff; display: grid; place-items: center; font-size: 11px; letter-spacing: 0; }
.bz-fld { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.bz-fld em { font-style: normal; font-weight: 500; color: var(--bz-mut); }
.bz-fb .bz-fld input[type="text"], .bz-fb .bz-fld input[type="tel"], .bz-fb .bz-fld input[type="email"], .bz-fb .bz-fld textarea {
  width: 100%; border: 1.5px solid #dcdcdc; border-radius: 10px; padding: 12px 13px; font-size: 15px; font-weight: 500; background: #fff; color: var(--bz-ink);
  transition: border-color .15s, box-shadow .15s; -webkit-appearance: none; appearance: none; box-sizing: border-box; font-family: inherit;
}
.bz-fb .bz-fld textarea { resize: vertical; min-height: 64px; line-height: 1.4; }
.bz-fb .bz-fld ::placeholder { color: #a3a3a3; font-weight: 400; }
.bz-fb .bz-fld input:focus, .bz-fb .bz-fld textarea:focus { outline: 0; border-color: var(--bz-ink); box-shadow: 0 0 0 3px rgba(163,230,53,.45); }
.bz-area { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bz-area-opt { position: relative; display: block; cursor: pointer; }
.bz-area-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.bz-area-in { display: grid; gap: 2px; padding: 12px; border: 1.5px solid #dcdcdc; border-radius: 12px; background: #fff; transition: border-color .15s, background-color .15s; }
.bz-area-in b { font-size: 14px; font-weight: 800; }
.bz-area-in small { font-size: 13px; color: var(--bz-mut); font-weight: 600; }
.bz-area-opt input:checked + .bz-area-in { border-color: var(--bz-ink); background: #f3fbe2; box-shadow: inset 0 0 0 1px var(--bz-ink); }
.bz-area-opt input:focus-visible + .bz-area-in { outline: 2px solid var(--bz-ink); outline-offset: 2px; }
.bz-v-checkout .bz-codsum { background: #fff; border: 1px solid var(--bz-line); border-radius: 14px; padding: 14px; gap: 8px; font-size: 14px; }
.bz-v-checkout .bz-codsum .t { font-size: 18px; font-weight: 800; border-top: 1px dashed #cfcfcf; padding-top: 10px; margin-top: 4px; }
.bz-v-checkout .bz-codsum .vc { color: #2f7d4f; font-weight: 700; }
.bz-codpay { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--bz-mut); padding: 2px 4px; }
.bz-codpay svg { flex: none; color: var(--bz-ink); }
.bz-drawer .bz-v-checkout .bz-df { position: sticky; bottom: 0; background: #fff; border-top: 1px solid var(--bz-line); box-shadow: 0 -6px 16px rgba(0,0,0,.05); }
.bz-drawer .bz-v-checkout .bz-df .bz-cta { border-radius: 999px; height: 50px; font-size: 13px; letter-spacing: .1em; }
.bz-drawer .bz-v-checkout .bz-df #bz-err:empty { display: none; }

/* ---- 6. Verseclub box inside the COD drawer ---- */
.vc-box { background: #fff; border: 1px solid var(--bz-line); border-radius: 14px; padding: 14px; display: grid; gap: 10px; }
.vc-box-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.vc-box-h .bz-vclub { font-size: 18px; }
.vc-chip { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: #eaf5ee; color: #2f7d4f; padding: 4px 9px; border-radius: 999px; }
.vc-box p { margin: 0; font-size: 13px; color: var(--bz-mut); line-height: 1.45; }
.vc-box p b { color: var(--bz-ink); }
.vc-redeem { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.vc-redeem input[type="number"] { width: 100%; border: 1.5px solid #dcdcdc; border-radius: 10px; padding: 11px 12px; font-size: 15px; box-sizing: border-box; }
.vc-redeem button { height: 44px; padding: 0 14px; border: 1.5px solid var(--bz-ink); border-radius: 10px; background: #fff; font-weight: 800; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.vc-note { font-size: 12px; font-weight: 700; color: #2f7d4f; min-height: 1em; }
