.catalog-query{display:grid;gap:8px;padding:4px 30px 22px;font-size:14px;font-weight:600}.catalog-query input{width:100%;min-width:0;min-height:48px;border:1px solid #dcd8d2;border-radius:12px;padding:12px 16px;font:inherit;font-size:16px;background:#faf9f7}.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.catalog-pagination .button{min-height:44px}.catalog-pagination button:disabled{opacity:.45;cursor:default}.property-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;min-height:220px;background:#eae7e0;color:#595650;text-align:center;padding:24px}.property-placeholder>.icon{width:44px;height:44px}.property-price{font-size:20px;line-height:1.5}.property-card-bottom{gap:12px}.property-price{min-width:0;overflow-wrap:anywhere}.public-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.public-gallery img{width:100%;height:210px;object-fit:cover;border-radius:12px}.public-typologies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.public-typologies>div{padding:14px;background:#f5f3ee;border:1px solid #e6e1d8;border-radius:12px;display:grid;gap:7px;font-size:14px}.contact-options{display:grid;gap:12px;margin:24px 0}.contact-options>a{white-space:normal;text-align:center}.field-note{font-size:13px;color:#625d57}.property-grid[aria-busy=true]{opacity:.55;pointer-events:none}.detail-tags{flex-wrap:wrap}.detail-description{white-space:pre-line}.detail-photo.property-placeholder{height:280px}

/* Theme toggle & dynamic overlay controls */
.home-theme-toggle{border:1px solid #d9d6cf;border-radius:6px;padding:10px 13px;background:rgba(255,255,255,.65);color:var(--ink);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650;transition:background .2s,border-color .2s,color .2s;min-height:42px}
.home-theme-toggle:hover{background:#ece9e3;border-color:#c6c2b9}
.home-theme-toggle .icon{width:16px;height:16px}
.home-theme-toggle .theme-icon-sun{display:none}
html[data-theme="dark"] .home-theme-toggle .theme-icon-moon{display:none}
html[data-theme="dark"] .home-theme-toggle .theme-icon-sun{display:block;color:#f6b94d}

.hero-visual[data-overlay="none"]:after{background:none}
.hero-visual[data-overlay="soft"]:after{background:linear-gradient(180deg,#0001 0%,transparent 40%,#0003 100%)}
.hero-visual[data-overlay="medium"]:after{background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.48) 100%)}
.hero-visual[data-overlay="strong"]:after{background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.68) 100%)}

.neighborhood-card[data-has-photo="1"]{background-size:cover;background-position:center;color:#fff;border-color:rgba(255,255,255,.22)}
.neighborhood-card[data-has-photo="1"]:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,17,.45) 0%,rgba(15,18,17,.22) 45%,rgba(15,18,17,.82) 100%);pointer-events:none}
.neighborhood-card[data-has-photo="1"]>*{position:relative;z-index:1}
.neighborhood-card[data-has-photo="1"] strong,.neighborhood-card[data-has-photo="1"] small,.neighborhood-card[data-has-photo="1"] .neighborhood-number{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.45)}

/* Dark Mode for the Public Homepage */
html[data-theme="dark"]{
  color-scheme:dark;
  --cream:#121514;
  --ink:#f3f0ea;
  --muted:#a9a49b;
  --line:#2a302e;
  --white:#1a1f1d;
}
html[data-theme="dark"] body{background:var(--cream);color:var(--ink)}
html[data-theme="dark"] .skip-link{background:#1a1f1d;color:#f3f0ea;border:1px solid #353d3a}
html[data-theme="dark"] .site-header{background:rgba(18,21,20,.94);border-bottom-color:#262c2a;backdrop-filter:blur(12px)}
html[data-theme="dark"] .brand img{filter:brightness(0) invert(1);opacity:.93}
html[data-theme="dark"] .portal-link,
html[data-theme="dark"] .home-theme-toggle{background:#1b201e;border-color:#323a37;color:#f3f0ea}
html[data-theme="dark"] .portal-link:hover,
html[data-theme="dark"] .home-theme-toggle:hover{background:#252c29;border-color:#434d49}
html[data-theme="dark"] .mobile-nav{background:#161a19;border-bottom:1px solid #2a302e;box-shadow:0 18px 36px rgba(0,0,0,.55)}
html[data-theme="dark"] .hero-line{background:#3a423f}
html[data-theme="dark"] .hero-spark{color:#6d5c4c}
html[data-theme="dark"] .hero-visual{background:#1c211f;border:1px solid #2b3230}
html[data-theme="dark"] .hero-sticker{background:rgba(31,26,22,.94);color:#f7efe4;border:1px solid rgba(233,88,50,.35);box-shadow:0 12px 28px rgba(0,0,0,.45)}
html[data-theme="dark"] .hero-photo-caption{background:rgba(24,28,27,.92);border:1px solid #323a37;color:#f3f0ea;box-shadow:0 12px 32px rgba(0,0,0,.45)}
html[data-theme="dark"] .caption-icon{background:#2b231d;color:#f0845c}
html[data-theme="dark"] .hero-photo-caption a{background:#242b28;border-color:#38413e;color:#f3f0ea}
html[data-theme="dark"] .search-card{background:#181c1b;border-color:#2b3230;box-shadow:0 18px 46px rgba(0,0,0,.42)}
html[data-theme="dark"] .search-tabs button{color:#969289}
html[data-theme="dark"] .search-tabs button.active{color:#f3f0ea}
html[data-theme="dark"] .search-top-note{color:#9d988e}
html[data-theme="dark"] .catalog-query input{background:#121615;border-color:#2e3633;color:#f3f0ea}
html[data-theme="dark"] .catalog-query input::placeholder{color:#7f7c74}
html[data-theme="dark"] .search-field>span:first-child{color:#b0aba1}
html[data-theme="dark"] .search-field select,
html[data-theme="dark"] .search-field input{background:transparent;color:#f3f0ea}
html[data-theme="dark"] .search-field select option,
html[data-theme="dark"] .search-field select optgroup,
html[data-theme="dark"] .advanced-grid select option,
html[data-theme="dark"] .sort-label select option{background:#181c1b;color:#f3f0ea}
html[data-theme="dark"] .advanced-toggle,
html[data-theme="dark"] .clear-filters:not(.button){color:#b0aba1}
html[data-theme="dark"] .advanced-fields{background:#141817;border-top-color:#2a302e}
html[data-theme="dark"] .advanced-grid input,
html[data-theme="dark"] .advanced-grid select,
html[data-theme="dark"] .contact-dialog input,
html[data-theme="dark"] .contact-dialog textarea{background:#1b201e;border-color:#313936;color:#f3f0ea}
html[data-theme="dark"] .search-error{color:#ff8970}
html[data-theme="dark"] .demo-caption{color:#9a958b}
html[data-theme="dark"] .favorite-count{background:#262d2a;color:#f3f0ea}
html[data-theme="dark"] .filter-chip{background:#232927;border-color:#353e3b;color:#f3f0ea}
html[data-theme="dark"] .property-card{background:#181c1b;border-color:#2b3230}
html[data-theme="dark"] .property-card:hover{box-shadow:0 16px 34px rgba(0,0,0,.45)}
html[data-theme="dark"] .property-image{background:#212725}
html[data-theme="dark"] .property-placeholder{background:#1e2422;color:#a9a49b}
html[data-theme="dark"] .property-badge{background:rgba(24,28,27,.92);color:#f3f0ea;border:1px solid #353e3b}
html[data-theme="dark"] .property-badge.launch{background:#382a1e;color:#f4cda6}
html[data-theme="dark"] .save-property{background:rgba(24,28,27,.92);color:#f3f0ea;border:1px solid #353e3b}
html[data-theme="dark"] .property-location{color:#a39e94}
html[data-theme="dark"] .property-features{color:#b0aba1}
html[data-theme="dark"] .property-card-bottom{border-top-color:#262c2a}
html[data-theme="dark"] .property-detail-link{border-color:#353e3b;color:#f3f0ea}
html[data-theme="dark"] .empty-state{border-color:#323a37;background:#161a19}
html[data-theme="dark"] .button.outline{border-color:#3a423f;color:#f3f0ea}
html[data-theme="dark"] .button.outline:hover{background:#222826}
html[data-theme="dark"] .button.dark{background:#f3f0ea;color:#141817}
html[data-theme="dark"] .button.dark:hover{background:#ffffff}
html[data-theme="dark"] .neighborhood-section{background:#161a19;border-top:1px solid #242a28;border-bottom:1px solid #242a28}
html[data-theme="dark"] .neighborhood-card{border-color:#2f3734}
html[data-theme="dark"] .neighborhood-card.coastal:not([data-has-photo="1"]){background:#1b2421;color:#9cc2b3;border-color:#2b3b36}
html[data-theme="dark"] .neighborhood-card.urban:not([data-has-photo="1"]){background:#261f1a;color:#e0b48b;border-color:#3d3127}
html[data-theme="dark"] .neighborhood-card.natural:not([data-has-photo="1"]){background:#1b241c;color:#a5c7a0;border-color:#2c3b2d}
html[data-theme="dark"] .about-image-caption{background:rgba(24,28,27,.94);border:1px solid #323a37}
html[data-theme="dark"] .about-image-caption span{color:#bdb7ad}
html[data-theme="dark"] .cta-section{background:linear-gradient(135deg,#231d18 0%,#1a1613 100%);border-color:#3d3126}
html[data-theme="dark"] .cta-section p{color:#c9bca9}
html[data-theme="dark"] .cta-art{stroke:#b8906a;opacity:.45}
html[data-theme="dark"] .footer-bottom{color:#9a958b}
html[data-theme="dark"] .footer-disclaimer{border-top-color:#242a28;color:#8c877d}
html[data-theme="dark"] dialog{background:#181c1b;color:#f3f0ea;border:1px solid #2e3633}
html[data-theme="dark"] .dialog-close{background:rgba(24,28,27,.92);border-color:#363f3c;color:#f3f0ea}
html[data-theme="dark"] .detail-tags span{border-color:#323a37;background:#1f2523}
html[data-theme="dark"] .public-typologies>div{background:#1f2523;border-color:#313936}
html[data-theme="dark"] .detail-disclaimer{background:#211d18;color:#d6c7b2;border:1px solid #3a3126}
html[data-theme="dark"] .field-note{color:#a39e94}
html[data-theme="dark"] #accia-site-chat .accia-window{background:#181c1b;border-color:#2f3734;color:#f3f0ea}
html[data-theme="dark"] #accia-site-chat .accia-body{background:#131716}
html[data-theme="dark"] #accia-site-chat .accia-terms,
html[data-theme="dark"] #accia-site-chat .accia-message:not(.client),
html[data-theme="dark"] #accia-site-chat .accia-compose,
html[data-theme="dark"] #accia-site-chat footer{background:#1b201e;border-color:#2f3734;color:#f3f0ea}
html[data-theme="dark"] #accia-site-chat .accia-message.client{background:#33221b;border-color:#4d3328;color:#f9ece6}
html[data-theme="dark"] #accia-site-chat textarea{background:#131716;border-color:#323a37;color:#f3f0ea}

@media(max-width:640px){
  .catalog-query{padding:0 20px 20px}
  .public-gallery,.public-typologies{grid-template-columns:minmax(0,1fr)}
  .catalog-pagination{gap:12px}
  .catalog-pagination .button{width:auto;flex:1}
  .catalog-pagination span{font-size:13px}
  .property-price{font-size:18px}
  .home-theme-toggle{padding:8px 10px;min-height:38px;font-size:12px;gap:5px}
  .home-theme-toggle .theme-toggle-text{display:none}
}
