/* BongoBuy checkout - the classic WooCommerce checkout styled to match the cart page. All WooCommerce logic (fragments, validation, payments) is untouched; this file only restyles it. */
body.bb-checkout{--bb-r:#ED1024;--bb-rh:#CE0C1C;--bb-tx:#171717;--bb-mu:#667085;--bb-bd:#E5E7EB;--bb-pk:#FFF1F2;--bb-gr:#00A64F}
body.bb-checkout .bb-checkout-wrap .woocommerce{max-width:100%;min-width:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--bb-tx)}
/* notices */
body.bb-checkout .woocommerce-notices-wrapper:empty{display:none}
body.bb-checkout .woocommerce :is(.woocommerce-message,.woocommerce-error,.woocommerce-info){list-style:none;margin:0 0 14px;padding:12px 16px;border-radius:10px;border:1px solid var(--bb-bd);border-left:4px solid var(--bb-r);background:#fff;color:var(--bb-tx);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
body.bb-checkout .woocommerce .woocommerce-message{border-left-color:var(--bb-gr)}
body.bb-checkout .woocommerce :is(.woocommerce-message,.woocommerce-error,.woocommerce-info)::before{display:none}
body.bb-checkout .woocommerce :is(.woocommerce-info,.woocommerce-message) a{color:var(--bb-r);font-weight:600}
/* coupon */
body.bb-checkout .woocommerce form.checkout_coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px;padding:16px;background:#fff;border:1px solid var(--bb-bd);border-radius:12px}
body.bb-checkout .woocommerce form.checkout_coupon p{margin:0;width:auto;float:none}
body.bb-checkout .woocommerce form.checkout_coupon p:first-child{flex:1 0 100%}
body.bb-checkout .woocommerce form.checkout_coupon p.form-row-first{flex:1 1 200px}
body.bb-checkout .woocommerce form.checkout_coupon p.form-row-last{flex:0 0 auto}
/* main two-column grid: details card | order card */
body.bb-checkout .woocommerce form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);grid-template-areas:'details heading' 'details review';column-gap:24px;row-gap:0;align-items:start}
body.bb-checkout .woocommerce form.woocommerce-checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
body.bb-checkout .woocommerce #customer_details{grid-area:details;box-sizing:border-box;min-width:0;padding:24px;background:#fff;border:1px solid var(--bb-bd);border-radius:14px}
body.bb-checkout .woocommerce #customer_details .col-1,body.bb-checkout .woocommerce #customer_details .col-2{float:none;width:100%;max-width:none;padding:0}
body.bb-checkout .woocommerce #customer_details .col-2{margin-top:22px}
body.bb-checkout .woocommerce #customer_details h3,body.bb-checkout .woocommerce #order_review_heading{margin:0 0 16px;font-size:20px;font-weight:700;line-height:1.25;color:var(--bb-tx)}
body.bb-checkout .woocommerce #order_review_heading{grid-area:heading;box-sizing:border-box;margin:0;padding:18px 20px;background:linear-gradient(180deg,#FFF1F2,#FFFFFF);border:1px solid #FAD4D8;border-bottom:0;border-radius:14px 14px 0 0}
body.bb-checkout .woocommerce #order_review{grid-area:review;box-sizing:border-box;min-width:0;padding:0 20px 20px;background:#fff;border:1px solid #FAD4D8;border-top:0;border-radius:0 0 14px 14px}
/* fields */
body.bb-checkout .woocommerce :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
body.bb-checkout .woocommerce form .form-row{float:none;width:auto;margin:0;padding:0;min-width:0}
body.bb-checkout .woocommerce form .form-row-wide,body.bb-checkout .woocommerce form .form-row.notes,body.bb-checkout .woocommerce form #order_comments_field{grid-column:1/-1}
body.bb-checkout .woocommerce form .form-row label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.3;color:var(--bb-tx)}
body.bb-checkout .woocommerce form .form-row .required{color:var(--bb-r);text-decoration:none;border:0}
body.bb-checkout .woocommerce form .form-row .optional{font-weight:400;color:var(--bb-mu)}
body.bb-checkout .woocommerce .woocommerce-input-wrapper{display:block}
body.bb-checkout .woocommerce form .form-row :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],select,textarea){box-sizing:border-box;display:block;width:100%;min-width:0;height:46px;min-height:46px;margin:0;padding:0 14px;border:1px solid var(--bb-bd);border-radius:8px;background:#fff;box-shadow:none;color:var(--bb-tx);font-family:inherit;font-size:14px;line-height:1.3}
body.bb-checkout .woocommerce form .form-row textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical}
body.bb-checkout .woocommerce form .form-row :is(input,select,textarea):focus{outline:none;border-color:var(--bb-r);box-shadow:0 0 0 3px rgba(237,16,36,.12)}
body.bb-checkout .woocommerce form .form-row.woocommerce-invalid :is(input,select,textarea),body.bb-checkout .woocommerce form .form-row.woocommerce-invalid .select2-selection{border-color:var(--bb-r)}
body.bb-checkout .woocommerce form .form-row.woocommerce-validated :is(input,select,textarea){border-color:var(--bb-bd)}
/* select2 (country / state) */
body.bb-checkout .woocommerce .select2-container{width:100%!important}
body.bb-checkout .woocommerce .select2-container--default .select2-selection--single{box-sizing:border-box;height:46px;border:1px solid var(--bb-bd);border-radius:8px;background:#fff;display:flex;align-items:center}
body.bb-checkout .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0 36px 0 14px;line-height:1.3;color:var(--bb-tx);font-size:14px}
body.bb-checkout .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:8px}
body.bb-checkout .woocommerce .select2-container--default.select2-container--focus .select2-selection--single,body.bb-checkout .woocommerce .select2-container--open .select2-selection--single{border-color:var(--bb-r)}
/* order summary */
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table{width:100%;margin:0;border:0;border-collapse:collapse;table-layout:auto;background:transparent}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table :is(th,td){padding:12px 0;border:0;border-bottom:1px solid var(--bb-bd);background:transparent;font-size:14px;line-height:1.4;text-align:left;vertical-align:top}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table thead th{font-size:13px;font-weight:600;color:var(--bb-mu)}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table :is(.product-total,td:last-child,thead th:last-child){text-align:right;white-space:nowrap}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table .product-name{padding-right:12px;overflow-wrap:anywhere}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table .product-quantity{font-weight:600;color:var(--bb-mu)}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table tr.order-total :is(th,td){padding:14px;border:0;background:#FEE4E6;color:var(--bb-r);font-size:18px;font-weight:700}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table tr.order-total th{border-radius:8px 0 0 8px}
body.bb-checkout .woocommerce table.woocommerce-checkout-review-order-table tr.order-total td{border-radius:0 8px 8px 0}
body.bb-checkout .woocommerce #shipping_method{list-style:none;margin:0;padding:0}
body.bb-checkout .woocommerce #shipping_method li{margin:0 0 6px;padding:0}
/* payment */
body.bb-checkout .woocommerce #payment{background:transparent;border-radius:0;margin-top:16px}
body.bb-checkout .woocommerce #payment ul.payment_methods{list-style:none;margin:0 0 14px;padding:0;border:0}
body.bb-checkout .woocommerce #payment ul.payment_methods>li{margin:0 0 8px;padding:12px 14px;border:1px solid var(--bb-bd);border-radius:10px;background:#fff}
body.bb-checkout .woocommerce #payment ul.payment_methods>li label{display:inline;font-weight:600;font-size:14px}
body.bb-checkout .woocommerce #payment div.payment_box{margin:10px 0 0;padding:12px;border-radius:8px;background:#F9FAFB;color:var(--bb-mu);font-size:13px;line-height:1.5}
body.bb-checkout .woocommerce #payment div.payment_box::before{display:none}
body.bb-checkout .woocommerce #payment .form-row{padding:0}
body.bb-checkout .woocommerce .woocommerce-privacy-policy-text,body.bb-checkout .woocommerce .woocommerce-terms-and-conditions-wrapper{font-size:13px;line-height:1.5;color:var(--bb-mu)}
body.bb-checkout .woocommerce .woocommerce-privacy-policy-text a,body.bb-checkout .woocommerce .woocommerce-terms-and-conditions-wrapper a{color:var(--bb-r)}
body.bb-checkout .woocommerce #payment #place_order{display:flex;align-items:center;justify-content:center;box-sizing:border-box;float:none;width:100%;min-height:52px;margin:14px 0 0;padding:12px 22px;border:1px solid #F00016;border-radius:8px;background:#F00016;box-shadow:none;color:#fff;font-family:inherit;font-size:17px;font-weight:600;line-height:1.2;text-transform:none;cursor:pointer;transition:background .2s,border-color .2s}
body.bb-checkout .woocommerce #payment #place_order:is(:hover,:focus,:active){background:var(--bb-rh);border-color:var(--bb-rh);color:#fff}
body.bb-checkout .woocommerce #payment #place_order:focus-visible{outline:2px solid var(--bb-r);outline-offset:2px}
body.bb-checkout .woocommerce .button:not(#place_order){border-radius:8px;background:var(--bb-r);color:#fff;font-weight:600}
/* returning customer / login toggle */
body.bb-checkout .woocommerce form.woocommerce-form-login{margin:0 0 16px;padding:16px;background:#fff;border:1px solid var(--bb-bd);border-radius:12px}
/* order received (thank you) */
body.bb-checkout .woocommerce .woocommerce-order{min-width:0}
body.bb-checkout .woocommerce .woocommerce-notice--success.woocommerce-thankyou-order-received{margin:0 0 16px;padding:14px 18px;border:1px solid #B7E3C7;border-radius:10px;background:#E8F8EE;color:#067647;font-weight:600}
body.bb-checkout .woocommerce ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;list-style:none;margin:0 0 20px;padding:0}
body.bb-checkout .woocommerce ul.woocommerce-order-overview li{margin:0;padding:14px;border:1px solid var(--bb-bd);border-radius:12px;background:#fff;font-size:12.5px;color:var(--bb-mu);text-transform:none}
body.bb-checkout .woocommerce ul.woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:15px;color:var(--bb-tx)}
body.bb-checkout .woocommerce section.woocommerce-order-details,body.bb-checkout .woocommerce section.woocommerce-customer-details{box-sizing:border-box;margin:0 0 20px;padding:20px;background:#fff;border:1px solid var(--bb-bd);border-radius:14px}
body.bb-checkout .woocommerce :is(.woocommerce-order-details__title,.woocommerce-column__title){margin:0 0 14px;font-size:20px;font-weight:700}
body.bb-checkout .woocommerce table.woocommerce-table--order-details{width:100%;border:0;border-collapse:collapse}
body.bb-checkout .woocommerce table.woocommerce-table--order-details :is(th,td){padding:12px 0;border:0;border-bottom:1px solid var(--bb-bd);font-size:14px;text-align:left;vertical-align:top}
body.bb-checkout .woocommerce table.woocommerce-table--order-details :is(td:last-child,th:last-child){text-align:right}
body.bb-checkout .woocommerce .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
body.bb-checkout .woocommerce .woocommerce-columns--addresses .woocommerce-column{float:none;width:auto;max-width:none}
body.bb-checkout .woocommerce address{font-style:normal;line-height:1.6;color:var(--bb-mu);padding:0;border:0}
/* tablet + mobile */
@media(max-width:1024px){
 body.bb-checkout .woocommerce form.woocommerce-checkout{grid-template-columns:minmax(0,1fr);grid-template-areas:'details' 'heading' 'review';row-gap:0}
 body.bb-checkout .woocommerce #order_review_heading{margin-top:20px}
}
@media(max-width:600px){
 body.bb-checkout .woocommerce :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper){grid-template-columns:minmax(0,1fr)}
 body.bb-checkout .woocommerce #customer_details{padding:16px}
 body.bb-checkout .woocommerce #order_review{padding:0 14px 16px}
 body.bb-checkout .woocommerce #order_review_heading{padding:16px 14px}
 body.bb-checkout .woocommerce section.woocommerce-order-details,body.bb-checkout .woocommerce section.woocommerce-customer-details{padding:14px}
}
@media(prefers-reduced-motion:reduce){body.bb-checkout *{transition:none!important}}