.reservation .reservation-location-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    max-height: 320px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccc;
    border-top: 3px solid #00703c;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
    color: #231f20;
    text-align: left;
}
.reservation .reservation-location-results[hidden] { display: none; }
.reservation .reservation-location-status { padding: 12px 16px; font-size: 13px; color: #555; }
.reservation .reservation-location-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 16px;
    border-top: 1px solid #e5e5e5;
    cursor: pointer;
    font-size: 14px;
}
.reservation .reservation-location-option:hover,
.reservation .reservation-location-option[aria-selected="true"] { background: #edf6f0; }
.reservation .reservation-location-select { color: #00703c; font-weight: 700; flex-shrink: 0; }
.reservation-home-options .reservation-location-results {
    max-height: 500px;
    border: 1px solid #00b65c;
    box-shadow: none;
    font-family: Arial, sans-serif;
    color: #000;
}
.reservation-home-options .reservation-location-status {
    padding: 12px 9px;
    font-size: 16px;
    color: #000;
}
.reservation-home-options .reservation-location-status[hidden] { display: none; }
.reservation-home-options .is-loading .reservation-location-status::before {
    content: "\f110";
    display: inline-block;
    margin-right: 6px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    animation: reservation-location-spin 1s linear infinite;
}
.reservation-home-options .reservation-location-option {
    display: block;
    padding: 11px 9px;
    border-top: 1px solid #eee;
    font-size: 14px;
    line-height: 1.4;
}
.reservation-home-options .reservation-location-option:first-child { border-top: 0; }
.reservation-home-options .reservation-location-name {
    display: block;
    color: #00703c;
    font-size: 16px;
    font-weight: 700;
}
.reservation-home-options .reservation-location-name i { margin-left: 5px; font-size: 12px; }
.reservation-home-options .reservation-location-detail { display: block; overflow-wrap: anywhere; }
.reservation-home-options .reservation-location-detail + .reservation-location-detail { margin-top: 4px; }
.reservation-home-options .reservation-location-detail i { width: 16px; margin-right: 6px; }
.reservation-home-options .reservation-location-detail a { color: #00703c; text-decoration: underline; }
@keyframes reservation-location-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .reservation-home-options .is-loading .reservation-location-status::before { animation: none; }
}
@media (max-width: 575px) {
    .reservation .reservation-location-results { max-height: 260px; }
    .reservation .reservation-location-option { padding: 12px; gap: 10px; }
}

.reservation [hidden] { display: none !important; }
.reservation-results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.reservation-results-toolbar h2 { margin: 0; font-size: 24px; }
#reservation-edit-search { border: 1px solid #00703c; background: white; color: #00703c; padding: 10px 18px; font-weight: 700; }
#reservation-search-status { padding: 12px; margin-top: 16px; color: #9c2525; background: #fff; }
#reservation-results-frame { display: block; }
