/* Multi-page portal layout — v0.1.15 */
.site-header { position: sticky; top: 0; background: rgba(250,249,244,.96); backdrop-filter: blur(16px); }
.main-nav a { padding: 12px 0; position: relative; }
.main-nav a.nav-active { color: #214d39; }
.main-nav a.nav-active:after { content: ""; position: absolute; height: 2px; left: 0; right: 0; bottom: 3px; border-radius: 2px; background: #b8955e; }
.footer-inner-multipage { display: grid; grid-template-columns: minmax(230px,1.5fr) 1fr 1fr minmax(180px,1fr); align-items: start; gap: 34px; padding-block: 36px 42px; }
.footer-nav-group { display: flex; flex-direction: column; gap: 10px; }
.footer-nav-group strong { color: #e8e1d1; font-family: Georgia,serif; font-size: 15px; margin-bottom: 4px; }
.footer-nav-group a { color: rgba(240,238,227,.7); font-size: 12px; line-height: 1.5; transition: color .15s; }
.footer-nav-group a:hover { color: #efd7a6; }
.footer-note { max-width: 235px; font-size: 11px; line-height: 1.75; }
.panel-full-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 20px; position: relative; z-index: 1; color: #2b5a43; font-size: 12px; font-weight: 800; }
.panel-full-link span { font-size: 17px; transition: transform .15s; }
.panel-full-link:hover span { transform: translateX(4px); }
.home-listings-section { padding-top: 15px; }
.section-more { display: flex; justify-content: center; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.catalog-legacy-notice { padding: 13px 16px; margin: 0 0 22px; border-radius: 10px; background: #f3efe4; color: #656d61; font-size: 12px; }
.catalog-legacy-notice a { font-weight: 800; color: #28543d; text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: #899188; font-size: 11px; margin-bottom: 25px; }
.breadcrumbs a { color: #52705e; font-weight: 700; }
.breadcrumbs a:hover { color: #9a7945; }
.catalog-heading-wrap { background: linear-gradient(118deg,#f3f0e7 0%,#f8f7f0 65%,#e9eee5 100%); border-bottom: 1px solid #e8e4d9; position: relative; overflow: hidden; }
.catalog-heading-inner { position: relative; min-height: 255px; padding-block: 25px 42px; }
.catalog-heading-inner:after { content: ""; position: absolute; right: -20px; top: 12px; height: 210px; width: 210px; border: 1px solid rgba(166,139,89,.23); border-radius: 46% 46% 10px 10px; transform: rotate(8deg); pointer-events: none; }
.catalog-heading-copy { max-width: 760px; position: relative; z-index: 1; }
.catalog-heading-copy h1, .info-hero h1 { font-family: Georgia,"Times New Roman",serif; font-weight: 500; letter-spacing: -1.4px; line-height: 1.08; color: #193c2d; font-size: clamp(34px,4vw,51px); margin: 13px 0 13px; }
.catalog-heading-copy p, .info-hero p { color: #69766b; font-size: 14px; line-height: 1.8; max-width: 670px; margin: 0; }
.catalog-heading-mark { position: absolute; right: 60px; top: 85px; width: 150px; height: 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(166,139,89,.38); border-radius: 48% 48% 12px 12px; color: rgba(102,124,99,.8); transform: rotate(4deg); z-index: 0; }
.catalog-heading-mark span { font-family: Georgia,serif; font-size: 64px; line-height: .95; }
.catalog-heading-mark small { text-align: center; letter-spacing: 1.8px; font-size: 8px; line-height: 1.6; }
.catalog-page-layout { display: grid; grid-template-columns: 255px minmax(0,1fr); align-items: start; gap: 31px; padding-block: 42px 78px; }
.catalog-filter-card { border: 1px solid #e7e4d9; background: #fffefa; border-radius: 17px; padding: 21px 18px 17px; box-shadow: 0 8px 28px rgba(34,53,38,.045); position: sticky; top: 110px; }
.filter-card-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 19px; }
.filter-card-heading h2 { font-family: Georgia,serif; font-weight: 500; color: #203f2e; font-size: 24px; margin: 4px 0 0; }
.filter-count { background: #e9efe7; color: #315842; min-width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 800; }
.catalog-filter-form { display: flex; flex-direction: column; gap: 15px; }
.catalog-filter-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.catalog-filter-field>span { font-size: 11px; font-weight: 800; color: #526659; }
.catalog-filter-field input, .catalog-filter-field select { width: 100%; min-width: 0; border: 1px solid #e1e4d9; background: #fff; border-radius: 9px; padding: 11px 10px; font-size: 12px; color: #263f30; outline: none; transition: border-color .15s,box-shadow .15s; }
.catalog-filter-field input:focus, .catalog-filter-field select:focus { border-color: #699077; box-shadow: 0 0 0 3px rgba(83,129,96,.12); }
.catalog-filter-field input::placeholder { color: #a0a89d; font-size: 11px; }
.catalog-filter-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.catalog-filter-pair .catalog-filter-field>span { font-size: 10px; }
.catalog-filter-form .btn { margin-top: 3px; min-height: 43px; font-size: 12px; }
.filter-reset { text-align: center; font-size: 11px; font-weight: 700; color: #68776b; padding: 2px; }
.filter-reset:hover { color: #9a7945; }
.filter-help { display: flex; align-items: flex-start; gap: 10px; margin-top: 22px; border-top: 1px solid #eeece4; padding-top: 16px; }
.filter-help>span { display: grid; place-items: center; flex: 0 0 27px; width: 27px; height: 27px; border-radius: 8px; background: #edf1e8; color: #315c43; }
.filter-help p { font-size: 10px; line-height: 1.65; margin: 0; color: #7c867b; }
.catalog-results { min-width: 0; }
.catalog-results-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.catalog-results-top h2 { font-family: Georgia,serif; font-size: 29px; font-weight: 500; letter-spacing: -.5px; color: #203e2e; margin: 6px 0 4px; }
.catalog-results-top p { color: #7e887e; margin: 0; font-size: 12px; }
.catalog-results-top p strong { color: #2f5840; }
.catalog-results-top>.btn { white-space: nowrap; }
.catalog-intent-tabs { display: flex; gap: 7px; padding: 5px; background: #f1f0e8; border-radius: 12px; margin-bottom: 17px; }
.catalog-intent-tabs a { display: flex; align-items: center; justify-content: center; flex: 1; gap: 9px; padding: 12px 16px; border-radius: 9px; color: #69766a; font-size: 12px; font-weight: 800; transition: background .15s,color .15s,box-shadow .15s; }
.catalog-intent-tabs a.active { color: #244a35; background: #fffefa; box-shadow: 0 3px 12px rgba(36,56,40,.07); }
.tab-dot { height: 6px; width: 6px; border-radius: 50%; background: #c2c9bc; }
.catalog-intent-tabs a.active .tab-dot { background: #b8965e; box-shadow: 0 0 0 4px rgba(184,150,94,.13); }
.catalog-category-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 23px; }
.catalog-category-chips a { border: 1px solid #e3e4d9; border-radius: 99px; padding: 8px 12px; color: #637166; font-size: 11px; font-weight: 700; background: #fffefa; transition: background .15s,border-color .15s,color .15s; }
.catalog-category-chips a.active, .catalog-category-chips a:hover { background: #e9efe6; border-color: #d2dfd0; color: #2e5940; }
.catalog-listing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.catalog-listing-grid .listing-image { height: 185px; }
.catalog-listing-grid .listing-body { padding: 15px 14px 16px; }
.catalog-listing-grid .listing-price { font-size: 17px; }
.catalog-listing-grid .listing-title { font-size: 13px; line-height: 1.4; }
.catalog-listing-grid .listing-location { font-size: 10px; }
.catalog-listing-grid .listing-meta { font-size: 10px; gap: 7px; }
.catalog-pagination { display: flex; justify-content: center; align-items: center; gap: 17px; margin-top: 28px; color: #718073; font-size: 11px; font-weight: 700; }
.catalog-pagination a, .catalog-pagination .disabled { width: 37px; height: 37px; border-radius: 10px; display: grid; place-items: center; border: 1px solid #e0e4d9; color: #28533d; font-size: 18px; background: #fffefa; }
.catalog-pagination a:hover { background: #e9efe6; }
.catalog-pagination .disabled { color: #b7beb5; }
.catalog-empty { min-height: 300px; border: 1px dashed #d8ddcf; background: #fbfaf5; }
.catalog-empty .btn { margin: 5px; }
.catalog-trust-note { display: flex; gap: 12px; align-items: flex-start; margin-top: 32px; border-top: 1px solid #e8e6dc; padding-top: 19px; }
.trust-icon { flex: 0 0 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #e5ede3; color: #356146; font-weight: 800; }
.catalog-trust-note strong { font-size: 12px; color: #385643; }
.catalog-trust-note p { font-size: 11px; line-height: 1.65; color: #7b867a; margin: 4px 0 0; }
.info-hero { background: linear-gradient(120deg,#f4f1e8,#fbfaf5 70%,#e9eee5); border-bottom: 1px solid #e7e3d8; padding-block: 25px 65px; overflow: hidden; }
.info-hero h1 { font-size: clamp(39px,5vw,61px); max-width: 790px; margin-top: 20px; }
.info-hero h1 em { color: #8a6a3d; font-style: normal; }
.info-hero p { font-size: 15px; max-width: 650px; margin-bottom: 25px; }
.info-content-section { padding-block: 67px; }
.info-steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.info-step-card { position: relative; padding: 25px 25px 27px; min-height: 205px; border: 1px solid #e7e4d9; border-radius: 16px; background: #fffefa; box-shadow: 0 8px 25px rgba(35,52,38,.035); }
.info-step-card>span { color: #b08b51; font-family: Georgia,serif; font-size: 24px; }
.info-step-card h3 { margin: 16px 0 9px; font-family: Georgia,serif; font-size: 21px; font-weight: 500; color: #244331; }
.info-step-card p { margin: 0; font-size: 12px; line-height: 1.8; color: #748076; }
.info-contrast-section { background: #edf1e8; padding-block: 58px; }
.info-two-columns { display: grid; grid-template-columns: 1.1fr .9fr; gap: 55px; align-items: center; }
.info-two-columns h2, .safety-card h2, .about-story h2 { font-family: Georgia,serif; font-weight: 500; color: #203e2e; letter-spacing: -.7px; font-size: clamp(27px,3vw,37px); line-height: 1.2; margin: 9px 0 14px; }
.info-two-columns p { color: #687669; font-size: 13px; line-height: 1.85; margin: 0 0 21px; max-width: 560px; }
.info-checklist { padding: 22px 25px; border: 1px solid rgba(48,88,61,.12); border-radius: 14px; background: rgba(255,255,255,.62); }
.info-checklist p { display: flex; gap: 12px; align-items: center; margin: 0; padding: 13px 0; border-bottom: 1px solid #e1e7dc; font-size: 12px; color: #4d6654; }
.info-checklist p:last-child { border-bottom: 0; }
.info-checklist span { flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #e1eadc; color: #346146; font-weight: 800; }
.info-safety { padding-block: 57px 74px; }
.safety-card { max-width: 840px; padding: 28px 31px; border: 1px solid #e6dfcf; border-radius: 16px; background: #faf7ef; }
.safety-card p { font-size: 12px; color: #74786c; line-height: 1.85; margin: 0; }
.about-hero { padding-bottom: 55px; }
.about-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; max-width: 840px; margin-top: 40px; }
.about-values>div { display: grid; grid-template-columns: 38px minmax(0,1fr); column-gap: 11px; align-items: center; padding: 15px; border: 1px solid rgba(213,208,190,.8); border-radius: 12px; background: rgba(255,255,255,.6); }
.value-mark { grid-row: span 2; display: grid; place-items: center; height: 38px; width: 38px; border-radius: 10px; background: #e9eee5; color: #41664b; font-size: 20px; }
.about-values strong { color: #294835; font-size: 11px; }
.about-values small { color: #818b7f; font-size: 9px; margin-top: 3px; }
.about-story { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; }
.about-story p { font-size: 13px; line-height: 1.9; color: #6b776c; margin: 0 0 16px; }
.subtle-link { color: #325c42; font-size: 12px; font-weight: 800; }
.subtle-link:hover { color: #9a7945; }
.about-action-list { background: rgba(255,255,255,.65); border: 1px solid #dae2d6; border-radius: 14px; padding: 5px 20px; }
.about-action-list a { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid #e2e7dd; color: #345541; font-size: 12px; font-weight: 800; }
.about-action-list a:last-child { border-bottom: 0; }
.about-action-list b { font-size: 18px; color: #aa8957; transition: transform .15s; }
.about-action-list a:hover b { transform: translateX(4px); }
@media (max-width: 1100px) {
  .catalog-page-layout { grid-template-columns: 230px minmax(0,1fr); gap: 20px; }
  .catalog-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-inner-multipage { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-inner-multipage .footer-note { grid-column: 1/-1; max-width: 600px; }
}
@media (max-width: 760px) {
  .site-header { position: relative; }
  .main-nav { gap: 15px; }
  .main-nav a { font-size: 11px; }
  .footer-inner-multipage { grid-template-columns: 1fr 1fr; gap: 25px 18px; }
  .footer-inner-multipage .footer-brand, .footer-inner-multipage .footer-note { grid-column: 1/-1; }
  .catalog-heading-inner { min-height: unset; padding-block: 20px 35px; }
  .catalog-heading-copy { max-width: 100%; }
  .catalog-heading-copy h1 { font-size: 35px; max-width: 570px; }
  .catalog-heading-copy p { max-width: 530px; font-size: 12px; }
  .catalog-heading-mark { opacity: .18; right: -15px; top: 70px; }
  .catalog-page-layout { display: flex; flex-direction: column; padding-block: 25px 50px; gap: 24px; }
  .catalog-filter-card { width: 100%; position: static; }
  .catalog-filter-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .catalog-filter-form>.btn, .catalog-filter-form>.filter-reset { grid-column: 1/-1; }
  .filter-help { display: none; }
  .catalog-results { width: 100%; }
  .catalog-results-top { align-items: flex-start; }
  .catalog-results-top h2 { font-size: 25px; }
  .catalog-results-top>.btn { padding: 10px 12px; font-size: 10px; }
  .catalog-listing-grid .listing-image { height: 170px; }
  .info-hero { padding-block: 20px 43px; }
  .info-hero h1 { font-size: 39px; }
  .info-hero p { font-size: 13px; }
  .info-content-section { padding-block: 43px; }
  .info-steps-grid { grid-template-columns: 1fr; gap: 12px; }
  .info-step-card { min-height: unset; padding: 20px; }
  .info-step-card h3 { margin-top: 10px; }
  .info-contrast-section { padding-block: 39px; }
  .info-two-columns, .about-story { grid-template-columns: 1fr; gap: 24px; }
  .info-two-columns h2, .about-story h2, .safety-card h2 { font-size: 28px; }
  .info-safety { padding-block: 38px 50px; }
  .safety-card { padding: 22px; }
  .about-values { grid-template-columns: 1fr; margin-top: 27px; }
}
@media (max-width: 520px) {
  .main-nav { gap: 10px; }
  .main-nav a { font-size: 10px; }
  .header-inner { gap: 14px; }
  .brand { min-width: unset; }
  .brand strong { font-size: 13px; }
  .brand small { font-size: 9px; }
  .brand-mark { width: 36px; height: 36px; }
  .header-actions { gap: 7px; }
  .header-actions .btn { padding: 9px 10px; font-size: 10px; }
  .header-actions .login-link { display: none; }
  .catalog-results-top { flex-direction: column; gap: 12px; }
  .catalog-intent-tabs a { font-size: 10px; padding: 11px 7px; }
  .catalog-category-chips a { font-size: 10px; padding: 7px 10px; }
  .catalog-listing-grid { grid-template-columns: 1fr; }
  .catalog-listing-grid .listing-image { height: 215px; }
  .catalog-filter-form { grid-template-columns: 1fr; }
  .catalog-filter-form>.btn, .catalog-filter-form>.filter-reset { grid-column: auto; }
  .catalog-filter-pair { grid-template-columns: 1fr 1fr; }
  .catalog-heading-copy h1 { font-size: 32px; }
  .catalog-trust-note { margin-top: 23px; }
}


/* Search menu and less crowded home search form — v0.1.16 */
.main-nav { min-width: 0; }
.nav-search-dropdown { position: relative; flex: 0 0 auto; }
.nav-search-trigger { display: inline-flex; align-items: center; gap: 7px; padding: 12px 0; border: 0; background: transparent; color: #425a4c; font-size: 13px; font-weight: 700; cursor: pointer; list-style: none; white-space: nowrap; }
.nav-search-trigger::-webkit-details-marker { display: none; }
.nav-search-trigger::marker { content: ""; }
.nav-search-trigger>span { color: #8a9a8d; font-size: 12px; transition: transform .18s ease; }
.nav-search-dropdown[open]>.nav-search-trigger { color: #214d39; }
.nav-search-dropdown[open]>.nav-search-trigger>span { transform: rotate(180deg); }
.nav-search-popover { position: absolute; z-index: 50; top: calc(100% + 17px); left: 50%; transform: translateX(-46%); width: min(680px, calc(100vw - 32px)); max-height: min(72vh, 620px); overflow: auto; padding: 23px; border: 1px solid #e2e3d8; border-radius: 19px; background: #fffefa; box-shadow: 0 24px 70px rgba(26, 48, 33, .18); color: #234333; }
.nav-search-popover-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.nav-search-popover-heading h2 { margin: 5px 0 0; color: #1d3d2d; font: 500 26px/1.15 Georgia, "Times New Roman", serif; }
.nav-search-local-mark { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 13px; background: #edf1e8; color: #315b41; font-size: 28px; }
.nav-quick-search-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; padding: 7px; border: 1px solid #e0e4d9; border-radius: 13px; background: #fff; }
.nav-quick-search-form input { min-width: 0; width: 100%; border: 0; outline: 0; padding: 9px 11px; background: transparent; color: #244535; font-size: 13px; }
.nav-quick-search-form input::placeholder { color: #9aa69a; }
.nav-quick-search-form .btn { padding: 10px 18px; white-space: nowrap; }
.nav-search-catalogs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.nav-search-catalog-group { min-width: 0; padding: 15px; border: 1px solid #e8e6dc; border-radius: 13px; background: #fbfaf5; }
.nav-search-catalog-group h3 { margin: 0 0 11px; color: #254936; font: 500 21px/1.15 Georgia, "Times New Roman", serif; }
.nav-search-intent-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin-bottom: 10px; }
.nav-search-intent-links a { display: flex; justify-content: center; align-items: center; min-height: 36px; padding: 7px 8px; border: 1px solid #e1e8dc; border-radius: 8px; background: #edf2e9; color: #315a40; text-align: center; font-size: 11px; font-weight: 800; line-height: 1.35; }
.nav-search-intent-links a:hover { background: #e0eadc; }
.nav-search-category-links { display: grid; grid-template-columns: 1fr; gap: 2px; }
.nav-search-category-links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 2px; border-bottom: 1px solid #ecebe2; color: #586c5d; font-size: 11px; line-height: 1.4; }
.nav-search-category-links a:last-child { border-bottom: 0; }
.nav-search-category-links a span { color: #b28c50; font-size: 14px; flex: 0 0 auto; }
.nav-search-category-links a:hover { color: #214d39; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 980px) and (min-width: 721px) {
  .header-inner { gap: 17px; }
  .brand { min-width: 190px; }
  .main-nav { gap: 17px; }
  .main-nav a, .nav-search-trigger { font-size: 12px; }
  .nav-search-popover { left: auto; right: -80px; transform: none; }
}
@media (max-width: 760px) {
  .nav-search-popover { width: min(100%, calc(100vw - 36px)); max-height: 55vh; padding: 15px; }
  .nav-search-catalog-group { padding: 11px; }
  .nav-search-catalog-group h3 { font-size: 19px; }
  .nav-search-intent-links { grid-template-columns: 1fr; }
  .nav-search-intent-links a { font-size: 10px; }
}
@media (max-width: 720px) {
  body.nav-open .site-header { height: auto; min-height: 70px; }
  .nav-open .header-inner { height: auto; min-height: 70px; position: relative; flex-wrap: wrap; justify-content: flex-start; padding-block: 14px; }
  .nav-open .main-nav { display: flex; position: static; order: 2; width: 100%; flex-direction: column; align-items: stretch; gap: 5px; padding: 10px 0 0; border: 0; background: transparent; }
  .nav-open .main-nav>a, .nav-open .nav-search-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 40px; padding: 10px 0; font-size: 13px; }
  .nav-open .header-actions { display: flex; position: static; order: 3; width: 100%; flex-wrap: wrap; padding: 12px 0 0; border: 0; background: transparent; justify-content: flex-start; }
  .nav-open .mobile-menu-toggle { position: absolute; top: 17px; right: 0; }
  .nav-search-dropdown { width: 100%; }
  .nav-search-popover { position: static; transform: none; width: 100%; max-width: 100%; max-height: 52vh; margin: 8px 0; box-shadow: 0 8px 24px rgba(26,48,33,.09); }
}
@media (max-width: 440px) {
  .nav-search-catalogs { grid-template-columns: 1fr; }
  .nav-search-popover-heading h2 { font-size: 23px; }
}

/* v0.1.17: home page has a mixed all-publications feed with a clear unified filter. */
.hero-home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin-top:25px; }
.hero-home-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:11px; }
.hero-home-actions .btn span { font-size:16px; color:#ead7b0; }
.home-listings-section { padding-top:42px; }
.home-all-listings-filter { margin:20px 0 28px; padding:22px; border:1px solid #e5e2d8; border-radius:18px; background:#fffefa; box-shadow:0 10px 28px rgba(34,53,38,.045); }
.home-filter-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:22px; margin-bottom:18px; }
.home-filter-heading h3 { margin:5px 0 0; color:#203e2e; font:500 25px/1.18 Georgia,"Times New Roman",serif; letter-spacing:-.4px; }
.home-filter-heading p { max-width:340px; margin:0; color:#7a867b; font-size:11px; line-height:1.7; }
.home-all-listings-filter-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px 12px; align-items:end; }
.home-filter-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.home-filter-field>span { color:#526659; font-size:10px; font-weight:800; line-height:1.4; }
.home-filter-field input,.home-filter-field select { box-sizing:border-box; width:100%; min-width:0; min-height:42px; padding:10px 11px; border:1px solid #e1e4d9; border-radius:9px; outline:none; background:#fff; color:#263f30; font:12px/1.3 "Segoe UI","Noto Sans",Arial,sans-serif; }
.home-filter-field input::placeholder { color:#a0a89d; }
.home-filter-field input:focus,.home-filter-field select:focus { border-color:#699077; box-shadow:0 0 0 3px rgba(83,129,96,.12); }
.home-filter-field-wide { grid-column:span 2; }
.home-filter-actions { grid-column:1/-1; display:flex; align-items:center; gap:16px; padding-top:3px; }
.home-filter-actions .btn { min-width:180px; }
.home-filter-actions .filter-reset { padding:10px 4px; }
.home-listing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.home-listing-grid .listing-image { height:195px; }
.home-pagination { margin-top:32px; }
.nav-search-instruction { margin:0 0 12px; color:#7b867a; font-size:11px; line-height:1.6; }
.nav-search-route-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:8px; }
.nav-search-route-group { min-width:0; padding:15px; border:1px solid #e8e6dc; border-radius:13px; background:#fbfaf5; }
.nav-search-route-group h3 { margin:0 0 9px; color:#254936; font:500 21px/1.15 Georgia,"Times New Roman",serif; }
.nav-search-route-choice { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:39px; margin-top:6px; padding:9px 11px; border:1px solid #e1e8dc; border-radius:8px; background:#edf2e9; color:#315a40; font-size:11px; line-height:1.35; font-weight:800; text-align:left; cursor:pointer; transition:background .15s,border-color .15s; }
.nav-search-route-choice span { flex:0 0 auto; color:#a48754; font-size:15px; }
.nav-search-route-choice:hover { background:#e0eadc; border-color:#c7d6c5; }
.nav-search-second-step[hidden],.nav-search-category-stage[hidden],.nav-search-first-step[hidden] { display:none !important; }
.nav-search-back { margin:0 0 16px; padding:6px 0; border:0; background:transparent; color:#4d6b56; font-size:11px; font-weight:800; cursor:pointer; }
.nav-search-back:hover { color:#9a7945; }
.nav-search-step-heading { margin-bottom:10px; }
.nav-search-step-heading h3 { margin:5px 0 0; color:#203e2e; font:500 23px/1.2 Georgia,"Times New Roman",serif; }
.nav-search-all-categories { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 13px; border-radius:9px; background:#e9efe6; color:#2e5940; font-size:11px; font-weight:800; }
.nav-search-all-categories span { color:#a88750; font-size:15px; }
.nav-search-category-stage .nav-search-category-links { margin-top:9px; padding:0 11px; border:1px solid #e8e6dc; border-radius:11px; background:#fff; }
.nav-search-category-stage .nav-search-category-links a { padding:11px 1px; font-size:12px; }

@media (max-width: 1000px) {
  .home-listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-all-listings-filter-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-filter-field-wide { grid-column:span 2; }
}
@media (max-width: 760px) {
  .home-filter-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .home-filter-heading h3 { font-size:22px; }
  .home-filter-heading p { max-width:none; }
  .home-all-listings-filter { padding:16px; }
  .home-all-listings-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  .home-filter-field-wide,.home-filter-actions { grid-column:1/-1; }
  .home-filter-actions { align-items:stretch; flex-direction:column; gap:6px; }
  .home-filter-actions .btn { width:100%; }
  .home-filter-actions .filter-reset { text-align:center; }
  .home-listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-listing-grid .listing-image { height:165px; }
  .nav-search-route-groups { grid-template-columns:1fr; }
}
@media (max-width: 440px) {
  .home-listing-grid { grid-template-columns:1fr; }
  .home-listing-grid .listing-image { height:215px; }
  .hero-home-actions { align-items:stretch; flex-direction:column; }
  .hero-home-actions .btn { width:100%; }
}


/* v0.1.18 — nested accordion menus and smoother transitions */
html { scroll-behavior: smooth; }
a, button, .btn, .deal-panel, .deal-symbol, .intent-link, .nav-search-trigger, .nav-search-route-choice {
  transition-property: color, background-color, border-color, box-shadow, transform, opacity;
  transition-duration: .22s;
  transition-timing-function: cubic-bezier(.2,.7,.2,1);
}
.nav-search-dropdown[open] > .nav-search-popover {
  animation: nav-search-popover-in .32s cubic-bezier(.2,.75,.25,1) both;
  transform-origin: top center;
}
@keyframes nav-search-popover-in {
  from { opacity: 0; translate: 0 -9px; }
  to { opacity: 1; translate: 0 0; }
}
.nav-search-route-groups { align-items: start; }
.nav-search-route-group { display: flex; flex-direction: column; gap: 7px; }
.nav-search-option-item, .intent-accordion-item { min-width: 0; width: 100%; }
.nav-search-route-choice { margin-top: 0; min-height: 43px; font-size: 12px; border-radius: 10px; }
.nav-search-route-choice[aria-expanded="true"] { border-color: #88a48c; background: #e4ecdf; color: #1d4b34; }
.nav-search-route-choice .route-label { flex: 1 1 auto; min-width: 0; color: inherit; font-size: inherit; }
.accordion-chevron { display: inline-block; flex: 0 0 auto; font-size: 16px; line-height: 1; color: #a48754; transition: transform .3s cubic-bezier(.2,.75,.25,1), color .22s ease; }
[data-expand-trigger][aria-expanded="true"] .accordion-chevron { transform: rotate(180deg); color: #315a40; }
.accordion-expand-panel {
  display: grid;
  grid-template-rows: 0fr;
  margin-top: 0;
  opacity: 0;
  transition: grid-template-rows .38s cubic-bezier(.2,.75,.25,1), margin-top .32s ease, opacity .24s ease;
}
.accordion-expand-panel.is-expanded { grid-template-rows: 1fr; margin-top: 8px; opacity: 1; }
.accordion-panel-inner { min-height: 0; overflow: hidden; }
.nav-search-expanded-panel .nav-search-all-categories { margin-bottom: 7px; }
.nav-search-expanded-panel .nav-search-category-links { padding: 0 11px; border: 1px solid #e8e6dc; border-radius: 11px; background: #fff; }
.nav-search-expanded-panel .nav-search-category-links a { padding: 10px 1px; font-size: 12px; }
.nav-search-expanded-panel .nav-search-category-links a:hover { padding-left: 5px; }
.nav-search-route-choice .accordion-chevron { color: #a48754; }
.nav-search-route-choice[aria-expanded="true"] .accordion-chevron { color: #315a40; }

/* Homepage deal panels now expand the category list from the selected intent. */
.deal-panel { transition: transform .3s cubic-bezier(.2,.75,.25,1), box-shadow .3s ease, border-color .25s ease; }
.deal-panel.has-expanded-submenu { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(31,57,40,.09); }
.listing-intent-links { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 20px; }
.intent-accordion-item.is-expanded { position: relative; }
.intent-link {
  display: flex; width: 100%; align-items: center; justify-content: space-between; text-align: left;
  min-height: 43px; padding: 11px 14px; cursor: pointer; font: inherit; font-size: 12px; line-height: 1.35;
  appearance: none; -webkit-appearance: none; font-weight: 800; color: #28563e;
}
.intent-link .intent-label { font-size: 12px; color: inherit; }
.intent-link[aria-expanded="true"] { background: rgba(255,255,255,.95); border-color: #88a48c; box-shadow: 0 4px 13px rgba(37,75,49,.07); }
.intent-category-panel .category-all-link { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 9px; background: rgba(255,255,255,.76); color: #315b41; font-size: 11px; line-height: 1.35; font-weight: 800; }
.intent-category-panel .category-all-link:hover { background: #fff; color: #8e6d3c; }
.intent-category-panel .category-links { margin-top: 9px; padding: 3px 12px 0; max-width: none; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 16px; }
.intent-category-panel .category-links a { font-size: 11px; line-height: 1.4; }
.intent-category-panel .category-links a:hover { padding-left: 3px; }
.deal-panel.has-expanded-submenu .panel-full-link { margin-top: 13px; }

@media (max-width: 760px) {
  .nav-search-route-groups { grid-template-columns: 1fr; gap: 10px; }
  .nav-search-route-group { padding: 13px; }
  .nav-search-expanded-panel .nav-search-category-links a { padding-block: 11px; }
  .intent-category-panel .category-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nav-search-dropdown[open] > .nav-search-popover { animation: none; }
  .accordion-expand-panel, .accordion-chevron, .deal-panel, a, button, .btn { transition-duration: .01ms !important; }
}

/* v0.1.19: keep room-count controls out of sight when a land plot is selected. */
.home-filter-field[hidden], .catalog-filter-field[hidden] { display: none !important; }


/* v0.1.20 — adopt the approved panoramic homepage reference and contextual feed tabs. */
.container { width: min(1360px, calc(100% - 64px)); }
.header-inner { gap: clamp(14px, 1.7vw, 26px); }
.brand { min-width: 228px; }
.main-nav { flex: 0 0 auto; gap: clamp(15px, 1.7vw, 25px); }
.main-nav a { white-space: nowrap; }
.header-nav-chevron { margin-left: 2px; color: #9c8354; font-size: 13px; }
.header-search-form { flex: 1 1 260px; min-width: 180px; max-width: 365px; height: 43px; display: flex; align-items: center; gap: 8px; padding: 0 12px 0 16px; border: 1px solid #e2dfd4; border-radius: 999px; background: rgba(255,255,255,.72); transition: border-color .2s, box-shadow .2s, background .2s; }
.header-search-form:focus-within { border-color: #8ba68f; box-shadow: 0 0 0 4px rgba(48, 91, 61, .09); background: #fff; }
.header-search-form input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #254634; font: 12px/1.3 "Segoe UI", "Noto Sans", Arial, sans-serif; }
.header-search-form input::placeholder { color: #949e94; }
.header-search-form button { border: 0; padding: 2px; flex: 0 0 25px; width: 25px; height: 25px; display: grid; place-items: center; color: #315a43; background: transparent; cursor: pointer; }
.header-search-form svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }

.home-hero-panorama { min-height: 388px; position: relative; overflow: hidden; isolation: isolate; background: #e6e5d8; border-bottom: 1px solid rgba(210, 207, 192, .6); }
.home-hero-panorama:before { content: ""; position: absolute; z-index: -2; inset: 0; mask-image: none; -webkit-mask-image: none; background: url("../images/ingushetia-mountain-towers-hero.jpg") center 52% / cover no-repeat; transform: scale(1.002); }
.home-hero-panorama:after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(250,247,238,.98) 0%, rgba(250,247,238,.90) 24%, rgba(250,247,238,.63) 39%, rgba(250,247,238,.14) 58%, rgba(250,247,238,0) 73%); }
.home-hero-inner { display: flex; min-height: 388px; align-items: center; padding-block: 32px; }
.home-hero-copy { width: min(545px, 54%); max-width: 545px; padding: 4px 0 9px; }
.home-hero-location { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(183, 155, 107, .33); border-radius: 99px; color: #3f5b49; background: rgba(255,255,255,.54); font-size: 10px; line-height: 1.2; font-weight: 800; }
.home-hero-location>span { width: 7px; height: 7px; border-radius: 50%; background: #b28b50; box-shadow: 0 0 0 4px rgba(178,139,80,.13); }
.home-hero .hero h1, .home-hero .hero-copy h1, .home-hero h1 { max-width: 550px; margin: 15px 0 13px; font: 500 clamp(42px, 4.35vw, 61px)/.99 Georgia, "Times New Roman", serif; letter-spacing: -1.45px; color: #19392c; }
.home-hero h1 em { color: #8a6a3d; font-style: normal; }
.home-hero .hero-copy>p { max-width: 475px; margin: 0 0 21px; color: #455d4e; font-size: 13px; line-height: 1.8; }
.home-hero-actions { margin-top: 22px; gap: 14px; }
.home-hero-actions .btn { min-height: 43px; padding-inline: 20px; border-radius: 999px; font-size: 11px; }
.home-hero-actions .btn-primary { box-shadow: 0 7px 20px rgba(25, 69, 47, .14); }
.home-hero-actions .home-hero-post { background: rgba(255,255,255,.56); border: 1px solid rgba(67,89,69,.46); color: #244733; }
.home-hero-actions .home-hero-post:hover { background: #fff; border-color: #315c43; }
.home-hero-actions .home-hero-post:before { content: none; }

.home-categories-section { padding-block: 14px 17px; }
.home-category-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home-category-card { min-width: 0; padding: 16px 20px 15px; border-radius: 17px; border: 1px solid rgba(205, 213, 198, .85); overflow: hidden; position: relative; background: linear-gradient(125deg, #e9f0e7, rgba(236,241,231,.96)); }
.home-category-card:after { content: ""; position: absolute; right: -14px; bottom: -40px; width: 170px; height: 125px; background: url("../images/ingush-tower-ornament.svg") center/contain no-repeat; opacity: .13; pointer-events: none; }
.home-category-card.sale-panel { background: linear-gradient(125deg, #f5edde, rgba(245,237,220,.97)); border-color: rgba(220,207,180,.9); }
.home-category-heading { display: flex; align-items: center; gap: 13px; position: relative; z-index: 1; min-width: 0; }
.home-category-icon { width: 51px; height: 51px; flex: 0 0 51px; display: grid; place-items: center; border-radius: 50%; background: #194a37; color: #fff7e8; }
.home-category-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.home-category-icon-sale { background: #b39867; color: #fffdf6; }
.home-category-title { min-width: 0; flex: 1; }
.home-category-title h2 { margin: 0 0 2px; color: #204431; font: 600 23px/1.15 Georgia, "Times New Roman", serif; }
.sale-panel .home-category-title h2 { color: #6d542f; }
.home-category-title p { margin: 0; color: #607364; font-size: 11px; line-height: 1.5; }
.home-category-arrow { flex: 0 0 30px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #315a42; font-size: 21px; transition: transform .22s ease, background .22s ease; }
.home-category-arrow:hover { transform: translate(3px,-1px); background: rgba(255,255,255,.65); }
.home-category-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 0 64px; position: relative; z-index: 1; }
.home-category-chips a { padding: 6px 12px; border: 1px solid rgba(255,255,255,.9); border-radius: 999px; background: rgba(255,255,255,.74); color: #49634f; font-size: 10px; line-height: 1.2; box-shadow: 0 3px 8px rgba(40,59,39,.025); transition: transform .2s ease, background .2s ease, color .2s ease; }
.home-category-chips a:hover { background: #fff; color: #1e4a34; transform: translateY(-2px); }
.sale-panel .home-category-chips a { color: #725d3b; }

.home-listings-section { padding-top: 7px; padding-bottom: 55px; }
.home-listing-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.home-listing-title { min-width: 215px; }
.home-listing-title .eyebrow { font-size: 9px; letter-spacing: 1.25px; }
.home-listing-title h2 { margin: 4px 0 0; color: #183d2e; font: 500 clamp(25px, 2.6vw, 34px)/1.15 Georgia, "Times New Roman", serif; letter-spacing: -.55px; }
.home-results-count { margin: 5px 0 0; color: #7a877b; font-size: 10px; }
.home-results-count strong { color: #355e43; }
.home-feed-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.home-segmented-tabs { display: inline-flex; align-items: stretch; padding: 3px; gap: 1px; border: 1px solid #e2e1d7; background: rgba(255,255,255,.55); border-radius: 11px; }
.home-segmented-tabs a { display: flex; align-items: center; justify-content: center; min-height: 34px; padding: 8px 13px; border-radius: 8px; color: #637267; white-space: nowrap; font-size: 10px; font-weight: 700; transition: background .2s, color .2s, box-shadow .2s, transform .2s; }
.home-segmented-tabs a:hover { color: #214934; background: rgba(231,238,226,.7); }
.home-segmented-tabs a.active { color: #fff; background: #174b37; box-shadow: 0 3px 9px rgba(23,75,55,.15); }
.home-all-listings-filter { margin: 0 0 19px; padding: 12px 14px; border: 1px solid #e4e2d8; border-radius: 14px; background: rgba(255,254,250,.82); box-shadow: 0 7px 22px rgba(34,53,38,.035); }
.home-all-listings-filter-form { display: grid; grid-template-columns: minmax(150px,1.02fr) minmax(170px,1.1fr) minmax(190px,1.2fr) minmax(98px,.65fr) minmax(145px,.95fr) auto; gap: 11px; align-items: end; }
.home-filter-field { gap: 5px; }
.home-filter-field>span { font-size: 9px; letter-spacing: .1px; }
.home-filter-field input, .home-filter-field select { min-height: 37px; padding: 8px 9px; border-radius: 8px; font-size: 11px; }
.home-filter-price-pair { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.home-filter-actions { grid-column: auto; display: flex; align-items: center; gap: 8px; padding-top: 0; }
.home-filter-actions .btn { min-width: 83px; min-height: 37px; padding: 8px 12px; font-size: 11px; white-space: nowrap; }
.home-filter-actions .filter-reset { padding: 8px 1px; font-size: 10px; white-space: nowrap; }
.home-listing-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.home-listing-grid .listing-image { height: 175px; }
.home-listing-grid .listing-body { padding: 13px 14px 14px; }
.home-listing-grid .listing-price { font-size: 17px; }
.home-listing-grid .listing-title { font-size: 12px; }
.home-listing-grid .listing-meta { gap: 8px; }

@media (max-width: 1200px) {
  .container { width: min(100% - 44px, 1120px); }
  .header-inner { gap: 16px; }
  .brand { min-width: 206px; }
  .main-nav { gap: 14px; }
  .main-nav a { font-size: 11px; }
  .header-search-form { min-width: 145px; max-width: 260px; }
  .header-actions { gap: 9px; }
  .header-actions .btn { padding-inline: 11px; font-size: 10px; }
  .home-feed-controls { gap: 7px; }
  .home-segmented-tabs a { padding-inline: 10px; }
  .home-all-listings-filter-form { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .home-filter-price-pair { grid-column: span 1; }
  .home-filter-actions { grid-column: 1/-1; }
}
@media (max-width: 900px) {
  .home-listing-heading { align-items: flex-start; flex-direction: column; }
  .home-feed-controls { width: 100%; justify-content: flex-start; }
  .home-listing-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .home-listing-grid .listing-image { height: 155px; }
  .header-search-form { flex-basis: 190px; }
  .main-nav a:last-child { display: none; }
}
@media (max-width: 760px) {
  .container { width: min(100% - 32px, 600px); }
  .header-inner { flex-wrap: wrap; }
  .header-search-form { display: none; }
  .nav-open .header-search-form { display: flex; order: 3; width: 100%; max-width: none; flex: 0 0 100%; }
  .nav-open .main-nav { order: 2; }
  .nav-open .header-actions { order: 4; }
  .home-hero-panorama, .home-hero-inner { min-height: 365px; }
  .home-hero-panorama:before { background-position: 61% center; }
  .home-hero-panorama:after { background: linear-gradient(90deg, rgba(250,247,238,.97) 0%, rgba(250,247,238,.86) 52%, rgba(250,247,238,.26) 100%); }
  .home-hero-inner { padding-block: 30px; }
  .home-hero-copy { width: min(100%, 520px); }
  .home-hero h1 { font-size: clamp(38px, 7.3vw, 50px); }
  .home-hero .hero-copy>p { font-size: 12px; max-width: 400px; }
  .home-category-panels { grid-template-columns: 1fr; gap: 12px; }
  .home-category-card { padding: 15px 16px; }
  .home-category-icon { width: 45px; height: 45px; flex-basis: 45px; }
  .home-category-chips { margin-left: 58px; }
  .home-feed-controls { flex-direction: column; align-items: stretch; }
  .home-segmented-tabs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); width: 100%; }
  .home-segmented-tabs a { padding-inline: 6px; white-space: normal; text-align: center; }
  .home-all-listings-filter-form { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home-filter-price-pair { grid-column: span 2; }
  .home-filter-actions { grid-column: 1/-1; }
  .home-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .home-listing-grid .listing-image { height: 145px; }
}
@media (max-width: 440px) {
  .home-hero-actions { flex-direction: row; flex-wrap: wrap; }
  .home-hero-actions .btn { width: auto; flex: 1 1 145px; }
  .home-category-title h2 { font-size: 21px; }
  .home-category-chips { margin-left: 0; }
  .home-all-listings-filter-form { grid-template-columns: 1fr; }
  .home-filter-price-pair { grid-column: auto; }
  .home-filter-actions { grid-column: auto; flex-direction: row; }
  .home-filter-actions .btn { flex: 1; }
  .home-listing-grid { grid-template-columns: 1fr; }
  .home-listing-grid .listing-image { height: 215px; }
}


/* v0.1.21 — restore the selected third homepage composition. */
.home-page .site-header { height: 70px; }
.home-page .site-header .container { width: min(1400px, calc(100% - 48px)); }
.home-page .header-inner { height: 70px; gap: clamp(18px, 2vw, 30px); }
.home-page .brand { min-width: 265px; }
.home-page .main-nav { gap: clamp(18px, 2vw, 29px); }
.home-page .main-nav a:nth-child(3) { display: none; }
.home-page .header-search-form { max-width: 365px; min-width: 220px; }
.home-page .header-actions { gap: 18px; }
.home-page .home-hero-panorama { height: 416px; min-height: 416px; border: 0; overflow: hidden; }
.home-page .home-hero-panorama:before {
  background-image: url("../images/ingushetia-mountain-towers-hero.jpg");
  background-position: center 55%; background-size: cover; background-repeat: no-repeat;
  transform: scale(1.002);
}
.home-page .home-hero-panorama:after {
  background: linear-gradient(90deg, rgba(250,247,238,.97) 0%, rgba(250,247,238,.90) 24%, rgba(250,247,238,.66) 39%, rgba(250,247,238,.22) 55%, rgba(250,247,238,0) 70%);
}
.home-page .home-hero-inner { width: min(1400px, calc(100% - 48px)); min-height: 416px; height: 416px; display: flex; align-items: center; position: relative; padding-block: 25px 38px; }
.home-page .home-hero-copy { width: min(550px, 55%); max-width: 550px; padding: 0; }
.home-page .home-hero-location { padding: 7px 12px; font-size: 10px; background: rgba(255,255,255,.64); }
.home-page .home-hero h1 { max-width: 540px; margin: 14px 0 13px; font-size: clamp(45px, 4.55vw, 62px); line-height: 1.02; letter-spacing: -1.5px; }
.home-page .home-hero .hero-copy>p { max-width: 480px; margin-bottom: 0; font-size: 13px; line-height: 1.75; color: #455d4e; }
.home-page .home-hero-actions { gap: 13px; margin-top: 22px; }
.home-page .home-hero-actions .btn { min-height: 43px; padding: 11px 20px; border-radius: 999px; font-size: 11px; }
.home-page .home-hero-actions .home-hero-post { color: #244733; background: rgba(255,255,255,.67); border: 1px solid rgba(67,89,69,.46); box-shadow: none; }
.home-page .home-hero-controls { position: absolute; right: 8px; bottom: 22px; display: flex; align-items: center; gap: 9px; color: #fdf8ea; }
.home-page .hero-slide-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.7); box-shadow: 0 1px 4px rgba(0,0,0,.22); }
.home-page .hero-slide-dot.active { background: #fff; transform: scale(1.2); }
.home-page .hero-slide-arrow { width: 29px; height: 29px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; display: grid; place-items: center; background: rgba(20,45,32,.15); font: 24px/1 Georgia,serif; text-shadow: 0 1px 3px rgba(0,0,0,.25); }
.home-page .home-filter-dock { width: min(1400px, calc(100% - 48px)); position: relative; z-index: 5; margin: -18px auto 0; }
.home-page .home-all-listings-filter { margin: 0; padding: 13px 15px; border: 1px solid rgba(229,226,216,.95); border-radius: 17px; background: rgba(255,254,250,.97); box-shadow: 0 12px 30px rgba(34,53,38,.09); }
.home-page .home-all-listings-filter-form { display: grid; grid-template-columns: minmax(190px,1.12fr) minmax(178px,1.08fr) minmax(190px,1.16fr) minmax(190px,1.08fr) minmax(125px,.76fr) auto; gap: 10px; align-items: end; }
.home-page .home-filter-field { min-width: 0; gap: 5px; }
.home-page .home-filter-field>span:not(.visually-hidden) { display: block; font-size: 9px; font-weight: 650; color: #64756a; letter-spacing: 0; }
.home-page .home-filter-field input,
.home-page .home-filter-field select { min-width: 0; width: 100%; height: 37px; min-height: 37px; border: 1px solid #e5e2d8; border-radius: 9px; background: #fffdfa; padding: 8px 10px; font-size: 11px; color: #294a39; box-shadow: 0 2px 7px rgba(37,54,40,.025); }
.home-page .home-filter-query { display: flex; align-items: center; position: relative; padding-top: 0; }
.home-page .home-filter-query input { height: 46px; padding-left: 36px; border-radius: 12px; }
.home-page .home-filter-search-icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); z-index: 1; color: #335b45; font-size: 23px !important; line-height: 1; }
.home-page .home-filter-price-range { display: flex; flex-direction: column; }
.home-page .home-filter-price-pair { display: grid; grid-template-columns: minmax(0,1fr) 15px minmax(0,1fr); align-items: center; gap: 4px; }
.home-page .home-filter-price-pair label { min-width: 0; }
.home-page .home-filter-price-pair input { padding-inline: 8px; }
.home-page .home-price-separator { text-align: center; color: #99a298; font-size: 11px; }
.home-page .home-filter-actions { padding-top: 0; }
.home-page .home-filter-actions .btn { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 116px; min-height: 46px; padding: 10px 18px; border-radius: 12px; font-size: 12px; white-space: nowrap; }
.home-page .home-filter-actions .btn span { font-size: 18px; }
.home-page .home-listings-section { width: min(1400px, calc(100% - 48px)); padding-top: 38px; padding-bottom: 54px; }
.home-page .home-listing-heading { align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.home-page .home-listing-title .eyebrow { font-size: 9px; letter-spacing: 1px; color: #4f6b55; }
.home-page .home-listing-title h2 { margin: 6px 0 0; color: #163e30; font: 500 clamp(26px, 2.5vw, 32px)/1.1 Georgia, "Times New Roman", serif; letter-spacing: -.7px; }
.home-page .home-results-count { display: none; }
.home-page .home-feed-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap; gap: 12px; }
.home-page .home-segmented-tabs { flex: 0 0 auto; min-height: 38px; padding: 3px; border-radius: 10px; background: rgba(255,255,255,.45); }
.home-page .home-segmented-tabs a { min-height: 32px; padding: 7px 14px; font-size: 10px; border-radius: 7px; }
.home-page .home-deal-tabs a { min-width: 51px; }
.home-page .home-intent-tabs a { padding-inline: 13px; }
.home-page .home-sort-form { margin: 0 0 0 15px; min-width: 160px; }
.home-page .home-sort-form select { width: 100%; height: 38px; padding: 8px 12px; border: 1px solid #e3dfd4; border-radius: 10px; background: rgba(255,255,255,.55); color: #52665a; font-size: 10px; }
.home-page .home-listing-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.home-page .home-listing-grid .listing-image { height: 154px; }
.home-page .home-listing-grid .listing-body { padding: 13px 14px 14px; }
.home-page .home-listing-grid .listing-price { font-size: 17px; }
.home-page .home-listing-grid .listing-title { font-size: 12px; }
.home-page .home-listing-grid .listing-meta { gap: 8px; }
.home-page .home-pagination { margin-top: 24px; }
@media (max-width: 1250px) {
  .home-page .site-header .container, .home-page .home-hero-inner, .home-page .home-filter-dock, .home-page .home-listings-section { width: min(100% - 36px, 1400px); }
  .home-page .brand { min-width: 220px; }
  .home-page .home-all-listings-filter-form { grid-template-columns: minmax(160px,1fr) minmax(150px,1fr) minmax(160px,1.1fr) minmax(170px,1.1fr) minmax(110px,.75fr) auto; gap: 8px; }
  .home-page .home-feed-controls { gap: 7px; }
  .home-page .home-segmented-tabs a { padding-inline: 10px; }
  .home-page .home-sort-form { min-width: 145px; margin-left: 5px; }
}
@media (max-width: 980px) {
  .home-page .home-hero-panorama, .home-page .home-hero-inner { height: 395px; min-height: 395px; }
  .home-page .home-hero-copy { width: min(570px, 75%); }
  .home-page .home-all-listings-filter-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-page .home-filter-query { grid-column: span 2; }
  .home-page .home-filter-actions { grid-column: auto; }
  .home-page .home-listing-heading { align-items: flex-start; flex-direction: column; }
  .home-page .home-feed-controls { width: 100%; flex-wrap: wrap; justify-content: flex-start; }
  .home-page .home-sort-form { margin-left: auto; }
  .home-page .home-listing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .home-page .site-header { height: 68px; }
  .home-page .site-header .container, .home-page .home-hero-inner, .home-page .home-filter-dock, .home-page .home-listings-section { width: calc(100% - 28px); }
  .home-page .header-inner { height: 68px; gap: 10px; }
  .home-page .brand { min-width: 0; flex: 1 1 auto; gap: 9px; }
  .home-page .brand strong { font-size: 16px; }
  .home-page .brand small { font-size: 9px; }
  .home-page .brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
  .home-page .main-nav, .home-page .header-search-form { display: none; }
  .home-page .header-actions { gap: 7px; }
  .home-page .header-actions .btn-small { padding: 9px 10px; min-height: 36px; font-size: 10px; }
  .home-page .home-hero-panorama, .home-page .home-hero-inner { height: auto; min-height: 430px; }
  .home-page .home-hero-panorama:before { background-position: 65% center; }
  .home-page .home-hero-panorama:after { background: linear-gradient(90deg, rgba(250,247,238,.96) 0%, rgba(250,247,238,.88) 57%, rgba(250,247,238,.34) 100%); }
  .home-page .home-hero-inner { align-items: flex-start; padding-block: 38px 48px; }
  .home-page .home-hero-copy { width: 100%; max-width: 100%; }
  .home-page .home-hero h1 { font-size: clamp(40px, 10vw, 52px); }
  .home-page .home-hero .hero-copy>p { max-width: 390px; font-size: 12px; }
  .home-page .home-hero-actions { flex-wrap: wrap; gap: 8px; }
  .home-page .home-hero-actions .btn { flex: 1 1 145px; padding-inline: 12px; }
  .home-page .home-hero-controls { right: 0; bottom: 14px; }
  .home-page .home-filter-dock { margin-top: -17px; }
  .home-page .home-all-listings-filter { padding: 11px; border-radius: 14px; }
  .home-page .home-all-listings-filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .home-page .home-filter-query { grid-column: 1/-1; }
  .home-page .home-filter-field>span { font-size: 9px; }
  .home-page .home-filter-price-pair { grid-template-columns: minmax(0,1fr) 12px minmax(0,1fr); }
  .home-page .home-filter-actions { grid-column: 1/-1; }
  .home-page .home-filter-actions .btn { width: 100%; }
  .home-page .home-listings-section { padding-top: 28px; }
  .home-page .home-listing-title h2 { font-size: 27px; }
  .home-page .home-feed-controls { display: grid; grid-template-columns: 1fr; align-items: stretch; }
  .home-page .home-segmented-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
  .home-page .home-segmented-tabs a { white-space: normal; text-align: center; padding-inline: 5px; }
  .home-page .home-sort-form { min-width: 0; width: 100%; margin: 0; }
  .home-page .home-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .home-page .home-listing-grid .listing-image { height: 140px; }
  .home-page .home-listing-grid .listing-body { padding: 10px; }
  .home-page .home-listing-grid .listing-price { font-size: 15px; }
  .home-page .home-listing-grid .listing-title { font-size: 11px; }
}
@media (max-width: 420px) {
  .home-page .home-listing-grid { grid-template-columns: 1fr; }
  .home-page .home-listing-grid .listing-image { height: 205px; }
}


/* v0.1.21 — selected third concept, with usable favorites controls. */
.home-page .home-hero-panorama:before { background-position: var(--hero-pan-x, 55%) center; transition: background-position .65s cubic-bezier(.22,.7,.25,1); }
.home-page .hero-slide-dot { appearance:none; border:0; padding:0; cursor:pointer; transition: transform .22s ease, background .22s ease; }
.home-page .hero-slide-dot:hover { transform: scale(1.35); }
.home-page .hero-slide-arrow { appearance:none; cursor:pointer; padding:0; transition: background .2s ease, transform .2s ease; }
.home-page .hero-slide-arrow:hover { background: rgba(20,45,32,.36); transform: scale(1.04); }
.home-favorites-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:0 0 auto; color:#435b4d; text-decoration:none; font-size:12px; font-weight:650; white-space:nowrap; transition:color .2s ease; }
.home-favorites-link:hover { color:#1b4d36; }
.home-favorites-link svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.home-favorites-count { display:inline-grid; place-items:center; min-width:17px; height:17px; padding-inline:4px; border-radius:99px; background:#e7eee4; color:#214e38; font-size:9px; font-weight:800; }
.home-favorites-count[hidden] { display:none !important; }
.listing-card { position:relative; }
.favorite-toggle { position:absolute; z-index:4; top:11px; right:11px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid rgba(255,255,255,.88); border-radius:50%; background:rgba(255,255,255,.95); color:#4c6154; font:24px/1 Arial,sans-serif; box-shadow:0 3px 12px rgba(0,0,0,.13); cursor:pointer; transition:transform .18s ease, color .18s ease, background .18s ease; }
.favorite-toggle:hover { transform:scale(1.08); }
.favorite-toggle.is-favorite { color:#a13f42; background:#fff7f3; }
.favorites-modal[hidden] { display:none !important; }
.favorites-modal { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:20px; }
.favorites-backdrop { position:absolute; inset:0; background:rgba(16,39,28,.42); backdrop-filter:blur(4px); animation:favorites-fade .18s ease-out; }
.favorites-dialog { position:relative; z-index:1; width:min(620px,100%); max-height:min(78vh,760px); overflow:auto; border:1px solid #e8e2d5; border-radius:20px; background:#fbfaf6; box-shadow:0 24px 80px rgba(14,38,26,.24); padding:22px; animation:favorites-rise .24s cubic-bezier(.2,.7,.25,1); }
.favorites-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-bottom:17px; border-bottom:1px solid #e8e4da; }
.favorites-dialog-heading h2 { margin:5px 0 0; color:#193d2f; font:500 30px/1.1 Georgia,"Times New Roman",serif; }
.favorites-dialog-close { width:36px; height:36px; border:1px solid #e1ded3; border-radius:50%; background:#fff; color:#345543; font-size:25px; line-height:1; cursor:pointer; }
.favorites-list { display:grid; gap:10px; padding-top:15px; }
.favorite-row { display:grid; grid-template-columns:84px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px; border:1px solid #e8e4da; border-radius:13px; background:#fffefa; }
.favorite-row-image,.favorite-row-placeholder { width:84px; height:65px; border-radius:8px; object-fit:cover; background:#e8eee6; }
.favorite-row-placeholder { display:grid; place-items:center; color:#41664f; font:26px Georgia,serif; }
.favorite-row-body { min-width:0; }
.favorite-row-title { display:block; overflow:hidden; color:#1c4633; font-size:13px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
.favorite-row-price { margin-top:4px; color:#274f3a; font-size:12px; font-weight:800; }
.favorite-row-city { margin-top:3px; color:#819084; font-size:10px; }
.favorite-row-remove { padding:7px 9px; border:1px solid #e7e1d5; border-radius:8px; background:#fff; color:#7d574b; font-size:10px; cursor:pointer; }
.favorite-row-remove:hover { background:#fbefea; }
.favorites-empty { display:grid; justify-items:center; gap:8px; padding:30px 16px 26px; text-align:center; }
.favorites-empty-icon { color:#b89a6a; font:46px/1 Georgia,serif; }
.favorites-empty strong { color:#244b36; font-size:14px; }
.favorites-empty p { max-width:340px; margin:0; color:#7c897f; font-size:12px; line-height:1.65; }
body.favorites-modal-open { overflow:hidden; }
@keyframes favorites-fade { from{opacity:0} to{opacity:1} }
@keyframes favorites-rise { from{opacity:0;transform:translateY(8px) scale(.99)} to{opacity:1;transform:translateY(0) scale(1)} }
@media (max-width:1250px) {
  .home-page .home-favorites-link { gap:5px; font-size:11px; }
  .home-page .brand { min-width:215px; }
}
@media (max-width:680px) {
  .home-page .home-favorites-link { display:none; }
  .favorite-toggle { top:7px; right:7px; width:30px; height:30px; font-size:22px; }
  .favorites-dialog { padding:16px; border-radius:16px; }
  .favorites-dialog-heading h2 { font-size:25px; }
  .favorite-row { grid-template-columns:64px minmax(0,1fr); gap:9px; }
  .favorite-row-image,.favorite-row-placeholder { width:64px; height:57px; }
  .favorite-row-remove { grid-column:2; justify-self:start; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .home-hero-panorama:before, .home-page .hero-slide-dot, .home-page .hero-slide-arrow, .favorites-dialog, .favorites-backdrop { transition:none !important; animation:none !important; }
}

/* v0.1.22 — contextual intent switcher and clear rent/sale entry points in the hero. */
.home-page .home-hero-inner { overflow: visible; }
.home-page .home-hero-catalog-links {
  position: absolute;
  z-index: 2;
  left: 40.5%;
  top: 51%;
  transform: translateY(-42%);
  width: min(440px, 36%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.home-page .home-hero-catalog-link {
  min-width: 0;
  min-height: 135px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr;
  align-content: start;
  align-items: center;
  gap: 13px 9px;
  padding: 17px 15px 15px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 17px;
  background: rgba(255, 253, 246, .86);
  color: #1d4935;
  text-decoration: none;
  box-shadow: 0 14px 32px rgba(30, 49, 36, .12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform .24s cubic-bezier(.2,.7,.25,1), box-shadow .24s ease, background .24s ease, border-color .24s ease;
}
.home-page .home-hero-catalog-link:hover { transform: translateY(-4px); box-shadow: 0 19px 38px rgba(30,49,36,.18); background: rgba(255,255,251,.96); border-color: #fff; }
.home-page .home-hero-catalog-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 50%; color: #fff9ea; background: #194a37; }
.home-page .home-hero-catalog-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.home-page .home-hero-catalog-copy { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.home-page .home-hero-catalog-copy strong { color: #214632; font: 600 17px/1.1 Georgia, "Times New Roman", serif; }
.home-page .home-hero-catalog-copy small { color: #67766a; font-size: 10px; line-height: 1.45; }
.home-page .home-hero-catalog-arrow { grid-column: 3; grid-row: 1; align-self: start; color: #7d906f; font-size: 20px; line-height: 1; transition: transform .2s ease; }
.home-page .home-hero-catalog-link:hover .home-hero-catalog-arrow { transform: translate(2px,-2px); }
.home-page .home-hero-catalog-sale { background: rgba(247, 239, 222, .9); border-color: rgba(255,249,236,.84); color: #795d34; }
.home-page .home-hero-catalog-sale .home-hero-catalog-icon { background: #b39867; }
.home-page .home-hero-catalog-sale .home-hero-catalog-copy strong { color: #73562f; }
.home-page .home-hero-catalog-sale .home-hero-catalog-copy small { color: #806e50; }
.home-page .home-hero-catalog-sale .home-hero-catalog-arrow { color: #a18455; }
.home-page .home-intent-tabs { animation: home-intent-appear .22s ease-out both; }
@keyframes home-intent-appear { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1120px) {
  .home-page .home-hero-catalog-links { left: 46%; width: min(420px, 34%); gap: 9px; }
  .home-page .home-hero-catalog-link { padding: 14px 12px; min-height: 125px; grid-template-columns: 1fr auto; }
  .home-page .home-hero-catalog-icon { width: 34px; height: 34px; grid-column: 1; }
  .home-page .home-hero-catalog-copy { grid-column: 1 / -1; grid-row: 2; }
  .home-page .home-hero-catalog-arrow { grid-column: 2; grid-row: 1; }
}
@media (max-width: 980px) {
  .home-page .home-hero-copy { width: min(500px, 54%); }
  .home-page .home-hero-catalog-links { left: auto; right: 0; top: auto; bottom: 41px; transform: none; width: 39%; }
  .home-page .home-hero-catalog-link { min-height: 105px; padding: 12px; }
  .home-page .home-hero-catalog-copy strong { font-size: 15px; }
  .home-page .home-hero-catalog-copy small { font-size: 9px; }
}
@media (max-width: 680px) {
  .home-page .home-hero-inner { flex-direction: column; align-items: stretch; }
  .home-page .home-hero-catalog-links { position: relative; left: auto; right: auto; top: auto; bottom: auto; transform: none; width: 100%; margin: 20px 0 0; }
  .home-page .home-hero-catalog-link { min-height: 96px; padding: 11px; border-radius: 13px; gap: 8px; }
  .home-page .home-hero-catalog-copy strong { font-size: 14px; }
  .home-page .home-hero-catalog-copy small { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .home-hero-catalog-link, .home-page .home-hero-catalog-arrow, .home-page .home-intent-tabs { transition: none !important; animation: none !important; }
}
@media (max-width: 1250px) {
  .home-page .home-hero-copy { width: min(500px, 43%); }
  .home-page .home-hero-catalog-links { left: 46%; width: min(420px, 34%); gap: 9px; }
}


/* My listings: status filters, search and pagination */
.dashboard-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashboard-section-heading { align-items: flex-end; gap: 18px; }
.dashboard-section-heading > p { max-width: 390px; margin: 0 0 5px; color: #78867b; font-size: 12px; line-height: 1.65; }
.dashboard-search { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; }
.dashboard-search-field { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1; border: 1px solid #e1e5da; border-radius: 11px; background: #fff; padding: 0 13px; color: #64816c; }
.dashboard-search-field > span:first-of-type { font-size: 23px; line-height: 1; }
.dashboard-search-field input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; padding: 13px 0; color: #244b36; font: inherit; font-size: 12px; }
.dashboard-search-field:focus-within { border-color: #8eaf92; box-shadow: 0 0 0 3px rgba(54, 104, 70, .08); }
.dashboard-search .btn { min-height: 43px; padding: 0 18px; }
.dashboard-clear-link { padding: 8px 2px; color: #66776a; font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.dashboard-status-tabs { display: flex; gap: 7px; overflow-x: auto; padding: 3px 1px 10px; margin-bottom: 11px; scrollbar-width: thin; }
.dashboard-status-tab { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; border: 1px solid #e4e6dc; border-radius: 999px; padding: 9px 12px; background: #fff; color: #5d7161; font-size: 11px; font-weight: 750; transition: background .16s ease, border-color .16s ease, color .16s ease; }
.dashboard-status-tab:hover { border-color: #b8c9b6; color: #24583b; }
.dashboard-status-tab.is-active { border-color: #234f37; background: #234f37; color: #fff9ed; }
.dashboard-tab-count { display: inline-grid; min-width: 21px; height: 21px; place-items: center; border-radius: 99px; padding: 0 5px; background: #f0f2eb; color: #58705d; font-size: 10px; font-variant-numeric: tabular-nums; }
.dashboard-status-tab.is-active .dashboard-tab-count { background: rgba(255, 255, 255, .15); color: #fff9ed; }
.dashboard-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; color: #829084; font-size: 11px; }
.dashboard-results-heading p { margin: 0; }
.dashboard-results-heading strong { color: #31563d; font-weight: 800; }
.dashboard-thumb { text-decoration: none; }
.dashboard-listing-info { min-width: 0; }
.dashboard-listing-info .listing-title { display: inline-block; overflow-wrap: anywhere; }
.dashboard-listing-actions form { margin: 0; }
.dashboard-listing-actions .danger-link { padding: 0; border: 0; background: none; cursor: pointer; text-align: left; }
.dashboard-pagination { display: flex; align-items: center; justify-content: center; gap: 20px; margin: 23px 0 5px; color: #5d7161; font-size: 11px; }
.dashboard-pagination a { display: inline-flex; align-items: center; min-height: 38px; border: 1px solid #e1e6dc; border-radius: 10px; padding: 0 13px; background: #fff; color: #2e6042; font-weight: 800; }
.dashboard-pagination a:hover { border-color: #a9c2a9; background: #f7f9f3; }
.dashboard-pagination .is-disabled { color: #aab3aa; }
.dashboard-page-number { font-variant-numeric: tabular-nums; }
.dashboard-filter-empty { margin: 8px 0 30px; border: 1px dashed #d9dfd2; border-radius: 16px; padding: 34px 22px; background: #fbfcf8; text-align: center; }
.dashboard-filter-empty .empty-icon { color: #8a9b89; }
.dashboard-filter-empty h3 { margin: 9px 0 7px; color: #234832; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 500; }
.dashboard-filter-empty p { margin: 0 auto 18px; max-width: 420px; color: #7d897e; font-size: 12px; line-height: 1.7; }
@media (max-width: 980px) {
  .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-stats > div { padding: 14px 13px; }
  .dashboard-section-heading { align-items: flex-start; }
  .dashboard-section-heading > p { font-size: 11px; }
  .dashboard-search { flex-wrap: wrap; }
  .dashboard-search-field { flex-basis: 100%; }
  .dashboard-search .btn { flex: 1; }
  .dashboard-clear-link { padding-inline: 8px; }
  .dashboard-status-tabs { margin-inline: -2px; }
  .dashboard-listing { align-items: start; }
  .dashboard-listing-actions { min-width: 0; }
  .dashboard-listing-actions a, .dashboard-listing-actions button { overflow-wrap: anywhere; }
  .dashboard-results-heading { align-items: flex-start; }
  .dashboard-pagination { gap: 10px; }
  .dashboard-pagination a { padding: 0 10px; }
  .dashboard-pagination .dashboard-page-number { min-width: 42px; text-align: center; }
}

/* v0.1.24 — listing detail gallery, contact actions and share affordances. */
.detail-layout-enhanced { align-items: start; }
.detail-gallery-enhanced { display: block; min-width: 0; }
.detail-gallery-view { overflow: hidden; border: 1px solid #e5e8df; border-radius: 20px; background: #f1f0e9; }
.detail-gallery-open { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: left; }
.detail-gallery-open img { display: block; width: 100%; height: clamp(280px, 42vw, 510px); object-fit: cover; border-radius: 0; }
.detail-gallery-zoom { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,.7); border-radius: 99px; padding: 8px 12px; background: rgba(255,255,255,.94); color: #294b39; font-size: 11px; font-weight: 750; box-shadow: 0 5px 18px rgba(16,34,24,.12); }
.detail-gallery-zoom span { font-size: 17px; line-height: 1; }
.detail-gallery-open:focus-visible, .detail-gallery-thumb:focus-visible, .detail-lightbox button:focus-visible { outline: 3px solid #b38a4a; outline-offset: 3px; }
.detail-gallery-thumbs { display: flex; gap: 9px; overflow-x: auto; padding: 12px 2px 4px; scrollbar-width: thin; }
.detail-gallery-thumb { flex: 0 0 88px; width: 88px; padding: 3px; border: 1px solid #e0e5dc; border-radius: 11px; background: #fff; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease; }
.detail-gallery-thumb img { display: block; width: 100%; height: 65px; border-radius: 7px; object-fit: cover; }
.detail-gallery-thumb.is-active { border-color: #285d3e; box-shadow: 0 0 0 2px rgba(40,93,62,.16); }
.detail-lightbox { width: min(96vw, 1180px); max-width: none; max-height: 94vh; padding: 0; border: 0; border-radius: 18px; background: #101510; color: #fff; overflow: visible; }
.detail-lightbox::backdrop { background: rgba(9,17,12,.88); backdrop-filter: blur(4px); }
.detail-lightbox-inner { position: relative; display: grid; place-items: center; min-height: 180px; padding: 24px 64px 50px; }
.detail-lightbox-inner > img { display: block; max-width: 100%; max-height: 78vh; object-fit: contain; border-radius: 5px; }
.detail-lightbox-close { position: absolute; z-index: 2; top: 8px; right: 8px; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(0,0,0,.42); color: #fff; font-size: 28px; cursor: pointer; }
.detail-lightbox-arrow { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 42px; height: 52px; padding: 0; border: 1px solid rgba(255,255,255,.3); border-radius: 12px; background: rgba(0,0,0,.38); color: #fff; font-size: 36px; line-height: 1; cursor: pointer; transform: translateY(-50%); }
.detail-lightbox-prev { left: 12px; }
.detail-lightbox-next { right: 12px; }
.detail-lightbox-caption { position: absolute; right: 12px; bottom: 12px; left: 12px; margin: 0; color: rgba(255,255,255,.8); text-align: center; font-size: 12px; }
.detail-deal-kind { display: block; margin-bottom: 10px; color: #617968; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.contact-card-enhanced .detail-price { color: #1b4430; }
.contact-card-enhanced .detail-price small { font-size: 12px; font-weight: 600; letter-spacing: 0; }
.detail-contact-actions { display: grid; gap: 9px; margin: 18px 0 5px; }
.detail-contact-actions .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.btn-whatsapp { border: 1px solid #b5d4ba; background: #edf7ed; color: #205b34; font-weight: 800; text-decoration: none; }
.btn-whatsapp:hover { border-color: #83b58c; background: #e0f0e1; color: #17492a; }
.btn-whatsapp span, .detail-share-button span { font-size: 17px; line-height: 1; }
.detail-favorite-button { border-color: #e3e6dc; background: #fff; color: #355845; font-weight: 750; }
.detail-favorite-button.is-favorite { border-color: #e8cdca; background: #fff7f5; color: #9b4047; }
.detail-share-status { min-height: 16px; color: #55705e; font-size: 11px; text-align: center; }
.detail-share-button:disabled { cursor: wait; opacity: .7; }
@media (max-width: 720px) {
  .detail-gallery-open img { height: clamp(230px, 68vw, 360px); }
  .detail-gallery-thumb { flex-basis: 72px; width: 72px; }
  .detail-gallery-thumb img { height: 54px; }
  .detail-lightbox { width: 100vw; max-width: 100vw; max-height: 100dvh; min-height: 100dvh; border-radius: 0; }
  .detail-lightbox-inner { min-height: 100dvh; padding: 66px 42px 65px; }
  .detail-lightbox-inner > img { max-height: 76dvh; }
  .detail-lightbox-prev { left: 4px; }
  .detail-lightbox-next { right: 4px; }
  .detail-lightbox-arrow { width: 34px; height: 46px; }
  .contact-card-enhanced { box-shadow: 0 8px 24px rgba(29,53,37,.07); }
}
@media (prefers-reduced-motion: reduce) {
  .detail-gallery-thumb { transition: none; }
}


/* v0.1.25 — compact portrait gallery thumbnails and consistent inner-page header actions. */
/* The legacy .detail-gallery img:only-child rule accidentally gave each thumbnail image
   the full-size gallery height. This more-specific rule keeps the thumbnail rail compact. */
.detail-gallery-enhanced .detail-gallery-thumb {
  flex: 0 0 70px;
  width: 70px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
  overflow: hidden;
}
.detail-gallery-enhanced .detail-gallery-thumb img {
  display: block;
  width: 100%;
  height: 82px;
  max-height: 82px;
  object-fit: contain;
  border-radius: 6px;
  background: #f5f4ee;
}

/* Use the homepage's generous header width and keep account actions on one line. */
@media (min-width: 761px) {
  body:not(.home-page) .site-header { height: 70px; }
  body:not(.home-page) .site-header > .container {
    width: min(1400px, calc(100% - 48px));
  }
  body:not(.home-page) .site-header .header-inner {
    height: 70px;
    flex-wrap: nowrap;
    gap: clamp(12px, 1.5vw, 23px);
  }
  body:not(.home-page) .site-header .brand {
    min-width: 228px;
    flex: 0 0 auto;
  }
  body:not(.home-page) .site-header .main-nav {
    flex: 0 0 auto;
    gap: clamp(15px, 1.6vw, 24px);
  }
  body:not(.home-page) .site-header .main-nav a:nth-child(3) { display: none; }
  body:not(.home-page) .site-header .header-search-form {
    flex: 1 1 220px;
    min-width: 180px;
    max-width: 300px;
  }
  body:not(.home-page) .site-header .home-favorites-link {
    flex: 0 0 auto;
    white-space: nowrap;
    gap: 6px;
    font-size: 11px;
  }
  body:not(.home-page) .site-header .header-actions {
    flex: 0 0 auto;
    gap: clamp(8px, 1vw, 16px);
    white-space: nowrap;
  }
  body:not(.home-page) .site-header .header-actions .btn-small {
    min-height: 40px;
    padding: 10px 15px;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    flex: 0 0 auto;
  }
  body:not(.home-page) .site-header .header-actions .btn-light { min-width: 105px; }
}

@media (min-width: 761px) and (max-width: 1200px) {
  body:not(.home-page) .site-header > .container { width: calc(100% - 36px); }
  body:not(.home-page) .site-header .header-inner { gap: 10px; }
  body:not(.home-page) .site-header .brand { min-width: 188px; }
  body:not(.home-page) .site-header .main-nav { gap: 13px; }
  body:not(.home-page) .site-header .main-nav a { font-size: 11px; }
  body:not(.home-page) .site-header .header-search-form {
    flex-basis: 150px;
    min-width: 145px;
    max-width: 220px;
  }
  body:not(.home-page) .site-header .home-favorites-link { gap: 5px; font-size: 10px; }
  body:not(.home-page) .site-header .home-favorites-link svg { width: 16px; height: 16px; }
  body:not(.home-page) .site-header .header-actions { gap: 7px; }
  body:not(.home-page) .site-header .header-actions .btn-small {
    padding-inline: 10px;
    font-size: 10px;
  }
}

@media (max-width: 720px) {
  .detail-gallery-enhanced .detail-gallery-thumb {
    flex-basis: 62px;
    width: 62px;
    height: 80px;
  }
  .detail-gallery-enhanced .detail-gallery-thumb img {
    height: 72px;
    max-height: 72px;
  }
}

/* Do not let the two key account actions split their labels on narrower layouts. */
.site-header .header-actions .btn-small { white-space: nowrap; }
