/* v4.3.38 — insurance and payment method choices inside public booking */
.booking-insurance-choice,
.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-insurance-choice legend,
.booking-payment-choice legend {
    display: flex;
    align-items: baseline;
    gap: 9px;
    float: none;
    width: 100%;
    margin: 0 0 13px;
    color: #163c43;
}

.booking-insurance-choice legend span,
.booking-payment-choice legend span { font-size: .84rem; font-weight: 950; }
.booking-insurance-choice legend small,
.booking-payment-choice legend small { color: #71878a; font-size: .66rem; }

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

.booking-insurance-choice__options label,
.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-insurance-choice__options label:has(input:checked),
.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-insurance-choice__options label:has(input:disabled),
.booking-payment-choice__options label:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.booking-insurance-choice__options input,
.booking-payment-choice__options input { flex: 0 0 auto; margin: 3px 0 0; accent-color: #0f8f82; }
.booking-insurance-choice__options span,
.booking-payment-choice__options span,
.booking-insurance-choice__options strong,
.booking-payment-choice__options strong,
.booking-insurance-choice__options small,
.booking-payment-choice__options small { display: block; min-width: 0; }
.booking-insurance-choice__options strong,
.booking-payment-choice__options strong { color: #183e46; font-size: .75rem; font-weight: 900; }
.booking-insurance-choice__options small,
.booking-payment-choice__options small { margin-top: 5px; color: #71868a; font-size: .64rem; line-height: 1.8; }

.booking-insurer-select {
    display: grid;
    gap: 7px;
    margin: 13px 0 0;
    padding: 13px;
    border: 1px dashed #c5ddda;
    border-radius: 13px;
    background: rgba(255, 255, 255, .82);
}
.booking-insurer-select[hidden] { display: none !important; }
.booking-insurer-select > span { color: #214a50; font-size: .72rem; font-weight: 900; }
.booking-insurer-select > small { color: #647d80; font-size: .62rem; 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-selected-price { display: grid; gap: 3px; }
.booking-selected-price small { color: #698084; font-size: .59rem; font-style: normal; }
.booking-selected-price strong { color: #174f48; font-size: .73rem; font-weight: 950; }
.booking-service-option.is-insured-price .booking-selected-price strong { color: #08765f; }

.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-insurance-choice,
    .booking-payment-choice { padding: 14px; border-radius: 15px; }
    .booking-insurance-choice legend,
    .booking-payment-choice legend { align-items: flex-start; flex-direction: column; gap: 3px; }
    .booking-insurance-choice__options,
    .booking-payment-choice__options { grid-template-columns: 1fr; }
    .booking-insurance-choice__options label,
    .booking-payment-choice__options label { min-height: 0; }
}

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