/* ====================================================
 * BSEC Custom Checkout - Modern Design System
 * 50% / 50% Desktop Split & Mobile Responsive
 * ==================================================== */

:root {
    --bsec-checkout-primary-text: var(--bsec-text-main, #0f172a);
    --bsec-checkout-secondary-text: var(--bsec-text-secondary, #64748b);
    --bsec-checkout-border: var(--bsec-border, #e2e8f0);
    --bsec-checkout-primary: var(--bsec-primary, #6C8CF8);
    --bsec-checkout-primary-hover: var(--bsec-primary-hover, #5370E0);
    --bsec-checkout-bg-card: var(--bsec-bg-card, #ffffff);
    --bsec-checkout-input-border: var(--bsec-border, #e2e8f0);
    --bsec-checkout-radius: var(--bsec-radius-xl, 16px);
    --bsec-checkout-input-radius: var(--bsec-radius-md, 8px);
}

/* Full Width Container Reset for Bricks Section & Container */
.brxe-bsec-checkout,
.bsec-checkout-container,
.fluent-cart-checkout-page,
.fct_checkout,
.fluent-cart-checkout-block-editor-wrap,
.fluent-cart-checkout-block-editor-inner {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Two-Column Grid: Exactly 55% / 45% on Desktop */
.bsec-checkout-container .bsec-checkout-columns,
.bsec-checkout-container .wp-block-columns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 32px !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 16px 0 0 0 !important;
    box-sizing: border-box !important;
}

/* LEFT COLUMN: Checkout Form Card */
.bsec-checkout-container .bsec-checkout-form-col,
.bsec-checkout-container .wp-block-columns > .wp-block-column:first-child {
    flex: 1 1 55% !important;
    width: 55% !important;
    max-width: 55% !important;
    min-width: 0 !important;
    background: var(--bsec-checkout-bg-card) !important;
    border: 1px solid var(--bsec-checkout-border) !important;
    border-radius: var(--bsec-checkout-radius) !important;
    padding: 28px 24px !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    display: flex !important;
    flex-direction: column !important;
}

/* RIGHT COLUMN: SINGLE UNIFIED CARD (Sticky on Desktop) */
.bsec-checkout-container .bsec-checkout-summary-col,
.bsec-checkout-container .bsec-summary-col,
.bsec-checkout-container .wp-block-columns > .wp-block-column:last-child {
    flex: 1 1 45% !important;
    width: 45% !important;
    max-width: 45% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    background: var(--bsec-checkout-bg-card) !important;
    border: 1px solid var(--bsec-checkout-border) !important;
    border-radius: var(--bsec-checkout-radius) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 24px !important;
}

/* Zero out all inner wrappers inside the single right column card */
.bsec-checkout-container .bsec-checkout-summary-col .fct_summary,
.bsec-checkout-container .bsec-checkout-summary-col .fct_summary_box,
.bsec-checkout-container .bsec-checkout-summary-col .fct_checkout_form_section,
.bsec-checkout-container .bsec-checkout-summary-col .fct_summary_box .fct_checkout_form_section,
.bsec-checkout-container .bsec-checkout-summary-col .fct_summary .fct_checkout_form_section,
.bsec-checkout-container .bsec-checkout-summary-col [data-fluent-cart-checkout-page-checkout-form-order-summary],
.bsec-checkout-container .bsec-checkout-summary-col .wp-block-fluent-cart-checkout-order-summary,
.bsec-checkout-container .bsec-checkout-summary-col .fct_checkout_summary {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-width: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 1. Header: Order Summary Toggle Bar */
.fct_summary .fct_summary_box .fct_form_section_header,
.bsec-checkout-container .fct_summary .fct_summary_box .fct_form_section_header,
.bsec-checkout-container .fct_summary_header,
.bsec-checkout-container .bsec-checkout-summary-col .fct_form_section_header {
    padding: 14px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--bsec-checkout-border) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: var(--bsec-checkout-bg-card) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 2. Body: Order Items & Totals Breakdown */
.bsec-checkout-container .fct_summary .fct_form_section_body,
.bsec-checkout-container .fct_summary .fct_form_section_body_inner,
.bsec-checkout-container .bsec-checkout-summary-col .fct_form_section_body {
    padding: 10px 10px 10px 10px !important;
    background: transparent !important;
    border: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Section Headings */
.bsec-checkout-container .fct_form_section_header,
.bsec-checkout-container .fct_checkout_header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 16px 0 12px 0 !important;
    padding: 0 !important;
    border: none !important;
    position: relative !important;
    width: 100% !important;
}

.bsec-checkout-container .fct_form_section_header:first-child {
    margin-top: 0 !important;
}

.bsec-checkout-container .fct_form_section_header_label,
.bsec-checkout-container .fct_checkout_title,
.bsec-checkout-container .fct_summary_title,
.bsec-checkout-container #order_summary_label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    margin: 0 !important;
    letter-spacing: -0.01em !important;
}

/* Form Item Groups & Row Layouts */
.bsec-checkout-container .fct_checkout_form_items {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container .fct_checkout_input_group,
.bsec-checkout-container .fct_form_group {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_checkout_input_group > .fct_input_wrapper {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* NAME & EMAIL IN 2 COLUMNS (50% / 50%) */
.bsec-checkout-container #billing_personal_information_section .fct_checkout_input_group,
.bsec-checkout-container .fct_checkout_name_fields,
.bsec-checkout-container .wp-block-fluent-cart-checkout-name-fields {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container #billing_personal_information_section .fct_checkout_input_group > .fct_input_wrapper,
.bsec-checkout-container #billing_personal_information_section .fct_input_wrapper,
.bsec-checkout-container #billing_full_name_wrapper,
.bsec-checkout-container #billing_first_name_wrapper,
.bsec-checkout-container #billing_last_name_wrapper,
.bsec-checkout-container #billing_email_wrapper {
    flex: 1 1 calc(50% - 7px) !important;
    width: calc(50% - 7px) !important;
    max-width: calc(50% - 7px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* CITY & POSTCODE SUB-SECTION IN 2 COLUMNS (50% / 50%) */
.bsec-checkout-container .fct_form_sub_section_wrapper,
.bsec-checkout-container .fct_checkout_city_postcode,
.bsec-checkout-container .fct_2_columns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_form_sub_section_wrapper > .fct_input_wrapper,
.bsec-checkout-container .fct_checkout_city_postcode > .fct_input_wrapper,
.bsec-checkout-container .fct_2_columns > .fct_input_wrapper,
.bsec-checkout-container #billing_city_wrapper,
.bsec-checkout-container #fct_wrapper_billing_city,
.bsec-checkout-container #shipping_city_wrapper,
.bsec-checkout-container #fct_wrapper_shipping_city,
.bsec-checkout-container #billing_postcode_wrapper,
.bsec-checkout-container #fct_wrapper_billing_postcode,
.bsec-checkout-container #shipping_postcode_wrapper,
.bsec-checkout-container #fct_wrapper_shipping_postcode {
    flex: 1 1 calc(50% - 7px) !important;
    width: calc(50% - 7px) !important;
    max-width: calc(50% - 7px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Modern Discrete Input Controls */
.bsec-checkout-container input[type="text"],
.bsec-checkout-container input[type="email"],
.bsec-checkout-container input[type="tel"],
.bsec-checkout-container input[type="password"],
.bsec-checkout-container select,
.bsec-checkout-container .fct-input-select,
.bsec-checkout-container textarea {
    width: 100% !important;
    height: 44px !important;
    padding: 0 14px !important;
    background: #ffffff !important;
    border: 1px solid var(--bsec-checkout-input-border) !important;
    border-radius: var(--bsec-checkout-input-radius) !important;
    font-size: 14px !important;
    color: var(--bsec-checkout-primary-text) !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.bsec-checkout-container input::placeholder,
.bsec-checkout-container textarea::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

.bsec-checkout-container select,
.bsec-checkout-container .fct-input-select {
    cursor: pointer !important;
    background-color: #ffffff !important;
}

.bsec-checkout-container textarea {
    height: auto !important;
    min-height: 85px !important;
    padding: 10px 14px !important;
}

.bsec-checkout-container input:focus,
.bsec-checkout-container select:focus,
.bsec-checkout-container .fct-input-select:focus,
.bsec-checkout-container textarea:focus {
    border-color: var(--bsec-checkout-primary) !important;
    box-shadow: 0 0 0 3px rgba(200, 98, 65, 0.12) !important;
}

/* Unified Customer Info Group (Name, Email, Create Account, Business Order) */
.bsec-checkout-container .bsec-customer-info-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

/* Zero out bottom margin on checkout form sections, agree terms, and account/b2b toggles */
.fct_checkout .fct_checkout_form_section,
.fct_checkout .fct_checkout_agree_terms,
.fct_checkout .fct_allow_create_account_wrapper,
.fct_checkout .fct_b2b_toggle_wrapper,
.bsec-checkout-container .fct_checkout_form_section,
.bsec-checkout-container .fct_checkout_agree_terms,
.bsec-checkout-container .fct_allow_create_account_wrapper,
.bsec-checkout-container .fct_b2b_toggle_wrapper {
    margin-bottom: 0px !important;
}

.bsec-checkout-container .bsec-customer-info-group #billing_personal_information_section,
.bsec-checkout-container .bsec-customer-info-group .fct_checkout_form_section {
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .bsec-top-toggles-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.bsec-checkout-container .bsec-toggles-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 2px 0 !important;
}

.bsec-checkout-container .bsec-checkbox-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--bsec-checkout-primary-text) !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.bsec-checkout-container .bsec-checkbox-label input[type="checkbox"],
.bsec-checkout-container .fct_checkout input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--bsec-checkout-primary) !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.bsec-checkout-container .bsec-b2b-fields,
.bsec-checkout-container #bsec_b2b_fields {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 6px !important;
}

.bsec-checkout-container .bsec-b2b-fields .fct_input_wrapper,
.bsec-checkout-container #bsec_b2b_fields .fct_input_wrapper {
    flex: 1 1 calc(50% - 6px) !important;
    width: calc(50% - 6px) !important;
    min-width: 140px !important;
}

/* ====================================================
 * BILLING & SHIPPING ADDRESS SECTION & CHANGE BUTTON
 * ==================================================== */
.bsec-checkout-container #billing_address_section_section,
.bsec-checkout-container #billing_address_section_section .fct_form_section_body,
.bsec-checkout-container #billing_address_section_section .fct_form_section_body_inner,
.bsec-checkout-container #billing_address_section_section .fct_checkout_input_group,
.bsec-checkout-container #billing_address_section,
.bsec-checkout-container #shipping_address_section_section,
.bsec-checkout-container #shipping_address_section_section .fct_form_section_body,
.bsec-checkout-container #shipping_address_section_section .fct_form_section_body_inner,
.bsec-checkout-container #shipping_address_section_section .fct_checkout_input_group,
.bsec-checkout-container #shipping_address_section,
.bsec-checkout-container .fct_checkout_billing_and_shipping .fct_checkout_form_section,
.bsec-checkout-container .fct_checkout_billing_and_shipping .fct_form_section_body,
.bsec-checkout-container .fct_checkout_billing_and_shipping .fct_checkout_input_group,
.bsec-checkout-container .fct-checkout-section-billing-address,
.bsec-checkout-container .fct-checkout-section-shipping-address,
.bsec-checkout-container .wp-block-fluent-cart-checkout-billing-address,
.bsec-checkout-container .wp-block-fluent-cart-checkout-shipping-address,
.bsec-checkout-container .fct_customer_address_wrapper,
.bsec-checkout-container .fct_form_section_billing_address,
.bsec-checkout-container .fct_form_section_billing_address .fct_form_section_body,
.bsec-checkout-container .fct_form_section_shipping_address,
.bsec-checkout-container .fct_form_section_shipping_address .fct_form_section_body {
    border: none !important;
    border-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Ensure Address Section Wrappers and Cards are 100% Full Width */
.bsec-checkout-container #billing_address_wrapper,
.bsec-checkout-container #shipping_address_wrapper,
.bsec-checkout-container #billing_address_section_section,
.bsec-checkout-container #billing_address_section_section .fct_form_section_body,
.bsec-checkout-container #shipping_address_section_section .fct_form_section_body,
.bsec-checkout-container #billing_address_section_section .fct_form_section_body_inner,
.bsec-checkout-container #shipping_address_section_section .fct_form_section_body_inner,
.bsec-checkout-container .fct_checkout_billing_and_shipping,
.bsec-checkout-container .bsec-address-group {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    display: block !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container #shipping_address_section_section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container #shipping_address_section_section[style*="display: none"],
.bsec-checkout-container #shipping_address_section_section[style*="display:none"] {
    display: none !important;
}

/* Container wrapping the Saved Address Card and the Change Button */
.bsec-checkout-container .fct_address_wrapper,
.fct_address_wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    padding: 10px 0px 20px 0px !important;
    margin-top: 4px !important;
    margin-bottom: 6px !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container #billing_address_section_section .fct_form_section_header,
.bsec-checkout-container .fct_form_section_billing_address .fct_form_section_header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 6px !important;
    margin-bottom: 12px !important;
    padding-bottom: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container #shipping_address_section_section .fct_form_section_header,
.bsec-checkout-container .fct_form_section_shipping_address .fct_form_section_header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 14px !important;
    margin-bottom: 12px !important;
    padding-bottom: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container #billing_address_section_section .fct_form_section_header_label,
.bsec-checkout-container #shipping_address_section_section .fct_form_section_header_label,
.bsec-checkout-container .fct_form_section_billing_address .fct_form_section_header_label,
.bsec-checkout-container .fct_form_section_shipping_address .fct_form_section_header_label {
    flex: 1 1 auto !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
}

/* Ship to Different Address Toggle - Tight Spacing Directly Below Billing Address */
.fct_checkout #fct_wrapper_ship_to_different,
.bsec-checkout-container #fct_wrapper_ship_to_different,
.bsec-checkout-container .fct_ship_to_different_wrapper,
.fct_ship_to_different_wrapper {
    margin-top: 14px !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

/* Saved Address Info Card - 100% Full Width */
.bsec-checkout-container .fct_address_info,
.bsec-checkout-container #billing_address_info,
.bsec-checkout-container #shipping_address_info,
.fct_address_info {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    background: #f8fafc !important;
    border: 1px solid var(--bsec-checkout-border) !important;
    border-radius: var(--bsec-checkout-input-radius) !important;
    font-size: 13px !important;
    color: var(--bsec-checkout-primary-text) !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container .fct_checkout_address_label,
.fct_checkout_address_label {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
}

.bsec-checkout-container .fct_address_info p,
.fct_address_info p {
    margin: 0 !important;
    color: var(--bsec-checkout-secondary-text) !important;
    line-height: 1.4 !important;
}

/* Change Address Button */
.bsec-checkout-container .fct_address_modal_open_btn,
.fct_address_modal_open_btn {
    position: absolute !important;
    top: -42px !important;
    right: 0 !important;
    z-index: 5 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 5px 12px !important;
    border: 1px solid #fed7aa !important;
    background: #fff7ed !important;
    color: #ea580c !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: all 0.15s ease !important;
}

.bsec-checkout-container .fct_address_modal_open_btn:hover,
.fct_address_modal_open_btn:hover {
    background: #ffedd5 !important;
    border-color: #fdba74 !important;
}

.bsec-checkout-container .fct_address_modal_open_btn svg,
.fct_address_modal_open_btn svg {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
}

/* ====================================================
 * ADDRESS MODAL POPUP - PREMIUM RESPONSIVE REDESIGN
 * ==================================================== */
.bsec-checkout-container .fct_address_modal,
.fct_address_modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(15, 23, 42, 0.6) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container .fct_address_modal.hidden,
.fct_address_modal.hidden {
    display: none !important;
}

.bsec-checkout-container .fct_address_modal_inner,
.fct_address_modal_inner {
    background: #ffffff !important;
    border-radius: 16px !important;
    max-width: 480px !important;
    width: 100% !important;
    padding: 24px !important;
    box-sizing: border-box !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    position: relative !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
}

.bsec-checkout-container .fct_address_modal_header,
.fct_address_modal_header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--bsec-checkout-border) !important;
}

.bsec-checkout-container .fct_address_modal_header h4,
.fct_address_modal_header h4 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    margin: 0 !important;
}

.bsec-checkout-container .fct_address_modal_close_btn,
.fct_address_modal_close_btn {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f4f4f5 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #71717a !important;
    transition: background 0.15s ease !important;
}

.bsec-checkout-container .fct_address_modal_close_btn:hover,
.fct_address_modal_close_btn:hover {
    background: #e4e4e7 !important;
    color: #18181b !important;
}

.bsec-checkout-container .fct_address_modal_close_btn svg,
.fct_address_modal_close_btn svg {
    width: 16px !important;
    height: 16px !important;
}

.bsec-checkout-container .fct_address_selector_wrapper,
.fct_address_selector_wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 16px 0 !important;
}

/* Address Card inside Modal: Full width, proper padding, checkmark */
.bsec-checkout-container .fct_address_selector,
.fct_address_selector {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border: 1.5px solid var(--bsec-checkout-border) !important;
    border-radius: 12px !important;
    padding: 16px 18px 16px 42px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease, background 0.15s ease !important;
    text-align: left !important;
}

.bsec-checkout-container .fct_address_selector.active,
.bsec-checkout-container .fct_address_selector.selected,
.bsec-checkout-container .fct_address_selector[aria-pressed="true"],
.fct_address_selector.active {
    border-color: var(--bsec-checkout-primary) !important;
    background: #fffaf8 !important;
}

.bsec-checkout-container .fct_address_selector_icon,
.fct_address_selector_icon {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 26px !important;
    height: 26px !important;
    color: var(--bsec-checkout-primary) !important;
}

.bsec-checkout-container .fct_address_selector_label,
.fct_address_selector_label {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    margin-bottom: 6px !important;
    width: 100% !important;
    word-break: break-word !important;
}

.bsec-checkout-container .fct_address_selector_info,
.fct_address_selector_info {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--bsec-checkout-secondary-text) !important;
    margin: 0 !important;
    width: 100% !important;
    word-break: break-word !important;
}

/* Modal Footer */
.bsec-checkout-container .fct_address_modal_footer,
.fct_address_modal_footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--bsec-checkout-border) !important;
}

.bsec-checkout-container .fct_address_add_btn,
.fct_address_add_btn {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bsec-checkout-primary) !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_address_apply_btn,
.fct_address_apply_btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 24px !important;
    background: var(--bsec-checkout-primary) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 2px 4px rgba(200, 98, 65, 0.2) !important;
    transition: background 0.15s ease !important;
}

.bsec-checkout-container .fct_address_apply_btn:hover,
.fct_address_apply_btn:hover {
    background: var(--bsec-checkout-primary-hover) !important;
}

/* Shipping Methods & Options */
.bsec-checkout-container .fct_checkout_shipping_methods,
.bsec-checkout-container .fct_shipping_methods {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_checkout_shipping_methods .fct_checkout_form_section,
.bsec-checkout-container .fct_shipping_methods .fct_checkout_form_section {
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_shipping_methods_list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

.bsec-checkout-container .fct_shipping_methods_item,
.bsec-checkout-container .fct_shipping_method_item {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 48px !important;
    padding: 0px 12px 0px 12px !important;
    border: 1px solid var(--bsec-checkout-border) !important;
    border-radius: var(--bsec-checkout-input-radius) !important;
    background: #ffffff !important;
    cursor: pointer !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.bsec-checkout-container .fct_shipping_methods_item:hover,
.bsec-checkout-container .fct_shipping_methods_item.is-selected {
    border-color: var(--bsec-checkout-primary) !important;
}

/* Single clean native radio button vertically centered */
.bsec-checkout-container .fct_shipping_methods_item input[type="radio"],
.bsec-checkout-container .fct_shipping_method_item input[type="radio"],
.bsec-checkout-container input[name="fc_shipping_method"] {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    display: inline-block !important;
    position: static !important;
    top: 0 !important;
    left: 0 !important;
    bottom: auto !important;
    right: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--bsec-checkout-primary) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* Eliminate duplicate pseudo checkmark, span.fct-checkmark, and span.checkmark */
.bsec-checkout-container .fct_shipping_methods_item .fct-checkmark,
.bsec-checkout-container .fct_shipping_methods_item .checkmark,
.bsec-checkout-container .fct_shipping_method_item .fct-checkmark,
.bsec-checkout-container .fct_shipping_method_item .checkmark,
.bsec-checkout-container .fct-checkmark,
.bsec-checkout-container .fct_shipping_methods_item label::before,
.bsec-checkout-container .fct_shipping_methods_item label::after,
.bsec-checkout-container .fct_shipping_method_item label::before,
.bsec-checkout-container .fct_shipping_method_item label::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

.bsec-checkout-container .fct_shipping_methods_item label,
.bsec-checkout-container .fct_shipping_method_item label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: var(--bsec-checkout-primary-text) !important;
}

.bsec-checkout-container .fct_shipping_methods_item label .shipping-method-amount,
.bsec-checkout-container .fct_shipping_method_item label .shipping-method-amount {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    margin-left: auto !important;
    padding-left: 12px !important;
}

/* Payment Methods */
.bsec-checkout-container .fct_checkout_payment_methods,
.bsec-checkout-container .fluent_payment_methods {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_checkout_payment_methods .fct_checkout_form_section,
.bsec-checkout-container .fluent_payment_methods .fct_checkout_form_section {
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_payment_methods_list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

.bsec-checkout-container .fct_payment_method_item,
.bsec-checkout-container .fct_payment_method_header,
.bsec-checkout-container .fct_payment_method_wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0px !important;
    border: 1px solid var(--bsec-checkout-border) !important;
    border-radius: var(--bsec-checkout-input-radius) !important;
    background: #ffffff !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.bsec-checkout-container .fct_payment_method_item.is-selected,
.bsec-checkout-container .fct_payment_method_item:hover,
.bsec-checkout-container .fct_payment_method_wrapper.active,
.bsec-checkout-container .fct_payment_method_wrapper:hover {
    border-color: var(--bsec-checkout-primary) !important;
}

.bsec-checkout-container .fct_payment_method_title,
.bsec-checkout-container .fct_payment_method_name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bsec-checkout-primary-text) !important;
}

.bsec-checkout-container .bsec-order-bumps-wrapper:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    border: none !important;
}

/* ORDER SUMMARY - SINGLE BOX THUMBNAIL (NO DOUBLE BOXES) */
.bsec-checkout-container .fct_line_items {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 16px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.bsec-checkout-container .fct_items_wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 0 0 16px 0 !important;
    width: 100% !important;
}

.bsec-checkout-container .fct_line_item {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--bsec-checkout-border) !important;
}

.bsec-checkout-container .fct_line_item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.bsec-checkout-container .fct_line_item_body {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    width: 100% !important;
}

.bsec-checkout-container .fct_line_item_info {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    flex: 1 1 auto !important;
}

/* Item Image Thumbnail - Aligned to Top */
.bsec-checkout-container .fct_item_image {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    border-radius: 10px !important;
    border: 1px solid var(--bsec-checkout-border) !important;
    background: #ffffff !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
}

.bsec-checkout-container .fct_item_image a,
.bsec-checkout-container .fct_item_image a:hover,
.bsec-checkout-container .fct_item_image div {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.bsec-checkout-container .fct_item_image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border: none !important;
    outline: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.bsec-checkout-container .fct_item_content {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    flex: 1 1 auto !important;
}

.bsec-checkout-container .fct_item_title {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bsec-checkout-primary-text) !important;
    line-height: 1.4 !important;
}

.bsec-checkout-container .fct_item_title a {
    color: inherit !important;
    text-decoration: none !important;
    display: inline !important;
    font-weight: 600 !important;
}

.bsec-checkout-container .fct_item_title a::after {
    content: "" !important;
    display: block !important;
    margin-top: 3px !important;
}

.bsec-checkout-container .fct_item_quantity {
    display: inline !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary) !important;
    margin-right: 4px !important;
}

/* ROW 2: Variant & Each Price in One Row */
.bsec-checkout-container .fct_item_variant_title,
.bsec-checkout-container .fct_item_payment_info {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: var(--bsec-checkout-secondary-text) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.bsec-checkout-container .fct_item_variant_title + .fct_item_payment_info {
    margin-left: 6px !important;
}

.bsec-checkout-container .fct_item_variant_title + .fct_item_payment_info::before {
    content: "â€¢" !important;
    margin-right: 6px !important;
    color: #a1a1aa !important;
    font-size: 11px !important;
    line-height: 1 !important;
    display: inline-block !important;
}

/* Col 3: Right Column Prices (Row 1: Compare Price, Row 2: Actual Price) */
.bsec-checkout-container .fct_line_item_price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    white-space: nowrap !important;
    text-align: right !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    flex-shrink: 0 !important;
}

.bsec-checkout-container .fct_item_price_wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 2px !important;
}

/* Col 3 - Row 1: Compare Price */
.bsec-checkout-container .bsec-line-item-compare-price,
.bsec-checkout-container .fct_promo_price,
.bsec-checkout-container .fct_coupon_original_price {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #a1a1aa !important;
    text-decoration: line-through !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* Col 3 - Row 2: Actual Price */
.bsec-checkout-container .fct_line_item_total:not(.fct_promo_price):not(.bsec-line-item-compare-price) {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    line-height: 1.4 !important;
}

/* Order Summary Totals List */
.bsec-checkout-container .fct_summary_items_list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 18px 0 0 0 !important;
    padding: 18px 0 0 0 !important;
    border-top: 1px solid var(--bsec-checkout-border) !important;
    list-style: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
}

.bsec-checkout-container .fct_summary_items_list li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 14px !important;
    color: var(--bsec-checkout-secondary-text) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
}

.bsec-checkout-container .fct_summary_items_list li .fct_summary_label {
    color: #52525b !important;
    font-weight: 400 !important;
}

.bsec-checkout-container .fct_summary_items_list li .fct_summary_value {
    color: #18181b !important;
    font-weight: 500 !important;
    text-align: right !important;
}

.bsec-checkout-container .fct_summary_items_list li:last-child {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    padding-top: 16px !important;
    margin-top: 6px !important;
    border-top: 1px dashed var(--bsec-checkout-border) !important;
}

.bsec-checkout-container .fct_summary_items_list li:last-child .fct_summary_label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
}

.bsec-checkout-container .fct_summary_items_list li:last-child .fct_summary_value,
.bsec-checkout-container .fct_summary_items_list li:last-child [data-fluent-cart-checkout-estimated-total] {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--bsec-checkout-primary-text) !important;
}

/* ====================================================
 * TAX BREAKDOWN BY RATE - 100% FULL WIDTH CARD
 * ==================================================== */
.bsec-checkout-container .fct_summary_items_list li.fct_tax_summary_li,
.bsec-checkout-container .fct_tax_summary_li,
.bsec-checkout-container li[data-fct-tax-summary] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_tax_simple_details,
.bsec-checkout-container details.fct_tax_simple_details {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_tax_simple_summary,
.bsec-checkout-container summary.fct_tax_simple_summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 4px 0 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    list-style: none !important;
}

.bsec-checkout-container .fct_tax_simple_summary::-webkit-details-marker {
    display: none !important;
}

.bsec-checkout-container .fct_tax_simple_left {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.bsec-checkout-container .fct_tax_simple_toggle {
    color: var(--bsec-checkout-primary) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
}

.bsec-checkout-container .fct_tax_summary_box,
.bsec-checkout-container [data-fct-tax-summary] .fct_tax_summary_box,
.bsec-checkout-container .fct_tax_simple_details .fct_tax_summary_box {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 10px 0 6px 0 !important;
    padding: 16px 18px !important;
    background: #f8fafc !important;
    border: 1px solid var(--bsec-checkout-border) !important;
    border-radius: 10px !important;
}

.bsec-checkout-container .fct_tax_summary_header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 0 0 8px 0 !important;
    border-bottom: 1px solid var(--bsec-checkout-border) !important;
}

.bsec-checkout-container .fct_tax_summary_heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--bsec-checkout-primary-text) !important;
}

.bsec-checkout-container .fct_item_tax_hint_button {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #e2e8f0 !important;
    border: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.bsec-checkout-container .fct_tax_summary_rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
}

.bsec-checkout-container .fct_tax_summary_row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    font-size: 13px !important;
}

.bsec-checkout-container .fct_tax_summary_row--head {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-secondary-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding-bottom: 4px !important;
    border-bottom: 1px dashed var(--bsec-checkout-border) !important;
}

/* ATTACHED ORDER NOTE (SEAMLESS INSIDE SINGLE CARD) */
.bsec-checkout-container .bsec-order-note-card,
.bsec-checkout-container .bsec-checkout-summary-col .bsec-order-note-card {
    background: var(--bsec-checkout-bg-card) !important;
    border: none !important;
    border-top: 1px solid var(--bsec-checkout-border) !important;
    border-radius: 0 !important;
    padding: 0px 20px 20px 20px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.bsec-checkout-container .fct_order_note_toggle,
.bsec-checkout-container button#order_notes_toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bsec-checkout-primary-text) !important;
    cursor: pointer !important;
    text-align: left !important;
}

.bsec-checkout-container .fct_order_note_toggle svg,
.bsec-checkout-container button#order_notes_toggle svg {
    width: 16px !important;
    height: 16px !important;
    color: var(--bsec-checkout-secondary-text) !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    transition: transform 0.2s ease !important;
}

.bsec-checkout-container .fct_order_note_toggle[aria-expanded="true"] svg {
    transform: rotate(90deg) !important;
}

/* Note Textarea Top Margin & Gap */
.bsec-checkout-container .fct_order_note_wrapper,
.bsec-checkout-container #order_notes_wrapper {
    margin-top: 14px !important;
    width: 100% !important;
}

.bsec-checkout-container .fct_order_note_wrapper textarea,
.bsec-checkout-container #order_notes {
    margin-top: 8px !important;
    min-height: 90px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Submit / Place Order Button */
.bsec-checkout-container .fct_place_order_btn_wrap,
.bsec-checkout-container .wp-block-fluent-cart-checkout-submit-button {
    margin-top: 20px !important;
    width: 100% !important;
}

.bsec-checkout-container .fct_place_order_btn,
.bsec-checkout-container button[type="submit"].fct_place_order_btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 48px !important;
    background: var(--bsec-checkout-primary) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--bsec-checkout-input-radius) !important;
    cursor: pointer !important;
    box-shadow: 0 2px 4px rgba(200, 98, 65, 0.2) !important;
    transition: background 0.15s ease, transform 0.1s ease !important;
}

.bsec-checkout-container .fct_place_order_btn:hover {
    background: var(--bsec-checkout-primary-hover) !important;
}

.bsec-checkout-container .fct_place_order_btn:active {
    transform: translateY(1px) !important;
}

/* Order Summary Accordion Toggle Icon Animation */
.bsec-checkout-container [data-fluent-cart-checkout-cart-items-toggle] .fct_toggle_icon svg {
    transition: transform 0.2s ease !important;
}

.bsec-checkout-container [data-fluent-cart-checkout-cart-items-toggle][aria-expanded="false"] .fct_toggle_icon svg {
    transform: rotate(180deg) !important;
}

/* ====================================================
 * RESPONSIVE RULES (TABLETS & MOBILE <= 1024px)
 * ==================================================== */
@media (max-width: 1024px) {
    .bsec-checkout-container .bsec-checkout-columns,
    .bsec-checkout-container .wp-block-columns {
        flex-direction: column-reverse !important;
        gap: 20px !important;
    }

    /* ZERO STICKY OVERLAP ON MOBILE: All cards scroll naturally */
    .bsec-checkout-container .bsec-checkout-summary-col,
    .bsec-checkout-container .wp-block-columns > .wp-block-column:last-child,
    .bsec-checkout-container .fct_summary,
    .bsec-checkout-container .bsec-order-note-card,
    .bsec-checkout-container [data-fluent-cart-checkout-page-checkout-form-order-summary] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        position: static !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        z-index: auto !important;
    }

    .bsec-checkout-container .bsec-checkout-form-col,
    .bsec-checkout-container .wp-block-columns > .wp-block-column:first-child {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }

    /* Single Unified Summary Card on Mobile */
    .bsec-checkout-container .bsec-checkout-summary-col {
        background: var(--bsec-checkout-bg-card) !important;
        border: 1px solid var(--bsec-checkout-border) !important;
        border-radius: var(--bsec-checkout-radius) !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
        overflow: hidden !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    }

    .bsec-checkout-container .bsec-checkout-summary-col .fct_summary,
    .bsec-checkout-container .bsec-checkout-summary-col [data-fluent-cart-checkout-page-checkout-form-order-summary] {
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .bsec-checkout-container .bsec-order-note-card,
    .bsec-checkout-container .bsec-checkout-summary-col .bsec-order-note-card {
        border: none !important;
        border-top: 1px solid var(--bsec-checkout-border) !important;
        border-radius: 0 !important;
        padding: 0px 16px 18px 16px !important;
        margin: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .fct_summary .fct_summary_box .fct_form_section_header,
    .bsec-checkout-container .fct_summary .fct_summary_box .fct_form_section_header,
    .bsec-checkout-container .fct_summary_header {
        padding: 14px 20px !important;
        margin: 0 !important;
        border-bottom: 1px solid var(--bsec-checkout-border) !important;
    }

    .bsec-checkout-container .fct_summary.is-open .fct_form_section_body,
    .bsec-checkout-container .fct_summary [data-fluent-cart-checkout-cart-items-toggle][aria-expanded="true"] ~ .fct_form_section_body {
        padding: 14px 16px !important;
        border-top: none !important;
        margin-top: 0 !important;
    }

    .bsec-checkout-container .fct_summary [data-fluent-cart-checkout-cart-items-toggle][aria-expanded="false"] ~ .fct_form_section_body {
        display: none !important;
    }

    /* Business Order (B2B) Stacked into Two Rows on Mobile/Tablet */
    .bsec-checkout-container .bsec-b2b-fields,
    .bsec-checkout-container #bsec_b2b_fields {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .bsec-checkout-container .bsec-b2b-fields .fct_input_wrapper,
    .bsec-checkout-container #bsec_b2b_fields .fct_input_wrapper {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    /* Compact Pen Icon Button on Mobile for Change Address */
    .bsec-checkout-container .fct_address_modal_open_btn,
    .fct_address_modal_open_btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        border-radius: 8px !important;
        font-size: 0 !important; /* Hides "Change" text */
    }

    .bsec-checkout-container .fct_address_modal_open_btn svg,
    .fct_address_modal_open_btn svg {
        width: 15px !important;
        height: 15px !important;
        margin: 0 !important;
    }
}

@media (max-width: 640px) {
    .bsec-checkout-container .bsec-checkout-form-col {
        padding: 20px 16px !important;
    }

    .bsec-checkout-container .fct_summary {
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .bsec-checkout-container .bsec-order-note-card {
        padding: 14px 16px !important;
    }

    .bsec-checkout-container #billing_personal_information_section .fct_checkout_input_group,
    .bsec-checkout-container .fct_checkout_name_fields,
    .bsec-checkout-container .fct_checkout_city_postcode {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .bsec-checkout-container #billing_personal_information_section .fct_input_wrapper,
    .bsec-checkout-container #billing_full_name_wrapper,
    .bsec-checkout-container #billing_first_name_wrapper,
    .bsec-checkout-container #billing_last_name_wrapper,
    .bsec-checkout-container #billing_email_wrapper,
    .bsec-checkout-container .fct_checkout_city_postcode .fct_input_wrapper {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}
/* ====================================================
 * COUPON ENTRY FIELD & PROMO INPUT FIX
 * ==================================================== */
.bsec-checkout-container .fct_coupon_field,
.bsec-checkout-container #coupon_section,
.bsec-checkout-container [data-fluent-cart-checkout-page-coupon-container],
.fct_coupon_field,
#coupon_section {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin: 12px 0 !important;
    box-sizing: border-box !important;
    border: 1px solid var(--bsec-checkout-input-border) !important;
    border-radius: var(--bsec-checkout-input-radius) !important;
    background: #ffffff !important;
    padding: 3px 4px 3px 12px !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.bsec-checkout-container .fct_coupon_field[hidden],
.bsec-checkout-container #coupon_section[hidden] {
    display: none !important;
}

.bsec-checkout-container .fct_coupon_field:not([hidden]),
.bsec-checkout-container #coupon_section:not([hidden]) {
    display: flex !important;
}

.bsec-checkout-container .fct_coupon_field:focus-within,
.bsec-checkout-container #coupon_section:focus-within {
    border-color: var(--bsec-checkout-primary) !important;
    box-shadow: 0 0 0 3px rgba(200, 98, 65, 0.12) !important;
}

/* Coupon Tag Icon */
.bsec-checkout-container .fct_coupon_icon,
.fct_coupon_icon {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    margin-right: 8px !important;
    color: var(--bsec-checkout-secondary-text) !important;
    flex-shrink: 0 !important;
    pointer-events: none !important;
    transform: none !important;
}

.bsec-checkout-container .fct_coupon_icon svg,
.fct_coupon_icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
}

/* Coupon Input Wrapper & Input */
.bsec-checkout-container .fct_coupon_input_wrapper,
.fct_coupon_input_wrapper {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.bsec-checkout-container input.fct_coupon_input,
.bsec-checkout-container .fct_coupon_field input,
.bsec-checkout-container #coupon_section input,
.fct_coupon_input {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 38px !important;
    padding: 0 8px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 14px !important;
    color: var(--bsec-checkout-primary-text) !important;
}

.bsec-checkout-container input.fct_coupon_input:focus,
.bsec-checkout-container .fct_coupon_field input:focus,
.bsec-checkout-container #coupon_section input:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Apply Button inside Coupon Field */
.bsec-checkout-container .fct_coupon_field button,
.bsec-checkout-container .fct_coupon_field button[type="submit"],
.bsec-checkout-container #coupon_section button,
.fct_coupon_field button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    padding: 0 16px !important;
    background: var(--bsec-checkout-primary) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.15s ease !important;
    position: static !important;
    transform: none !important;
}

.bsec-checkout-container .fct_coupon_field button:hover,
.bsec-checkout-container #coupon_section button:hover,
.fct_coupon_field button:hover {
    background: var(--bsec-checkout-primary-hover) !important;
}
/* ====================================================
 * COUPON EXPANDED STATE CONTROL
 * ==================================================== */
.bsec-checkout-container.coupon-state-expanded .fct_coupon_toggle {
    display: none !important;
}

.bsec-checkout-container.coupon-state-expanded .fct_coupon_field,
.bsec-checkout-container.coupon-state-expanded #coupon_section {
    display: flex !important;
    visibility: visible !important;
}

/* ====================================================
 * ORDER BUMPS & UPSELLS STYLING
 * ==================================================== */
.bsec-checkout-container .bsec-order-bumps-wrapper {
    width: 100% !important;
    margin: 16px 0 !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container .bsec-order-bumps-wrapper.placement-inside-summary {
    margin: 16px 0 0 0 !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--bsec-checkout-border) !important;
}

.bsec-checkout-container .fct_order_bumps,
.bsec-checkout-container .fct_order_bump_wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 16px !important;
    background: #fffaf8 !important;
    border: 2px dashed #fed7aa !important;
    border-radius: var(--bsec-checkout-radius) !important;
    box-sizing: border-box !important;
}

.bsec-checkout-container .fct_order_bump {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    cursor: pointer !important;
}

.bsec-checkout-container .fct_order_bump_checkbox {
    margin-top: 3px !important;
    flex-shrink: 0 !important;
}

.bsec-checkout-container .fct_order_bump_checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--bsec-checkout-primary) !important;
    cursor: pointer !important;
}

.bsec-checkout-container .fct_order_bump_content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.bsec-checkout-container .fct_order_bump_title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--bsec-checkout-primary-text) !important;
    line-height: 1.3 !important;
}

.bsec-checkout-container .fct_order_bump_title .fct_order_bump_price {
    color: var(--bsec-checkout-primary) !important;
    margin-left: 6px !important;
}

.bsec-checkout-container .fct_order_bump_description {
    font-size: 13px !important;
    color: var(--bsec-checkout-secondary-text) !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* ====================================================
 * ORDER NOTE INSIDE SUMMARY CARD
 * ==================================================== */
.bsec-checkout-container .bsec-order-note-inside {
    margin-top: 16px !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--bsec-checkout-border) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ====================================================
 * EMPTY CHECKOUT LUXURY CARD
 * ==================================================== */
.bsec-checkout-empty {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    padding: 20px 0 60px 0 !important;
}

.bsec-empty-cart-card {
    max-width: 600px !important;
    width: 100% !important;
    margin: 20px auto 40px !important;
    padding: 50px 36px !important;
    background: #ffffff !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.07), 0 0 1px 1px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid #eef2f6 !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.bsec-empty-cart-icon-wrap {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%) !important;
    border: 1px solid #e2e8f0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 22px auto !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
}

.bsec-empty-cart-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.25 !important;
}

.bsec-empty-cart-desc {
    font-size: 14.5px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    max-width: 440px !important;
    margin: 0 auto 26px auto !important;
}

.bsec-empty-cart-btn,
a.bsec-shop-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    height: 48px !important;
    padding: 0 32px !important;
    background: var(--bsec-primary) !important;
    color: var(--bsec-primary-text) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: var(--bsec-radius-md) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: var(--bsec-shadow-primary) !important;
    box-sizing: border-box !important;
}

.bsec-empty-cart-btn:hover,
a.bsec-shop-btn:hover {
    background: var(--bsec-primary-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--bsec-shadow-primary-lg) !important;
    color: var(--bsec-primary-text) !important;
}

.bsec-empty-quick-links {
    margin-top: 26px !important;
    padding-top: 22px !important;
    border-top: 1px solid #f1f5f9 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
}

.bsec-empty-quick-label {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #94a3b8 !important;
}

.bsec-empty-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
}

.bsec-chip {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 14px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.bsec-chip:hover {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

@media (max-width: 640px) {
    .bsec-empty-cart-card {
        padding: 36px 20px !important;
        margin: 20px auto 40px !important;
        border-radius: 18px !important;
    }
    .bsec-empty-cart-title {
        font-size: 20px !important;
    }
}