/* v4.3.21 — payment choice inside the booking flow */
.booking-payment-choice {
    min-width: 0;
    margin: 18px 0 0;
    padding: 18px;
    border: 1px solid #d8e7e7;
    border-radius: 18px;
    background: linear-gradient(145deg, #fbfefd, #f2faf8);
}

.booking-payment-choice legend {
    display: flex;
    align-items: baseline;
    gap: 9px;
    float: none;
    width: 100%;
    margin: 0 0 13px;
    color: #163c43;
}

.booking-payment-choice legend span {
    font-size: .84rem;
    font-weight: 950;
}

.booking-payment-choice legend small {
    color: #71878a;
    font-size: .66rem;
}

.booking-payment-choice__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.booking-payment-choice__options label {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    min-height: 86px;
    margin: 0;
    padding: 14px;
    border: 1px solid #d6e4e5;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.booking-payment-choice__options label:has(input:checked) {
    border-color: #1c9b8c;
    background: #f0fbf8;
    box-shadow: 0 0 0 3px rgba(28, 155, 140, .09);
}

.booking-payment-choice__options label:has(input:disabled) {
    opacity: .5;
    cursor: not-allowed;
}

.booking-payment-choice__options input {
    flex: 0 0 auto;
    margin: 3px 0 0;
    accent-color: #0f8f82;
}

.booking-payment-choice__options span,
.booking-payment-choice__options strong,
.booking-payment-choice__options small {
    display: block;
    min-width: 0;
}

.booking-payment-choice__options strong {
    color: #183e46;
    font-size: .75rem;
    font-weight: 900;
}

.booking-payment-choice__options small {
    margin-top: 5px;
    color: #71868a;
    font-size: .64rem;
    line-height: 1.8;
}

.booking-payment-choice > p {
    margin: 11px 2px 0;
    color: #5e777b;
    font-size: .64rem;
    line-height: 1.8;
}

.booking-payment-choice:not(.is-unavailable) > p {
    color: #176f64;
}

.booking-success-payment-alert {
    display: grid;
    gap: 4px;
    margin: 16px 0;
    padding: 13px 15px;
    border: 1px solid #edcf9d;
    border-radius: 13px;
    background: #fff8e9;
    color: #76510f;
}

.booking-success-payment-alert strong { font-size: .75rem; }
.booking-success-payment-alert span { font-size: .68rem; line-height: 1.8; }

@media (max-width: 767.98px) {
    .booking-payment-choice { padding: 14px; border-radius: 15px; }
    .booking-payment-choice legend { align-items: flex-start; flex-direction: column; gap: 3px; }
    .booking-payment-choice__options { grid-template-columns: 1fr; }
    .booking-payment-choice__options label { min-height: 0; }
}

@media (max-width: 389.98px) {
    .booking-payment-choice { margin-inline: 0; padding: 12px; }
    .booking-payment-choice__options label { padding: 12px; }
}
