.checkout-payment .cart-payment-form .clean-input,
        .checkout-payment .checkout-card-input {
            box-sizing: border-box;
            width: 100%;
            min-height: 40px;
            padding: 10px;
            border: 1px solid #b8c1c7;
            border-radius: 3px;
            background: #fff;
            color: #455863;
        }

        .checkout-payment .checkout-card-input {
            margin-bottom: 15px;
        }

        .checkout-payment .clean-input::placeholder {
            color: #667580;
        }

        .checkout-payment .clean-input:focus,
        .checkout-payment .checkout-card-input.StripeElement--focus {
            border-color: #455863;
            outline: 2px solid #455863;
            outline-offset: 2px;
        }

        .checkout-payment .checkout-card-input.StripeElement--invalid {
            border-color: #a82c32;
        }

        .checkout-payment #card-errors {
            color: #a82c32;
        }

        .member-payment-methods {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 24px;
            max-width: 920px;
            margin: 4px 0 36px;
        }

        .member-payment-card {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 240px;
            padding: 26px;
            border-radius: 12px;
            background: #455863;
            color: #fff;
            box-shadow: 0 8px 18px rgba(33, 48, 57, 0.16);
        }

        .member-payment-card-top,
        .member-payment-card-details {
            display: flex;
            justify-content: space-between;
            gap: 20px;
        }

        .member-payment-card-brand {
            color: #e7ce63;
            font-family: 'TradeGothicLT-BoldCondTwenty', sans-serif;
            font-size: 24px;
        }

        .member-payment-card-status,
        .member-payment-card-label {
            font-family: 'TradeGothicLT-BoldCondTwenty', sans-serif;
            font-size: 13px;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .member-payment-card-status {
            align-self: flex-start;
            padding: 4px 0;
        }

        .member-payment-card-number {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            margin: 24px 0;
            font-size: clamp(18px, 2vw, 25px);
            letter-spacing: 0.08em;
            font-variant-numeric: tabular-nums;
        }

        .member-payment-card-details > div {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .member-payment-card-holder {
            min-width: 0;
            overflow-wrap: anywhere;
        }

        .member-payment-card-label {
            color: #e0e6e9;
        }

        .member-payment-card-expiry {
            flex-shrink: 0;
            margin-left: auto;
            text-align: right;
            font-variant-numeric: tabular-nums;
        }

        .member-payment-card-update {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 26px;
            border: 1px dashed #a6b0b6;
            border-radius: 12px;
            color: #455863;
            text-align: center;
            text-decoration: none;
        }

        .member-payment-card-update .fa {
            margin-bottom: 6px;
            color: #455863;
            font-size: 28px;
        }

        .member-payment-card-update .heavy {
            font-size: 20px;
        }

        .member-payment-card-update:hover {
            border-color: #455863;
            background: #f6f6f6;
            color: #455863;
            text-decoration: none;
        }

        .member-payment-card-update:focus-visible {
            outline: 2px solid #455863;
            outline-offset: 4px;
        }

        .member-payment-security {
            max-width: 75ch;
            color: #455863;
            font-size: 14px;
        }

        @media (max-width: 1100px) {
            .member-payment-methods {
                grid-template-columns: minmax(0, 440px);
                gap: 20px;
            }

            .member-payment-card-update {
                min-height: 150px;
            }
        }

        @media (max-width: 480px) {
            .member-payment-card {
                min-height: 210px;
                padding: 20px;
            }
        }

.checkout-card-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 20px; }
.checkout-saved-cards { margin-bottom: 24px; }
.checkout-saved-cards legend { border: 0; color: #455863; font-size: 16px; margin-bottom: 12px; }
.checkout-card-choice { display: block; position: relative; cursor: pointer; font-weight: normal; min-width: 0; }
.checkout-card-choice > input { position: absolute; top: 23px; right: 18px; z-index: 1; accent-color: #e7ce63; }
.checkout-card-choice .member-payment-card { min-height: 195px; padding: 20px; box-shadow: none; }
.checkout-card-choice .member-payment-card-status { padding-right: 24px; }
.checkout-card-choice .member-payment-card-number { font-size: 18px; gap: 10px; letter-spacing: 0.04em; }
.checkout-card-choice input:checked + .member-payment-card { outline: 3px solid #b59523; outline-offset: 3px; }
.checkout-card-choice input:focus-visible + .member-payment-card { outline: 3px solid #455863; outline-offset: 5px; }
.checkout-new-card-choice, .checkout-save-card { display: flex; align-items: baseline; gap: 8px; margin: 16px 0; color: #455863; }
.checkout-save-card input, .checkout-new-card-choice input { accent-color: #455863; }
.member-payment-card-details > span { display: flex; flex-direction: column; gap: 4px; }
.member-payment-card-expired { background: #596168; }
.member-payment-card-actions { display: flex; flex-wrap: wrap; gap: 20px; margin: 14px 0 8px; }
.member-card-action { padding: 0; border: 0; background: transparent; color: #455863; text-decoration: underline; text-underline-offset: 3px; }
.member-card-action:hover { color: #252f35; }
.member-card-action:focus-visible { outline: 2px solid #455863; outline-offset: 4px; }
.member-card-action:disabled { opacity: 0.65; cursor: not-allowed; text-decoration: none; }
.member-payment-method { min-width: 0; }
.member-payment-card-update { min-height: 195px; align-self: start; }
@media (max-width: 1400px) { .checkout-card-choices { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .checkout-card-choice .member-payment-card-number { font-size: 17px; } }
