/* Payment brand logos — footer & checkout */
.tyb-payment-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem 0.875rem;
    width: 100%;
}

.tyb-payment-logos--footer {
    justify-content: center;
    margin-bottom: 0.75rem;
}

.tyb-payment-logos--checkout {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgb(226 232 240);
}

/* Fixed height keeps the row aligned; width grows freely up to max-width */
.tyb-payment-logo {
    display: block;
    height: 1.75rem;
    width: auto;
    max-width: min(100%, 10rem);
    object-fit: contain;
    object-position: left center;
    opacity: 0.9;
    transition: opacity 0.15s ease;
}

.tyb-payment-logos--footer .tyb-payment-logo {
    height: 2rem;
    max-width: min(100%, 12rem);
}

/* Single wide strip (Visa + MC + … in one image) */
.tyb-payment-logos:has(.tyb-payment-logo:only-child) .tyb-payment-logo {
    height: 2rem;
    max-width: min(100%, 24rem);
}

.tyb-payment-logos--footer:has(.tyb-payment-logo:only-child) .tyb-payment-logo {
    height: 2.25rem;
    max-width: min(100%, 28rem);
}

.tyb-payment-logos--checkout .tyb-payment-logo {
    height: 1.625rem;
    max-width: min(100%, 10rem);
}

.tyb-payment-logos--checkout:has(.tyb-payment-logo:only-child) .tyb-payment-logo {
    height: 1.875rem;
    max-width: min(100%, 20rem);
}

.tyb-payment-logos--dark .tyb-payment-logo {
    opacity: 0.88;
}

.tyb-payment-logos--dark .tyb-payment-logo:hover,
.tyb-payment-logos--light .tyb-payment-logo:hover {
    opacity: 1;
}

@media (min-width: 768px) {
    .tyb-payment-logos--footer {
        justify-content: flex-start;
    }

    .tyb-payment-logos--footer:has(.tyb-payment-logo:only-child) .tyb-payment-logo {
        height: 2.5rem;
        max-width: min(100%, 32rem);
    }
}
