/* WooCommerce Block checkout only (PCI card method uses .paymentflo-cc-blocks in expanded content). */
.wc-block-checkout .wc-block-components-radio-control-accordion-content:has(.paymentflo-cc-blocks) {
    padding-top: 0.35rem;
    overflow: visible;
    max-height: none;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-option:has(.paymentflo-cc-blocks) {
    overflow: visible;
}

/* Block checkout: stack description + iframe without default <p> margins */
.paymentflo-cc-blocks {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
}

.paymentflo-cc-blocks__description {
    margin: 0;
}

.paymentflo-cc-blocks__description:empty {
    display: none;
}

.paymentflo-cc-blocks__description > :first-child {
    margin-top: 0;
}

.paymentflo-cc-blocks__description > :last-child {
    margin-bottom: 0;
}

.paymentflo-cc-blocks .paymentflo-cc-iframe {
    margin: 0;
    display: block;
}

.paymentflo-cc-blocks__iframe-host {
    margin: 0;
    line-height: 0;
}

/* Classic checkout: short note above PCI iframe when Woo Place order is hidden until token */
.paymentflo-cc-classic-hint {
    font-size: 0.9em;
    color: #444;
    margin: 0 0 0.75em;
}

/*
 * PCI Vault iframe: fixed height clips the in-frame Pay control; inner document cannot be styled cross-origin.
 * Narrow phones (e.g. Samsung S25 Ultra ~412px CSS width): use a documented minimum height; tune in theme if needed.
 * Slightly wider small tablets (601–768px): use dynamic viewport height so the vault footer still fits.
 */
@media screen and (max-width: 768px) {
    .wc-block-checkout .paymentflo-cc-iframe,
    body.woocommerce-checkout form.checkout.woocommerce-checkout .paymentflo-cc-iframe {
        height: min(900px, 92vh) !important;
        height: min(900px, 92dvh) !important;
        position: static !important;
    }
}

@media screen and (max-width: 600px) {
    .wc-block-checkout .paymentflo-cc-iframe,
    body.woocommerce-checkout form.checkout.woocommerce-checkout .paymentflo-cc-iframe {
        height: 560px !important;
        position: static !important;
    }
}
html {
    scroll-behavior: auto !important;
}

/* Hide WooCommerce Place Order button when credit card iframe is active */
.wc-block-components-checkout-place-order-button[data-paymentflo-hidden="true"],
button[type="submit"].wc-block-components-checkout-place-order-button[data-paymentflo-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
}

/* Additional selector for WooCommerce Blocks checkout button */
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button[data-paymentflo-hidden="true"] {
    display: none !important;
}