/* Novel Estate theme "Б · Шума" (forest). Public visitors only: linked last in the public
   branch of WEB-INF/include/declarations.jsp, never loaded for staff (ROLE_VIEW_ESTATE).
   Sections are fenced per page so a slice can be rolled back by deleting its block.
   Owner rules: radius 4px max (3px chips), no pills; circles only for round icon buttons.
   Do not edit custom-style_v1.css for the theme (staff load it too). */

/* ===== fonts (self-hosted, OFL; see docs/tech.md) ===== */
@font-face{font-family:"Onest";font-style:normal;font-weight:400 700;font-display:swap;
 src:url(fonts/onest-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:400 700;font-display:swap;
 src:url(fonts/onest-latin.woff2) format("woff2");
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;
 src:url(fonts/unbounded-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;
 src:url(fonts/unbounded-500-latin.woff2) format("woff2");
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===== tokens ===== */
:root{
 --font-body:"Onest",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 --font-display:"Unbounded","Onest",-apple-system,"Segoe UI",Arial,sans-serif;
 --forest:#0f3328;--forest-2:#184a3a;--forest-line:#2c5f4c;
 --ink:#13201a;--muted:#526058;--line:#d9e3dc;--mist:#edf3ef;--bg:#ffffff;
 --brand:#53b852;--brand-hover:#62c561;--brand-ink:#2e7d32;--link:#1f6f3a;
 --on-dark:#ffffff;--on-dark-muted:#a9c4b6;
 --viber:#665cac;--wa:#0f7a3f;--focus:#2e7d32;
 --r-chip:3px;--r:4px;
 --shadow-card:0 1px 2px rgba(15,51,40,.06),0 8px 24px rgba(15,51,40,.07)}

/* ===== base (every public page + login/404: keep conservative, no size changes) ===== */
body{font-family:"Onest",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-family:var(--font-body);color:#13201a;color:var(--ink)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-body);color:var(--ink)}
a{color:var(--link)}
a:hover,a:focus{color:var(--forest)}
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],select,textarea{border-color:#c6d3ca;border-radius:var(--r-chip);box-shadow:none}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=password]:focus,select:focus,textarea:focus{border-color:var(--brand-ink);box-shadow:0 0 0 2px rgba(83,184,82,.25)}
.input-append .add-on:first-child,.input-append input,.input-append select{border-radius:var(--r-chip) 0 0 var(--r-chip)}
.input-append .btn:last-child,.input-append .add-on:last-child{border-radius:0 var(--r-chip) var(--r-chip) 0}
/* Bootstrap 2 buttons: drop gradients/text-shadow; same sizes as before */
.btn{background-image:none;background-color:#fff;border:1px solid #c6d3ca;border-radius:var(--r);box-shadow:none;text-shadow:none;color:var(--ink);font-family:var(--font-body);font-weight:500;filter:none}
.btn:hover,.btn:focus{background-color:var(--mist);color:var(--ink);background-position:0 0}
.btn:active,.btn.active{background-image:none;background-color:#dfe9e2;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
.btn-primary,.btn-success{background-color:var(--brand);border-color:var(--brand);color:var(--forest);text-shadow:none}
.btn-primary:hover,.btn-primary:focus,.btn-success:hover,.btn-success:focus{background-color:var(--brand-hover);border-color:var(--brand-hover);color:var(--forest)}
.btn-inverse{background-color:var(--forest);border-color:var(--forest);color:#fff}
.btn-inverse:hover,.btn-inverse:focus{background-color:var(--forest-2);color:#fff}
.btn-info{background-color:var(--forest-2);border-color:var(--forest-2);color:#fff}
.btn-danger{background-color:#b3261e;border-color:#b3261e;color:#fff}
.btn-group>.btn:first-child{border-top-left-radius:var(--r);border-bottom-left-radius:var(--r)}
.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{border-top-right-radius:var(--r);border-bottom-right-radius:var(--r)}
.dropdown-menu{border-radius:var(--r);border-color:var(--line);box-shadow:0 12px 28px rgba(15,51,40,.16)}
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a{background-image:none;background-color:var(--mist);color:var(--forest)}
.label,.badge{border-radius:var(--r-chip)}
.well,.thumbnail,.modal{border-radius:var(--r)}

/* ===== header band (menu.jsp / menu_no_search.jsp; CSS only, markup is shared with staff) ===== */
#navigation,#navigation .navbar-inner,#navigation .header{background-color:var(--forest);background-image:none}
#navigation .navbar-inner{border:0;box-shadow:none;filter:none}
#navigation .header{border-bottom:1px solid var(--forest-line)}
#navigation .header .branding{background-color:var(--forest);background-image:none}
#navigation .header .branding [style*="color"]{color:#fff!important}
#navigation .header .branding span[style*="gray"]{color:var(--brand)!important}
#navigation .header .branding span[style*="font-size: 10px"]{color:var(--on-dark-muted)!important;font-weight:500}
#navigation .brand h2,#navigation .brand h2 a{color:#fff!important}
#navigation .brand h2 span{color:var(--brand)!important}
/* fb1: transparent logo straight on the forest header (no white tile) */
img[src*="logo.png"]{background:none;padding:0;box-shadow:none}
#navigation .navbar .nav>li>a{color:#fff;text-shadow:none}
#navigation .navbar .nav>li>a:hover,#navigation .navbar .nav>li>a:focus,#navigation .navbar .nav li.dropdown.open>.dropdown-toggle{color:#bfe9be;background-color:transparent}
#navigation .navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}
#navigation .navbar .nav li.dropdown.open>.dropdown-toggle .caret{border-top-color:#bfe9be;border-bottom-color:#bfe9be}
#navigation .dropdown-menu>li>a{color:var(--ink)}
#navigation .btn{background-color:var(--forest-2);border-color:var(--forest-line);color:#fff}
#navigation .btn:hover,#navigation .btn:focus{background-color:#215a47;color:#fff}
#navigation .btn .caret{border-top-color:#fff}
#navigation .input-append .search-query{background:var(--forest-2);border-color:var(--forest-line);color:#fff;border-radius:var(--r-chip) 0 0 var(--r-chip)}
#navigation .input-append .search-query::placeholder{color:var(--on-dark-muted)}
#navigation .input-append .btn{background-color:var(--brand);border-color:var(--brand);color:var(--forest);font-weight:600}
#navigation .btn-navbar[style]{background-color:var(--forest-2)!important;color:#fff!important;border:1px solid var(--forest-line)!important;box-shadow:none}
/* hj1: steady header >=768px. Legacy custom-style_v1.css sets #navigation{position:sticky;top:-48px}, so the
   48px brand band slid away on scroll while the logo (inline position:fixed) stayed, and on overscroll bounce
   the sticky band and the fixed logo separated. Now the whole band sticks at top:0 and the logo's anchor
   (the <a> right before #navigation; its parent differs per page) is a zero-height sticky twin, so logo + band
   always move together. Without :has support only the anchor part drops out (logo stays fixed, band still steady).
   <768px is unchanged: #navigation is position:fixed there, same as the logo. */
@media (min-width:768px){
 #navigation{top:0}
 a:has(+#navigation){position:-webkit-sticky;position:sticky;top:0;z-index:5500;display:block;height:0}
 a:has(+#navigation)>img[src*="logo.png"]{position:absolute!important}
}
@media (max-width:979px){
 #navigation .nav-collapse .nav>li>a,#navigation .nav-collapse .dropdown-menu a{color:#fff}
 #navigation .nav-collapse .nav>li>a:hover,#navigation .nav-collapse .dropdown-menu a:hover{background-color:var(--forest-2);color:#fff}
 #navigation .nav-collapse .dropdown-menu{background:transparent;box-shadow:none}
}

/* ===== footer (footer.jsp; CSS only, shared with staff markup) ===== */
footer{background-color:var(--forest);background-image:none;box-shadow:none;color:#d7e5dc}
footer h3{color:#8fd88e;font-family:var(--font-body);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:15px}
footer h4{color:#fff;font-family:var(--font-body);font-weight:600;font-size:16px;line-height:1.35}
footer p,footer address{color:#d7e5dc}
footer a,footer a:hover,footer a:focus{color:#fff}
footer address img{filter:brightness(0) invert(1);opacity:.8}
footer .newsletter img[src*="logo.png"]{height:80px!important;background:none;padding:0;vertical-align:middle;margin-right:12px}
footer .newsletter [style*="font-size: 18px"],footer .newsletter [style*="font-size: 18px"] span{color:#fff!important}
footer #toplink a{color:#d7e5dc}
/* fb1: tighter footer (legacy container margin-top 48px collapsed into a white gap above the band) */
footer>.container{margin-top:0;padding-top:20px}
@media (max-width:767px){
 footer>.container{padding-top:12px}
 footer h3{margin:0 0 2px;line-height:1.3}
 footer address{margin-bottom:4px}
 footer address p{margin:0}
}

/* ===== icons (v7): own SVGs in img/ui/ replace flaticon, Glyphicons and the old PNG icons on public pages.
   Coloured files are backgrounds/<img>; mono shapes are masks tinted with currentColor. ===== */
.favorite.icon.icon-ok,.favorite.icon.icon-remove{background-image:url("../img/ui/heart.svg");background-position:center;background-size:contain;background-repeat:no-repeat}
.favorite.icon.icon-remove{background-image:url("../img/ui/heart-on.svg")}
.flaticon-menu::before,.flaticon-settings::before{content:"";display:inline-block;width:1.25em;height:1.25em;margin:0;vertical-align:-.25em;font-size:inherit;background-color:currentColor;
 -webkit-mask:url("../img/ui/menu.svg") center/contain no-repeat;mask:url("../img/ui/menu.svg") center/contain no-repeat}
.flaticon-settings::before{-webkit-mask-image:url("../img/ui/sliders.svg");mask-image:url("../img/ui/sliders.svg")}
.icon-chevron-up,.icon-fast-backward,.icon-step-backward,.icon-step-forward,.icon-fast-forward,.icon-list,.icon-envelope{background-image:none!important;background-color:currentColor;
 -webkit-mask:url("../img/ui/chevron-up.svg") center/contain no-repeat;mask:url("../img/ui/chevron-up.svg") center/contain no-repeat}
.icon-fast-backward{-webkit-mask-image:url("../img/ui/chevrons-left.svg");mask-image:url("../img/ui/chevrons-left.svg")}
.icon-step-backward{-webkit-mask-image:url("../img/ui/chevron-left.svg");mask-image:url("../img/ui/chevron-left.svg")}
.icon-step-forward{-webkit-mask-image:url("../img/ui/chevron-right.svg");mask-image:url("../img/ui/chevron-right.svg")}
.icon-fast-forward{-webkit-mask-image:url("../img/ui/chevrons-right.svg");mask-image:url("../img/ui/chevrons-right.svg")}
.icon-list{-webkit-mask-image:url("../img/ui/list.svg");mask-image:url("../img/ui/list.svg")}
.icon-envelope{-webkit-mask-image:url("../img/ui/envelope.svg");mask-image:url("../img/ui/envelope.svg")}
img[src*="img/ui/flag-"]{border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
/* ===== end icons ===== */

/* ===== estate_view (deploy 4c) =====
   Markup: .listing-main (span9) > box > h1, .listing-top (row) > .listing-gallery-col (span7: gallery, facts,
   .listing-two-col, .listing-map) + .listing-aside (span5 > .listing-sticky: .listing-fin + #contact-panel);
   .listing-side (span3: similar/hot cards) goes below. Contact panel + phone bar: css/listing-contact.css. */
body:has(.listing-main){background-color:#fff}
.row-fluid>.listing-main{float:none;width:100%;margin-left:0}
.listing-main{font-size:15px;line-height:1.55}
.listing-main>.row-fluid>.span.box{border:0;background:none;box-shadow:none;margin-bottom:0}
.listing-main>.row-fluid>.span.box>h1{font-family:var(--font-display)!important;font-weight:500!important;font-size:24px!important;line-height:1.25!important;padding:14px 0 12px!important;letter-spacing:-.01em}
.listing-main>.row-fluid>.span.box>h1>span[style]{display:inline-block;width:calc(100% - 110px)!important;white-space:normal!important;overflow:visible!important;vertical-align:middle}
.listing-main>.row-fluid>.span.box>h1 strong{display:inline-block;vertical-align:4px;margin-right:4px;padding:3px 8px;border-radius:var(--r-chip);background:var(--forest);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:600;line-height:18px;letter-spacing:0}
.listing-main h1 #share-button,.listing-main h1 .favorite-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;margin:0 0 0 8px;padding:0;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.listing-main h1 #share-button img{height:24px!important;margin:0!important}
.listing-main h1 .favorite-button .favorite{margin:0}
.listing-main .box_content.markup{padding:0}
.listing-main .box_content.markup>.pull-right:empty{display:none}

/* gallery */
.listing-gallery-col .galery{border-radius:var(--r);background-color:var(--mist)!important;scrollbar-width:none}
.listing-gallery-col .galery::-webkit-scrollbar{display:none}
.listing-gallery-col .galery a.galery-item img{width:44px!important;height:44px;box-sizing:border-box;padding:10px;border-radius:50%;background:rgba(15,51,40,.55)}
.listing-gallery-col .galery a.galery-item[style*="left:0"] img{left:10px!important}
.listing-gallery-col .galery a.galery-item[style*="right:0"] img{right:10px!important}
.listing-gallery-col>.mobile-actions-footer.hidden-phone{top:12px!important;left:12px!important;right:auto!important;height:auto;padding:0;border:0;background:none}
.listing-gallery-col>.mobile-actions-footer.hidden-phone a.action-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;box-sizing:border-box;padding:0 16px;border:0!important;border-radius:var(--r);background-color:var(--forest)!important;color:#fff;font-size:15px;font-weight:600;text-decoration:none}
.listing-gallery-col>.mobile-actions-footer.hidden-phone a.action-button img{background:#fff;border-radius:50%}

/* key facts */
.listing-facts{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.listing-facts li{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;border-radius:var(--r);background:var(--mist)}
.listing-fact-v{font-weight:700;font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.listing-fact-l{font-size:13px;line-height:1.3;color:var(--muted)}

/* info table + description */
.listing-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:4px}
.listing-two-col h4,.listing-block-title,.listing-side>.row-fluid>h3{font-family:var(--font-display)!important;font-weight:500;font-size:18px!important;line-height:1.3;margin:20px 0 8px;letter-spacing:-.01em;color:var(--ink)}
.listing-info .grey-box{border:0;background:none;box-shadow:none;margin:0}
.listing-info table.details{font-size:15px}
.listing-info table.details tr,.listing-info table.details tr:nth-child(odd){background:none;border-bottom:1px solid var(--line)}
.listing-info table.details td{padding:8px 0;vertical-align:top;color:var(--muted)}
.listing-info table.details td+td{text-align:right;font-weight:600;color:var(--ink)}
.listing-info table.details td img{display:inline-block}
.listing-desc .estate-description{font-size:15px;line-height:1.6;color:var(--ink);max-width:68ch}

/* map */
.listing-map .map_container>div{border:0!important;border-radius:var(--r);overflow:hidden}

/* sticky price + contact card */
.listing-sticky{box-shadow:0 18px 40px rgba(15,51,40,.12);border-radius:var(--r)}
.listing-fin{padding:16px 20px 14px;background:var(--forest);color:#fff;border-radius:var(--r) var(--r) 0 0}
.listing-fin p{margin:0}
.listing-fin-label{font-size:13px;line-height:1.3;text-transform:uppercase;letter-spacing:.06em;color:var(--on-dark-muted)}
.listing-fin-price{margin-top:4px!important;font-family:var(--font-display);font-weight:500;font-size:32px;line-height:1.15;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.listing-fin-price.listing-fin-request{font-size:22px;white-space:normal}
.listing-fin-list{display:flex;flex-wrap:wrap;gap:4px 24px;margin:8px 0 0}
.listing-fin-list div{border:0}
.listing-fin-list dt,.listing-fin-list dd{border:0;text-decoration:none}
.listing-fin-list dt{font-size:13px;font-weight:400;line-height:1.3;color:var(--on-dark-muted)}
.listing-fin-list dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}

/* similar / hot cards (list_similar.jsp, list_hot.jsp) below the main column */
.row-fluid>.listing-side{float:none;width:100%;max-width:none;margin-left:0} /* legacy caps .span3 at 270px from 1500px */
.listing-side>.row-fluid:first-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:8px}
.listing-side>.row-fluid:first-child::before,.listing-side>.row-fluid:first-child::after{content:none}
.listing-side>.row-fluid:first-child>h3{grid-column:1/-1;margin:16px 0 -8px}
.listing-side .property{display:flex;flex-direction:column;height:auto;margin:0;border:0;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--shadow-card)}
.listing-side .property .image{float:none;width:100%;height:auto;margin:0;aspect-ratio:4/3;background:var(--mist)}
.listing-side .property .image a,.listing-side .property .image img{display:block;width:100%;height:100%}
.listing-side .property .image a.thumbnail_container{padding-top:0;height:100%} /* legacy padding-top:75% + height:100% made the box 2x tall: photo zoomed 2x and cropped */
.listing-side .property .image img{object-fit:cover}
.listing-side .property .wrapper{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;font-size:14px;line-height:1.4}
.listing-side .property .title h3{margin:0;font-size:13px;line-height:1.3;font-weight:600}
.listing-side .property .title h3 a{color:var(--muted)}
.listing-side .property .location{font-size:15px;line-height:1.35;font-weight:600;color:var(--ink);margin:0}
.listing-side .property .wrapper strong{font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--forest)}

@media (min-width:980px){
 .listing-top{display:flex;align-items:stretch}
 .listing-top::before,.listing-top::after{content:none}
 .listing-top>.listing-gallery-col{width:65.81%;margin-left:0}
 .listing-top>.listing-aside{width:31.62%;margin-left:2.564%}
 .listing-sticky{position:-webkit-sticky;position:sticky;top:108px}
}
@media (max-width:979px){
 .listing-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .listing-two-col{grid-template-columns:minmax(0,1fr);gap:0}
 .listing-side>.row-fluid:first-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (min-width:768px) and (max-width:979px){
 .listing-top>.listing-gallery-col,.listing-top>.listing-aside{float:none;width:100%;margin-left:0}
 .listing-aside{margin-top:20px}
}
@media (max-width:767px){
 .listing-main{font-size:15px}
 /* 16px side gutter (legacy phone layout runs edge to edge); gallery stays full-bleed */
 .listing-main>.row-fluid>.span.box{box-sizing:border-box;padding:0 16px}
 .listing-gallery-col>.galery{width:auto!important;margin:0 -16px;border-radius:0}
 .row-fluid>.listing-side{box-sizing:border-box;padding:0 16px}
 /* fb1: share/favourite sit fixed in the header on phones, so the title takes the full width; Onest 700 (Unbounded wraps to 3-4 lines) */
 .listing-main>.row-fluid>.span.box>h1{font-family:var(--font-body)!important;font-weight:700!important;font-size:20px!important;line-height:1.3!important;letter-spacing:0;padding:10px 0 8px!important}
 .listing-main>.row-fluid>.span.box>h1>span[style]{width:100%!important}
 .listing-main>.row-fluid>.span.box>h1 strong{vertical-align:2px;font-size:12px;padding:2px 6px}
 .listing-main h1 #share-button,.listing-main h1 .favorite-button{margin-left:4px}
 .listing-main h1 .favorite-button{right:104px}
 /* phone order: gallery, price + contact card, then facts / info / map (falls back to source order) */
 .listing-top{display:flex;flex-direction:column}
 .listing-top::before,.listing-top::after{content:none}
 .listing-top>.listing-gallery-col{display:contents}
 .listing-gallery-col>*{order:3}
 .listing-gallery-col>.galery{order:1}
 .listing-top>.listing-aside{order:2;margin-top:12px}
 .listing-facts{gap:6px;margin-top:12px}
 .listing-facts li{padding:8px}
 .listing-fact-v{font-size:15px}
 .listing-fact-l{font-size:12px}
 .listing-two-col h4,.listing-block-title,.listing-side>.row-fluid>h3{font-size:17px!important;margin:16px 0 6px}
 .listing-info table.details td{padding:7px 0}
 .listing-fin{padding:12px 16px}
 .listing-fin-label{font-size:12px}
 .listing-fin-price{font-size:26px;margin-top:2px!important}
 .listing-fin-price.listing-fin-request{font-size:19px}
 .listing-fin-list{gap:2px 20px;margin-top:6px}
 .listing-side>.row-fluid:first-child{gap:12px;margin-top:4px}
 .listing-side>.row-fluid:first-child>h3{margin-top:8px}
 .listing-side .property .wrapper{padding:8px 10px 10px}
 .listing-side .property .wrapper strong{font-size:16px}
 .listing-side .property .location{font-size:14px}
}
/* ===== end estate_view ===== */

/* ===== estate_list (deploy 4d) =====
   Markup (estate_list.jsp, public branch): #content > .list-band (forest: h1, .list-count,
   .list-filters-btn (phone, .toggle-next) + .list-filters > search_box.jsp) then .container > .row-fluid >
   .list-main (span12): legacy title box (hidden), .markup > #selection-holder + .list-results (estate_grid.jsp,
   estate_card.jsp per item, C · Mixed since deploy 5) / .list-empty, pagination, .list-featured (list_hot.jsp). Phone pagination bar:
   .list-pager-bar. Card .card-title (public only) is hidden outside .list-results until the home slice. */
.estate-card .card-title{display:none}
.list-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* forest band: h1 + filters */
.list-band{margin:0 0 20px;padding:0 0 16px;color:#fff;background-color:#0f3328;background-color:var(--forest);
 background-image:linear-gradient(90deg,rgba(83,184,82,.07) 0 6px,transparent 6px),linear-gradient(rgba(83,184,82,.07) 0 6px,transparent 6px);background-size:44px 44px;background-position:right top}
.list-band>.container{margin-top:0}
.list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:16px 0 12px}
.list-head-text{min-width:0}
.list-head h1{margin:0;padding:0;font-family:var(--font-display);font-weight:500;font-size:24px;line-height:1.18;letter-spacing:-.01em;color:#fff;text-wrap:balance}
.list-count{margin:6px 0 0;font-size:14px;line-height:1.4;color:var(--on-dark-muted)}
.list-filters-btn{display:none}

/* search_box.jsp inside the band: one grid; children placed by position (public markup is fixed) */
.list-filters>.box.grey-box{margin:0;padding:16px;border:1px solid var(--forest-line);border-radius:var(--r);background:rgba(255,255,255,.06);box-shadow:none}
.list-filters>.box>h3{display:none}
/* deploy 5: two field rows on desktop (was four + a full-width area list); area list sits beside price/size */
.list-filters #search_advanced{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px 12px;align-items:end;margin:0;padding:0;
 grid-template-areas:"svcL typeL furnL roomsL bedL . . ." "svc type furn rooms bed xbtn go go" "costL costL spaceL spaceL areaL areaL areaL areaL" "cost cost space space area area area area" "xbox xbox xbox xbox xbox xbox xbox xbox"}
.list-filters #search_advanced>:nth-child(11),.list-filters #search_advanced>:nth-child(13){align-self:start}
@media (min-width:768px){.list-filters #search_advanced>.extras_container{max-height:88px}}
@media (min-width:980px){
 .list-filters>.box.grey-box{padding:12px 16px}
 .list-filters #search_advanced{grid-template-columns:repeat(5,minmax(0,1.2fr)) repeat(4,minmax(0,1fr)) repeat(2,minmax(0,.8fr));gap:2px 10px;
  grid-template-areas:"svcL typeL furnL roomsL bedL costL costL spaceL spaceL . ." "svc type furn rooms bed cost cost space space go go" "areaL areaL areaL areaL areaL areaL areaL areaL areaL . ." "area area area area area area area area area xbtn xbtn" "xbox xbox xbox xbox xbox xbox xbox xbox xbox xbox xbox"}
 .list-filters #search_advanced label{margin-top:4px}
 .list-filters #search_advanced select{padding:0 6px;font-size:14px}
 .list-filters #search_advanced .controls-row{gap:6px}
 /* area list: one 44px line in the grid; opens over the page on hover / focus (negative margin keeps the row height) */
 .list-filters #search_advanced>.extras_container{align-self:start;height:44px!important;max-height:none;margin-bottom:0;overflow-y:auto!important;position:relative;z-index:5;transition:none}
 .list-filters #search_advanced>.extras_container:hover,.list-filters #search_advanced>.extras_container:focus-within{height:232px!important;margin-bottom:-188px;box-shadow:0 12px 28px rgba(0,0,0,.35)}
 .list-filters #search_advanced>.row-fluid>.extras_container{max-height:136px}
}
.list-filters #search_advanced>:nth-child(2){grid-area:svcL}
.list-filters #search_advanced>:nth-child(3){grid-area:svc}
.list-filters #search_advanced>:nth-child(4){grid-area:typeL}
.list-filters #search_advanced>:nth-child(5){grid-area:type}
.list-filters #search_advanced>:nth-child(6){grid-area:furnL}
.list-filters #search_advanced>:nth-child(7){grid-area:furn}
.list-filters #search_advanced>:nth-child(8){grid-area:areaL}
.list-filters #search_advanced>:nth-child(9){grid-area:area}
.list-filters #search_advanced>:nth-child(10){grid-area:costL}
.list-filters #search_advanced>:nth-child(11){grid-area:cost}
.list-filters #search_advanced>:nth-child(12){grid-area:spaceL}
.list-filters #search_advanced>:nth-child(13){grid-area:space}
.list-filters #search_advanced>:nth-child(14){grid-area:roomsL}
.list-filters #search_advanced>:nth-child(15){grid-area:rooms}
.list-filters #search_advanced>:nth-child(16){grid-area:bedL}
.list-filters #search_advanced>:nth-child(17){grid-area:bed}
.list-filters #search_advanced>hr{display:none}
.list-filters #search_advanced>.row-fluid{display:contents}
.list-filters #search_advanced>.row-fluid>.toggle-next{grid-area:xbtn}
.list-filters #search_advanced>.row-fluid>.extras_container{grid-area:xbox;margin-top:8px}
.list-filters #search_advanced>.controls:last-child{grid-area:go}
.list-filters #search_advanced label{display:block;margin:8px 0 2px;padding:0;font-size:13px;font-weight:600;line-height:1.3;color:var(--on-dark-muted)}
.list-filters #search_advanced select,.list-filters #search_advanced input[type=number]{display:block;box-sizing:border-box;width:100%;height:44px;margin:0;padding:0 10px;font-family:var(--font-body);font-size:15px;color:var(--ink);background-color:#fff;border:1px solid transparent;border-radius:var(--r-chip);box-shadow:none}
.list-filters #search_advanced select option{color:var(--ink)!important;background-color:#fff!important;text-align:left!important}
.list-filters #search_advanced .controls-row{display:flex;align-items:center;gap:8px;margin:0}
.list-filters #search_advanced .controls-row::before,.list-filters #search_advanced .controls-row::after{content:none}
.list-filters #search_advanced .controls-row [class*="span"]{float:none;width:auto;margin:0}
.list-filters #search_advanced .controls-row label{flex:none;margin:0;font-weight:500}
.list-filters #search_advanced .controls-row input{flex:1 1 0;min-width:0}
/* area + extras checkbox lists */
.list-filters .extras_container{box-sizing:border-box;width:auto!important;height:auto!important;max-height:136px;overflow-y:auto!important;margin:0;padding:6px 12px;border:1px solid var(--forest-line)!important;border-radius:var(--r);background:var(--forest-2);
 display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 16px;scrollbar-color:var(--forest-line) transparent}
.list-filters .extras_container label.checkbox,.list-filters #search_advanced .extras_container label.checkbox{display:flex;align-items:center;gap:8px;float:none;width:auto;min-height:32px;margin:0;padding:4px 0;font-size:14px;font-weight:400;line-height:1.3;color:#fff;cursor:pointer}
.list-filters .extras_container label.checkbox strong{font-weight:700;color:#bfe9be}
.list-filters .extras_container label.checkbox input{flex:none;float:none;width:18px;height:18px;margin:0;accent-color:#53b852}
/* extras toggle + submit */
.list-filters #search_advanced .toggle-next{display:flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:auto;height:44px;margin:0;float:none;padding:0 12px;background:var(--forest-2);border:1px solid var(--forest-line);color:#fff;font-size:15px}
.list-filters #search_advanced .toggle-next:hover{background:#215a47}
.list-filters #search_advanced .toggle-next .caret{border-top-color:#fff;margin-top:0}
.list-filters #search_advanced>.controls:last-child{display:flex;gap:8px;margin:0;text-align:left!important}
.list-filters #search_advanced>.controls:last-child .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;height:44px;margin:0;padding:0 16px;font-size:15px;font-weight:600}
.list-filters #search_advanced>.controls:last-child .btn-success{flex:1 1 auto}
.list-filters #search_advanced>.controls:last-child a.btn{background:var(--forest-2);border-color:var(--forest-line);color:#fff}

/* legacy title box (h3 + phone quick filters) replaced by the band */
.list-main>.box.md-card{display:none}
.row-fluid>.list-main{float:none;width:100%;margin-left:0}

/* result cards (v8, owner 2026-11-14: every card looks like the Hot banner). estate_card.jsp renders .card-c only
   inside .list-mixed (estate_grid.jsp, public). Every card is .card-hot (banner); non-Hot cards add .card-plain and
   get no "Топ понуда" mark. Stretched title link covers the card (z1); favourite and marks sit above it (z2).
   No-photo art: .no-photo.np-{id%4}. Grid: 1 column on phone, 2 from 768px, 3 from 980px. */
.list-results.list-mixed{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0}
.list-mixed .card-c{position:relative;box-sizing:border-box;float:none;width:auto;min-width:0;margin:0;padding:0;color:var(--ink);background:#fff}
.list-mixed .card-c .card-title{display:block;margin:0;padding:0}
.list-mixed .card-c .card-title a{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none}
.list-mixed .card-c .card-title a::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
.list-mixed .card-c .card-title a:focus-visible{outline:0}
.list-mixed .card-c:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.list-mixed .card-c:has(.card-fav:focus-visible){outline:0}
.list-mixed .card-media{position:relative}
.list-mixed .card-media>img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;object-fit:cover}
.list-mixed .card-price{display:block;color:var(--forest);font-family:var(--font-display);font-weight:500;white-space:nowrap;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.list-mixed .card-price.poa{font-family:var(--font-body);font-weight:700;letter-spacing:0}
.list-mixed .card-meta{display:block;min-width:0}
.list-mixed .card-facts,.list-mixed .card-code{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.list-mixed .card-f{font-variant-numeric:tabular-nums}
.list-mixed .card-f+.card-f::before{content:" \00b7  "}
.list-mixed .card-code b{font-weight:600}
/* favourite (selection star, script.js a.method-post) and call */
.list-mixed .card-fav{position:absolute;top:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;text-decoration:none}
.list-mixed .card-fav::before{content:"";position:absolute;top:8px;left:8px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 1px 3px rgba(15,51,40,.22)}
.list-mixed .card-fav .favorite{position:relative;width:22px;height:22px;margin:1px 0 0;background-size:contain;background-position:center;background-repeat:no-repeat}
.list-mixed .card-360{position:absolute;z-index:2;display:inline-flex;align-items:center;height:20px;padding:0 5px;border-radius:var(--r-chip);background:rgba(10,30,22,.78);color:#fff;font-size:11px;font-weight:600;line-height:1}
.list-mixed .card-mark{position:absolute;top:0;left:0;z-index:2;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 22px 0 12px;background:#f5a524;color:#2a1a00;font-size:11px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.list-mixed .card-mark svg{width:11px;height:11px;fill:currentColor}
/* no-photo art */
.list-mixed .card-np{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--mist);background-repeat:repeat;color:var(--forest)}
.list-mixed .card-np-logo{position:absolute;right:-6%;bottom:-10%;height:96%;opacity:.5}
.list-mixed .card-np-logo .g{fill:#53b852}.list-mixed .card-np-logo .s{fill:#9aa8a0}.list-mixed .card-np-logo .s2{fill:#b3c0b8}
.list-mixed .card-np-ic{flex:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.list-mixed .card-np-c{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;padding:8px}
.list-mixed .card-np-c b{display:none}
.list-mixed .card-np-c small{padding:2px 4px;border-radius:var(--r-chip);background:rgba(255,255,255,.88);color:var(--forest);font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap}


/* banner (v7 hot, owner: lighter): white card, photo with price + title on a short fade, facts | ID on white below.
   .card-body is display:contents so price/title/meta join the card grid (markup unchanged). No call button. */
.list-mixed .card-hot{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto auto;height:212px;margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:border-color .2s,box-shadow .2s}
.list-mixed .card-hot:hover{border-color:#c6d3ca;box-shadow:var(--shadow-card)}
.list-mixed .card-hot .card-media{grid-column:1;grid-row:1/4;min-height:0;background:var(--mist);pointer-events:none}
.list-mixed .card-hot .card-media::after{content:"";position:absolute;right:0;bottom:0;left:0;height:60%;background:linear-gradient(to top,rgba(8,28,21,.74) 0,rgba(8,28,21,.38) 45%,rgba(8,28,21,0) 100%)}
.list-mixed .card-hot .card-fav,.list-mixed .card-hot .card-mark{pointer-events:auto}
.list-mixed .card-hot .card-fav{top:2px;right:2px}
.list-mixed .card-hot .card-360{top:12px;right:52px}
.list-mixed .card-hot .card-body{display:contents}
.list-mixed .card-hot .card-price{grid-column:1;grid-row:2;z-index:1;padding:0 12px;font-size:21px;line-height:1.15;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);pointer-events:none}
.list-mixed .card-hot .card-price.poa{font-size:17px;line-height:1.2}
.list-mixed .card-hot .card-title{grid-column:1;grid-row:3;z-index:1;margin:2px 0 0;padding:0 12px 10px;font-size:14px;font-weight:600;line-height:1.3}
.list-mixed .card-hot .card-title a,.list-mixed .card-hot .card-title a:hover,.list-mixed .card-hot .card-title a:focus{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.list-mixed .card-hot:hover .card-title a{text-decoration:underline}
.list-mixed .card-hot .card-loc{display:none}
.list-mixed .card-hot .card-meta{grid-column:1;grid-row:4;display:flex;justify-content:space-between;gap:12px;min-width:0;padding:9px 12px;font-size:13px;line-height:1.35;color:var(--muted);white-space:nowrap}
.list-mixed .card-hot .card-facts{flex:0 1 auto;min-width:0}
.list-mixed .card-hot .card-code{flex:none}
.list-mixed .card-hot .card-code b{color:var(--ink)}
.list-mixed .card-hot .card-np{background-color:var(--forest-2);color:#fff}
.list-mixed .card-hot .card-np-logo{opacity:.55}
.list-mixed .card-hot .card-np-logo .s{fill:#4f7c6b}.list-mixed .card-hot .card-np-logo .s2{fill:#3e6a59}
.list-mixed .card-hot .card-np-c{top:38px;right:56px;bottom:auto;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:0 12px}
.list-mixed .card-hot .card-np-c b{display:block;overflow:hidden;font-family:var(--font-display);font-size:15px;font-weight:500;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}
.list-mixed .card-hot .card-np-c small{display:none}
.list-mixed .card-hot.np-0 .card-np{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' opacity='.35'%3E%3Cpath d='M4 41l9-1v10l-9 1zM16 29l9-1v10l-9 1zM16 41l9-1v10l-9 1z' fill='%2353b852'/%3E%3Cpath d='M28 17l9-1v10l-9 1zM28 29l9-1v10l-9 1zM28 41l9-1v10l-9 1zM40 29l9-1v10l-9 1zM40 41l9-1v10l-9 1z' fill='%232c5f4c'/%3E%3C/svg%3E");background-position:0px 0px}
.list-mixed .card-hot.np-1 .card-np{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' opacity='.35'%3E%3Cpath d='M4 41l9-1v10l-9 1zM16 29l9-1v10l-9 1zM16 41l9-1v10l-9 1z' fill='%233f8f4a'/%3E%3Cpath d='M28 17l9-1v10l-9 1zM28 29l9-1v10l-9 1zM28 41l9-1v10l-9 1zM40 29l9-1v10l-9 1zM40 41l9-1v10l-9 1z' fill='%23356a56'/%3E%3C/svg%3E");background-position:16px 11px}
.list-mixed .card-hot.np-2 .card-np{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' opacity='.35'%3E%3Cpath d='M4 41l9-1v10l-9 1zM16 29l9-1v10l-9 1zM16 41l9-1v10l-9 1z' fill='%2353b852'/%3E%3Cpath d='M28 17l9-1v10l-9 1zM28 29l9-1v10l-9 1zM28 41l9-1v10l-9 1zM40 29l9-1v10l-9 1zM40 41l9-1v10l-9 1z' fill='%2324503f'/%3E%3C/svg%3E");background-position:32px 22px}
.list-mixed .card-hot.np-3 .card-np{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' opacity='.35'%3E%3Cpath d='M4 41l9-1v10l-9 1zM16 29l9-1v10l-9 1zM16 41l9-1v10l-9 1z' fill='%236cbf6b'/%3E%3Cpath d='M28 17l9-1v10l-9 1zM28 29l9-1v10l-9 1zM28 41l9-1v10l-9 1zM40 29l9-1v10l-9 1zM40 41l9-1v10l-9 1z' fill='%232c5f4c'/%3E%3C/svg%3E");background-position:48px 33px}

/* tablet + desktop: 2 then 3 equal banner columns */
@media (min-width:768px){
 .list-results.list-mixed{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .list-mixed .card-hot{height:256px}
 .list-mixed .card-hot .card-price{font-size:24px}
 .list-mixed .card-hot .card-price.poa{font-size:19px}
 .list-mixed .card-hot .card-title{font-size:16px;padding-bottom:12px}
 .list-mixed .card-hot .card-meta{font-size:14px;padding:10px 12px}
 .list-mixed .card-hot .card-np-c{top:44px}
}
@media (min-width:980px){
 .list-results.list-mixed{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* empty result */
.list-empty{padding:28px 20px;border-radius:var(--r);background:var(--mist);text-align:center;font-size:15px;line-height:1.5;color:var(--muted)}
.list-empty p{margin:0 auto 8px;max-width:56ch}
.list-empty .list-empty-title{font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.3;color:var(--ink)}
.list-empty .list-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.list-main:has(.list-empty) .pagination,body:has(.list-empty) .list-pager-bar{display:none!important}
.list-empty .btn{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:0 18px;font-size:15px}

/* pagination (desktop under the grid; phone inside the sticky bar) */
.list-main>.span.hidden-phone{float:none;width:auto;margin-left:0}
.list-main .pagination,.list-pager-bar .pagination{margin:24px 0 8px}
.list-main .pagination ul,.list-pager-bar .pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0;box-shadow:none}
.list-main .pagination.pagination-centered ul>li>button,.list-main .pagination.pagination-centered ul>li>a,.list-pager-bar .pagination.pagination-centered ul>li>button,.list-pager-bar .pagination.pagination-centered ul>li>a{float:none;display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-chip);background:#fff;color:var(--ink);font-family:var(--font-body);font-size:15px;font-weight:600;line-height:42px;font-variant-numeric:tabular-nums;text-decoration:none}
.list-main .pagination.pagination-centered ul>li>button:hover,.list-pager-bar .pagination.pagination-centered ul>li>button:hover{background:var(--mist);border-color:#c6d3ca}
.list-main .pagination.pagination-centered ul>li.active>a,.list-pager-bar .pagination.pagination-centered ul>li.active>a{background:var(--brand);border-color:var(--brand);color:var(--forest)}
.list-main .pagination.pagination-centered ul>li.disabled>button,.list-pager-bar .pagination.pagination-centered ul>li.disabled>button{background:#fff;opacity:.4}
.list-main .pagination [class*="icon-"],.list-pager-bar .pagination [class*="icon-"]{opacity:.75}

/* featured (list_hot.jsp) */
body:has(.list-band){background-color:#fff}
.list-featured{clear:both;margin:28px 0 24px}
.list-featured>h3{margin:0 0 10px;padding:0;font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.3;color:var(--ink)}
.list-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.list-featured>h3{grid-column:1/-1}
.list-featured .property{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center;height:auto;min-height:90px;margin:0;padding:0!important;border:0;border-radius:var(--r);overflow:hidden;background:var(--mist);box-shadow:none}
.list-featured .property .image{float:none;width:120px;height:90px;margin:0}
.list-featured .property .image a,.list-featured .property .image img{display:block;width:100%;height:100%;padding:0}
.list-featured .property .image img{object-fit:cover}
.list-featured .property .wrapper{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 12px 8px 0;font-size:14px;line-height:1.35}
.list-featured .property .title h3{margin:0;font-size:13px;font-weight:600;line-height:1.3}
.list-featured .property .title h3 a{color:var(--muted);text-decoration:none}
.list-featured .property .location{margin:0;font-size:15px;font-weight:600;line-height:1.35;color:var(--ink)}
.list-featured .property .wrapper strong{font-family:var(--font-display);font-weight:500;font-size:16px;color:var(--forest)}

@media (min-width:768px) and (max-width:979px){
 .list-filters #search_advanced{grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-areas:"svcL typeL furnL roomsL" "svc type furn rooms" "costL costL spaceL spaceL" "cost cost space space" "bedL . . ." "bed xbtn go go" "areaL areaL areaL areaL" "area area area area" "xbox xbox xbox xbox"}
}
@media (max-width:767px){
 .list-band{margin-bottom:12px;padding-bottom:12px;box-shadow:0 -8px 0 #0f3328}
 .list-band+.container{margin-top:0}
 .list-band>.container{box-sizing:border-box;padding:0 16px}
 /* deploy 5: compact band, H1 + count left, 44px filter icon button right (text stays as its accessible name) */
 .list-band>.container{position:relative}
 .list-head{padding:10px 56px 0 0}
 .list-head h1{font-family:var(--font-body);font-weight:700;font-size:17px;line-height:1.25;letter-spacing:0;text-wrap:pretty}
 .list-count{margin-top:2px;font-size:13px}
 .list-filters-btn{position:absolute;top:10px;right:16px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;padding:0;background:var(--brand);border-color:var(--brand);color:var(--forest);font-size:0;line-height:0}
 .list-filters-btn svg{width:20px;height:20px}
 .list-filters-btn:hover,.list-filters-btn:focus{background:var(--brand-hover);color:var(--forest)}
 .list-filters{display:none;margin-top:10px}
 .list-filters>.box.grey-box{padding:12px}
 .list-filters #search_advanced{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;
  grid-template-areas:"svcL typeL" "svc type" "furnL roomsL" "furn rooms" "bedL ." "bed ." "costL costL" "cost cost" "spaceL spaceL" "space space" "areaL areaL" "area area" "xbtn xbtn" "xbox xbox" "go go"}
 .list-filters #search_advanced label{margin-top:6px}
 .list-filters #search_advanced>.row-fluid>.toggle-next{margin-top:10px}
 .list-filters #search_advanced>.controls:last-child{margin-top:10px}
 .list-filters .extras_container{grid-template-columns:minmax(0,1fr);max-height:220px}
 .list-filters .extras_container label.checkbox,.list-filters #search_advanced .extras_container label.checkbox{min-height:44px;padding:0}
 .list-main{box-sizing:border-box;padding:0 16px}
 .list-empty{padding:20px 14px}
 .list-featured{grid-template-columns:minmax(0,1fr);gap:8px;margin:20px 0 16px}
 .list-featured>h3{font-size:18px;margin-bottom:6px}
 /* phone sticky pagination bar: prev/next drop (numbers cover them), 44px buttons */
 .list-pager-bar[style]{height:auto!important;box-sizing:border-box;padding:6px 8px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff;box-shadow:0 -6px 18px rgba(15,51,40,.08);z-index:20}
 .list-pager-bar .pagination{margin:0;background:none}
 .list-pager-bar .pagination form{margin:0}
 .list-pager-bar .pagination ul{flex-wrap:nowrap;gap:4px}
 .list-pager-bar .pagination.pagination-centered ul>li.hide-in-details{display:none}
 .list-pager-bar .pagination.pagination-centered ul>li>button,.list-pager-bar .pagination.pagination-centered ul>li>a{padding:0 6px}
}
/* ===== end estate_list ===== */

/* ===== home (deploy 6) =====
   Markup (index.jsp public branch): .container.home > #homeHero.home-hero (home_banner.jsp, Bootstrap 2 carousel:
   .carousel-inner > .item.home-slide > img + .home-slide-body; .home-hero-nav = prev, .carousel-indicators, next),
   .home-find, .home-row ×4 (.home-row-head h2 + "Сите", .list-results.list-mixed.home-cards with C · Mixed cards),
   #selection-holder, .home-lower (.list-featured.home-latest = list_latest.jsp, .home-contact = contact_box.jsp + call),
   .home-cats (banner_links_*.jsp), .home-intro (clients_box_*, owners_box_*). Staff get the old page (no theme.css). */
.home .home-hero{position:relative;height:380px;margin:6px 0 0;overflow:hidden;border-radius:var(--r);background-color:var(--forest);line-height:normal}
.home .home-hero .carousel-inner{height:100%;text-align:left}
.home .home-hero .carousel-inner>.item{height:100%}
.home .home-slide.no-photo{background-image:linear-gradient(90deg,rgba(83,184,82,.08) 0 6px,transparent 6px),linear-gradient(rgba(83,184,82,.08) 0 6px,transparent 6px);background-size:44px 44px;background-position:right top}
.home .home-slide-img{position:absolute;top:0;right:0;width:66%;height:100%;max-width:none;margin:0;border:0;border-radius:0;object-fit:cover}
.home .home-slide::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;
 background:linear-gradient(90deg,#0f3328 0,#0f3328 34%,rgba(15,51,40,.8) 47%,rgba(15,51,40,0) 72%),linear-gradient(to top,rgba(8,28,21,.6) 0,rgba(8,28,21,0) 28%)}
.home .home-slide-body{position:absolute;top:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:46%;padding:24px 32px;color:#d6e4dc;font-size:15px;line-height:1.4}
.home .home-slide-body p{margin:0}
.home .home-slide-kicker{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}
.home .home-mark{display:inline-flex;flex:none;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:var(--r-chip);background:#f5a524;color:#2a1a00;font-size:11px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase}
.home .home-mark svg{width:11px;height:11px;fill:currentColor}
.home .home-slide-group{overflow:hidden;text-overflow:ellipsis;color:#e3eee8;font-size:14px;font-weight:500}
.home .home-slide-price{display:block;margin:12px 0 4px;color:#fff;font-family:var(--font-display);font-weight:500;font-size:32px;line-height:1.15;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.home .home-slide-price.poa{font-family:var(--font-body);font-weight:700;font-size:24px;letter-spacing:0}
.home .home-slide-title{display:-webkit-box;margin:0 0 6px;padding:0;overflow:hidden;color:#fff;font-size:20px;font-weight:600;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.home .home-slide-title a,.home .home-slide-title a:hover,.home .home-slide-title a:focus{color:#fff;text-decoration:none}
.home .home-slide-title a:hover{text-decoration:underline}
/* owner: no needless wrapping - hero title on one line with ellipsis */
.home .home-slide-title,.home .home-slide-title a{display:block;-webkit-line-clamp:unset;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}
.home .home-slide-facts{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.home .home-slide-facts span+span::before{content:" \00b7  ";white-space:pre}
.home .home-slide-facts b{color:#fff;font-weight:600}
.home .home-slide-btns{display:flex;gap:8px;margin-top:16px!important}
.home .home-slide-btns .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;height:44px;padding:0 22px;font-size:15px;font-weight:600;line-height:1}
.home .home-slide-btns .btn svg{width:18px;height:18px;fill:currentColor}
.home .home-slide-btns .home-view{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.home .home-slide-btns .home-view:hover,.home .home-slide-btns .home-view:focus{background:rgba(255,255,255,.12);color:#fff}
/* controls: 44px hit areas, small round visuals (round icon buttons are allowed) */
.home .home-hero-nav{position:absolute;right:8px;bottom:6px;z-index:3;display:flex;align-items:center}
.home .home-hero .carousel-control{position:static;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;opacity:1;font-size:0;line-height:0}
.home .home-hero .carousel-control svg{box-sizing:border-box;width:32px;height:32px;padding:6px;border-radius:50%;background:rgba(255,255,255,.92);fill:none;stroke:#0f3328;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.home .home-hero .carousel-control:hover svg,.home .home-hero .carousel-control:focus svg{background:#fff}
.home .home-hero .carousel-indicators{position:static;display:flex;margin:0;padding:0;list-style:none}
.home .home-hero .carousel-indicators li{float:none;width:auto;height:auto;margin:0;border-radius:0;background:none;text-indent:0}
.home .home-hero .carousel-indicators button{position:relative;display:block;width:44px;height:44px;margin:0;padding:0;border:0;background:none;cursor:pointer}
.home .home-hero .carousel-indicators button::before{content:"";position:absolute;top:18px;left:18px;width:8px;height:8px;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.25)}
.home .home-hero .carousel-indicators .active button::before{background:#53b852;border-color:#53b852}

/* search entry under the hero */
.home .home-find{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:8px 8px 8px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--mist)}
.home .home-find-l{margin-right:auto;font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap}
.home .home-find .btn{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:44px;padding:0 18px;font-size:15px;font-weight:600;line-height:1}
.home .home-find .btn svg{width:18px;height:18px;fill:currentColor}

/* Hot rows: C · Mixed banner cards, 3-up on desktop, one swipe row per group on phone */
.home .home-row{margin:24px 0 0}
.home .home-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
.home .home-row-head h2{min-width:0;margin:0;padding:0;overflow:hidden;font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.25;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;color:var(--ink)}
.home .home-all{display:inline-flex;flex:none;align-items:center;gap:2px;min-height:44px;padding:0 0 0 12px;color:var(--link);font-size:15px;font-weight:600;text-decoration:none}
.home .home-all:hover{color:var(--forest);text-decoration:underline}
.home .home-all svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.home .home-cards.list-mixed{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row;gap:16px}
.home .home-cards .card-hot{height:264px}

/* latest + contact */
.home .home-lower{margin:28px 0 0}
.home .home-latest.list-featured{margin:0}
.home .home-latest.list-featured>h3,.home .home-contact h3{margin:0 0 10px;padding:0;font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.25;color:var(--ink)}
.home .home-contact .box.contact{float:none;width:auto;min-height:0;margin:0;padding:14px 16px 6px;border:1px solid var(--line);border-radius:var(--r);background:var(--mist);box-shadow:none}
.home .home-contact .box.contact h3{font-size:18px}
.home .home-contact .box.contact>div[style*="height"]{display:none}
.home .home-contact .box_content{margin:0;padding:0;font-size:15px;line-height:1.7;color:var(--ink)}
.home .home-contact .box_content img{width:16px;height:16px;margin-right:6px;vertical-align:-2px}
.home .home-contact .box_content a{color:var(--ink)}
.home .home-contact .box_content a[href^="tel"],.home .home-contact .box_content a[href^="mailto"]{color:var(--link);font-weight:600}
.home .home-contact .box_content table{margin:2px 0 6px 22px!important;font-size:14px!important}
.home .home-contact .box_content td{padding:0 12px 0 0!important;text-align:left}
.home .home-contact-call{display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;height:48px;margin-top:10px;font-size:16px;font-weight:600}
.home .home-contact-call svg{width:20px;height:20px;fill:currentColor}

/* category links (banner_links_*.jsp; v8 per owner reference): 2x2 photo tiles, green-black fade from bottom-left,
   small uppercase light-green label (.title) over a large white line (.caption). Legacy absolute text -> flex column. */
.home .home-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 0}
.home .home-cats .banner-button{position:relative;display:flex;flex-direction:column;justify-content:flex-end;box-sizing:border-box;height:200px;margin:0;padding:0 28px 24px!important;overflow:hidden;border-radius:var(--r);box-shadow:none;background:var(--forest);text-align:left;text-transform:none;text-decoration:none}
.home .home-cats .banner-button img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;margin:0;border-radius:0;object-fit:cover;transform:none;transition:transform .4s}
.home .home-cats .banner-button:hover img{transform:scale(1.03)}
.home .home-cats .banner-button .overlay,.home .home-cats .banner-button.right .overlay{top:0;right:0;bottom:0;left:0;width:auto;height:auto;transform:none;box-shadow:none;font-size:0;background:linear-gradient(30deg,rgba(9,30,23,.94) 0,rgba(9,30,23,.72) 35%,rgba(9,30,23,.28) 65%,rgba(9,30,23,.08) 100%)}
.home .home-cats .banner-button .title,.home .home-cats .banner-button.right .title,.home .home-cats .banner-button .caption,.home .home-cats .banner-button.right .caption{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home .home-cats .banner-button .title{color:#b6e3b0;font-size:15px;font-weight:600;line-height:1.2;letter-spacing:.1em;text-transform:uppercase}
.home .home-cats .banner-button .caption{margin-top:4px;color:#fff;font-family:var(--font-body);font-size:30px!important;font-weight:700;line-height:1.15;letter-spacing:-.01em}
.home .home-cats .banner-button:hover .caption{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.home .home-cats .banner-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* intro text (clients / owners) */
.home .home-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 24px}
.home .home-intro .box.grey-box{position:relative;margin:0;padding:14px 16px 0;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:none}
.home .home-intro .box h3{margin:0 0 6px;padding:0;font-family:var(--font-display);font-weight:500;font-size:18px;line-height:1.25;color:var(--ink)}
.home .home-intro .box_content[style]{padding:0 0 56px!important;font-size:14px!important;line-height:1.55;color:var(--muted)}
.home .home-intro .box_content>.row-fluid[style]{height:65px!important}
.home .home-intro .box_content strong[style]{color:inherit!important;font-weight:500}
.home .home-intro .box_content .btn[style]{right:0!important;bottom:12px!important;display:inline-flex;align-items:center;box-sizing:border-box;height:44px;padding:0 16px;font-size:14px}
.home .home-intro .box_content .btn strong{font-weight:600}

@media (min-width:980px){
 .home .home-lower{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}
}
@media (min-width:768px) and (max-width:979px){
 .home .home-hero{height:340px}
 .home .home-slide-body{width:58%;padding:20px 24px}
 .home .home-slide::before{background:linear-gradient(90deg,#0f3328 0,#0f3328 40%,rgba(15,51,40,.8) 58%,rgba(15,51,40,0) 80%),linear-gradient(to top,rgba(8,28,21,.6) 0,rgba(8,28,21,0) 28%)}
 .home .home-lower>.home-contact{margin-top:20px}
}
@media (max-width:767px){
 .container.home{margin-top:46px} /* fixed phone header is 46px; legacy 48px left a white seam above the hero */
 .home .home-hero{height:260px;margin:0;border-radius:0}
 .home .home-slide-img{width:100%}
 .home .home-slide::before{background:linear-gradient(to top,rgba(8,28,21,.96) 0,rgba(8,28,21,.9) 52%,rgba(8,28,21,.72) 70%,rgba(8,28,21,.25) 84%,rgba(8,28,21,.55) 100%)}
 .home .home-slide-body{top:auto;width:100%;justify-content:flex-end;padding:0 16px 12px;font-size:13px;line-height:1.35}
 .home .home-slide-kicker{gap:8px}
 .home .home-mark{height:22px;padding:0 6px;font-size:10.5px}
 .home .home-slide-group{font-size:13px}
 .home .home-slide-price{margin:6px 0 2px;font-size:22px}
 .home .home-slide-price.poa{font-size:18px}
 .home .home-slide-title{margin:0 0 2px;font-size:15px;line-height:1.3}
 .home .home-slide-btns{margin-top:10px!important}
 .home .home-slide-btns .home-call{flex:1 1 auto}
 .home .home-slide-btns .btn{padding:0 18px}
 .home .home-hero-nav{top:0;right:4px;bottom:auto}
 .home .home-find,.home .home-row-head,.home .home-lower,.home .home-cats,.home .home-intro{margin-left:16px;margin-right:16px}
 .home .home-find{margin-top:12px;padding:0;gap:8px;border:0;background:none}
 .home .home-find-l{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
 .home .home-find .btn{flex:1 1 0;justify-content:center;padding:0 12px}
 .home .home-row{margin-top:18px}
 .home .home-row-head{margin-bottom:4px}
 .home .home-row-head h2{font-family:var(--font-body);font-weight:700;font-size:16px;letter-spacing:0}
 .home .home-all{padding-left:8px}
 .home .home-cards.list-mixed{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:10px;padding:0 16px 2px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .home .home-cards.list-mixed::-webkit-scrollbar{display:none}
 .home .home-cards .card-c{scroll-snap-align:start}
 .home .home-cards .card-hot{height:212px}
 .home .home-lower{margin-top:24px}
 .home .home-latest.list-featured>h3,.home .home-contact h3{font-family:var(--font-body);font-weight:700;font-size:17px;letter-spacing:0}
 .home .home-latest.list-featured{grid-template-columns:minmax(0,1fr);gap:8px}
 .home .home-latest.list-featured .property{min-height:76px}
 .home .home-latest.list-featured .property .image{width:100px;height:76px}
 .home .home-latest.list-featured .property{grid-template-columns:100px minmax(0,1fr);gap:12px}
 .home .home-contact{display:block;margin-top:20px}
 .home .home-contact .box_content{line-height:1.4}
 .home .home-cats{gap:8px;margin-top:20px}
 .home .home-cats .banner-button{height:120px;padding:0 12px 12px!important}
 .home .home-cats .banner-button .title{font-size:11px;letter-spacing:.08em}
 .home .home-cats .banner-button .caption,.home .home-cats .banner-button.right .caption{margin-top:2px;font-size:17px!important;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
 .home .home-intro .box h3{font-family:var(--font-body);font-weight:700;font-size:17px}
 .home .home-intro{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:20px;margin-bottom:16px}
}
/* ===== end home ===== */
