.wc-block-components-payment-methods__save-card-info {
    margin-top: 10px;
}

/* Test mode notice – Form, Server, Pi Redirect, Pi (and Direct uses .ag-opayo-direct-test-mode with same look) */
.ag-opayo-pi-test-mode {
    margin:      0.5em 0 0.75em;
    padding:     0.5em 0.75em;
    background:  #f8f4e6;
    border-left: 3px solid #c9a227;
    font-size:   0.9em;
}

.ag-sagepay-checkout-title-wrapper, .ag-sagepay-checkout-icon-wrapper {
    width: 100%;
}

.ag-sagepay-checkout-icon-wrapper img {
    float:        left;
    margin-right: 5px;
    margin-top:   8px;
}

/* Opayo Direct block: card fields */
.ag-opayo-direct-block-content {
    margin-top: 0.5em;
}

.ag-opayo-direct-block-content .ag-opayo-direct-test-mode {
    margin:      0.5em 0 0.75em;
    padding:     0.5em 0.75em;
    background:  #f8f4e6;
    border-left: 3px solid #c9a227;
    font-size:   0.9em;
}

.ag-opayo-direct-payment-method {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   1rem 1.25rem;
    margin-top:            1rem;
}

.ag-opayo-direct-payment-method .ag-opayo-direct-field-card {
    grid-column: 1 / -1;
}

.ag-opayo-direct-field {
    display:        flex;
    flex-direction: column;
    gap:            0.35rem;
}

.ag-opayo-direct-field label {
    font-weight: 600;
    font-size:   0.9em;
    color:       #2c3338;
}

.ag-opayo-direct-input {
    width:         100%;
    padding:       0.6rem 0.75rem;
    font-size:     1rem;
    line-height:   1.4;
    border:        1px solid #8c8f94;
    border-radius: 4px;
    background:    #fff;
    box-sizing:    border-box;
}

.ag-opayo-direct-input:focus {
    border-color: #2271b1;
    box-shadow:   0 0 0 1px #2271b1;
    outline:      none;
}

.ag-opayo-direct-input::placeholder {
    color: #a7aaad;
}

/* Opayo Direct block: saved card – hide host only after CVC has been moved into the option */
.ag-opayo-direct-saved-token[data-ag-opayo-cvc-host].ag-opayo-direct-saved-token--moved {
    display: none !important;
}

/* Fallback: saved token block when shown in place (not moved into option) */
.ag-opayo-direct-saved-token[data-ag-opayo-cvc-host]:not(.ag-opayo-direct-saved-token--moved) {
    margin-top:    1rem;
    padding:       1rem 1.15rem;
    background:    #f6f7f7;
    border:        1px solid #dcdcde;
    border-radius: 4px;
    border-left:   3px solid #2271b1;
}

.ag-opayo-direct-saved-token[data-ag-opayo-cvc-host]:not(.ag-opayo-direct-saved-token--moved) .ag-opayo-direct-field-cvc {
    max-width: 8em;
}

.ag-opayo-direct-saved-token[data-ag-opayo-cvc-host]:not(.ag-opayo-direct-saved-token--moved) .ag-opayo-direct-saved-token-inline-summary {
    margin-top:    0;
    margin-bottom: 0.2rem;
}

.ag-opayo-direct-saved-token[data-ag-opayo-cvc-host]:not(.ag-opayo-direct-saved-token--moved) .ag-opayo-direct-saved-token-inline-expiry {
    margin-bottom: 0.75rem;
}

/* Saved token inline block (card summary + expiry + CVC) inside .wc-block-components-radio-control__option */
.wc-block-components-radio-control__option .ag-opayo-direct-saved-cvc-inline {
    margin-top:    0.75rem;
    padding:       0.85rem 1rem;
    background:    #f6f7f7;
    border:        1px solid #dcdcde;
    border-radius: 4px;
    border-left:   3px solid #2271b1;
}

.wc-block-components-radio-control__option .ag-opayo-direct-saved-token-inline-summary {
    font-weight:    600;
    margin:         0 0 0.2rem;
    font-size:      0.95em;
    color:          #1d2327;
    letter-spacing: 0.01em;
}

.wc-block-components-radio-control__option .ag-opayo-direct-saved-token-inline-expiry {
    margin:    0 0 0.6rem;
    font-size: 0.875em;
    color:     #50575e;
}

.wc-block-components-radio-control__option .ag-opayo-direct-saved-cvc-inline .ag-opayo-direct-field-cvc {
    max-width: 8em;
}

.wc-block-components-radio-control__option .ag-opayo-direct-saved-cvc-inline label {
    font-weight:   600;
    font-size:     0.9em;
    color:         #2c3338;
    display:       block;
    margin-bottom: 0.25rem;
}

.wc-block-components-radio-control__option .ag-opayo-direct-saved-cvc-inline .ag-opayo-direct-input {
    padding:   0.5rem 0.65rem;
    font-size: 0.95rem;
}

/* Opayo Pi block: card fields */
.ag-opayo-pi-block-content {
    margin-top: 0.5em;
}

.ag-opayo-pi-block-content .ag-opayo-pi-test-mode {
    margin:      0.5em 0 0.75em;
    padding:     0.5em 0.75em;
    background:  #f8f4e6;
    border-left: 3px solid #c9a227;
    font-size:   0.9em;
}

.ag-opayo-pi-payment-method {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   1rem 1.25rem;
    margin-top:            1rem;
}

.ag-opayo-pi-payment-method .ag-opayo-pi-field-card {
    grid-column: 1 / -1;
}

.ag-opayo-pi-field {
    display:        flex;
    flex-direction: column;
    gap:            0.35rem;
}

.ag-opayo-pi-field label {
    font-weight: 600;
    font-size:   0.9em;
    color:       #2c3338;
}

.ag-opayo-pi-input {
    width:         100%;
    padding:       0.6rem 0.75rem;
    font-size:     1rem;
    line-height:   1.4;
    border:        1px solid #8c8f94;
    border-radius: 4px;
    background:    #fff;
    box-sizing:    border-box;
}

.ag-opayo-pi-input:focus {
    border-color: #2271b1;
    box-shadow:   0 0 0 1px #2271b1;
    outline:      none;
}

.ag-opayo-pi-input::placeholder {
    color: #a7aaad;
}
