#payplus-slim-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: ppSlimFadeIn 0.2s ease;
}

#payplus-slim-popup-container {
    position: relative;
    width: 90%;
    max-width: 550px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: ppSlimSlideUp 0.25s ease;
}

#payplus-slim-popup-close {
    position: absolute;
    top: 8px;
    right: 12px;
    z-index: 10;
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    transition: color 0.15s;
}

#payplus-slim-popup-close:hover {
    color: #000;
}

#pp_iframe {
    width: 100%;
    height: 600px;
    border: none;
    display: block;
}

.payplus-slim-payment-iframe {
    border: 0;
    display: block;
    max-width: none !important;
    width: 100%;
}

.payplus-slim-inline-frame,
.payplus-slim-iframe-page {
    background: #fff;
    box-sizing: border-box;
    margin-top: 1rem;
    overflow: hidden;
    width: 100%;
}

.wc-block-components-payment-method-content .payplus-slim-inline-frame,
.wc-block-components-payment-method-content .payplus-slim-payment-iframe {
    max-width: none !important;
    width: 100% !important;
}

.payplus-slim-inline-frame {
    border-radius: 4px;
}

.payplus-slim-iframe-page {
    margin: 0 auto;
    max-width: 700px;
}

li.payment_method_payplus-slim-google-pay > input + label,
.payplus-slim-google-pay-label {
    align-items: center;
    background: #000;
    border: 1px solid #000;
    border-radius: 4px;
    box-sizing: border-box;
    color: #fff;
    display: inline-flex;
    font-weight: 600;
    gap: 0.55rem;
    justify-content: center;
    min-height: 44px;
    padding: 0.55rem 1rem;
}

li.payment_method_payplus-slim-google-pay > input:focus + label {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1a73e8;
}

li.payment_method_payplus-slim-google-pay > input + label img,
.payplus-slim-google-pay-label img {
    background: #fff;
    border-radius: 3px;
    float: none;
    height: 28px;
    margin: 0;
    max-height: 28px;
    max-width: 72px;
    padding: 1px 4px;
    width: auto;
}

.payplus-slim-google-pay-floating {
    align-items: center;
    background: #000;
    border: 1px solid #000;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    font-weight: 600;
    gap: 0.6rem;
    inset-inline-end: 20px;
    justify-content: center;
    min-height: 48px;
    padding: 0.6rem 1rem;
    position: fixed;
    top: 120px;
    transition: opacity 0.15s ease, transform 0.15s ease;
    z-index: 99998;
}

.payplus-slim-google-pay-floating:hover {
    transform: translateY(-1px);
}

.payplus-slim-google-pay-floating:focus-visible {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1a73e8;
    outline: 0;
}

.payplus-slim-google-pay-floating:disabled,
.payplus-slim-google-pay-floating.is-processing {
    cursor: wait;
    opacity: 0.65;
}

.payplus-slim-google-pay-floating img {
    background: #fff;
    border-radius: 3px;
    height: 28px;
    padding: 1px 4px;
    width: auto;
}

@keyframes ppSlimFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes ppSlimSlideUp {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@media (max-width: 600px) {
    #payplus-slim-popup-container {
        width: 95%;
        max-width: none;
        border-radius: 4px;
    }

    #pp_iframe {
        height: 80vh;
    }

    .payplus-slim-payment-iframe {
        min-height: 70vh;
    }

    .payplus-slim-google-pay-floating {
        inset-inline: 12px;
        top: 88px;
        width: calc(100% - 24px);
    }
}
