.stay-listing-page {
    min-height: 70vh;
    padding-top: 28px;
}

.search-summary {
    width: min(100%, 920px);
    min-height: 76px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 auto 48px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--surface);
    box-shadow: 0 14px 38px rgba(69, 25, 43, .07);
}

.search-summary__mobile { display: none; }

.search-summary__item {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 11px;
    color: var(--ink);
}

.search-summary__button {
    min-height: 54px;
    padding: 6px 9px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    text-align: right;
    font: inherit;
    cursor: pointer;
    transition: background-color .18s ease;
}

.search-summary__button:hover {
    background: var(--soft);
}

.search-summary__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    border-radius: 13px;
    background: var(--tint);
    color: var(--brand);
}

.search-summary__icon .ui-icon {
    width: 21px;
    height: 21px;
}

.search-summary__item span:last-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.search-summary__item small {
    color: var(--muted);
    font-size: .72rem;
}

.search-summary__item strong {
    overflow: hidden;
    font-size: .91rem;
    font-weight: 650;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.search-summary__divider {
    width: 1px;
    height: 40px;
    flex: 0 0 1px;
    background: var(--border);
}

.search-summary__change {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    padding: 10px 15px;
    border: 0;
    border-radius: 14px;
    background: var(--brand);
    color: #fff;
    font-family: var(--font-ui);
    font-size: .82rem;
    font-weight: 650;
    cursor: pointer;
    transition: background-color .18s ease, box-shadow .18s ease;
}

.search-summary__change:hover {
    background: var(--brand-dark);
    box-shadow: 0 8px 20px rgba(142, 23, 79, .2);
}

.search-summary__change .ui-icon {
    width: 18px;
    height: 18px;
}

.stay-global-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    max-width: 760px;
    min-height: 58px;
    margin: -14px 0 30px;
    padding: 7px 8px 7px 15px;
    border: 1px solid var(--border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(62, 31, 43, .06);
}
.stay-global-search > .ui-icon { width: 21px; height: 21px; color: var(--brand); fill: none; stroke: currentColor; stroke-width: 1.8; }
.stay-global-search > input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font: 600 .88rem var(--font-ui); }
.stay-global-search > input::placeholder { color: var(--muted); font-weight: 400; }
.stay-global-search > button { min-height: 42px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--brand); color: #fff; font: 700 .78rem var(--font-ui); cursor: pointer; }
.stay-global-search > button:hover { background: var(--brand-dark); }

.listing-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin: 0 0 20px;
}

.listing-heading__copy {
    min-width: 0;
}

.listing-heading .eyebrow {
    margin-bottom: 10px;
}

.listing-heading h1 {
    margin: 0 0 6px;
    font-size: clamp(2rem, 4vw, 3.25rem);
}

.listing-heading p {
    margin: 0;
    color: var(--muted);
    font-size: .9rem;
}

.listing-heading p strong {
    color: var(--ink);
}

.listing-heading__actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 9px;
}

.listing-toolbar {
    position: sticky;
    z-index: 20;
    top: 12px;
    width: max-content;
    max-width: 100%;
    margin: 0 0 26px;
    margin-inline-end: auto;
    padding: 8px;
    border: 1px solid rgba(226, 218, 215, .92);
    border-radius: 18px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 8px 26px rgba(46, 34, 39, .06);
    backdrop-filter: blur(18px);
}

.listing-toolbar__scroll {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    padding: 1px;
    scrollbar-width: none;
}

.listing-toolbar__scroll::-webkit-scrollbar {
    display: none;
}

.filter-trigger,
.quick-filter,
.filter-chip {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    padding: 8px 14px;
    border: 1px solid var(--border);
    border-radius: 99px;
    background: var(--surface);
    color: var(--ink);
    font: 600 .82rem/1.5 var(--font-ui);
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.filter-trigger {
    border-color: transparent;
    background: var(--tint);
    color: var(--brand-dark);
}

.filter-trigger .ui-icon {
    width: 19px;
    height: 19px;
}

.filter-trigger b {
    min-width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 99px;
    background: var(--brand);
    color: #fff;
    font-size: .7rem;
}

.filter-trigger:hover,
.quick-filter:hover,
.filter-chip:hover,
.filter-trigger.is-active,
.quick-filter.is-active {
    border-color: var(--brand);
    background: var(--tint);
    color: var(--brand-dark);
}

.filter-chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.filter-chips::-webkit-scrollbar { display: none; }

.filter-chip.is-active {
    border-color: var(--brand);
    background: var(--brand);
    color: #fff;
}

.listing-toolbar__divider {
    width: 1px;
    height: 26px;
    flex: 0 0 1px;
    margin: 0 3px;
    background: var(--border);
}

.listing-toolbar__label {
    flex: 0 0 auto;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
}

.sort-control {
    min-height: 44px;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 8px;
    padding: 0 11px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface);
}

.sort-control__icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: var(--muted);
}

.listing-view-switch {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 4px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: var(--surface);
}

.listing-view-switch button {
    min-width: 88px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 12px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: var(--muted);
    font: 600 .78rem/1.5 var(--font-ui);
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.listing-view-switch button.is-active {
    background: var(--brand);
    color: #fff;
    box-shadow: 0 5px 14px rgba(142, 23, 79, .2);
}

.listing-view-switch .ui-icon {
    width: 18px;
    height: 18px;
}

.sort-control label {
    color: var(--muted);
    font-size: .75rem;
}

.sort-control select {
    min-height: 42px;
    padding: 0 2px 0 22px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: 600 .78rem/1.5 var(--font-ui);
    cursor: pointer;
}

.stay-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 20px;
}

.listing-results-layout {
    min-width: 0;
}

.listing-results-layout.is-map-view {
    display: grid;
    grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr);
    align-items: start;
    gap: 20px;
}

.listing-results-layout.is-map-view .stay-grid {
    grid-template-columns: 1fr;
    gap: 14px;
}

.listing-results-layout.is-map-view .stay-card {
    display: grid;
    grid-template-columns: minmax(150px, 40%) minmax(0, 60%);
    border-radius: 17px;
}

.listing-results-layout.is-map-view .stay-card__media {
    min-height: 180px;
    aspect-ratio: auto;
}

.listing-results-layout.is-map-view .stay-card__count {
    display: none;
}

.stay-map-panel[hidden],
.stay-map-message[hidden],
.stay-map-popup[hidden] {
    display: none;
}

.stay-map-panel {
    position: sticky;
    top: 88px;
    min-width: 0;
    height: min(720px, calc(100vh - 112px));
    min-height: 560px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 24px;
    background: #e8e4de;
    box-shadow: 0 18px 50px rgba(61, 35, 45, .1);
}

.stay-map-panel__head {
    position: absolute;
    z-index: 5;
    top: 14px;
    right: 14px;
    left: 58px;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 13px;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 30px rgba(44, 31, 36, .12);
    backdrop-filter: blur(13px);
}

.stay-map-panel__head > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.stay-map-panel__head strong {
    color: var(--ink);
    font-size: .88rem;
}

.stay-map-panel__head small,
.stay-map-panel__head > span {
    color: var(--muted);
    font-size: .68rem;
}

.stay-map-panel__head > span {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 99px;
    background: var(--tint);
    color: var(--brand-dark);
    font-weight: 650;
}

.stay-map {
    width: 100%;
    height: 100%;
    direction: ltr;
}

.stay-map .ol-zoom {
    top: 14px;
    left: 14px;
    padding: 3px;
    border-radius: 13px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 24px rgba(44, 31, 36, .14);
}

.stay-map .ol-zoom button {
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--ink);
    font-size: 1.2rem;
}

.stay-map .ol-attribution {
    right: auto;
    left: 8px;
    bottom: 8px;
    border-radius: 9px;
    background: rgba(255, 255, 255, .88);
}

.stay-map-message {
    position: absolute;
    z-index: 4;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 13px;
    padding: 90px 25px 25px;
    background: rgba(245, 241, 238, .92);
    color: var(--ink);
    text-align: center;
}

.stay-map-message > span {
    width: 34px;
    height: 34px;
    border: 3px solid #dccbd2;
    border-top-color: var(--brand);
    border-radius: 50%;
    animation: map-spin .8s linear infinite;
}

.stay-map-message .ui-icon {
    width: 38px;
    height: 38px;
    color: var(--brand);
}

.stay-map-message b {
    font-size: .84rem;
    font-weight: 650;
}

@keyframes map-spin { to { transform: rotate(360deg); } }

.stay-map-price {
    position: relative;
    min-width: 62px;
    min-height: 38px;
    padding: 7px 11px;
    border: 2px solid #fff;
    border-radius: 12px;
    background: var(--ink);
    color: #fff;
    box-shadow: 0 6px 18px rgba(37, 27, 31, .25);
    font: 700 .73rem/1 var(--font-ui);
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.stay-map-price:after {
    position: absolute;
    right: 50%;
    bottom: -6px;
    width: 9px;
    height: 9px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background: inherit;
    content: "";
    transform: translateX(50%) rotate(45deg);
}

.stay-map-price:hover,
.stay-map-price.is-active,
.stay-map-price:focus-visible {
    z-index: 3;
    background: var(--brand);
    box-shadow: 0 8px 22px rgba(142, 23, 79, .32);
    transform: translateY(-2px);
}

.stay-map-popup {
    position: relative;
    width: min(300px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    overflow: hidden;
    direction: rtl;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(37, 25, 30, .28);
}

.stay-map-popup > img {
    width: 100%;
    height: 100%;
    min-height: 166px;
    object-fit: cover;
}

.stay-map-popup > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 12px 11px;
}

.stay-map-popup small { color: var(--brand); font-size: .66rem; font-weight: 650; }
.stay-map-popup strong { width: 100%; margin: 3px 0 5px; overflow: hidden; color: var(--ink); font: 700 .88rem/1.5 Peyda; white-space: nowrap; text-overflow: ellipsis; }
.stay-map-popup span { color: var(--muted); font-size: .68rem; }
.stay-map-popup b { margin-top: 7px; color: var(--ink); font-size: .74rem; }
.stay-map-popup a { min-height: 35px; display: inline-flex; align-items: center; justify-content: center; align-self: stretch; margin-top: auto; border-radius: 10px; background: var(--brand); color: #fff; font-size: .7rem; font-weight: 650; }

.stay-map-popup__close {
    position: absolute;
    z-index: 2;
    top: 7px;
    right: 7px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0 0 2px;
    border: 0;
    border-radius: 9px;
    background: rgba(31, 27, 29, .72);
    color: #fff;
    font: 400 1.2rem/1 sans-serif;
    cursor: pointer;
}

.stay-card.is-map-highlighted {
    border-color: var(--brand);
    box-shadow: 0 10px 32px rgba(142, 23, 79, .14);
}

.stay-card {
    min-width: 0;
    display: block;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.stay-card:hover {
    transform: translateY(-4px);
    border-color: #d4bbc5;
    box-shadow: var(--shadow);
}

.stay-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #eadfe0;
}

.stay-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.stay-card:hover .stay-card__media img {
    transform: scale(1.035);
}

.stay-card__badge {
    position: absolute;
    top: 13px;
    right: 13px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 99px;
    background: rgba(255, 255, 255, .94);
    color: var(--brand-dark);
    font-size: .72rem;
    font-weight: 650;
    backdrop-filter: blur(8px);
}

.stay-card__badge .ui-icon {
    width: 14px;
    height: 14px;
}

.stay-card__rating {
    position: absolute;
    top: 13px;
    left: 13px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 99px;
    color: #6e4511;
    background: rgba(255, 249, 229, .95);
    box-shadow: 0 7px 20px rgba(51, 35, 15, .11);
    backdrop-filter: blur(8px);
    direction: rtl;
}

.stay-card__rating .ui-icon {
    width: 15px;
    height: 15px;
    color: #c9831e;
    fill: #f1b43d;
    stroke: currentColor;
}

.stay-card__rating b {
    font: 750 .75rem var(--font-numeric);
}

.stay-card__rating small {
    color: #806b50;
    font-size: .55rem;
}

.stay-card__rating.is-empty {
    color: var(--brand-dark);
    background: rgba(255, 255, 255, .94);
}

.stay-card__rating.is-empty .ui-icon {
    color: var(--brand);
    fill: transparent;
}

.stay-card__count {
    position: absolute;
    bottom: 13px;
    left: 13px;
    padding: 4px 8px;
    border-radius: 9px;
    background: rgba(36, 33, 36, .72);
    color: #fff;
    font-size: .72rem;
}

.stay-card__body {
    padding: 18px;
}

.stay-card__location {
    color: var(--brand);
    font-size: .77rem;
    font-weight: 650;
}

.stay-card__host { display: block; margin: -2px 0 7px; color: var(--muted); font-size: .69rem; }

.stay-card h2 {
    margin: 5px 0 10px;
    overflow: hidden;
    font-family: Peyda;
    font-size: 1.22rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.stay-card__facts {
    margin-bottom: 15px;
    color: var(--muted);
    font-size: .82rem;
}

.stay-card__tags {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: -2px 0 10px;
    overflow: hidden;
}

.stay-card__tags span {
    max-width: 48%;
    padding: 3px 7px;
    overflow: hidden;
    border-radius: 7px;
    color: var(--brand);
    background: var(--tint);
    font-size: .62rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stay-card__price {
    display: flex;
    align-items: baseline;
    gap: 5px;
    padding-top: 13px;
    border-top: 1px solid #eee4e8;
    font-weight: 650;
}

.stay-card__price small {
    color: var(--muted);
    font-size: .73rem;
    font-weight: 400;
}

.stay-card--loading {
    pointer-events: none;
}

.stay-card--loading .stay-card__media,
.stay-card--loading i {
    background: linear-gradient(90deg, #eee5e6 25%, #f7eff1 50%, #eee5e6 75%);
    background-size: 200% 100%;
    animation: shimmer 1.3s infinite;
}

.stay-card--loading i {
    height: 13px;
    display: block;
    margin-bottom: 12px;
    border-radius: 6px;
}

.stay-card--loading i:nth-child(2) { width: 75%; }
.stay-card--loading i:nth-child(3) { width: 45%; }

@keyframes shimmer {
    to { background-position: -200% 0; }
}

.listing-empty {
    padding: 70px 25px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    text-align: center;
}

.listing-empty__mark {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    margin: 0 auto 20px;
    border-radius: 20px;
    background: var(--tint);
    color: var(--brand);
}

.listing-empty__mark .ui-icon { width: 32px; height: 32px; }
.listing-empty h2 { margin-bottom: 8px; }
.listing-empty p { margin-bottom: 25px; color: var(--muted); }
.listing-empty__actions { display: flex; justify-content: center; gap: 10px; }

.listing-error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
    padding: 20px 22px;
    border: 1px solid var(--color-danger-border);
    border-radius: var(--radius-md);
    background: var(--color-danger-surface);
}
.listing-empty[hidden],
.listing-error[hidden] { display: none; }

.listing-error h2 { margin: 0 0 4px; color: var(--color-danger-text); font-size: 1rem; }
.listing-error p { margin: 0; color: var(--muted); font-size: .82rem; }
.listing-error .button { flex: 0 0 auto; }
.load-more-sentinel { height: 2px; }
.listing-end { margin: 40px 0 0; color: var(--muted); font-size: .83rem; text-align: center; }

.search-edit-modal[hidden],
.search-edit-options[hidden],
.search-edit-empty[hidden] {
    display: none;
}

.search-edit-modal {
    position: fixed;
    z-index: 10020;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}

.search-edit-modal__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(31, 22, 26, .62);
    cursor: default;
    backdrop-filter: blur(5px);
}

.search-edit-panel {
    position: relative;
    width: min(100%, 720px);
    max-height: min(90vh, 860px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 25px;
    outline: 0;
    background: var(--surface);
    box-shadow: 0 36px 100px rgba(32, 18, 24, .32);
    animation: search-edit-in .2s ease both;
}

@keyframes search-edit-in {
    from { opacity: 0; transform: translateY(12px) scale(.985); }
}

.search-edit-panel__header {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex: 0 0 auto;
    padding: 16px 22px;
    border-bottom: 1px solid var(--border);
}

.search-edit-panel__header .eyebrow { margin: 0 0 2px; font-size: .72rem; }
.search-edit-panel__header .eyebrow:before { width: 18px; }
.search-edit-panel__header h2 { margin: 0; font-size: 1.5rem; }

.search-edit-panel__close {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--canvas);
    color: var(--ink);
    cursor: pointer;
}

.search-edit-panel__close .ui-icon { width: 20px; height: 20px; }
.search-edit-form { min-height: 0; display: flex; flex: 1; flex-direction: column; }
.search-edit-panel__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px; }

.search-edit-section {
    margin: 0;
    padding: 22px 0;
    border: 0;
    border-bottom: 1px solid var(--border);
}

.search-edit-section legend { padding: 0; color: var(--ink); font-family: Peyda; font-size: 1.14rem; font-weight: 700; }
.search-edit-section > p { margin: 3px 0 15px; color: var(--muted); font-size: .75rem; }

.search-edit-selected {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 11px;
    padding: 8px 11px;
    border: 1px solid #e5ccd6;
    border-radius: 14px;
    background: var(--tint);
}

.search-edit-selected > span,
.search-edit-dates > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    border-radius: 11px;
    background: #fff;
    color: var(--brand);
}

.search-edit-selected .ui-icon,
.search-edit-dates .ui-icon { width: 19px; height: 19px; }
.search-edit-selected div { min-width: 0; display: grid; gap: 1px; }
.search-edit-selected small { color: var(--muted); font-size: .66rem; }
.search-edit-selected strong { overflow: hidden; color: var(--brand-dark); font-size: .86rem; white-space: nowrap; text-overflow: ellipsis; }

.search-edit-search {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.search-edit-search:focus-within {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.search-edit-search .ui-icon { width: 20px; height: 20px; flex: 0 0 20px; color: var(--muted); }
.search-edit-search input { width: 100%; height: 48px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: 500 16px/1.5 var(--font-ui); }

.search-edit-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin: 12px 0 8px;
    padding: 4px;
    border-radius: 13px;
    background: var(--soft);
}

.search-edit-tabs button {
    min-height: 42px;
    padding: 7px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--muted);
    font: 650 .78rem/1.5 var(--font-ui);
    cursor: pointer;
}

.search-edit-tabs button.is-active {
    background: #fff;
    color: var(--brand);
    box-shadow: 0 3px 12px rgba(49, 27, 37, .08);
}

.search-edit-options {
    max-height: 245px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 3px 0 3px 4px;
}

.search-edit-options__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px 8px;
}

.search-edit-options__list--global {
    grid-template-columns: 1fr;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.search-edit-options__list button {
    min-width: 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: var(--ink);
    text-align: right;
    font-family: var(--font-ui);
    cursor: pointer;
}

.search-edit-options__list button:hover,
.search-edit-options__list button:focus-visible,
.search-edit-options__list button.is-selected {
    border-color: #ead4dc;
    outline: 0;
    background: var(--tint);
    color: var(--brand-dark);
}

.search-edit-options__list button > span { min-width: 0; display: grid; gap: 1px; }
.search-edit-options__list b,
.search-edit-options__list small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.search-edit-options__list b { font-size: .78rem; }
.search-edit-options__list small { color: var(--muted); font-size: .62rem; }
.search-edit-options__list .ui-icon { width: 17px; height: 17px; flex: 0 0 17px; color: transparent; }
.search-edit-options__list button.is-selected .ui-icon { color: var(--brand); }
.search-edit-empty { padding: 20px 0 5px; text-align: center; }

.search-edit-select {
    position: relative;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--canvas);
}

.search-edit-select > span { flex: 1; color: var(--muted); font-size: .76rem; }
.search-edit-select select { min-height: 50px; padding: 0 4px 0 28px; border: 0; outline: 0; appearance: none; background: transparent; color: var(--ink); font: 650 .84rem/1.5 var(--font-ui); cursor: pointer; }
.search-edit-select .ui-icon { position: absolute; left: 12px; width: 18px; height: 18px; color: var(--muted); pointer-events: none; }

.search-edit-dates {
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 17px 0;
    padding: 10px 11px;
    border-radius: 14px;
    background: var(--soft);
}

.search-edit-dates div { min-width: 0; flex: 1; display: grid; gap: 1px; }
.search-edit-dates small { color: var(--muted); font-size: .65rem; }
.search-edit-dates strong { font-size: .78rem; }
.search-edit-dates a { min-height: 40px; display: inline-flex; align-items: center; flex: 0 0 auto; color: var(--brand); font-size: .73rem; font-weight: 650; }

.search-edit-panel__footer {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex: 0 0 auto;
    padding: 12px 22px;
    border-top: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 -12px 30px rgba(62, 31, 43, .05);
}

.search-edit-panel__footer .button { min-width: 145px; }
.has-search-edit-modal { overflow: hidden; }

.search-edit-panel__close:focus-visible,
.search-edit-tabs button:focus-visible,
.search-edit-select:focus-within,
.search-edit-panel__footer .button:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 2px;
}

.filter-modal[hidden] { display: none; }

.filter-modal {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}

.filter-modal__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(31, 22, 26, .62);
    cursor: default;
    backdrop-filter: blur(3px);
}

.filter-panel {
    position: relative;
    width: min(100%, 680px);
    max-height: min(88vh, 820px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 24px;
    outline: 0;
    background: var(--surface);
    box-shadow: 0 34px 90px rgba(34, 18, 25, .28);
    animation: filter-panel-in .2s ease both;
}

@keyframes filter-panel-in {
    from { opacity: 0; transform: translateY(12px) scale(.985); }
}

.filter-panel__header {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex: 0 0 auto;
    padding: 17px 24px;
    border-bottom: 1px solid var(--border);
}

.filter-panel__header .eyebrow { margin: 0 0 3px; font-size: .75rem; }
.filter-panel__header .eyebrow:before { width: 18px; }
.filter-panel__header h2 { margin: 0; font-size: 1.55rem; }

.filter-panel__close {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--canvas);
    color: var(--ink);
    cursor: pointer;
}

.filter-panel__close .ui-icon { width: 20px; height: 20px; }
.filter-form {
    min-height: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    overflow: hidden;
}

.filter-panel__body {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 24px;
    scrollbar-gutter: stable;
}

.filter-section {
    margin: 0;
    padding: 25px 0;
    border: 0;
    border-bottom: 1px solid var(--border);
}

.filter-section:last-of-type { border-bottom: 0; }
.filter-section legend { padding: 0; color: var(--ink); font-family: Peyda; font-size: 1.12rem; font-weight: 700; }
.filter-section > p { margin: 4px 0 17px; color: var(--muted); font-size: .78rem; }
.field-label { display: block; margin-bottom: 7px; color: var(--muted); font-size: .75rem; }

.select-field {
    position: relative;
    width: min(100%, 280px);
}

.select-field--wide {
    width: min(100%, 420px);
}

.select-field select {
    width: 100%;
    min-height: 50px;
    padding: 10px 14px 10px 42px;
    appearance: none;
    border: 1px solid var(--border);
    border-radius: 13px;
    outline: 0;
    background: var(--canvas);
    color: var(--ink);
    font: 500 .88rem/1.6 var(--font-ui);
}

.select-field .ui-icon {
    position: absolute;
    top: 15px;
    left: 14px;
    width: 20px;
    height: 20px;
    color: var(--muted);
    pointer-events: none;
}

.choice-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.choice-row label { position: relative; cursor: pointer; }
.choice-row input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.choice-row span {
    min-width: 48px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--surface);
    color: var(--ink);
    font-size: .82rem;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.choice-row input:checked + span {
    border-color: var(--brand);
    background: var(--tint);
    color: var(--brand-dark);
    font-weight: 650;
}

.choice-row--rooms label:first-child span { min-width: 92px; }
.choice-row--type span { min-width: 100px; }

.price-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.price-fields > label { display: grid; gap: 7px; color: var(--muted); font-size: .75rem; }
.price-input {
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--canvas);
}

.price-input input {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: 500 16px/1.6 var(--font-ui);
}

.price-input small { flex: 0 0 auto; color: var(--muted); font-size: .68rem; }
.price-input:focus-within,
.select-field select:focus { border-color: var(--brand); outline: 3px solid var(--color-focus-ring); outline-offset: 2px; }

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

.amenity-option {
    position: relative;
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
    cursor: pointer;
}

.amenity-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.amenity-option__check {
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    flex: 0 0 23px;
    border: 1px solid #bea9b2;
    border-radius: 7px;
    color: transparent;
}

.amenity-option__check .ui-icon { width: 15px; height: 15px; }
.amenity-option b { font-size: .82rem; font-weight: 550; }
.amenity-option:has(input:checked) { border-color: var(--brand); background: var(--tint); }
.amenity-option input:checked + .amenity-option__check { border-color: var(--brand); background: var(--brand); color: #fff; }

.tag-filter-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tag-filter-option {
    position: relative;
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--surface);
    cursor: pointer;
    transition: border-color .17s ease, background-color .17s ease;
}

.tag-filter-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.tag-filter-option__dot { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; background: var(--filter-tag-color); box-shadow: 0 0 0 4px color-mix(in srgb, var(--filter-tag-color), white 86%); }
.tag-filter-option b { min-width: 0; overflow: hidden; font-size: .8rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.tag-filter-option__check { width: 23px; height: 23px; display: grid; place-items: center; flex: 0 0 23px; margin-right: auto; border: 1px solid #bea9b2; border-radius: 7px; color: transparent; }
.tag-filter-option__check .ui-icon { width: 15px; height: 15px; }
.tag-filter-option:has(input:checked) { border-color: var(--filter-tag-color); background: color-mix(in srgb, var(--filter-tag-color), white 94%); }
.tag-filter-option input:checked ~ .tag-filter-option__check { border-color: var(--filter-tag-color); color: #fff; background: var(--filter-tag-color); }
.tag-filter-option:has(input:focus-visible) { outline: 3px solid var(--color-focus-ring); outline-offset: 2px; }

.filter-panel__footer {
    position: relative;
    z-index: 2;
    min-height: 78px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex: 0 0 auto;
    padding: 13px 24px;
    border-top: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 -12px 30px rgba(62, 31, 43, .05);
}

.filter-panel__footer > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    flex: 0 1 auto;
    white-space: nowrap;
    color: var(--brand);
    font-size: .82rem;
    font-weight: 650;
}

.filter-panel__footer .button { min-width: 170px; flex: 0 0 auto; white-space: nowrap; }
.has-filter-modal { overflow: hidden; }

.filter-trigger:focus-visible,
.quick-filter:focus-visible,
.filter-chip:focus-visible,
.sort-control select:focus-visible,
.search-summary__button:focus-visible,
.search-summary__change:focus-visible,
.filter-panel__close:focus-visible,
.choice-row input:focus-visible + span,
.amenity-option input:focus-visible + .amenity-option__check {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 2px;
}

.listing-view-switch button:focus-visible,
.stay-map-price:focus-visible,
.stay-map-popup a:focus-visible,
.stay-map-popup__close:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 2px;
}

@media (max-width: 980px) {
    .stay-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .listing-heading { align-items: stretch; flex-direction: column; gap: 18px; }
    .listing-heading__actions { justify-content: space-between; }
    .listing-results-layout.is-map-view { grid-template-columns: minmax(330px, .9fr) minmax(0, 1.1fr); }
}

@media (max-width: 800px) {
    .listing-results-layout.is-map-view { display: block; }
    .listing-results-layout.is-map-view .listing-results-list { display: none; }
    .stay-map-panel { position: relative; top: auto; height: calc(100dvh - 132px); min-height: 560px; }
}

@media (max-width: 650px) {
    .stay-listing-page { padding-top: 14px; }
    .search-summary { min-height: 72px; gap: 9px; margin-bottom: 34px; padding: 8px; border-radius: 18px; }
    .search-summary__item { gap: 8px; }
    .search-summary__icon { display: none; }
    .search-summary__item small { font-size: .65rem; }
    .search-summary__item strong { font-size: .78rem; }
    .search-summary__divider { height: 34px; }
    .search-summary__change { width: 46px; min-height: 46px; overflow: hidden; padding: 0; }
    .search-summary__change span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .listing-heading { gap: 15px; margin-bottom: 14px; }
    .listing-heading .eyebrow { margin-bottom: 7px; }
    .listing-heading h1 { font-size: 2rem; }
    .listing-heading p { font-size: .78rem; }
    .listing-heading__actions { width: 100%; }
    .sort-control { min-width: 0; flex: 1; justify-content: space-between; }
    .sort-control__icon { display: none; }
    .sort-control label { display: none; }
    .sort-control select { width: 100%; }
    .listing-view-switch { flex: 0 0 auto; }
    .listing-view-switch button { min-width: 48px; width: 48px; padding: 7px; }
    .listing-view-switch button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
    .listing-toolbar { top: 8px; width: auto; max-width: none; margin: 0 -14px 20px; padding: 8px 14px; border-right: 0; border-left: 0; border-radius: 0; box-shadow: 0 8px 22px rgba(46, 34, 39, .05); }
    .listing-toolbar__label { display: none; }
    .listing-toolbar__divider { margin: 0 1px; }
    .stay-grid { grid-template-columns: 1fr; gap: 16px; }
    .stay-card { display: grid; grid-template-columns: 42% 58%; border-radius: 16px; }
    .stay-card__media { min-height: 174px; aspect-ratio: auto; }
    .stay-card__body { padding: 15px; }
    .stay-card h2 { font-size: 1.05rem; }
    .stay-card__count { display: none; }
    .stay-card__badge { top: auto; right: 9px; bottom: 9px; padding: 5px 7px; font-size: .58rem; }
    .stay-card__rating { top: 9px; left: 9px; min-height: 30px; padding: 5px 7px; }
    .stay-card__rating small { display: none; }
    .stay-card__price { flex-wrap: wrap; gap: 2px 5px; }
    .stay-card__price strong { font-size: .86rem; }
    .stay-card__price small { font-size: .6rem; }
    .stay-card--loading .stay-card__media { min-height: 174px; }
    .listing-empty { padding: 48px 18px; }
    .listing-empty__actions { align-items: stretch; flex-direction: column; }
    .listing-error { align-items: stretch; flex-direction: column; }
    .listing-error .button { width: 100%; }
    .search-edit-modal { align-items: end; padding: 0; }
    .search-edit-panel { width: 100%; max-height: 92dvh; border: 0; border-radius: 24px 24px 0 0; animation-name: filter-sheet-in; }
    .search-edit-panel__header { min-height: 76px; padding: 13px 18px; }
    .search-edit-panel__body { padding: 0 18px; }
    .search-edit-section { padding: 20px 0; }
    .search-edit-options { max-height: 230px; }
    .search-edit-options__list { grid-template-columns: 1fr; gap: 2px; }
    .search-edit-panel__footer { min-height: 76px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); }
    .search-edit-panel__footer .button { min-width: 0; flex: 1; }
    .stay-map-panel { height: calc(100dvh - 118px); min-height: 500px; border-radius: 18px; }
    .stay-map-panel__head { right: 10px; left: 52px; top: 10px; min-height: 58px; padding: 8px 10px; }
    .stay-map-panel__head small { display: none; }
    .stay-map-panel__head > span { padding: 5px 7px; }
    .stay-map .ol-zoom { top: 10px; left: 10px; }
    .stay-map-price { min-width: 58px; min-height: 40px; }
    .filter-modal { align-items: end; padding: 0; }
    .filter-panel { width: 100%; height: 92dvh; max-height: 92dvh; box-sizing: border-box; border: 0; border-radius: 24px 24px 0 0; animation-name: filter-sheet-in; }
    .filter-panel__header { min-height: 76px; padding: 13px 18px; }
    .filter-panel__body { padding: 0 18px; }
    .filter-section { padding: 22px 0; }
    .price-fields { grid-template-columns: 1fr; }
    .amenity-options { grid-template-columns: 1fr 1fr; gap: 8px; }
    .amenity-option { min-height: 50px; padding: 8px 10px; }
    .tag-filter-options { grid-template-columns: 1fr 1fr; gap: 8px; }
    .tag-filter-option { min-height: 50px; padding: 8px 10px; }
    .filter-panel__footer { min-height: 76px; flex-wrap: nowrap; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); }
    .filter-panel__footer .button { min-width: 150px; }
}

@keyframes filter-sheet-in {
    from { opacity: 0; transform: translateY(28px); }
}

@media (max-width: 390px) {
    .search-summary__icon { display: none; }
    .search-summary__item { padding-right: 4px; }
    .amenity-options { grid-template-columns: 1fr; }
    .tag-filter-options { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .filter-panel,
    .search-edit-panel,
    .stay-card,
    .stay-card__media img,
    .filter-trigger,
    .quick-filter,
    .filter-chip,
    .search-summary__button,
    .search-summary__change,
    .search-edit-tabs button,
    .listing-view-switch button,
    .stay-map-price {
        animation: none;
        transition: none;
    }
    .stay-map-message > span { animation-duration: 1.6s; }
}

/* Mobile results follow an app-like hierarchy while desktop stays unchanged. */
@media (max-width: 650px) {
    .guest-search-results .context-bar{display:none}
    .stay-listing-page{padding-top:0}

    .search-summary{position:sticky;z-index:32;top:66px;width:auto;min-height:0;margin:0 -14px 14px;padding:8px 14px;border:0;border-bottom:1px solid rgba(220,205,211,.88);border-radius:0;background:rgba(255,255,255,.96);box-shadow:0 9px 24px rgba(48,28,36,.07);backdrop-filter:blur(16px)}
    .search-summary>:not(.search-summary__mobile){display:none}
    .search-summary__mobile{width:100%;min-height:58px;display:flex;align-items:center;gap:10px;padding:7px 9px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--ink);text-align:right;font-family:var(--font-ui);box-shadow:0 5px 16px rgba(62,31,43,.045)}
    .search-summary__mobile-icon,.search-summary__mobile-edit{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:12px}
    .search-summary__mobile-icon{background:var(--tint);color:var(--brand)}
    .search-summary__mobile-edit{width:34px;height:34px;flex-basis:34px;color:var(--muted);background:var(--canvas)}
    .search-summary__mobile-icon .ui-icon{width:20px;height:20px}
    .search-summary__mobile-edit .ui-icon{width:17px;height:17px}
    .search-summary__mobile-copy{min-width:0;flex:1;display:grid;gap:1px}
    .search-summary__mobile-copy strong,.search-summary__mobile-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
    .search-summary__mobile-copy strong{font-size:.84rem}
    .search-summary__mobile-copy small{color:var(--muted);font-size:.62rem;font-weight:500}

    .stay-global-search{min-height:52px;margin:0 0 16px;padding:5px 7px 5px 11px;border-radius:14px}
    .stay-global-search>button{min-height:40px;padding:0 14px}
    .stay-global-search>input{font-size:.75rem}

    .listing-heading{display:block;margin-bottom:12px}
    .listing-heading .eyebrow{display:none}
    .listing-heading h1{margin-bottom:3px;font-size:1.45rem}
    .listing-heading p{font-size:.72rem}
    .listing-heading__actions{margin-top:12px;gap:8px}
    .sort-control{min-height:44px;border-radius:13px;background:#fff}
    .sort-control select{min-height:42px;font-size:.72rem}
    .listing-view-switch{min-height:46px;border-radius:13px}
    .listing-view-switch button{height:38px;min-height:38px}

    .listing-toolbar{top:132px;margin:0 -14px 16px;padding:7px 14px;border-block:1px solid rgba(226,218,215,.92);background:rgba(247,241,237,.96)}
    .filter-trigger,.quick-filter,.filter-chip{min-height:40px;padding:7px 12px;font-size:.72rem;background:#fff}
    .filter-trigger{background:var(--tint)}

    .stay-grid{gap:18px}
    .stay-card{display:block;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(62,31,43,.055)}
    .stay-card__media{min-height:0;aspect-ratio:16/10}
    .stay-card__body{padding:14px 15px 15px}
    .stay-card__location{font-size:.68rem}
    .stay-card h2{margin:3px 0 7px;font-size:1.02rem;line-height:1.55}
    .stay-card__facts{margin-bottom:10px;font-size:.7rem}
    .stay-card__tags{margin-bottom:8px}
    .stay-card__tags span{font-size:.57rem}
    .stay-card__price{min-height:37px;justify-content:space-between;flex-wrap:nowrap;padding-top:10px}
    .stay-card__price strong{font-size:.9rem}
    .stay-card__price small{font-size:.6rem;text-align:left}
    .stay-card__count{display:block;bottom:10px;left:10px;font-size:.62rem}
    .stay-card__badge{top:10px;right:10px;bottom:auto;padding:5px 8px;font-size:.6rem}
    .stay-card__rating{top:10px;left:10px}
    .stay-card--loading .stay-card__media{min-height:0;aspect-ratio:16/10}

    .search-edit-panel,.filter-panel{padding-top:8px;border-radius:26px 26px 0 0}
    .search-edit-panel:before,.filter-panel:before{position:absolute;z-index:2;top:7px;right:50%;width:42px;height:4px;border-radius:99px;background:#d8cbd0;content:"";transform:translateX(50%)}
    .search-edit-panel__header,.filter-panel__header{padding-top:18px}
    .search-edit-panel__header .eyebrow,.filter-panel__header .eyebrow{display:none}
    .search-edit-panel__header h2,.filter-panel__header h2{font-size:1.25rem}
    .search-edit-panel__footer,.filter-panel__footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}

    .stay-map-panel{height:calc(100dvh - 222px);min-height:430px;margin-bottom:10px;border-radius:20px}
}
