/* Clear room choices after an unavailable stay; price and booking behavior stay unchanged. */
body[data-theme] #booking-quote[data-state=unavailable] {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid #b97c59;
    border-inline-start-width: 3px;
    border-radius: 7px;
    background: #302219;
    color: #f4d1b7;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
    overflow-wrap: anywhere;
}
body[data-theme=modern] #booking-quote[data-state=unavailable] {
    border-color: #bc805d;
    background: #fff2e9;
    color: #783c25;
}
body[data-theme] #booking-quote .availability-alternatives {
    display: grid;
    gap: 13px;
    min-width: 0;
    margin-block-start: 16px;
    padding-block-start: 16px;
    border-block-start: 1px solid #d6b77c66;
    font-weight: 400;
}
body[data-theme] #booking-quote .availability-alternatives > p {
    margin: 0;
    color: #f8e4ba;
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}
body[data-theme=modern] #booking-quote .availability-alternatives > p { color: #49371d; }
body[data-theme] .availability-alternative-list {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    width: 100%;
    min-width: 0;
    align-items: stretch;
}
body[data-theme] .availability-alternative-list > .availability-alternative {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 48px;
    padding: 11px 15px;
    margin: 0;
    border: 1px solid #e8d3a2;
    border-radius: 6px;
    background: linear-gradient(115deg,#e1c68e,#c9a465);
    box-shadow: 0 3px 9px #00000016;
    color: #241a0f;
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-align: start;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body[data-theme] .availability-alternative-list > .availability-alternative:hover {
    border-color: #f6e6bf;
    background: linear-gradient(115deg,#edd8aa,#d9b77a);
    box-shadow: 0 4px 12px #00000026;
    color: #241a0f;
}
body[data-theme] .availability-alternative-list > .availability-alternative:focus-visible {
    outline: 3px solid #f8e3b3;
    outline-offset: 3px;
    border-color: #241a0f;
}
body[data-theme=modern] .availability-alternative-list > .availability-alternative:focus-visible { outline-color: #73501e; }
body[data-theme] .availability-alternative-list > .availability-alternative:active {
    background: #d5b377;
    box-shadow: inset 0 1px 3px #0002;
}
body[data-theme] #booking-quote > .availability-alternative {
    min-height: 48px;
    margin-block-start: 14px;
    font-size: 14px;
    font-weight: 600;
}
@media (max-width:900px) {
    body[data-theme] .availability-alternative-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
    body[data-theme] .availability-alternative-list { grid-template-columns: minmax(0,1fr); gap: 9px; }
    body[data-theme] #booking-quote[data-state=unavailable] { padding: 14px; }
    body[data-theme] #booking-quote .availability-alternatives { margin-block-start: 14px; padding-block-start: 14px; }
}
@media (prefers-reduced-motion:reduce) {
    body[data-theme] .availability-alternative-list > .availability-alternative { transition: none; }
}
