/*
Theme Name: PropertyBroker
Theme URI: https://pixel-perfect-showcase-1329.lovable.app
Author: PropertyBroker
Description: Responsive property catalogue theme with project filters, galleries and WhatsApp enquiries.
Version: 1.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: propertybroker
*/

:root{--bg:#fcfbf8;--fg:#17352d;--card:#fff;--primary:#17483b;--primary-fg:#fcfbf8;--secondary:#f1ede3;--muted:#66736e;--accent:#c19643;--border:#dedbd2;--shadow:0 12px 35px rgba(25,45,38,.1);--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.6}body.nav-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.wrap{width:min(calc(100% - 40px),1240px);margin-inline:auto}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border);background:rgba(252,251,248,.96);backdrop-filter:blur(12px)}.header-row{height:80px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}.brand{display:flex;min-width:0;align-items:center}.brand img{display:block;width:auto;height:56px;max-width:220px;object-fit:contain}.desktop-nav{display:none;align-items:center;gap:30px}.desktop-nav .menu{display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none}.desktop-nav a{font-size:14px;color:var(--muted)}.desktop-nav a:hover,.desktop-nav .current-menu-item>a{color:var(--primary);font-weight:600}.nav-toggle,.icon-btn{display:grid;place-items:center;border:0;background:transparent;color:var(--fg);cursor:pointer}.nav-toggle{width:44px;height:44px}.mobile-nav{display:none;border-top:1px solid var(--border);padding:14px 20px 20px}.mobile-nav.open{display:flex;flex-direction:column}.mobile-nav .menu{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.mobile-nav a{display:block;padding:11px 0;font-weight:500}.btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:4px;padding:10px 18px;background:var(--primary);color:var(--primary-fg);font:600 14px var(--sans);cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn-secondary{background:var(--secondary);color:var(--primary)}.btn-outline{border-color:currentColor;background:transparent}.btn-link{min-height:auto;padding:0;background:transparent;color:var(--primary)}.eyebrow{margin:0;color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.display{font-family:var(--serif);font-weight:500;line-height:1.05}.hero{position:relative;min-height:620px;display:flex;align-items:center;background-position:center;background-size:cover;color:var(--primary-fg)}.hero:before,.project-hero:before{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,45,37,.88),rgba(16,45,37,.46) 55%,rgba(16,45,37,.06));content:""}.hero-content{position:relative;padding:92px 0}.hero h1{max-width:800px;margin:20px 0;font-size:clamp(48px,7vw,86px)}.hero p:not(.eyebrow){max-width:580px;font-size:18px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero .btn-outline,.project-hero .btn-outline,.contact-band .btn-outline{border-color:rgba(255,255,255,.65);color:var(--primary-fg)}.section{padding:80px 0}.section.alt{background:var(--secondary)}.section-head{margin-bottom:38px}.section-head h2,.page-intro h1{margin:12px 0 0;font-family:var(--serif);font-size:clamp(42px,6vw,68px);font-weight:500;line-height:1.08}.section-head p:last-child,.page-intro p:last-child{max-width:690px;color:var(--muted)}.page-intro{border-bottom:1px solid var(--border);padding:68px 0;background:var(--secondary)}.grid{display:grid;gap:24px}.projects-grid{grid-template-columns:1fr}.developers-grid{grid-template-columns:1fr}.project-card,.developer-card{overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--card);transition:.25s}.project-card:hover,.developer-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.04)}.card-body{padding:24px}.card-meta,.card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{margin:8px 0;font-family:var(--serif);font-size:32px;font-weight:500}.muted{color:var(--muted)}.small{font-size:14px}.card-copy{min-height:50px}.card-actions{margin-top:22px;border-top:1px solid var(--border);padding-top:18px}.developer-card{display:flex;flex-direction:column;padding:28px}.developer-icon{display:grid;width:56px;height:56px;place-items:center;margin-bottom:22px;border-radius:4px;background:var(--secondary);font-size:25px}.developer-card p{flex:1}.split{display:grid;gap:48px}.benefit-grid{display:grid;grid-template-columns:1fr}.benefit{display:flex;gap:16px;border-bottom:1px solid var(--border);padding:18px 0}.benefit-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:4px;background:var(--bg)}.contact-band{padding:68px 0;background:var(--primary);color:var(--primary-fg)}.contact-band-row{display:flex;flex-direction:column;align-items:flex-start;gap:30px}.contact-band h2{margin:10px 0;font-family:var(--serif);font-size:clamp(46px,6vw,68px);font-weight:500;line-height:1.05}.site-footer{background:var(--primary);color:var(--primary-fg)}.footer-grid{display:grid;gap:42px;padding:56px 0}.footer-logo{width:auto;height:96px;max-width:280px;object-fit:contain;filter:brightness(0) invert(1)}.footer-title{font:600 28px var(--serif)}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-copy{max-width:390px;color:rgba(255,255,255,.75)}.copyright{border-top:1px solid rgba(255,255,255,.16);padding:22px 0;color:rgba(255,255,255,.68);font-size:12px}.copyright .wrap{display:flex;flex-direction:column;gap:5px}.floating-wa{position:fixed;right:20px;bottom:20px;z-index:35;display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--primary);color:var(--primary-fg);box-shadow:var(--shadow);font-size:24px}.filters{display:grid;gap:12px}.field label{display:block;margin-bottom:7px;font-size:12px;font-weight:600}.input{width:100%;border:1px solid var(--border);border-radius:4px;padding:13px 14px;background:var(--card);color:var(--fg);font:inherit}.filter-summary{display:flex;justify-content:space-between;align-items:center;margin:22px 0 28px;border-bottom:1px solid var(--border);padding-bottom:18px}.hidden-project{display:none}.load-wrap{text-align:center;margin-top:35px}.project-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;background-position:center;background-size:cover;color:var(--primary-fg)}.project-hero .wrap{position:relative;padding-block:120px 60px}.project-hero h1{margin:10px 0;font:500 clamp(56px,8vw,96px)/1 var(--serif)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--border);background:var(--border)}.fact{min-height:105px;padding:18px;background:var(--card)}.fact dt{font-size:12px;color:var(--muted)}.fact dd{margin:8px 0 0;font-weight:600}.amenities{display:grid;gap:12px}.amenity{display:flex;align-items:center;gap:12px;border:1px solid var(--border);padding:16px}.gallery-main{position:relative}.gallery-main img{width:100%;max-height:650px;aspect-ratio:16/9;object-fit:cover;cursor:zoom-in}.gallery-thumbs{display:flex;gap:10px;margin-top:12px;overflow:auto}.gallery-thumb{flex:0 0 112px;border:2px solid transparent;padding:0;background:none;opacity:.65;cursor:pointer}.gallery-thumb.active{border-color:var(--primary);opacity:1}.gallery-thumb img{display:block;width:100%;height:80px;object-fit:cover}.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(13,30,25,.96)}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain}.lightbox .close,.lightbox .prev,.lightbox .next{position:absolute;width:44px;height:44px;border:0;border-radius:4px;background:var(--secondary);color:var(--primary);font-size:24px;cursor:pointer}.lightbox .close{right:20px;top:20px}.lightbox .prev{left:20px}.lightbox .next{right:20px}.map{width:100%;height:390px;border:0;background:var(--secondary)}.enquiry{display:grid;gap:15px}.enquiry.two-col{grid-template-columns:1fr}.enquiry textarea{min-height:130px;resize:vertical}.contact-grid{display:grid;gap:50px}.contact-item{display:flex;gap:14px;border-bottom:1px solid var(--border);padding:16px 0}.about-image{width:100%;aspect-ratio:4/5;object-fit:cover}.steps,.reasons{display:grid;gap:20px}.step{border-top:1px solid var(--primary);padding-top:16px}.step strong{display:block;font:500 30px var(--serif);color:var(--primary)}.notice{border-left:4px solid var(--accent);padding:14px;background:var(--secondary)}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:640px){.projects-grid{grid-template-columns:repeat(2,1fr)}.developers-grid,.benefit-grid,.amenities{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.enquiry.two-col{grid-template-columns:1fr 1fr}.enquiry .full{grid-column:1/-1}.copyright .wrap{flex-direction:row;justify-content:space-between}.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.desktop-nav{display:flex}.nav-toggle,.mobile-nav,.floating-wa{display:none!important}.header-row{display:flex;justify-content:space-between}.projects-grid{grid-template-columns:repeat(3,1fr)}.developers-grid{grid-template-columns:repeat(4,1fr)}.split{grid-template-columns:.8fr 1.2fr}.benefit-grid{grid-template-columns:repeat(2,1fr)}.contact-band-row{flex-direction:row;align-items:flex-end;justify-content:space-between}.footer-grid{grid-template-columns:1.25fr .8fr .9fr}.filters{grid-template-columns:repeat(5,1fr)}.facts{grid-template-columns:repeat(3,1fr)}.amenities{grid-template-columns:repeat(4,1fr)}.contact-grid{grid-template-columns:.8fr 1.2fr}.steps{grid-template-columns:repeat(5,1fr)}.reasons{grid-template-columns:repeat(5,1fr)}}
@media(max-width:639px){.wrap{width:min(calc(100% - 28px),1240px)}.section{padding:60px 0}.hero{min-height:590px}.hero-content{padding:74px 0}.page-intro{padding:52px 0}.card-actions{align-items:flex-start;flex-direction:column}.facts{grid-template-columns:1fr}.project-hero{min-height:520px}.project-hero .wrap{padding-block:100px 48px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}