/* Multilistado brand layer for the public MLS site (loaded AFTER style.css + mls.css in views/header.ejs; also beats
   page CSS thanks to the html prefix). Recolour block generated by scripts/brand-css-gen.js from the legacy files;
   hand-tuned tokens/overrides at the end. Palette: teal #0E5E63, coral #E8704F, sand #F6F1EA, ink #0B3F42. */
/* from /css/style.css */
html:root { --primary: #0B3F42; --accent: #E8704F; --accent-light: #F08A6C; --accent-dark: #B04C31; }
html .navbar.scrolled { background: rgba(11, 63, 66, 0.97); }
html .hero { background: linear-gradient(160deg, #072B2E 0%, #0B3F42 40%, #0E5E63 100%); }
html .hero::before { background: radial-gradient(ellipse at 20% 50%, rgba(232, 112, 79, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(232, 112, 79, 0.04) 0%, transparent 50%); }
html .hero-badge { background: rgba(232, 112, 79, 0.15); border: 1px solid rgba(232, 112, 79, 0.3); }
html .featured-card { border: 2px solid rgba(232, 112, 79, 0.25); }
html .featured-card:hover { border-color: rgba(232, 112, 79, 0.5); }
html .badge-featured { background: linear-gradient(135deg, #E8704F 0%, #F08A6C 100%); }
html .feature-icon { background: rgba(232, 112, 79, 0.1); }
html .about-image-placeholder { background: linear-gradient(135deg, #072B2E 0%, #0E5E63 100%); }
html .agent-badge { background: rgba(232, 112, 79, 0.15); border: 1px solid rgba(232, 112, 79, 0.3); }
html .cta-section { background: linear-gradient(135deg, #072B2E 0%, #0E5E63 100%); }
html .contact-section { background: #0B3F42; }
html .contact-form input:focus, html .contact-form textarea:focus { box-shadow: 0 0 0 3px rgba(232, 112, 79, 0.15); }
html .agent-detail-card { border: 1px solid rgba(232, 112, 79, 0.2); }
html .agent-detail-avatar { background: rgba(232, 112, 79, 0.1); }
html .exclusive-badge { background: linear-gradient(135deg, #E8704F 0%, #F08A6C 100%); }
html .footer { background: #0B3F42; }
html .social-link:hover { color: #072B2E; }
html .filter-group input:focus, html .filter-group select:focus { box-shadow: 0 0 0 3px rgba(232, 112, 79, 0.15); }
html .team-hero { background: linear-gradient(135deg, #0B3F42 0%, #143a63 100%); }
html .team-lead-photo-wrap { background: linear-gradient(135deg, #0B3F42 0%, #143a63 100%); }
html .team-lead-badge { color: #0B3F42; }
html .team-lead-name { color: #0B3F42; }
html .team-section-title { color: #0B3F42; }
html .team-member-photo-wrap { background: linear-gradient(135deg, #0B3F42, #143a63); }
html .team-member-name { color: #0B3F42; }
html .team-link { color: #0B3F42; }
/* from /css/mls.css */
html .docs pre { background: #0B3F42; color: #F08A6C; }
html .nav-fav { color: #F08A6C !important; }
html:root[data-theme="light"] { --primary: #0B3F42; --primary-mid: #0B3F42; --primary-light: #0B3F42; }
html:root[data-theme="light"] .theme-toggle { color: #0B3F42; }
html:root[data-theme="light"] .site-name { color: #0B3F42; }
html:root[data-theme="light"] .hero::before { background: radial-gradient(ellipse at 20% 50%, rgba(232, 112, 79,0.16) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(232, 112, 79,0.12) 0%, transparent 50%); }
html:root[data-theme="light"] .hero-content, html:root[data-theme="light"] .hero h1, html:root[data-theme="light"] .hero-content > p { color: #0B3F42; }
html:root[data-theme="light"] .hero-badge { background: rgba(232, 112, 79,0.18); border-color: rgba(232, 112, 79,0.5); color: #B04C31; }
html:root[data-theme="light"] .hero-stats .stat-number { color: #0B3F42; }
html:root[data-theme="light"] .footer h4, html:root[data-theme="light"] .footer a { color: #0B3F42; }
html:root[data-theme="light"] .agent-cta { background: #0B3F42; }
html:root[data-theme="light"] .brand-text b { color: #0B3F42; }
html:root[data-theme="light"] .brand-text small { color: #B04C31; }
html:root[data-theme="light"] .lang-switch { color: #0B3F42 !important; }
html:root[data-theme="light"] .nav-account { color: #B04C31 !important; }
html:root[data-theme="light"] .nav-fav { color: #B04C31 !important; }
html:root:not([data-theme="light"]) .navbar { background: rgba(11, 63, 66,0.97); }
html .cobroke-box { background: #FDF1EC; }
html:root[data-theme="light"] .mission-hero { color: #0B3F42; }
html .mission-strip { background: #FDF1EC; }
html .rep-chip { background: #FDF1EC; }
html .te-dot.on { background: #E8704F; }
html .claim-need { border-left: 4px solid var(--accent, #E8704F); }
html .claim .linklike { color: var(--accent-dark, #B04C31); }
/* from /css/pwa.css */
html .pwa-bar { background: #0E5E63; }
html .pwa-go { background: var(--accent, #E8704F); color: var(--on-accent, #072B2E); }
html .pwa-go:focus-visible, html .pwa-x:focus-visible, html .pwa-sheet button:focus-visible { outline: 2px solid var(--accent, #E8704F); }
html .pwa-toast { background: #0E5E63; }
/* from /css/agent-verify.css */
html .av { --av-gold: var(--accent, #E8704F); --av-gold-l: var(--accent-light, #F08A6C); --av-ink: #0B3F42; }
html .av-kicker.dark { color: var(--accent-dark, #B04C31); }
html .av-hero { background: radial-gradient(ellipse at 80% 20%, rgba(232, 112, 79,0.18), transparent 55%), linear-gradient(160deg, #072B2E 0%, #0B3F42 45%, #0E5E63 100%); }
html .av-hero::after { background-image: linear-gradient(rgba(232, 112, 79,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(232, 112, 79,0.06) 1px, transparent 1px); }
html .av-btn { box-shadow: 0 8px 30px rgba(232, 112, 79,0.28); }
html .av-btn:hover { box-shadow: 0 12px 36px rgba(232, 112, 79,0.4); }
html .av-btn-ghost { border: 1px solid rgba(232, 112, 79,0.6); }
html .av-idcard { background: linear-gradient(145deg, #0E5E63, #0E5E63); border: 1px solid rgba(232, 112, 79,0.45); }
html .av-id-chip { background: linear-gradient(135deg, #F08A6C, #B04C31); }
html .av-scan { background: linear-gradient(180deg, transparent, rgba(240, 138, 108,0.28) 50%, transparent); border-bottom: 2px solid rgba(240, 138, 108,0.9); }
html .av-dark { background: linear-gradient(160deg, #0B3F42, #0E5E63); }
html .av-step-n { color: var(--accent-dark, #B04C31); }
html .av-step-ico { background: rgba(232, 112, 79,0.14); color: var(--accent-dark, #B04C31); }
html .av-chip.on { background: #0B3F42; color: #F08A6C; border-color: #0B3F42; }
html .av-perk > .av-ico { color: var(--accent-dark, #B04C31); }
html .av-table .us { background: rgba(232, 112, 79,0.12); }
html .av-part .av-ico { color: #F08A6C; }
html .av-stats { background: linear-gradient(90deg, #B04C31, #E8704F 50%, #B04C31); }
html .av-final { background: radial-gradient(ellipse at 50% 0%, rgba(232, 112, 79,0.22), transparent 60%), #0B3F42; }
html:root[data-theme="light"] .av-hero { background: radial-gradient(ellipse at 80% 20%, rgba(232, 112, 79,0.22), transparent 55%), linear-gradient(160deg, #fbfaf7, #f1ede4 45%, #e9e2d3); color: #0B3F42; }
html:root[data-theme="light"] .av-hero h1 { color: #0B3F42; }
html:root[data-theme="light"] .av-hero .av-fine a, html:root[data-theme="light"] .av-btn-ghost { color: #B04C31 !important; }
/* from /css/compare.css */
html .cmp-price-card { background: linear-gradient(145deg, #0E5E63, #0E5E63); border: 1px solid rgba(232, 112, 79,0.45); }
html .cmp-steps.av-steps p a { color: var(--accent-dark, #B04C31); }
html .cmp-out { background: linear-gradient(160deg, #0B3F42, #0E5E63); }
html .cmp-sources a { color: var(--accent-dark, #B04C31); }
@media (max-width: 700px) { html .cmp .av-table thead { background: #0E5E63; } }
/* from /css/areas.css */
html .areas-tiles b { color: var(--accent-text, var(--accent-dark, #B04C31)); }
html [data-theme="dark"] .areas-card { background: var(--card-bg, #0E5E63); }
/* from /css/partners.css */
html .partners-hero { background: var(--primary, #0B3F42); }
/* from /css/cma.css */
html .cma-range > div.mid { border-color: #E8704F; background: #FDF1EC; }
html .cma-range .mid b { color: #B04C31; }
html .cma-score { background: linear-gradient(90deg, rgba(232, 112, 79,.35) var(--s), rgba(0,0,0,.05) var(--s)); }
html .cma-nudge { border-color: #E8704F; background: #FDF1EC; }
html .cma-report a { color: #B04C31; }
html .cma-toolbar { background: #0B3F42; }
html .cma-toolbar button, html .cma-toolbar a { background: #E8704F; }
html .cma-brand { border-bottom: 3px solid #E8704F; }
html .cma-tag { color: #B04C31; }
html .cma-reco { background: #0B3F42; }
html .cma-reco span { color: #F08A6C; }
html .cma-notes { border-left: 4px solid #E8704F; }
html .cma-st-pending { color: #B04C31; }
html .cma-crumbs a { color: var(--accent-dark, #B04C31); }
html .cma-tiles b { color: var(--accent-dark, #B04C31); }
html .cma-split .sale, html .cma-key.sale { background: #E8704F; }
html .cma-split .rent, html .cma-key.rent { background: #0B3F42; }
html .cma-bar { background: #E8704F; }
html .cma-bars.alt .cma-bar { background: #0B3F42; }
/* from /css/showings.css */
html .dash-showings { border-left: 4px solid var(--accent, #E8704F); }
html .owr-toolbar { background: #0B3F42; }
html .owr-toolbar a, html .owr-toolbar button { background: #E8704F; }
html .owr .tag { color: #B04C31; }
html .owr-why { border-left: 4px solid #E8704F; }
/* from /css/access.css */
html .access-box { border-color: #E8704F; }
html .access-secret { background: #0B3F42; color: #F08A6C; }
html .stars { color: #B04C31; }
html .star-pick input:checked ~ label, html .star-pick label:hover, html .star-pick label:hover ~ label { color: #B04C31; }
html .star-pick input:focus-visible + label { outline: 2px solid #E8704F; }
/* from /css/price-check.css */
html .pc-meter i { background: #0B3F42; }
/* from /css/intlfeeds.css */
html .intl-portal.on { border-color: #E8704F; }
/* ===== Multilistado: tokens + hand-tuned overrides (win over the generated block above) ===== */
html:root {
  --ml-teal: #0E5E63; --ml-teal-700: #0B4F53; --ml-ink: #0B3F42; --ml-ink-900: #072B2E;
  --ml-coral: #E8704F; --ml-coral-300: #F08A6C; --ml-coral-text: #B04C31; --ml-sand: #F6F1EA;
  --primary: #0B3F42; --primary-mid: #0E5E63; --primary-light: #137077;
  --accent: #E8704F; --accent-light: #F08A6C; --accent-dark: #B04C31; --accent-text: #B04C31; --on-accent: #072B2E;
  --text: #14292B; --text-light: #4E5F61; --text-muted: #667374;
  --bg: #F6F1EA; --card-bg: #fff; --border: #E4DDD2;
  --ml-head: 'Bricolage Grotesque', 'Inter', system-ui, sans-serif;
}
html:root[data-theme="light"] { --primary: #0E5E63; --primary-mid: #0B4F53; --primary-light: #137077; --bg: #FBF8F4; }

/* Headings: Bricolage Grotesque (wordmark family) instead of Playfair */
html body :is(h1, h2, h3, .site-name, .partners-h2, .av-stats b, .partners-stats b, .cmp-price-row b, .cmp-out b, .stat-number, .price-amount, .property-price .price) {
  font-family: var(--ml-head); letter-spacing: -0.01em;
}
html body :is(h1, h2) { font-weight: 700; }

/* Logo lockup (SVG wordmark replaces emblem + "PRO BIENES" text) */
html .nav-logo .ml-logo { height: 38px; width: auto; }
html .ml-footer-logo { height: 46px; width: auto; }
@media (max-width: 900px) { html .nav-logo .ml-logo { height: 32px; } }
@media (max-width: 380px) { html .nav-logo .ml-logo { height: 28px; } }

/* Buttons & CTAs: coral with deep-ink text (4.9:1) — white on coral fails WCAG */
html .btn, html .search-btn, html .nav-cta, html .property-badge:not(.badge-type), html .badge-featured, html .exclusive-badge, html .team-lead-badge { color: var(--ml-ink-900) !important; }
html .btn { background: var(--ml-coral); }
html .btn:hover, html .search-btn:hover, html .nav-cta:hover { background: var(--ml-coral-300); }
html .btn-outline { background: transparent; border-color: var(--ml-teal); color: var(--ml-teal) !important; }
html .btn-outline:hover { background: var(--ml-teal); color: #fff !important; }
html :is(.hero, .agent-cta, .search-cta, .mission-hero, .contact-section, .av-hero, .av-final, .av-dark, .partners-hero, .footer) .btn-outline { border-color: var(--ml-sand); color: var(--ml-sand) !important; }
html :is(.hero, .agent-cta, .search-cta, .mission-hero, .contact-section, .av-hero, .av-final, .av-dark, .partners-hero, .footer) .btn-outline:hover { background: var(--ml-sand); color: var(--ml-ink) !important; }
html .btn-white { background: #fff; color: var(--ml-teal) !important; }
html .btn-white:hover { background: var(--ml-sand); color: var(--ml-ink) !important; }

/* Accent-as-text on light surfaces → text-safe coral (5.2:1 on white) */
html :is(.section-tag, .no-results a, .back-link, .contact-status.success, .agent-badge, .agent-detail-label, .agent-detail-avatar, .feature-icon, .feature-category h4, .team-lead-role, .team-member-role, .team-link:hover, .search-status.loading, .footer-nav a:hover, .agent-contact-link:hover) { color: var(--ml-coral-text); }
html :is(.agent-cta, .mission-hero, .contact-section, .search-cta, .partners-hero) .section-tag { color: var(--ml-coral-300); }
html .property-price .price, html .price-amount, html .spec-value { color: var(--ml-teal); }
html main a:not(.btn):not(.property-card):not(.nav-cta) { text-decoration-color: rgba(14,94,99,.35); }

/* Dark theme (default): deep teal / ink grounds, sand text, coral accents */
html:root:not([data-theme="light"]) .navbar, html .navbar.scrolled { background: rgba(7, 43, 46, 0.97); }
html .nav-links a { color: rgba(246, 241, 234, 0.88); }
html .nav-links a:hover { color: #fff; }
html .nav-links a::after { background: var(--ml-coral); }
html .nav-account { color: var(--ml-coral-300) !important; }
html .lang-switch, html .lang-switch-mobile { color: var(--ml-sand) !important; border-color: rgba(246,241,234,.35) !important; }
html .theme-toggle { border-color: rgba(246,241,234,.35); color: var(--ml-sand); }
html .nav-links.active { background: var(--ml-ink-900); }
html .hero { background: radial-gradient(ellipse at 85% 10%, rgba(232,112,79,.16), transparent 50%), linear-gradient(160deg, #072B2E 0%, #0B3F42 45%, #0E5E63 100%); }
html .hero-content, html .hero h1, html .hero-content > p { color: var(--ml-sand); }
html .hero h1 em, html .stat-number { color: var(--ml-coral-300); }
html .hero-badge { color: var(--ml-sand); background: rgba(232,112,79,.16); border-color: rgba(232,112,79,.45); }
html .footer { background: var(--ml-ink-900); color: rgba(246, 241, 234, 0.74); }
html .footer h4 { color: var(--ml-sand); }
html .footer a { color: rgba(246, 241, 234, 0.84); }
html .footer a:hover, html .footer-nav a:hover { color: var(--ml-coral-300); }
html .footer .footer-warn { color: var(--ml-coral-300); font-weight: 600; }
html .footer-bottom { border-color: rgba(246,241,234,.12); color: rgba(246,241,234,.6); }
html .social-link { background: rgba(246,241,234,.08); color: var(--ml-sand); }
html .social-link:hover { background: var(--ml-coral); color: var(--ml-ink-900); }
html .agent-cta, html .search-cta { background: linear-gradient(135deg, var(--ml-ink) 0%, var(--ml-teal) 100%); color: #fff; }
html .search-cta h3 { color: var(--ml-coral-300); }
html .mission-hero { background: linear-gradient(160deg, #072B2E, #0E5E63); }
html .claim-card { border-color: var(--ml-coral) !important; }
html .claim-steps li.on { background: var(--ml-teal); color: #fff; }
html .cookie-note button { background: var(--ml-coral); color: var(--ml-ink-900); }

/* Light theme: sand grounds, ink text, teal primary, coral accents */
html:root[data-theme="light"] .navbar { background: rgba(251, 248, 244, 0.94); }
html:root[data-theme="light"] .navbar.scrolled { background: rgba(251, 248, 244, 0.98); }
html:root[data-theme="light"] .nav-links a { color: var(--ml-ink); }
html:root[data-theme="light"] .nav-links a:hover { color: var(--ml-coral-text); }
html:root[data-theme="light"] .nav-links a::after { background: var(--ml-coral); }
html:root[data-theme="light"] .nav-account { color: var(--ml-coral-text) !important; }
html:root[data-theme="light"] .nav-fav { color: var(--ml-coral) !important; }
html:root[data-theme="light"] .lang-switch, html:root[data-theme="light"] .lang-switch-mobile { color: var(--ml-ink) !important; border-color: rgba(11,63,66,.25) !important; }
html:root[data-theme="light"] .theme-toggle { border-color: rgba(11,63,66,.25); color: var(--ml-ink); }
html:root[data-theme="light"] .nav-toggle span { background: var(--ml-ink); }
html:root[data-theme="light"] .nav-links.active { background: #FBF8F4; }
html:root[data-theme="light"] .hero { background: radial-gradient(ellipse at 85% 10%, rgba(232,112,79,.14), transparent 50%), linear-gradient(160deg, #FBF8F4 0%, #F6F1EA 50%, #EDE4D8 100%); }
html:root[data-theme="light"] .hero-content, html:root[data-theme="light"] .hero h1, html:root[data-theme="light"] .hero-content > p { color: var(--ml-ink); }
html:root[data-theme="light"] .hero h1 em { color: var(--ml-coral-text); }
html:root[data-theme="light"] .hero-badge { background: rgba(232,112,79,.12); border-color: rgba(232,112,79,.45); color: var(--ml-coral-text); }
html:root[data-theme="light"] .hero-stats .stat-number { color: var(--ml-teal); }
html:root[data-theme="light"] .hero-stats .stat-label { color: #4E5F61; }
html:root[data-theme="light"] .footer { background: #EFE8DD; color: #3D4F51; border-top: 1px solid var(--border); }
html:root[data-theme="light"] .footer h4, html:root[data-theme="light"] .footer a { color: var(--ml-ink); }
html:root[data-theme="light"] .footer a:hover { color: var(--ml-coral-text); }
html:root[data-theme="light"] .footer .footer-warn { color: var(--ml-coral-text); }
html:root[data-theme="light"] .footer-bottom { border-color: rgba(11,63,66,.12); color: #4E5F61; }
html:root[data-theme="light"] .social-link { background: rgba(11,63,66,.08); color: var(--ml-ink); }
html:root[data-theme="light"] .agent-cta { background: var(--ml-teal); }
html:root[data-theme="light"] .mission-hero { background: linear-gradient(160deg, #FBF8F4, #EDE4D8); color: var(--ml-ink); }
html:root[data-theme="light"] .site-name { color: var(--ml-ink); }
@media (prefers-color-scheme: light) { html:root:not([data-theme]) .logo-light { display: block; } html:root:not([data-theme]) .logo-dark { display: none; } }
html:root[data-theme="light"] .hero::before { background: radial-gradient(ellipse at 20% 50%, rgba(232,112,79,.07) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(14,94,99,.06) 0%, transparent 50%); }
html .cookie-note { background: var(--ml-ink-900); color: var(--ml-sand); }
html .cookie-note a { color: var(--ml-coral-300); }
html .badge-type { background: rgba(7, 43, 46, 0.78); color: #fff; }
