/* Commerce layout: retain WooCommerce/Stripe behavior, give mobile content room. */
@media (max-width: 768px) {
    body.single-product div.product div.images,
    body.single-product div.product div.summary {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
        clear: both;
        margin: 0 0 24px !important;
    }
    body.single-product div.product .product_title {
        font-size: clamp(24px, 6.5vw, 32px);
        line-height: 1.2;
        overflow-wrap: normal;
    }
    body.single-product div.product .summary {
        font-size: 16px;
        line-height: 1.6;
    }
    body.single-product div.product form.cart {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        align-items: center;
    }
    body.single-product div.product form.cart .quantity { margin: 0 !important; }
    body.single-product div.product form.cart .single_add_to_cart_button {
        flex: 0 0 auto;
        width: 100%;
        align-self: stretch;
        min-height: 48px;
        white-space: normal;
        margin: 0;
    }
    body.single-product #fn-pack-gift-option,
    body.single-product .fn-shipping-hint,
    body.single-product .variations,
    body.single-product .single_variation_wrap { flex-basis: 100%; min-width: 0; }
    body.single-product #fn-pack-gift-option label > div > div { flex-wrap: wrap; }
    body.single-product .woocommerce-tabs { clear: both; }

    body.woocommerce-checkout .woocommerce {
        padding: 16px 0 !important;
        min-width: 0;
    }
    body.woocommerce-checkout form.checkout,
    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review,
    body.woocommerce-checkout #payment {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        box-sizing: border-box;
    }
    body.woocommerce-checkout #customer_details .col-1,
    body.woocommerce-checkout #customer_details .col-2,
    body.woocommerce-checkout #order_review {
        padding: 16px 0 !important;
    }
    body.woocommerce-checkout #order_review_heading { padding: 0 !important; }
    body.woocommerce-checkout #payment { padding: 14px 8px !important; }
    body.woocommerce-checkout #payment ul.payment_methods { padding: 0 !important; }
    body.woocommerce-checkout #payment .payment_box {
        padding: 12px 4px !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
    body.woocommerce-checkout #payment .payment_box fieldset {
        padding: 0 !important;
        margin: 0 !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    body.woocommerce-checkout #payment .place-order { padding: 12px 0 !important; }
    body.woocommerce-checkout #payment .wc-stripe-upe-element { min-width: 0; }
    /* Payment providers manage their iframe height; never force one here. */
    body.woocommerce-checkout .form-row input.input-text,
    body.woocommerce-checkout .form-row textarea,
    body.woocommerce-checkout .form-row select { font-size: 16px !important; }
    body.woocommerce-checkout #place_order { width: 100%; min-height: 48px; }
    body.woocommerce-checkout #fn-gift-box-wrap { padding: 12px !important; }
    body.woocommerce-checkout #fn-gift-box-wrap > div { flex-wrap: wrap; }
    body.woocommerce-checkout #fn-gift-box-wrap > div > div { flex: 1 1 180px; min-width: 0; }
}
