/* Eco-living theme role overrides: forest green, mint/white surfaces, coral actions. */
body{background:var(--background)}
.site-header{background:rgba(255,255,255,.9);border-bottom-color:var(--border)}
.brand,.page-title h1,.section-heading h2,.detail-copy h1,.profile-hero h1,.form-card h1,.card h1,.card h2,.card h3{color:var(--primary-dark)}
.brand small,.eyebrow{color:var(--accent)}
.nav-links a,.nav-group summary{color:#466256}
.nav-dropdown a:hover,.nav-dropdown a:focus{background:var(--surface-soft)}
.nav-group:focus-within summary{outline-color:rgba(231,131,93,.28)}
.site-footer{background:var(--primary-dark);color:#e4f1e8}.footer-shell p{color:#b7cfc0}
.hero{background:linear-gradient(135deg,rgba(18,59,44,.98),rgba(31,90,67,.92))}
.hero.hero-landmark{background-image:linear-gradient(135deg,rgba(18,59,44,.94),rgba(31,90,67,.84)),url('/images/demo/hero/dumaguete-belltower.jpg');background-size:cover;background-position:center 48%}
.hero p{color:#d9ece0}
.search-panel input:focus,.search-panel select:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline-color:rgba(231,131,93,.24);border-color:var(--accent)}
button,.button{background:var(--accent);color:var(--accent-foreground)}
.button.secondary,button.secondary{background:var(--primary);color:var(--primary-foreground)}
.button.ghost,button.ghost{background:var(--surface-soft);color:var(--primary)}
.property-card,.filter-panel,.surface-card,.form-card,.profile-hero,:where(.card){background:var(--card);border-color:var(--border);box-shadow:0 5px 18px rgba(24,74,52,.06)}
.property-card__media{background:linear-gradient(135deg,#dcefe3,#a8c7b2)}
.property-card__badge{background:var(--accent);color:#4b2d25}
.property-card__favorite{color:var(--primary)}
.property-card__type{color:var(--success)}
.browse-tile{background:linear-gradient(135deg,var(--primary),#4f8a69)}
.browse-tile:nth-child(3n){background:linear-gradient(135deg,#2f7d55,#76ad82)}
.browse-tile span{color:#e1f2e5}
.detail-gallery{background:linear-gradient(135deg,#dcefe3,#a8c7b2)}
.fact{background:var(--surface-soft)}
.flash{background:#e2f3e8;color:#205b43}
.property-card__media:after{color:rgba(255,255,255,.86)}
.browse-tile.has-image{background-size:cover;background-position:center}
.property-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Mobile-only density pass. Desktop/tablet rules remain in realestate.css. */
.mobile-nav-actions{display:none}
@media(max-width:640px){
 .hero.hero-landmark{background-image:linear-gradient(180deg,rgba(18,59,44,.97),rgba(18,59,44,.91)),url('/images/demo/hero/dumaguete-belltower.jpg');background-position:center 42%}
 body{overflow-x:hidden}
 .nav-shell{min-height:64px;height:64px;padding:0 var(--gutter);gap:8px;flex-wrap:nowrap}
 .brand{font-size:20px;line-height:1.05;letter-spacing:-.04em;flex:1;min-width:0}
 .brand small{font-size:8.5px;letter-spacing:.11em;margin-top:4px}
 .nav-toggle{width:42px;height:42px;min-height:42px;padding:0;margin-left:auto;border:1px solid rgba(28,65,98,.16);border-radius:10px;background:var(--surface-soft);color:var(--primary-dark);font-size:20px;line-height:1}
 .nav-toggle:focus-visible{outline:3px solid rgba(213,168,59,.4);outline-offset:2px}
 .nav-actions{display:none}
 .site-main{padding-top:20px;padding-bottom:48px}
 .hero{margin-top:-20px;padding:24px var(--gutter) 22px;margin-bottom:28px}
 .hero .eyebrow{font-size:10px}
 .hero h1{font-size:clamp(30px,8.5vw,34px);line-height:1.04;margin:8px 0 10px}
 .hero p{font-size:14px;line-height:1.45;margin-bottom:16px}
 .search-panel{padding:12px;border-radius:14px}
 .search-primary{gap:8px}
 .search-panel input,.search-panel select{min-height:44px;padding:9px 11px}
 .search-primary button{min-height:46px}
 .search-hint{display:none}
 .section{margin-bottom:36px}
 .section-heading{margin-bottom:14px}
 .nav-links.open{display:flex;background:var(--surface);border-top:1px solid var(--border);padding:12px var(--gutter) 16px;margin:0 calc(var(--gutter) * -1);width:calc(100% + (var(--gutter) * 2));gap:8px;box-shadow:0 14px 24px rgba(16,44,71,.08)}
 .nav-group{width:100%}
 .nav-group summary{padding:7px 0}
 .nav-dropdown{position:static;box-shadow:none;border:0;border-left:2px solid var(--accent);margin:4px 0;padding:2px 0 2px 12px;min-width:0}
 .nav-dropdown a{padding:7px 0}
 .mobile-nav-actions{display:grid;gap:8px;width:100%;border-top:1px solid var(--border);padding-top:12px;margin-top:4px}
 .mobile-nav-actions a,.mobile-nav-actions form{width:100%}
 .mobile-nav-actions a:not(.button){padding:7px 0;font-size:14px;font-weight:700}
 .mobile-nav-actions button{width:100%}
 .mobile-nav-actions .button{min-height:44px}
 .property-grid{gap:14px}
}

.hero-copy-mobile{display:none}
@media(max-width:640px){
 .nav-shell{height:54px;min-height:54px}
 .nav-toggle{width:40px;height:40px;min-height:40px}
 .site-main{padding-top:8px}
 .hero{margin-top:-8px;padding-top:14px;padding-bottom:14px;margin-bottom:14px}
 .hero h1{font-size:clamp(27px,7.8vw,30px);line-height:1.02;margin:4px 0 6px}
 .hero p{font-size:13px;line-height:1.25;margin-bottom:8px}
 .hero-copy-desktop{display:none}.hero-copy-mobile{display:inline}
 .search-panel{padding:8px;border-radius:10px}
 .search-primary{grid-template-columns:1fr 1fr;gap:6px}
 .search-panel input{grid-column:span 2;min-height:40px;padding:7px 9px}
 .search-panel select{min-height:40px;padding:7px 9px}
 .search-primary button{grid-column:span 2;min-height:42px}
 .section{margin-bottom:22px}
 .section-heading{margin-bottom:8px}
}
@media(max-width:359px){
 .search-primary{grid-template-columns:1fr}
 .search-panel input,.search-primary button{grid-column:auto}
}

@media(max-width:640px){
 .site-header{background:rgba(255,255,255,.78);border-bottom-color:rgba(255,255,255,.72);box-shadow:0 5px 18px rgba(16,44,71,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
 .nav-shell{height:60px;min-height:60px;padding-top:0;padding-bottom:0}
 .brand{font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.7)}
 .brand small{font-weight:700;color:#c79a2c}
 .nav-toggle{background:rgba(255,255,255,.58);border-color:rgba(28,65,98,.12);box-shadow:0 3px 10px rgba(16,44,71,.08)}
 .site-main{padding-top:14px}
 .hero{margin-top:-14px;padding-top:18px;padding-bottom:16px;margin-bottom:20px}
 .hero .eyebrow{font-size:9px}
 .hero h1{margin-top:6px;margin-bottom:7px}
 .hero p{font-size:13px;line-height:1.35;margin-bottom:11px}
 .search-panel{padding:10px;border-radius:12px}
 .search-primary{gap:6px}
 .search-panel input,.search-panel select{min-height:42px;padding:8px 10px}
 .search-primary button{min-height:44px}
 .section{margin-bottom:28px}
 .section-heading{margin-bottom:10px}
}

/* Final aggressive mobile composition overrides the earlier mobile polish pass. */
@media(max-width:640px){
 .brand{font-size:21px;font-weight:900;letter-spacing:-.045em;text-shadow:0 1px 0 rgba(255,255,255,.92),0 2px 5px rgba(16,44,71,.14)}
 .brand small{margin-top:2px;font-size:8px;letter-spacing:.16em;text-shadow:none}
 .nav-toggle{background:rgba(255,255,255,.72);border-color:rgba(31,90,67,.16);color:var(--primary-dark);box-shadow:0 3px 10px rgba(24,74,52,.09)}
 .nav-toggle:focus-visible{outline-color:rgba(231,131,93,.4)}
 .nav-shell{height:54px;min-height:54px}
 .nav-toggle{width:40px;height:40px;min-height:40px}
 .site-main{padding-top:8px}
 .hero{margin-top:-8px;padding-top:10px;padding-bottom:10px;margin-bottom:10px}
 .hero .eyebrow{font-size:8px;letter-spacing:.13em}
 .hero h1{font-size:clamp(26px,7.4vw,29px);line-height:1;margin:3px 0 5px}
 .hero p{font-size:12.5px;line-height:1.2;margin-bottom:6px}
 .search-panel{padding:6px;border-radius:10px}
 .search-primary{grid-template-columns:1fr 1fr;gap:5px}
 .search-panel input{grid-column:span 2;min-height:39px;padding:6px 8px}
 .search-panel select{min-height:39px;padding:6px 8px}
 .search-primary button{grid-column:span 2;min-height:40px}
 .section{margin-bottom:18px}
 .section-heading{margin-bottom:7px}
 .browse-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .browse-tile{min-height:72px;padding:11px 12px;border-radius:12px;justify-content:center}
 .browse-tile b{font-size:14px;line-height:1.15}
 .browse-tile span{margin-top:3px;font-size:10px;line-height:1.15}
 .property-card__media{height:132px}
 .property-card__body{min-height:190px;padding:13px 14px}
 .property-card__type{margin-bottom:4px}
 .property-card h3{margin-bottom:5px;font-size:17px;line-height:1.17}
 .property-card__price{font-size:19px}
 .property-card__location,.property-card__facts{margin-top:6px;font-size:12px}
 .property-card__facts{gap:8px 10px}
}
@media(max-width:359px){.search-primary{grid-template-columns:1fr}.search-panel input,.search-primary button{grid-column:auto}}
