/**
 * HPP Clover — WC Blocks payment method styling.
 *
 * The Clover SDK renders the card form / Apple Pay / Google Pay inside an
 * iframe (checkout.clover.com). The host page containers (we create them via
 * React) must enforce layout — without these, Flatsome / YITH global rules
 * can collapse the iframe containers to 0 height or push them off the row.
 */
.hpp-authorizenet-content {
    box-sizing: border-box;
    width: 100%;
    display: block;
    margin: 0;
    padding: 0;
}
.hpp-authorizenet-content > * {
    box-sizing: border-box;
    width: 100%;
    margin-top: 0;
    margin-bottom: 4px;
}
.hpp-authorizenet-content > *:last-child {
    margin-bottom: 0;
}
.hpp-authorizenet-wallet-button {
    width: 100% !important;
    min-height: 0;
    display: block;
    margin: 0 0 4px 0 !important;
    cursor: pointer;
    border-radius: 4px;
    border: none;
    padding: 0;
}
.hpp-authorizenet-wallet-button:last-child {
    margin-bottom: 4px !important;
}
.hpp-authorizenet-wallet-button iframe {
    width: 100% !important;
    min-height: 0;
    display: block;
}
.hpp-authorizenet-card-container {
    width: 100%;
    display: block;
    position: relative;
    overflow: visible;
    margin-top: 0;
    padding-top: 0;
    font-family: inherit;
}
.hpp-authorizenet-card-container iframe,
.hpp-authorizenet-card-container > div {
    min-height: 0 !important;
}

/* v1.23: Express Google Pay button — rendered in cart-express-payment-block */
.hpp-authorizenet-express-google-pay {
    box-sizing: border-box;
    width: 100%;
    display: block;
    margin: 8px 0;
}
.hpp-authorizenet-express-google-pay__button {
    width: 100% !important;
    min-height: 48px;
    display: block;
    margin: 0;
    cursor: pointer;
    border-radius: 4px;
    border: 1px solid #dadce0;
    background: #ffffff;
    color: #3c4043;
    font-size: 15px;
    font-weight: 500;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.hpp-authorizenet-express-google-pay__button:hover:not(:disabled) {
    background: #f8f9fa;
    border-color: #c4c7c5;
    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.1);
}
.hpp-authorizenet-express-google-pay__button:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}
/* v1.23.6 — wallet button visibility fix.
   Symptom (server log msg_1): updateFrameStyles data.height=0 → Apple Pay / Google
   Pay iframe collapses to invisible. Root cause: container .hpp-authorizenet-wallet-button
   had min-height:0 + no explicit iframe height, so SDK auto-sized to 0.
   Fix: enforce 48px min-height on both the container AND the iframe inside. */

/* Apple Pay / Google Pay button host container — must reserve a real slot. */
.hpp-authorizenet-wallet-button {
    width: 100% !important;
    min-height: 48px;
    display: block;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
}

/* Stack a second wallet button (Google Pay below Apple Pay) with small gap. */
.hpp-authorizenet-wallet-button + .hpp-authorizenet-wallet-button {
    margin-top: 8px !important;
}

/* Iframe inside must inherit min-height so SDK can't collapse it. */
.hpp-authorizenet-wallet-button iframe {
    width: 100% !important;
    min-height: 48px !important;
    display: block;
    border: 0;
}

/* Card section sits directly under the wallet button when no "Or" divider is shown.
   Default block gap (8px from JS margin + 4px from .hpp-authorizenet-content > * rule)
   doubles up — collapse to 4px so button + card feel contiguous. */
.hpp-authorizenet-content > .hpp-authorizenet-card-section {
    margin-top: 4px !important;
    padding-top: 0 !important;
}

/* When "Or" divider IS shown between wallet and card, give it zero vertical air. */
.hpp-authorizenet-content > div[style*="margin: 4px 0 8px 0"] {
    margin: 6px 0 !important;
}

/* v1.23.7 — divider with stable className. */
.hpp-authorizenet-divider-or {
    margin: 0 !important;
    height: 12px !important;
    line-height: 1 !important;
}
.hpp-authorizenet-divider-or > hr {
    margin: 0 10px !important;
}
