/* Home page Buy / Rent bottom sheet, phones only (js/home-buy-rent-sheet.js). */
html.brs-open, html.brs-open body { overflow: hidden; }
.brs-root { position: fixed; top: 0; left: 0; right: 0; height: 100%; z-index: 1060; visibility: hidden; }
.brs-root.is-open { visibility: visible; }
/* Keyboard open: the root is shrunk to the visible area by JS, so the sheet can use all of it. */
.brs-root.kb-open .brs-sheet { max-height: calc(100% - 12px); }
.brs-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .55); opacity: 0; transition: opacity .25s ease; }
.brs-root.is-open .brs-backdrop { opacity: 1; }
.brs-sheet {
    position: absolute; left: 0; right: 0; bottom: 0; max-height: 85%;
    display: flex; flex-direction: column; background: #fff; border-radius: 18px 18px 0 0;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, .2); transform: translateY(100%); transition: transform .28s ease;
}
.brs-root.is-open .brs-sheet { transform: translateY(0); }
.brs-sheet.is-dragging { transition: none; }
.brs-grab { padding: 10px 0 4px; display: flex; justify-content: center; touch-action: none; }
.brs-grab span { width: 42px; height: 5px; border-radius: 3px; background: #d0d5dd; }
.brs-head { display: flex; align-items: center; justify-content: space-between; padding: 2px 16px 10px; touch-action: none; }
.brs-title { font-size: 1.15rem; font-weight: 700; margin: 0; color: #212529; }
.brs-close { border: 0; background: #f2f4f7; width: 34px; height: 34px; border-radius: 50%; font-size: 1.4rem; line-height: 1; color: #475467; }
.brs-body { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 0 16px 12px; }
.brs-tabs { display: flex; background: #f2f4f7; border-radius: 10px; padding: 4px; margin-bottom: 12px; }
.brs-tab { flex: 1; border: 0; background: none; border-radius: 8px; padding: .5rem; font-weight: 600; color: #475467; }
.brs-tab.is-active { background: #2f9ad6; color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
.brs-hint { font-size: .85rem; color: #667085; margin: 0 0 8px; }
.brs-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.brs-selected:empty { display: none; }
.brs-chip {
    border: 1px solid #d0d5dd; background: #fff; color: #344054; border-radius: 999px;
    padding: .4rem .85rem; font-size: .9rem; line-height: 1.3;
}
.brs-chip.is-selected { border-color: #ea5b0c; background: #fdeee6; color: #c94c08; font-weight: 600; }
.brs-chip.is-selected::before { content: '\2713\00a0'; }
.brs-chip.brs-removable::before { content: none; }
.brs-chip.brs-removable::after { content: '\00a0\00d7'; font-weight: 700; }
.brs-search {
    width: 100%; font-size: 16px; padding: .55rem .8rem; margin-bottom: 12px;
    border: 1px solid #d0d5dd; border-radius: 10px; outline: none;
}
.brs-search:focus { border-color: #2f9ad6; box-shadow: 0 0 0 3px rgba(47, 154, 214, .15); }
.brs-foot {
    display: flex; gap: 8px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    border-top: 1px solid #eaecf0; background: #fff;
}
.brs-btn { flex: 1; border-radius: 10px; padding: .65rem .5rem; font-weight: 600; font-size: .95rem; border: 1px solid transparent; white-space: nowrap; }
.brs-primary { background: #ea5b0c; color: #fff; }
.brs-primary:active { background: #c94c08; }
.brs-secondary { background: #fff; border-color: #d0d5dd; color: #344054; }
@media (min-width: 768px) { .brs-root { display: none; } }
@media (prefers-reduced-motion: reduce) { .brs-sheet, .brs-backdrop { transition: none; } }
