/*
Theme Name: Real Estate Direct of South Florida
Description: Custom bilingual brokerage site with the Miami MLS IDX search.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: real-estate-direct
*/
:root{--ink:#1A1A1A;--blue:#359AC8;--blue-dark:#1B6F99;--navy:#0F3A52;--ground:#F7F9FA;--pale:#E6F1F7;--muted:#46525B;--gutter:clamp(16px,4vw,64px);--serif:'EB Garamond',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.55 Figtree,Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--blue-dark)}a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0}
h2{font-size:clamp(32px,4vw,46px)}
[data-lang="en"] span[lang="es"],[data-lang="es"] span[lang="en"]{display:none}
.wrap{max-width:1240px;margin:0 auto}
.narrow{max-width:860px}
.muted{color:var(--muted)}
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 26px;font:inherit;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-accent{background:var(--blue);color:var(--ink)}.btn-accent:hover{background:#6FBFE3;color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--navy);color:#fff}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.btn-outline-light{border-color:#fff;color:#fff}.btn-outline-light:hover{background:#fff;color:var(--ink)}

.site-header{background:#fff;border-bottom:4px solid var(--blue);padding:12px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;line-height:1.05}
.brand img{height:64px;width:auto;display:block}
.brand-text{display:flex;flex-direction:column;font-family:'Cormorant SC',Georgia,serif;font-weight:600}
.brand-1{font-size:27px}.brand-2{font-size:19px}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;font-size:15px;font-weight:500}
.site-nav a{color:var(--ink);text-decoration:none;padding:11px 0}
.site-nav a:hover{color:var(--blue-dark)}
.site-nav .nav-help{color:var(--blue-dark);font-weight:700}
.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.header-phone{color:var(--ink);font-weight:600;text-decoration:none;padding:11px 0}
.lang{display:flex;border:1px solid #56636D}
.lang button{min-width:44px;min-height:44px;border:0;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:#fff}

.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;min-height:640px;display:flex;align-items:center;padding:72px var(--gutter)}
.hero-art{position:absolute;inset:0;width:100%;height:100%}
.hero-copy{position:relative;max-width:700px;display:flex;flex-direction:column;gap:22px}
.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.04}
.hero p{margin:0;font-size:20px;max-width:600px}

.section{padding:88px var(--gutter)}
.section-white{background:#fff}
.section-navy{background:var(--navy);color:#fff}
.section h2{margin-bottom:32px}
.split{display:flex;flex-wrap:wrap;gap:48px;align-items:center;justify-content:space-between}
.split>*{flex:1 1 400px;min-width:0}
.split h2{margin-bottom:14px}
.split-top{align-items:flex-start}
.split h1{font-size:clamp(38px,5vw,62px);margin-bottom:14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px}
.stat{border-top:2px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:4px;font-size:15px}
.stat strong{font:400 48px/1.1 var(--serif)}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
.person{display:flex;flex-direction:column;gap:10px}
.person img{width:100%;height:auto;aspect-ratio:1400/955;object-fit:cover;object-position:center bottom;display:block;margin-bottom:8px}
.person h3{font-size:32px}
.person p{margin:0}
.role{font-weight:600;color:var(--blue-dark)}
.person-contact{font-size:15px;color:var(--muted);overflow-wrap:anywhere}
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.area{height:300px;padding:22px;background-color:var(--navy);background-size:cover;background-position:center;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}
.area:hover{color:#fff;text-decoration:underline}
.area strong{font:400 32px/1.1 var(--serif)}
.bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.band{padding:72px var(--gutter);display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.band p{margin:0 0 6px;max-width:560px}
.band-light{background:var(--pale)}
.band-navy{background:var(--navy);color:#fff}
.bands-one .band{align-items:center;text-align:center}

.page-head{background:var(--pale);padding:44px var(--gutter)}
.page-head h1{font-size:clamp(34px,4vw,50px);margin-bottom:8px}
.page-head p{margin:0}
.page-head-large{padding:88px var(--gutter)}
.page-head-large h1{font-size:clamp(38px,5vw,62px);margin-bottom:20px}
.lead{font-size:21px;color:#3A4650;margin-bottom:24px!important}
.idx-frame{display:block;width:100%;height:85vh;min-height:700px;border:0;background:#fff}
.home-search{background:#fff;padding-top:56px}
.home-search-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding:0 var(--gutter) 24px;max-width:none}
.home-search-head a{font-weight:600}
.idx-home{height:760px;min-height:0}
.frame-link{padding:14px var(--gutter);margin:0 auto;font-size:15px}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card{background:#fff;padding:30px}
.card h3{font-size:27px}
.card p{margin:12px 0 0}
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.steps li{border-top:2px solid var(--blue);padding-top:16px}
.steps strong{font:400 34px/1.1 var(--serif)}
.steps p{margin:8px 0 0}
.disclosure{background:var(--pale);padding:48px var(--gutter)}
.disclosure p{max-width:1000px;margin:0 auto;font-size:16px;color:#2A3640}

.form-card{background:#fff;padding:30px}
.lead-form{display:flex;flex-direction:column;gap:16px}
.lead-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:16px}
.lead-form input,.lead-form textarea{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-weight:400;border:1px solid #56636D;background:#fff;color:var(--ink)}
.fine{margin:0;font-size:14px;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{background:var(--pale);padding:14px 16px;margin:0 0 16px;font-weight:600}
.notice-error{background:#FBE9E7}

.site-footer{background:var(--ink);color:#fff;padding:56px var(--gutter)}
.site-footer a{color:#fff}
.footer-grid{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}
.footer-grid>*{flex:1 1 300px;min-width:0;overflow-wrap:anywhere}
.footer-logo{background:#fff;width:170px;padding:14px;margin-bottom:16px}
.footer-logo img{display:block;width:100%}
.footer-name{font:400 26px/1.2 var(--serif);margin-bottom:6px}
.footer-legal{margin-top:32px;padding-top:20px;border-top:1px solid #56636D;font-size:13px}
.mobile-call{display:none}

@media(max-width:1180px){.hero-art{opacity:.22}}
@media(max-width:700px){
  body{padding-bottom:56px}
  .hero{min-height:560px;padding:56px var(--gutter)}
  .section{padding:64px var(--gutter)}
  .idx-home{height:600px}
  .split>*,.bands{flex-basis:100%}
  .bands{grid-template-columns:minmax(0,1fr)}
  .mobile-call{display:flex;align-items:center;justify-content:center;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:20;min-height:56px;background:var(--blue);color:var(--ink);font-weight:700;text-decoration:none}
}

.plain-h1{font-size:clamp(38px,5vw,62px);margin-bottom:14px}
