/*
 * Styles for the _CompactPaymentCard.cshtml partial view.
 * Written using the Block-Element-Modifier (BEM) naming convention.
 * Block: .compact-payment-card
 */

.compact-payment-card {
    padding: 10px;
    border: 1px solid #D0D0D0;
    border-radius: 10px;
    cursor: pointer;
    height: 100%;
}

.compact-payment-card:has(input[name="compact-payment-card-option"]:checked) {
    padding: 9px;
    border: 2px solid var(--km-green);
    background: rgba(var(--km-green-rgb), 0.1);
}

.compact-payment-card__input {
    margin-right: 0;
    width: 1rem;
    height: 1rem;
    margin-inline-end: 1.5rem;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    border-radius: 50% !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    flex-shrink: 0;
}

.compact-payment-card__input:checked {
    background-color: var(--km-green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8l3.5 3.5L13 4'/%3E%3C/svg%3E");
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
    border-color: var(--km-green);
}

.compact-payment-card__label {
    margin: 0;
    cursor: pointer;
}

.compact-payment-card__number {
    direction: ltr;
    font-size: 14px;
}

.compact-payment-card__expiry {
    direction: ltr;
    font-size: 12px;
}

/* Modifier: new card option */

.compact-payment-card--new {
    background-color: #F5F5F5;
    border: 2px dashed #D0D0D0;
    color: var(--bs-placeholder);
    opacity: 0.7;
}

.compact-payment-card--new:has(input[name="compact-payment-card-option"]:checked) {
    padding: 10px 9px;
    border: 2px solid var(--km-green);
    background-color: rgba(var(--km-green-rgb), 0.1);
}
