/* Public browsing: clearer hierarchy, consistent cards, mobile controls. */
.browse-page { background:#f5f7fa; }
.browse-page :focus-visible { outline:3px solid #a17d36; outline-offset:3px; }
.home-page .hero { min-height:0; padding:58px 0 40px; }
.home-page .hero-frame,.home-page .hero-brand-en { display:none; }
.home-page .hero-content { max-width:1120px; text-align:left; }
.home-page .hero-content h1 { font-size:clamp(2rem,4.6vw,3.3rem); line-height:1.35; font-weight:600; margin-bottom:16px; }
.home-page .hero-content>p { max-width:740px; font-size:1rem; font-weight:400; margin-bottom:26px; line-height:1.8; }
.home-page .hero-eyebrow { justify-content:flex-start; font-size:.875rem; letter-spacing:1px; }
.home-page .hero-eyebrow::before,.home-page .hero-eyebrow::after { display:none; }
.home-page .search-box { display:grid; grid-template-columns:minmax(200px,2fr) repeat(3,minmax(115px,1fr)) auto; align-items:stretch; padding:12px; gap:10px; border-radius:14px; overflow:visible; margin-bottom:18px; }
.home-page .search-box label { display:flex; flex-direction:column; gap:5px; color:#43516a; padding:4px 6px; font-size:.875rem; min-width:0; }
.home-page .search-box input,.home-page .search-box select { border:1px solid #cbd3df; border-radius:7px; font-size:1rem; padding:11px 10px; min-width:0; width:100%; min-height:46px; background:#fff; }
.home-page .search-box button { align-self:end; min-height:46px; border-radius:8px; padding:12px 22px; color:#152237; margin-bottom:4px; }
.home-page .hero-content .available-count { margin:0 0 14px; font-size:.875rem; color:#e3e7ee; }
.home-page .hero-tags { justify-content:flex-start; gap:8px; }
.home-page .hero-tags a { color:#fff; background:#ffffff12; border:1px solid #ffffff40; padding:8px 14px; font-size:.875rem; border-radius:24px; text-decoration:none; }
.home-page .hero-tags a:hover { background:#ffffff28; }
.browse-page .section { padding:44px 0; }
.browse-page .section-header h2 { font-size:1.6rem; letter-spacing:0; }
.browse-page .prop-card { display:flex; flex-direction:column; border:1px solid #dce3ec; box-shadow:0 4px 18px #15223708; border-radius:13px; }
.browse-page .prop-card:hover { transform:translateY(-3px); box-shadow:0 10px 28px #15223716; }
.browse-page .prop-img-wrap { height:auto; aspect-ratio:4/3; }
.browse-page .prop-img-wrap img { height:100%; width:100%; object-fit:cover; }
.browse-page .prop-body { padding:20px; display:flex; flex-direction:column; flex:1; }
.browse-page .prop-title { font-size:1.0625rem; line-height:1.6; min-height:3.2em; margin-bottom:8px; }
.browse-page .prop-title a { color:#152237; text-decoration:none; }
.browse-page .prop-title a:hover { text-decoration:underline; text-underline-offset:4px; }
.browse-page .prop-location { font-size:.875rem; color:#58677b; line-height:1.6; }
.browse-page .prop-price { font-size:1.45rem; color:#152237; margin:12px 0; font-weight:700; }
.browse-page .prop-specs { flex-wrap:wrap; font-size:.875rem; gap:10px; padding:12px 0; }
.browse-page .prop-card-footer { margin-top:auto; font-size:.875rem; padding-top:12px; }
.browse-page .page-header { padding:30px 0; }
.browse-page .page-header h1 { font-size:clamp(1.5rem,3vw,2rem); }
.catalog-page .listings-layout { grid-template-columns:270px minmax(0,1fr); gap:28px; padding-top:28px; }
.catalog-page .filter-panel { background:#fff; border:1px solid #dce3ec; border-radius:12px; box-shadow:none; padding:22px; }
.catalog-page .filter-group input,.catalog-page .filter-group select,.catalog-page .sort-select { min-height:46px; font-size:1rem; border-color:#bdc8d6; border-radius:7px; }
.catalog-page .filter-group label { font-size:.875rem; color:#36465d; }
.catalog-page .listings-toolbar { gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.catalog-page .result-count { color:#536174; font-size:.9375rem; }
.catalog-page .result-count strong { color:#152237; font-size:1.2rem; }
.filter-toggle,.apply-filters { display:none; }
.mobile-contact { display:none; }
.edit-request-state { padding:8px 12px; background:#f8efdc; color:#6d501b; font-size:.875rem; border-radius:7px; }
.profile-page .owner-actions { flex-wrap:wrap; gap:10px; }
.profile-page .owner-actions>a,.profile-page .owner-actions>button { min-height:44px; padding:10px 14px; }
.detail-page .gallery-main { border-radius:12px; }
.detail-page .contact-card { border:1px solid #dce3ec; box-shadow:none; border-radius:12px; }
.detail-page .contact-card button { min-height:48px; font-size:1rem; }
@media(max-width:1000px) {
 .home-page .search-box { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .home-page .search-location { grid-column:span 2; }
 .home-page .search-box button { width:100%; }
 .catalog-page .listings-layout { grid-template-columns:240px minmax(0,1fr);gap:20px; }
}
@media(max-width:768px) {
 .home-page .hero { padding:32px 0 28px; }
 .home-page .search-box { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:12px; }
 .home-page .search-location { grid-column:1/-1; }
 .home-page .search-box button { grid-column:1/-1; margin:0; }
 .home-page .hero-content h1 { font-size:2rem; }
 .home-page .hero-content>p { margin-bottom:20px; }
 .catalog-page .listings-layout { display:block; padding-top:16px; }
 .filter-toggle,.apply-filters { display:block; background:#152237; color:white; border:0; border-radius:8px; padding:13px 18px; font:inherit; cursor:pointer; }
 .filter-toggle { margin-top:18px; width:100%; text-align:left; }
 .apply-filters { width:100%; margin-bottom:12px; }
 .catalog-page .filter-panel { position:static; margin-bottom:20px; }
 .catalog-page .filter-panel.filters-collapsed { display:none; }
 .catalog-page .listings-toolbar { align-items:flex-start; }
 .catalog-page .sort-select { max-width:100%; }
 .browse-page .section { padding:32px 0; }
 .browse-page .props-grid { gap:18px; }
 .mobile-contact { display:grid; grid-template-columns:1fr 1fr; gap:10px; position:fixed; bottom:0; left:0; right:0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #dce3ec; z-index:950; box-shadow:0 -3px 16px #15223710; }
 .mobile-contact button { background:#152237; color:#fff; border:0; border-radius:8px; padding:13px 8px; font:inherit; font-size:.9375rem; }
 .mobile-contact .contact-line { background:#087a3b; }
 .detail-page { padding-bottom:90px; }
 .detail-page .toast { bottom:100px; }
}
@media(prefers-reduced-motion:reduce) { .browse-page *, .browse-page *::before,.browse-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Estate theme: warm paper, architectural imagery and restrained brass. */
.browse-page { --navy:#172c3b; --gold:#a17d43; --gold-light:#dcc394; --border:#e5e0d6; background:#f6f4ef; color:#243845; }
.browse-page .navbar { background:#fffdf9; border-bottom:1px solid #e7e2d8; box-shadow:0 2px 14px #172c3b06; }
.browse-page .navbar .container { height:80px; }
.browse-page .nav-links>li>a:not(.btn-nav),.browse-page .nav-drop-btn { color:#344956; font-size:.9375rem; }
.browse-page .nav-links>li>a.active { color:#86642f; }
.browse-page .logo-text { color:#172c3b; }
.browse-page .logo-icon { border-radius:12px 12px 3px 12px; background:#172c3b; color:#e4cb9d; box-shadow:none; }
.browse-page .btn-nav { background:#172c3b; color:#fff!important; border-radius:8px; box-shadow:none; }
.browse-page .hamburger { color:#172c3b; }
.home-page .hero { margin:18px auto 0; width:calc(100% - 36px); max-width:1480px; border-radius:22px; padding:54px 22px 30px; background:linear-gradient(90deg,rgba(13,31,40,.91),rgba(13,31,40,.63) 48%,rgba(13,31,40,.18)),url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?w=1920&q=80') center 58%/cover; }
.home-page .hero::before,.home-page .hero::after,.home-page .hero-fade { display:none; }
.home-page .hero-content { width:100%; max-width:1220px; padding:0 14px; }
.home-page .hero-eyebrow { color:#ead6af; font-weight:400; letter-spacing:2px; margin-bottom:18px; }
.home-page .hero-content h1 { font-size:clamp(2rem,4.1vw,3.6rem); font-weight:500; line-height:1.4; letter-spacing:-.6px; text-shadow:none; margin-bottom:16px; }
.home-page .hero-content h1 em { color:#ead6af; background:none; -webkit-text-fill-color:currentColor; font-weight:400; }
.home-page .hero-content>p { max-width:640px; color:#edf0ee; text-shadow:none; letter-spacing:0; }
.home-page .search-box { background:#fffdf9; border:1px solid #e9e0d1; box-shadow:0 12px 32px #07192225; border-radius:12px; padding:14px; margin-top:30px; }
.home-page .search-box label { color:#61706f; font-size:.875rem; font-weight:400; }
.home-page .search-box input,.home-page .search-box select { background:#f8f7f3; border-color:#dddcd4; color:#213b48; }
.home-page .search-box button { background:#172c3b; color:white; font-weight:500; }
.home-page .search-box button:hover { background:#2a485b; }
.home-page .hero-content .available-count { color:#e0e7e5; margin-bottom:12px; }
.home-page .hero-tags a { background:#ffffff0c; border-color:#ffffff38; border-radius:6px; padding:7px 12px; font-size:.875rem; }
.browse-page .section { padding:52px 0; }
.browse-page .section-eyebrow { font-size:.875rem; letter-spacing:2px; color:#86642f; margin-bottom:9px; }
.browse-page .section-header { margin-bottom:26px; gap:16px; }
.browse-page .section-header h2 { font-size:clamp(1.35rem,2.3vw,1.85rem); font-weight:500; color:#172c3b; }
.browse-page .see-all { color:#72582e; font-size:.875rem; white-space:nowrap; }
.browse-page .prop-card { border:1px solid #e4dfd5; border-radius:12px; box-shadow:0 4px 12px #172c3b04; }
.browse-page .prop-card:hover { border-color:#bca77e; box-shadow:0 14px 28px #172c3b12; }
.browse-page .prop-img-wrap { aspect-ratio:4/3; }
.browse-page .prop-card:hover .prop-img-wrap img { transform:scale(1.035); }
.browse-page .prop-body { padding:19px 20px; }
.browse-page .prop-title { font-weight:500; }
.browse-page .prop-price { color:#172c3b; letter-spacing:-.5px; font-size:1.5rem; }
.browse-page .prop-specs { color:#546563; border-color:#eee9e0; }
.browse-page .prop-location i { color:#a17d43; }
.browse-page .prop-card-footer { border-color:#eee9e0; color:#62706d; }
.browse-page .page-header { background:#eeeae1; border-bottom:1px solid #e0d9cc; padding:36px 0; }
.browse-page .page-header h1 { color:#172c3b; font-weight:500; }
.browse-page .page-header p,.browse-page .page-header .breadcrumb { color:#5c6b6d; }
.catalog-page .filter-panel,.detail-page .contact-card { background:#fffdf9; border-color:#e4dfd5; }
.home-page .svc { border-radius:10px; border-color:#e4dfd5; box-shadow:none; }
.home-page .svc-ico { color:#8a6935; }
.home-page .share-strip { background:#ece8df; border-top:1px solid #e0d9cc; border-bottom:1px solid #e0d9cc; }
.browse-page footer { background:#142b38; }
@media(min-width:1180px) { .home-page .props-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; } }
@media(max-width:768px) {
 .browse-page .navbar .container { height:66px; }
 .home-page .hero { margin-top:10px; width:calc(100% - 20px); border-radius:14px; padding:28px 8px 22px; background-position:62% center; }
 .home-page .hero-content { padding:0 10px; }
 .home-page .hero-content h1 { font-size:2rem; letter-spacing:0; }
 .home-page .hero-content>p { font-size:1rem; }
 .home-page .search-box { padding:10px; margin-top:22px; }
 .home-page .hero-tags { gap:7px; }
 .home-page .hero-tags a { padding:6px 9px; }
 .browse-page .section { padding:32px 0; }
 .browse-page .section-header { align-items:baseline; }
 .browse-page .page-header { padding:26px 0; }
 .browse-page .props-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
}
