body.bf-funnel{background:#f3f3f3;color:#555}.bf-funnel-header{position:sticky;top:0;z-index:700;height:150px;background:#fff;box-shadow:0 3px 15px rgb(0 0 0/.08)}.bf-funnel-header__inner{height:100%;display:grid;grid-template-columns:180px 1fr;align-items:center}.bf-funnel-logo{display:block}.bf-funnel-logo .bf-logo{width:120px;height:120px;object-fit:contain}.bf-funnel-progress{display:flex;justify-content:center;align-items:center;gap:18px;font-size:17px;font-weight:800;color:#999}.bf-funnel-progress span.is-active{color:#111}.bf-funnel-progress span.is-done{color:#555}.bf-funnel-progress i{font-style:normal;color:#555;font-size:22px}.bf-funnel-main{width:min(calc(100% - 2 * var(--bf-gutter)),var(--bf-container));margin:0 auto;padding:34px 0 80px}.bf-funnel-main>.bf-page-content{padding:0}.bf-funnel-main .woocommerce{width:100%}.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(380px,.9fr);gap:30px;align-items:start}.woocommerce-cart-form,.cart_totals{background:#fff;padding:34px}.woocommerce-cart-form table.shop_table,.cart_totals table.shop_table{width:100%;border-collapse:collapse;border:0}.woocommerce-cart-form th,.woocommerce-cart-form td,.cart_totals th,.cart_totals td{padding:16px 8px;border-bottom:1px solid var(--bf-border);text-align:left}.woocommerce-cart-form th,.cart_totals h2{text-transform:uppercase;color:#111;font-size:14px;font-weight:800}.woocommerce-cart-form .product-thumbnail{width:110px}.woocommerce-cart-form .product-thumbnail img{width:90px;height:90px;object-fit:contain}.woocommerce-cart-form .product-name a{font-weight:800;text-transform:uppercase;color:#111}.woocommerce-cart-form .quantity .qty{width:66px;height:40px;border:1px solid var(--bf-border);text-align:center}.woocommerce-cart-form .coupon{display:flex!important;float:left!important}.woocommerce-cart-form .coupon input{height:46px;border:1px solid var(--bf-border);padding:0 14px}.woocommerce-cart-form .actions{padding-top:20px!important}.woocommerce-cart-form .actions>.button{float:right!important;background:#000!important;color:#fff!important}.cart-collaterals{width:auto!important}.cart_totals{float:none!important;width:auto!important}.cart_totals h2{font-size:16px}.cart_totals .wc-proceed-to-checkout{display:grid;gap:10px}.cart_totals .checkout-button{background:#e33232!important;color:#fff!important}.cart_totals .checkout-button:hover{background:#000!important}.cart_totals .order-total{font-size:18px;color:#111}.cart_totals .order-total strong{font-size:21px}.woocommerce-shipping-calculator a{text-decoration:underline;font-weight:800}
/* Checkout — visual three-step funnel on WooCommerce's native classic checkout DOM. */
.woocommerce-checkout .woocommerce{position:relative}.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:18px;padding:20px 24px;background:#fff}.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.9fr);grid-template-rows:auto auto auto;gap:20px 30px;align-items:start}.woocommerce-checkout #customer_details{grid-column:1;grid-row:1;background:#fff;padding:30px}.woocommerce-checkout #customer_details>.col-1,.woocommerce-checkout #customer_details>.col-2{float:none;width:100%}.woocommerce-checkout #customer_details>.col-2{margin-top:18px}.woocommerce-checkout #order_review_heading{display:none}.woocommerce-checkout #order_review{display:contents}.woocommerce-checkout .woocommerce-checkout-review-order-table{grid-column:2;grid-row:1 / span 3;width:100%;margin:0;padding:26px;background:#fff;border-collapse:collapse;position:sticky;top:176px}.woocommerce-checkout #bf-checkout-shipping{grid-column:1;grid-row:2}.woocommerce-checkout .bf-checkout-payment-step-heading{grid-column:1;grid-row:3;background:#fff}.woocommerce-checkout #payment.woocommerce-checkout-payment{grid-column:1;grid-row:3;margin-top:72px;background:#fff;border-radius:0;padding:0 30px 24px}.woocommerce-checkout #payment.bf-checkout-payment--hidden{display:none}.woocommerce-checkout .bf-checkout-payment-step-heading:not(.is-open)+#payment{display:none}.woocommerce-checkout .bf-checkout-step{background:#fff}.woocommerce-checkout .bf-checkout-step__header{width:100%;min-height:72px;display:flex;align-items:center;gap:14px;padding:18px 30px;border:0;background:#fff;color:#111;text-align:left;font-size:25px;font-weight:800}.woocommerce-checkout #customer_details>.bf-checkout-step__header{margin:-30px -30px 0;width:calc(100% + 60px)}.woocommerce-checkout .bf-checkout-step__body{padding-top:8px}.woocommerce-checkout .bf-checkout-step.is-collapsed>.bf-checkout-step__header,.woocommerce-checkout .bf-checkout-payment-step-heading:not(.is-open)>.bf-checkout-step__header{opacity:.78}.woocommerce-checkout .bf-checkout-step__chevron{margin-left:auto;font-size:24px;transition:transform .15s ease}.woocommerce-checkout .is-open>.bf-checkout-step__header .bf-checkout-step__chevron,.woocommerce-checkout .bf-checkout-payment-step-heading.is-open .bf-checkout-step__chevron{transform:rotate(180deg)}.woocommerce-checkout .bf-step-title__number{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#222;color:#fff;font-size:17px;font-weight:800}.woocommerce-checkout .bf-step-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}.woocommerce-checkout .bf-step-actions .bf-button{min-height:48px}.woocommerce-checkout .bf-checkout-validation-notice{margin:0 0 18px;padding:12px 14px;border-left:4px solid var(--bf-red);background:#fff2f2;color:#7b1616;font-weight:700}.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:14px 5px;border-bottom:1px solid var(--bf-border)}.woocommerce-checkout-review-order-table .product-name{font-weight:800;color:#111}.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-size:20px;color:#111;font-weight:800}.woocommerce-checkout #payment ul.payment_methods{padding:18px 0;border-bottom:1px solid var(--bf-border)}.woocommerce-checkout #payment div.form-row{padding:18px 0}.woocommerce-checkout #payment #place_order{width:100%;min-height:54px;background:#000;color:#fff}.woocommerce-checkout .wc_payment_method label{font-weight:800;color:#111}.woocommerce-checkout .payment_box{background:var(--bf-surface)}.woocommerce-checkout .payment_box::before{border-bottom-color:var(--bf-surface)}.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .input-checkbox{width:22px;height:22px;vertical-align:middle}.bf-checkout-payment-back{width:auto;margin:0 0 16px;padding:0;border:0;background:transparent;color:#555;text-decoration:underline;text-underline-offset:3px}.bf-shipping-options{display:grid;gap:10px}.bf-shipping-option{display:flex;align-items:center;gap:12px;border:1px solid var(--bf-border);padding:18px;font-weight:800}.bf-shipping-option:has(input:checked){border-color:#111;box-shadow:inset 4px 0 0 var(--bf-yellow)}.bf-shipping-option input{width:20px;height:20px}.bf-shipping-empty{margin:0;padding:16px;background:#f7f7f7;line-height:1.55}.bf-checkout-reassurance{margin-bottom:18px}.bf-checkout-review-trust strong{display:block;color:#111}.bf-funnel-progress__future{color:#aaa;cursor:default}
@media(max-width:991px){.woocommerce-checkout form.checkout{grid-template-columns:1fr;gap:16px}.woocommerce-checkout #customer_details{grid-column:1;grid-row:1}.woocommerce-checkout #bf-checkout-shipping{grid-column:1;grid-row:2}.woocommerce-checkout .bf-checkout-payment-step-heading{grid-column:1;grid-row:3}.woocommerce-checkout #payment.woocommerce-checkout-payment{grid-column:1;grid-row:3;margin-top:72px}.woocommerce-checkout .woocommerce-checkout-review-order-table{grid-column:1;grid-row:4;position:static}.woocommerce-checkout #customer_details,.woocommerce-checkout #payment.woocommerce-checkout-payment,.woocommerce-checkout .woocommerce-checkout-review-order-table{padding:24px}.woocommerce-checkout #customer_details>.bf-checkout-step__header{margin:-24px -24px 0;width:calc(100% + 48px)}.woocommerce-checkout .bf-step-actions{flex-direction:column-reverse;align-items:stretch}.woocommerce-checkout .bf-step-actions .bf-button{width:100%}}
@media(max-width:600px){.woocommerce-checkout #customer_details,.woocommerce-checkout #payment.woocommerce-checkout-payment,.woocommerce-checkout .woocommerce-checkout-review-order-table{padding:18px}.woocommerce-checkout #customer_details>.bf-checkout-step__header{margin:-18px -18px 0;width:calc(100% + 36px)}.woocommerce-checkout .bf-checkout-step__header{min-height:64px;padding:14px 18px;font-size:20px}.woocommerce-checkout .bf-step-title__number{width:38px;height:38px;flex-basis:38px}.woocommerce-checkout #payment.woocommerce-checkout-payment{margin-top:64px}.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 10px;padding:0;background:transparent}.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{margin:0;padding:12px 14px;border:1px solid #ddd;background:#fff;color:#444;font-size:12px;line-height:1.35}.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none}.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon{font-weight:800;text-decoration:underline;text-underline-offset:2px}.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout .woocommerce-form-coupon{position:relative;margin:0 0 16px;padding:0;border:1px solid #ddd;background:#fff;overflow:hidden}.woocommerce-checkout form.checkout_coupon p,.woocommerce-checkout .woocommerce-form-coupon p{float:none;margin:0;padding:0}.woocommerce-checkout form.checkout_coupon>p:not(.form-row),.woocommerce-checkout .woocommerce-form-coupon>p:not(.form-row){display:none}.woocommerce-checkout form.checkout_coupon .form-row-first,.woocommerce-checkout .woocommerce-form-coupon .form-row-first{width:auto;margin-right:148px}.woocommerce-checkout form.checkout_coupon .form-row-last,.woocommerce-checkout .woocommerce-form-coupon .form-row-last{position:absolute;top:0;right:0;width:148px}.woocommerce-checkout form.checkout_coupon .form-row-first input,.woocommerce-checkout .woocommerce-form-coupon .form-row-first input{width:100%;min-width:0;height:52px;margin:0;padding:0 14px;border:0;border-right:1px solid #ddd;border-radius:0;box-shadow:none;background:#fff}.woocommerce-checkout form.checkout_coupon .form-row-last .button,.woocommerce-checkout .woocommerce-form-coupon .form-row-last .button{width:100%;min-height:52px;height:52px;margin:0;padding:0 12px;border:0;border-radius:0;background:#111;color:#fff;white-space:nowrap;font-size:11px}}
@media(max-width:360px){.woocommerce-checkout form.checkout_coupon .form-row-first,.woocommerce-checkout .woocommerce-form-coupon .form-row-first{margin-right:0}.woocommerce-checkout form.checkout_coupon .form-row-last,.woocommerce-checkout .woocommerce-form-coupon .form-row-last{position:static;width:100%}.woocommerce-checkout form.checkout_coupon .form-row-first input,.woocommerce-checkout .woocommerce-form-coupon .form-row-first input{border-right:0;border-bottom:1px solid #ddd}}
/* Order received */
.bf-order-received .woocommerce-order{display:flex;flex-direction:column}.bf-order-received .woocommerce-thankyou-order-received{order:1}.bf-order-received .woocommerce-order-overview{order:2}.bf-order-received .woocommerce-customer-details{order:3}.bf-order-received .woocommerce-order-details{order:4}.bf-order-received .woocommerce-privacy-policy-link{display:none!important}
@media (max-width:991px){.bf-funnel-header{height:110px}.bf-funnel-header__inner{grid-template-columns:100px 1fr}.bf-funnel-logo .bf-logo{width:90px;height:90px}.bf-funnel-progress{font-size:12px;gap:7px;overflow-x:auto;justify-content:flex-start;white-space:nowrap;padding-left:20px}.woocommerce-cart .woocommerce,.woocommerce-checkout form.checkout{grid-template-columns:1fr}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.bf-checkout-shipping-placeholder,.bf-checkout-payment-placeholder{grid-column:1}.woocommerce-checkout #order_review{grid-row:auto;position:static;order:2}.woocommerce-checkout #customer_details{order:1}.woocommerce-checkout .bf-step-panel,.bf-checkout-shipping-placeholder,.bf-checkout-payment-placeholder{order:1}.woocommerce-cart-form,.cart_totals,.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.bf-checkout-shipping-placeholder,.bf-checkout-payment-placeholder{padding:24px}.bf-funnel-main{padding-top:20px}.woocommerce-checkout .bf-step-actions{gap:12px;flex-direction:column-reverse;align-items:stretch}.woocommerce-checkout .bf-step-actions button{width:100%;min-width:0}}
@media (max-width:600px){.bf-funnel-header__inner{grid-template-columns:74px 1fr}.bf-funnel-logo .bf-logo{width:70px;height:70px}.bf-funnel-progress{font-size:10px;gap:5px}.woocommerce-cart-form{overflow-x:auto;padding:18px}.woocommerce-cart-form table.shop_table{min-width:720px}.woocommerce-cart .woocommerce{gap:18px}.woocommerce-checkout form.checkout{gap:16px}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.bf-checkout-shipping-placeholder,.bf-checkout-payment-placeholder{padding:20px}.woocommerce-checkout h3{font-size:22px}}
.bf-shipping-options{display:grid;gap:10px}.bf-shipping-option{display:flex;align-items:center;gap:12px;border:1px solid var(--bf-border);padding:18px;font-weight:800}.bf-shipping-option:has(input:checked){border-color:#111;box-shadow:inset 4px 0 0 var(--bf-yellow)}.bf-shipping-option input{width:20px;height:20px}

/* v0.2 — calmer funnel, stronger progress and a genuinely mobile cart. */
.bf-funnel-header__inner{grid-template-columns:170px minmax(0,1fr) 150px}.bf-funnel-secure{justify-self:end;display:flex;align-items:center;gap:7px;color:#444;font-size:11px;font-weight:800;text-transform:uppercase}.bf-funnel-secure .bf-icon{width:20px;height:20px;color:var(--bf-success)}.bf-funnel-footer{background:#222;color:#fff;padding:18px 0;font-size:11px;font-weight:700}.bf-funnel-footer__inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.bf-funnel-footer__inner span:last-child{display:flex;align-items:center;gap:6px}.bf-funnel-footer .bf-icon{width:16px;height:16px}.woocommerce-cart .woocommerce{gap:26px}.woocommerce-cart-form,.cart_totals{box-shadow:0 1px 0 rgb(0 0 0/.02)}.cart_totals{position:sticky;top:176px}.cart_totals .bf-shipping-meter{margin:4px 0 18px}.cart_totals .wc-proceed-to-checkout{padding-top:6px}.woocommerce-cart-form .product-remove a{display:grid;place-items:center;width:32px;height:32px}.woocommerce-checkout .woocommerce-form-coupon-toggle{padding:14px 22px;color:#666;font-size:13px}.woocommerce-checkout .woocommerce-form-coupon{background:#fff;padding:20px;margin-top:-12px}.bf-checkout-reassurance{grid-column:1;display:flex;align-items:center;gap:12px;background:#fff;border-left:4px solid var(--bf-yellow);padding:14px 18px;margin-bottom:16px;color:#333}.bf-checkout-reassurance .bf-icon{width:24px;height:24px;color:var(--bf-success);flex:0 0 auto}.bf-checkout-reassurance>div{display:grid;line-height:1.3}.bf-checkout-reassurance strong{font-size:13px;color:#111}.bf-checkout-reassurance span{font-size:11px;color:#777;margin-top:2px}.woocommerce-checkout #customer_details,.bf-checkout-shipping-placeholder,.bf-checkout-payment-placeholder{border-top:3px solid #111}.woocommerce-checkout .bf-step-title{padding-bottom:16px;border-bottom:1px solid #eee}.woocommerce-checkout .bf-step-title h2{margin:0;font-size:25px}.woocommerce-checkout .bf-step-actions .bf-button--red{background:#e33232}.woocommerce-checkout #order_review::before{content:'Resumen de tu pedido';display:block;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #eee;color:#111;font-size:16px;font-weight:800;text-transform:uppercase}.woocommerce-checkout #payment #place_order{background:#e33232;color:#fff}.woocommerce-checkout #payment #place_order:hover{background:#000}.woocommerce-checkout .woocommerce-checkout-review-order-table img{max-width:70px}.bf-shipping-meter{margin:0 0 18px}.bf-shipping-meter__track{height:7px;background:#e7e7e7;overflow:hidden}.bf-shipping-meter__track span{display:block;height:100%;width:var(--bf-progress,0%);background:var(--bf-yellow)}.bf-shipping-meter p{margin:8px 0 0;font-size:12px;line-height:1.35;font-weight:800;color:#555}
@media (max-width:991px){.bf-funnel-header__inner{grid-template-columns:92px 1fr 38px}.bf-funnel-secure span{display:none}.bf-funnel-secure .bf-icon{width:22px;height:22px}.cart_totals{position:static}.bf-funnel-footer__inner{flex-direction:column;text-align:center;gap:5px}.bf-checkout-reassurance{grid-column:1}.woocommerce-checkout #order_review{border-top:3px solid #111}}
@media (max-width:600px){.bf-funnel-header{height:92px}.bf-funnel-header__inner{grid-template-columns:62px minmax(0,1fr) 28px}.bf-funnel-logo .bf-logo{width:62px;height:62px}.bf-funnel-progress{padding-left:8px;scrollbar-width:none}.bf-funnel-progress::-webkit-scrollbar{display:none}.bf-funnel-progress i{font-size:14px}.woocommerce-cart-form{overflow:visible;padding:18px}.woocommerce-cart-form table.shop_table{min-width:0;display:block}.woocommerce-cart-form table.shop_table thead{display:none}.woocommerce-cart-form table.shop_table tbody,.woocommerce-cart-form table.shop_table tr{display:block}.woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-areas:'thumb name' 'thumb price' 'thumb qty' 'thumb subtotal';gap:3px 14px;padding:18px 30px 18px 0;border-bottom:1px solid var(--bf-border)}.woocommerce-cart-form table.shop_table td{border:0!important;padding:2px 0!important;text-align:left!important}.woocommerce-cart-form .product-remove{position:absolute;right:0;top:14px}.woocommerce-cart-form .product-thumbnail{grid-area:thumb;width:auto}.woocommerce-cart-form .product-thumbnail img{width:82px;height:82px}.woocommerce-cart-form .product-name{grid-area:name}.woocommerce-cart-form .product-name a{font-size:14px;line-height:1.35}.woocommerce-cart-form .product-price{grid-area:price;color:#777;font-size:12px}.woocommerce-cart-form .product-quantity{grid-area:qty}.woocommerce-cart-form .product-subtotal{grid-area:subtotal;font-size:15px;font-weight:800;color:#111}.woocommerce-cart-form .product-price::before{content:'Precio: ';font-weight:700}.woocommerce-cart-form .product-subtotal::before{content:'Subtotal: ';font-size:11px;color:#777}.woocommerce-cart-form .actions{display:grid!important;gap:10px;padding-top:18px!important}.woocommerce-cart-form .coupon{float:none!important;display:grid!important;grid-template-columns:1fr auto}.woocommerce-cart-form .coupon input{min-width:0;width:100%!important}.woocommerce-cart-form .actions>.button{float:none!important;width:100%}.cart_totals{padding:22px}.cart_totals .checkout-button{min-height:54px}.woocommerce-checkout .woocommerce-form-coupon-toggle{font-size:12px}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.bf-checkout-shipping-placeholder,.bf-checkout-payment-placeholder{padding:20px 18px}.woocommerce-checkout .bf-step-title h2{font-size:21px}.woocommerce-checkout .bf-step-title__number{width:32px;height:32px}.bf-checkout-reassurance{margin-inline:0}.bf-funnel-footer{padding-bottom:calc(18px + env(safe-area-inset-bottom))}}
/* Shipping selection belongs to step 2; hide Woo's duplicate selector in the sticky summary while totals still update. */
.woocommerce-checkout #order_review .woocommerce-shipping-totals{display:none}

/* v0.2.3 — deterministic cart columns and stronger checkout fields. */
.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1.45fr) minmax(360px,.85fr);grid-auto-flow:row}.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}.woocommerce-cart .woocommerce>.woocommerce-cart-form{grid-column:1;grid-row:2}.woocommerce-cart .woocommerce>.cart-collaterals{display:contents!important}.woocommerce-cart .cart_totals{grid-column:2;grid-row:2;align-self:start}.woocommerce-cart .cross-sells{grid-column:1/-1;grid-row:3;margin-top:20px;background:#fff;padding:30px}.woocommerce-cart .cross-sells>h2{font-size:26px;text-transform:uppercase}.woocommerce-cart .cross-sells .products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.woocommerce-cart-form{min-width:0}.woocommerce-cart-form .product-name{min-width:180px}.woocommerce-cart-form .product-name a{line-height:1.4}.woocommerce-cart-form .product-price,.woocommerce-cart-form .product-subtotal{white-space:nowrap}.woocommerce-checkout form.checkout input.input-text,.woocommerce-checkout form.checkout select,.woocommerce-checkout form.checkout textarea{width:100%;min-height:48px;border:1px solid #d7d7d7;border-radius:0;background:#fff;padding:10px 13px;color:#222}.woocommerce-checkout form.checkout textarea{min-height:96px}.woocommerce-checkout form.checkout label{color:#333;font-size:12px;font-weight:800}.woocommerce-checkout .form-row{margin-bottom:14px}.woocommerce-checkout .select2-container .select2-selection--single{height:48px;border-radius:0;border-color:#d7d7d7}.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding-left:13px}.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:46px}.woocommerce-checkout #order_review{font-size:13px}.bf-funnel-header{height:126px}.bf-funnel-logo .bf-logo{width:100px;height:100px}.woocommerce-checkout #order_review,.cart_totals{top:148px}
@media(max-width:991px){.woocommerce-cart .woocommerce{grid-template-columns:1fr}.woocommerce-cart .woocommerce>.woocommerce-cart-form,.woocommerce-cart .cart_totals,.woocommerce-cart .cross-sells{grid-column:1;grid-row:auto}.woocommerce-cart .cross-sells .products{grid-template-columns:repeat(2,1fr)}.bf-funnel-header{height:104px}.bf-funnel-logo .bf-logo{width:82px;height:82px}}
@media(max-width:600px){.woocommerce-cart-form{overflow:visible}.woocommerce-cart-form table.shop_table{min-width:0!important}.woocommerce-cart .cross-sells{padding:20px}.woocommerce-cart .cross-sells .products{grid-template-columns:1fr}.bf-funnel-header{height:90px}.bf-funnel-logo .bf-logo{width:66px;height:66px}}

/* v0.2.3 final — deterministic classic cart layout regardless of notices/cross-sells. */
.woocommerce-cart .bf-funnel-main>.bf-page-content>.woocommerce{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(390px,.8fr)!important;gap:28px!important;align-items:start!important}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper,.woocommerce-cart .woocommerce>.woocommerce-message,.woocommerce-cart .woocommerce>.woocommerce-error,.woocommerce-cart .woocommerce>.woocommerce-info{grid-column:1/-1!important}
.woocommerce-cart .woocommerce>.woocommerce-cart-form{grid-column:1!important;grid-row:2!important;width:100%!important;margin:0!important}
.woocommerce-cart .woocommerce>.cart-collaterals{display:contents!important}
.woocommerce-cart .cart_totals{grid-column:2!important;grid-row:2!important;align-self:start!important;width:100%!important;margin:0!important}
.woocommerce-cart .cross-sells{grid-column:1/-1!important;grid-row:3!important;width:100%!important;margin:12px 0 0!important;padding-top:28px!important}.woocommerce-cart .cross-sells>h2{font-size:28px;font-style:italic;text-transform:uppercase;margin-bottom:24px}.woocommerce-cart .cross-sells ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.woocommerce-checkout form.checkout .form-row label{margin-bottom:5px;color:#333;font-size:12px;font-weight:800}.woocommerce-checkout form.checkout input.input-text,.woocommerce-checkout form.checkout textarea,.woocommerce-checkout form.checkout select,.woocommerce-checkout .select2-selection{min-height:50px!important;font-size:15px!important}.woocommerce-checkout form.checkout textarea{min-height:108px!important}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{box-shadow:0 7px 28px rgb(0 0 0/.035)}
@media(max-width:1050px){.woocommerce-cart .bf-funnel-main>.bf-page-content>.woocommerce{grid-template-columns:1fr!important}.woocommerce-cart .woocommerce>.woocommerce-cart-form,.woocommerce-cart .cart_totals,.woocommerce-cart .cross-sells{grid-column:1!important;grid-row:auto!important}.woocommerce-cart .cross-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.woocommerce-cart .cross-sells ul.products{grid-template-columns:1fr!important}}

/* v0.2.4 — checkout matches the production three-step accordion on one page. */
.bf-funnel-progress a{color:#999;font-weight:800;text-decoration:none;white-space:nowrap}
.bf-funnel-progress a:hover{color:#444}
.bf-funnel-progress a.is-active{color:#111}
.bf-funnel-progress a.is-done{color:#555}
.bf-funnel-logo{display:inline-flex}
.bf-funnel-logo:focus-visible{outline:3px solid var(--bf-yellow);outline-offset:4px}

.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1.4fr) minmax(390px,.9fr)!important;gap:26px!important;align-items:start}
.woocommerce-checkout #customer_details.bf-checkout-step,.woocommerce-checkout .bf-checkout-step{grid-column:1!important;width:100%!important;margin:0 0 18px!important;padding:0!important;background:#fff!important;border:1px solid #e7e7e7!important;border-top:0!important;box-shadow:none!important}
.woocommerce-checkout #order_review{grid-column:2!important;grid-row:1 / span 8!important;align-self:start!important;position:sticky!important;top:148px!important}
.bf-checkout-step__header{width:100%;min-height:86px;padding:20px 28px;border:0;background:#fff;display:flex;align-items:center;gap:13px;color:#999;text-align:left;font-size:24px;font-weight:800;cursor:pointer}
.bf-checkout-step__header:hover{background:#fafafa;color:#555}
.bf-checkout-step.is-open .bf-checkout-step__header{color:#111}
.bf-checkout-step__header .bf-step-title__number{width:36px;height:36px;border:1px solid #ddd;border-radius:50%;display:grid;place-items:center;background:#fff;color:#999;font-size:17px;flex:0 0 36px}
.bf-checkout-step.is-open .bf-checkout-step__header .bf-step-title__number{background:#222;border-color:#222;color:#fff}
.bf-checkout-step__chevron{margin-left:auto;font-size:24px;font-weight:400;transform:rotate(-90deg);transition:transform .16s}
.bf-checkout-step.is-open .bf-checkout-step__chevron{transform:rotate(0deg)}
.bf-checkout-step__body{padding:0 30px 30px}
.bf-checkout-step__body>.col-1,.bf-checkout-step__body>.col-2{float:none!important;width:100%!important}
.bf-checkout-step__body>.col-2{margin-top:18px}
.bf-checkout-step__body .bf-checkout-reassurance{margin:0 0 18px}
.bf-checkout-step .bf-step-actions{padding-top:4px}
.bf-checkout-step.is-collapsed{opacity:1!important}
.bf-shipping-options{display:grid;gap:10px}
.bf-shipping-option{display:flex;align-items:center;gap:12px;min-height:68px;padding:14px 16px;border:1px solid #ddd;color:#222;font-weight:800;cursor:pointer}
.bf-shipping-option:has(input:checked){border-color:#111;box-shadow:inset 4px 0 0 var(--bf-yellow)}
.bf-shipping-option input{width:18px;height:18px}
.bf-shipping-empty{margin:0 0 18px;padding:18px;background:#f7f7f7;line-height:1.6}

/* Sticky order summary with product imagery, as in production. */
.woocommerce-checkout-review-order-table .product-name{vertical-align:top}
.bf-checkout-review-product{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.bf-checkout-review-product__media{display:grid;place-items:center;width:72px;height:72px}
.bf-checkout-review-thumb{width:68px!important;height:68px!important;object-fit:contain!important;margin:0!important}
.bf-checkout-review-product__name{font-weight:800;color:#111;line-height:1.35;text-transform:uppercase}
.woocommerce-checkout-review-order-table .product-quantity{display:block;margin:4px 0 0 84px;color:#555}
.woocommerce-checkout-review-order-table .variation{margin:4px 0 0 84px;font-size:11px}
.bf-checkout-review-trust-row>td{padding:20px 0 0!important;border-bottom:0!important}
.bf-checkout-review-trust{border:1px solid #e0e0e0;padding:17px 14px 14px;text-align:center}
.bf-checkout-review-trust>strong{display:block;margin-bottom:12px;color:#222;font-size:13px;text-transform:uppercase}
.bf-checkout-review-payments{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}
.bf-checkout-review-payments .bf-payment-logo{height:30px!important;max-width:72px!important;padding:4px 6px!important}
.bf-checkout-review-trust>span{display:block;margin-top:10px;color:#318b2d;font-size:12px;font-weight:800}

@media(max-width:991px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr!important}
  .woocommerce-checkout #order_review{grid-column:1!important;grid-row:auto!important;position:static!important}
  .bf-checkout-step__header{min-height:74px;font-size:21px;padding:16px 20px}
  .bf-checkout-step__body{padding:0 20px 22px}
}
@media(max-width:600px){
  .bf-funnel-progress a{font-size:11px}
  .bf-checkout-step__header{min-height:66px;padding:14px 16px;font-size:18px}
  .bf-checkout-step__header .bf-step-title__number{width:30px;height:30px;flex-basis:30px;font-size:14px}
  .bf-checkout-step__body{padding:0 16px 18px}
  .bf-checkout-review-product{grid-template-columns:58px minmax(0,1fr)}
  .bf-checkout-review-product__media{width:58px;height:58px}
  .bf-checkout-review-thumb{width:54px!important;height:54px!important}
  .woocommerce-checkout-review-order-table .product-quantity,.woocommerce-checkout-review-order-table .variation{margin-left:70px}
}
.bf-checkout-validation-notice{margin:0 0 16px;padding:12px 14px;border-left:4px solid var(--bf-yellow);background:#fff8d5;color:#171717;font-size:12px;font-weight:800}
.bf-checkout-review-payments .bf-payment-logo{display:block!important;width:auto!important;height:30px!important;max-width:78px!important;padding:4px 6px!important;border:1px solid #dedede!important;background:#fff!important;object-fit:contain!important}

/* v0.2.6 — branded order confirmation / post-purchase experience. */
.bf-order-received .bf-funnel-main{padding-top:34px;padding-bottom:54px;background:#f4f4f4}
.bf-order-received .bf-page-content{max-width:1180px}
.bf-order-received .bf-thankyou{display:block!important}
.bf-thankyou-hero{display:grid;grid-template-columns:66px minmax(0,1fr);gap:20px;align-items:center;background:#090909;color:#fff;border-top:7px solid var(--bf-yellow);padding:30px 34px;margin:0 0 18px}
.bf-thankyou-hero--failed{display:block;border-top-color:#e33232}
.bf-thankyou-hero__icon{display:grid;place-items:center;width:60px;height:60px;border:2px solid var(--bf-yellow);border-radius:50%;color:var(--bf-yellow);font-size:31px;font-weight:900}
.bf-thankyou-kicker{display:block;color:var(--bf-yellow);font-size:11px;letter-spacing:1.6px;font-weight:900;text-transform:uppercase;margin-bottom:7px}
.bf-thankyou-hero h1{margin:0 0 7px;color:#fff;font-size:36px;line-height:1.05;font-style:italic;text-transform:uppercase}
.bf-thankyou-hero p{max-width:760px;margin:0;color:#d4d4d4;font-size:15px;line-height:1.6}
.bf-thankyou-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #e5e5e5;margin-bottom:18px}
.bf-thankyou-overview>div{min-width:0;padding:18px 20px;border-right:1px solid #e5e5e5}.bf-thankyou-overview>div:last-child{border-right:0}
.bf-thankyou-overview span{display:block;color:#888;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}
.bf-thankyou-overview strong{display:block;color:#111;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.bf-thankyou-next{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e5e5e5;border:1px solid #e5e5e5;margin-bottom:18px}
.bf-thankyou-next article{display:flex;gap:13px;background:#fff;padding:20px}
.bf-thankyou-next b{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;background:var(--bf-yellow);color:#111;font-size:13px}
.bf-thankyou-next article>div{display:grid;gap:4px}.bf-thankyou-next strong{font-size:13px;text-transform:uppercase}.bf-thankyou-next span{color:#666;font-size:12px;line-height:1.45}
.bf-thankyou-actions{display:flex;gap:10px;flex-wrap:wrap}.bf-thankyou-actions--main{justify-content:flex-end;margin:0 0 28px}.bf-thankyou-actions .bf-button{min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center}
.bf-button--outline-light{border:1px solid #777!important;color:#fff!important;background:transparent!important}
.bf-thankyou-details{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:20px;align-items:start}
.bf-thankyou-details>.woocommerce-order-details{grid-column:1;background:#fff;border:1px solid #e5e5e5;padding:26px;margin:0!important}
.bf-thankyou-details>.woocommerce-customer-details{grid-column:2;background:#fff;border:1px solid #e5e5e5;padding:26px;margin:0!important}
.bf-thankyou-details>.woocommerce-order-details~*{min-width:0}
.bf-order-received .woocommerce-order-details__title,.bf-order-received .woocommerce-column__title{margin:0 0 18px!important;font-size:21px!important;font-style:italic;text-transform:uppercase;color:#111}
.bf-order-received .woocommerce-table--order-details{width:100%;border-collapse:collapse}
.bf-order-received .woocommerce-table--order-details th,.bf-order-received .woocommerce-table--order-details td{padding:14px 8px;border-bottom:1px solid #e7e7e7;text-align:left;vertical-align:middle}
.bf-order-received .woocommerce-table--order-details th{font-size:11px;text-transform:uppercase;color:#555}
.bf-thankyou-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;font-weight:800;color:#111;text-transform:uppercase;line-height:1.35}
.bf-thankyou-item-thumb{width:66px!important;height:66px!important;object-fit:contain!important;margin:0!important}
.bf-order-received .woocommerce-customer-details address{border:0!important;background:#f8f8f8!important;padding:16px!important;line-height:1.7!important;font-style:normal!important}
.bf-order-received .woocommerce-customer-details--phone,.bf-order-received .woocommerce-customer-details--email{margin:8px 0 0!important;font-weight:700}
.bf-order-received .woocommerce-notice{margin:0 0 16px!important}
@media(max-width:900px){.bf-thankyou-overview{grid-template-columns:repeat(2,1fr)}.bf-thankyou-overview>div:nth-child(2){border-right:0}.bf-thankyou-overview>div:nth-child(-n+2){border-bottom:1px solid #e5e5e5}.bf-thankyou-next{grid-template-columns:1fr}.bf-thankyou-details{grid-template-columns:1fr}.bf-thankyou-details>.woocommerce-order-details,.bf-thankyou-details>.woocommerce-customer-details{grid-column:1}.bf-thankyou-actions--main{justify-content:stretch}.bf-thankyou-actions--main .bf-button{flex:1}}
@media(max-width:600px){.bf-order-received .bf-funnel-main{padding-top:18px;padding-bottom:34px}.bf-thankyou-hero{grid-template-columns:48px minmax(0,1fr);padding:22px 18px;gap:13px}.bf-thankyou-hero__icon{width:44px;height:44px;font-size:24px}.bf-thankyou-hero h1{font-size:28px}.bf-thankyou-overview{grid-template-columns:1fr 1fr}.bf-thankyou-overview>div{padding:14px}.bf-thankyou-overview strong{font-size:13px}.bf-thankyou-next article{padding:16px}.bf-thankyou-actions--main{display:grid;grid-template-columns:1fr}.bf-thankyou-details>.woocommerce-order-details,.bf-thankyou-details>.woocommerce-customer-details{padding:18px}.bf-thankyou-item{grid-template-columns:54px minmax(0,1fr)}.bf-thankyou-item-thumb{width:50px!important;height:50px!important}}

/* v0.2.8 — align post-purchase order data and customer addresses from the same baseline. */
@media(min-width:901px){
  .bf-thankyou-details{grid-template-columns:minmax(0,1.28fr) minmax(380px,.72fr);align-items:stretch}
  .bf-thankyou-details>.woocommerce-order-details{grid-column:1;grid-row:1;height:100%;box-sizing:border-box}
  .bf-thankyou-details>.woocommerce-customer-details{grid-column:2;grid-row:1;height:100%;box-sizing:border-box;display:flex;flex-direction:column}
  .bf-order-received .woocommerce-customer-details .woocommerce-columns--addresses{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;flex:1;margin:0!important}
  .bf-order-received .woocommerce-customer-details .woocommerce-column{float:none!important;width:auto!important;margin:0!important;display:flex;flex-direction:column;min-width:0}
  .bf-order-received .woocommerce-customer-details address{flex:1;margin:0!important}
}
.bf-order-received .woocommerce-customer-details .woocommerce-column__title{font-size:16px!important;margin-bottom:10px!important;font-style:normal!important}
.bf-order-received .woocommerce-order-details__title{font-size:19px!important}

/* v0.2.10 — clean coupon control on mobile cart. */
@media(max-width:600px){.woocommerce-cart-form .coupon{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;border:1px solid #d9d9d9!important;background:#fff!important}.woocommerce-cart-form .coupon input{height:52px!important;border:0!important;border-right:1px solid #d9d9d9!important;outline:0!important}.woocommerce-cart-form .coupon .button{min-height:52px!important;border:0!important;background:#f0f0f0!important;color:#111!important;padding-inline:18px!important}.woocommerce-cart-form .coupon .button:hover{background:#111!important;color:#fff!important}}


/* v0.2.11 — conversion order and mobile cart polish. */
.woocommerce-cart .cross-sells{grid-row:3!important}
@media(max-width:1050px){.woocommerce-cart .cross-sells{order:3!important}}
@media(max-width:600px){
  .woocommerce-cart-form .coupon{overflow:hidden!important;border:1px solid #d7d7d7!important;box-shadow:none!important}
  .woocommerce-cart-form .coupon input,.woocommerce-cart-form .coupon .button{box-shadow:none!important;border-radius:0!important}
  .woocommerce-cart-form .coupon input:focus{box-shadow:inset 0 0 0 2px var(--bf-yellow)!important}
}

/* v0.2.13 — cross-sells are rendered after the complete cart/checkout block. */
.woocommerce-cart .woocommerce>.cross-sells{
  grid-column:1/-1!important;
  grid-row:3!important;
  width:100%!important;
  margin-top:24px!important;
}
@media(max-width:1050px){
  .woocommerce-cart .woocommerce>.cross-sells{
    grid-column:1!important;
    grid-row:auto!important;
    order:3!important;
    margin-top:18px!important;
  }
}

/* v0.2.27 — funnel labels are mutually exclusive; the previous markup rendered
 * desktop + mobile copies together on narrow screens. */
.bf-funnel-step-label--mobile{display:none}
@media(max-width:600px){
  .bf-funnel-step-label--desktop{display:none}
  .bf-funnel-step-label--mobile{display:inline}
  .bf-funnel-progress{font-size:11px;line-height:1.15;gap:4px}
  .bf-funnel-progress i{flex:0 0 auto}
}

/* v0.2.28 — cart sticky boundary + cleaner checkout cards and order summary. */
.woocommerce-cart .cart_totals{position:static!important;top:auto!important}
.woocommerce-checkout #customer_details>.bf-checkout-step__header{margin:0!important;width:100%!important}
.woocommerce-checkout .bf-checkout-step__header{min-height:72px!important;padding:16px 20px!important;font-size:21px!important;border-left:4px solid transparent!important}
.woocommerce-checkout .bf-checkout-step.is-open>.bf-checkout-step__header,
.woocommerce-checkout .bf-checkout-payment-step-heading.is-open>.bf-checkout-step__header{border-left-color:var(--bf-yellow)!important;background:#fff!important;color:#111!important}
.woocommerce-checkout .bf-checkout-payment-step-heading.is-open .bf-step-title__number{background:#222;border-color:#222;color:#fff}
.woocommerce-checkout #order_review::before{content:none!important;display:none!important}
.woocommerce-checkout .woocommerce-checkout-review-order-table{padding:0!important;border:1px solid #e5e5e5!important;border-collapse:separate!important;border-spacing:0!important;background:#fff;box-shadow:0 10px 30px rgb(0 0 0/.04);overflow:hidden}
.woocommerce-checkout .bf-checkout-review-caption{caption-side:top;background:#111;color:#fff;padding:18px 22px;text-align:left;border:0}
.woocommerce-checkout .bf-checkout-review-caption span{display:block;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.01em}
.woocommerce-checkout .bf-checkout-review-caption small{display:block;margin-top:4px;color:#bbb;font-size:11px;font-weight:700;text-transform:none}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{padding:12px 20px!important;background:#f7f7f7;color:#777;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:16px 20px!important;border-bottom:1px solid #ececec;vertical-align:middle}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total{text-align:right;white-space:nowrap}
.woocommerce-checkout .bf-checkout-review-product{grid-template-columns:62px minmax(0,1fr);gap:12px}
.woocommerce-checkout .bf-checkout-review-product__media{width:62px;height:62px;background:#fafafa}
.woocommerce-checkout .bf-checkout-review-thumb{width:58px!important;height:58px!important}
.woocommerce-checkout .bf-checkout-review-product__name{font-size:12px;line-height:1.35}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity{display:inline-flex!important;margin:7px 0 0 74px!important;padding:3px 7px;border-radius:999px;background:#f1f1f1;color:#555;font-size:10px;font-weight:800;line-height:1}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation{margin:7px 0 0 74px!important;color:#777;font-size:10px}
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td{background:#fafafa;font-weight:800}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{padding-top:20px!important;padding-bottom:20px!important;border-top:4px solid var(--bf-yellow);background:#fff;font-size:18px!important;font-weight:900!important;color:#111}
.woocommerce-checkout .bf-checkout-review-trust-row>td{padding:18px 20px!important;background:#fafafa;border-bottom:0!important}
.woocommerce-checkout .bf-checkout-review-trust{border:0;padding:0;text-align:center;background:transparent}
@media(max-width:991px){.woocommerce-checkout .woocommerce-checkout-review-order-table{position:static!important}.woocommerce-checkout .bf-checkout-review-caption{padding:16px 18px}.woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding-inline:18px!important}}
@media(max-width:600px){.woocommerce-checkout .bf-checkout-step__header{min-height:62px!important;padding:13px 14px!important;font-size:18px!important}.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{padding-inline:14px!important}.woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:14px!important}.woocommerce-checkout .bf-checkout-review-product{grid-template-columns:54px minmax(0,1fr)}.woocommerce-checkout .bf-checkout-review-product__media{width:54px;height:54px}.woocommerce-checkout .bf-checkout-review-thumb{width:50px!important;height:50px!important}.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity,.woocommerce-checkout .woocommerce-checkout-review-order-table .variation{margin-left:66px!important}}



/* v0.2.29 — post-purchase page is a centered single-column funnel. */
.bf-order-received .bf-funnel-main>.bf-page-content{width:min(100%,1180px);max-width:1180px;margin-inline:auto}
.bf-order-received .bf-thankyou{width:100%;margin-inline:auto}


/* v0.2.32 — Bufanatic cart rhythm + PayPal CTA placement. */
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
}
.woocommerce-cart .woocommerce>.woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-cart .woocommerce>.cross-sells{
  grid-row:auto!important;
}
.woocommerce-cart .bf-funnel-main{padding-top:18px}

/* PayPal Payments now renders on woocommerce_review_order_after_submit, inside
 * the same .place-order row as Woo's native Place order button. Keep the
 * provider-owned wrapper full width and in normal document flow. */
.woocommerce-checkout #payment .place-order>.ppc-button-wrapper{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.woocommerce-checkout #payment .place-order>.ppc-button-wrapper iframe{
  max-width:100%!important;
}
@media(max-width:600px){
  .woocommerce-cart .bf-funnel-main{padding-top:12px}
}
