:root{--site-width:1250px;--fs-scale:1.15;--navy:#20203f;--blue:#073f9a;--blue-hover:#082f72;--blue2:#0b459e;--gold:#e2b92e;--ink:#343b46;--heading:#343b46;--muted:#75808c;--paper:#f7f7f7;--body-bg:#f7f7f7;--section-alt:#fff;--header-bg:#fff;--header-text:#3c4654;--footer-bg:#20203f;--footer-bottom-bg:#1b1b36;--footer-text:#e1e2ec;--line:#e7e8eb;--white:#fff;--hero-a-rgb:14,70,137;--hero-b-rgb:208,174,44;--fs-body:16px;--lh-body:1.65;--fw-body:400;--fs-hero:54px;--fw-hero:800;--fs-hero-sub:16px;--fs-heading:28px;--fw-heading:700;--fs-subheading:14px;--fs-text:14px;--fs-small:13px;--fs-card-title:18px;--fs-nav:14px;--fs-button:14px;--fs-footer-heading:16px;--fs-footer:13px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--body-bg);color:var(--ink);font-family:'DM Sans','Nunito Sans',Arial,sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-body)}a{color:var(--blue);text-decoration:none}a:hover{color:var(--gold)}img{max-width:100%;height:auto}.wrap{width:min(var(--site-width,1250px),92%);margin-inline:auto}.site-header{height:67px;background:var(--header-bg);position:relative;z-index:20;box-shadow:0 1px 8px rgba(20,32,55,.04)}.header-inner{height:100%;width:min(var(--site-width,1250px),92%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:7px;color:#122b55;min-width:130px}.custom-logo{max-height:54px;width:auto}.brand-mark{width:38px;height:38px;border:2px solid #153c78;border-radius:50%;display:grid;place-items:center;font-size:calc(22px*var(--fs-scale,1));font-weight:800}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:calc(15px*var(--fs-scale,1));letter-spacing:.7px}.brand-copy small{font-size:calc(8px*var(--fs-scale,1));letter-spacing:1px}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}.primary-nav li{position:relative}.primary-nav a{font-size:var(--fs-nav);color:var(--header-text)}.primary-nav .current-menu-item>a,.primary-nav a:hover{color:var(--blue)}.primary-nav .sub-menu{display:none;position:absolute;top:100%;left:-14px;min-width:165px;background:#fff;box-shadow:0 12px 30px #16213a1a;padding:10px;border-radius:8px;z-index:30}.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:block}.primary-nav .sub-menu li{padding:7px}.account-link{border-left:1px solid #e9e9ed;padding-left:22px;font-size:calc(12px*var(--fs-scale,1));color:var(--header-text);white-space:nowrap}.user-icon{font-size:calc(18px*var(--fs-scale,1));margin-right:6px}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:22px;height:2px;background:#26344a;margin:4px}.hero{min-height:575px;margin:0;width:100%;background:linear-gradient(110deg,rgba(var(--hero-a-rgb),.82),rgba(var(--hero-b-rgb),.78)),var(--hero-image,linear-gradient(135deg,#526f8b,#a89d60));background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,35,47,.13),transparent 55%)}.hero-inner{width:min(930px,92%);position:relative;padding:72px 0 52px}.hero h1{font-family:'Nunito Sans',sans-serif;font-size:clamp(34px,4.2vw,var(--fs-hero));line-height:1.1;margin:0 0 10px;color:#fff;font-weight:var(--fw-hero)}.hero-subtitle{font-size:var(--fs-hero-sub);margin:0 0 30px}.listing-tabs{display:flex;justify-content:center;gap:16px;margin-bottom:28px}.listing-tabs button{border:0;border-radius:24px;background:#fff;color:#374151;padding:10px 29px;min-width:80px;font:inherit;font-size:var(--fs-button);cursor:pointer}.listing-tabs button.is-active{background:var(--gold);color:#fff}.hero-search{height:78px;background:#fff;border:8px solid rgba(255,255,255,.35);border-radius:48px;display:flex;align-items:center;padding:7px 10px;gap:12px;box-shadow:0 10px 24px rgba(20,35,50,.12)}.hero-search input[type=search]{border:1px solid #e1e4e8;border-radius:25px;padding:13px 17px;min-width:0;flex:1;font-size:calc(12px*var(--fs-scale,1));outline:none}.hero-search select{border:1px solid #e5e7eb;border-radius:25px;padding:12px 14px;color:#536174;background:#fff;font-size:calc(12px*var(--fs-scale,1));max-width:140px}.advanced-toggle{border:0;background:transparent;color:var(--blue);font-size:calc(12px*var(--fs-scale,1));cursor:pointer;white-space:nowrap}.search-dots{color:var(--blue);font-size:calc(20px*var(--fs-scale,1))}.search-submit,.primary-button{background:var(--blue);color:#fff;border:0;border-radius:24px;padding:12px 28px;font-size:var(--fs-button);cursor:pointer}.search-submit:hover,.primary-button:hover{background:var(--blue-hover);color:#fff}.advanced-fields{display:none;gap:10px;background:#fff;padding:14px;border-radius:12px;margin:9px auto 0;max-width:650px}.advanced-fields.is-open{display:flex}.advanced-fields input,.advanced-fields select{width:33%;min-width:0;border:1px solid #e3e6eb;border-radius:8px;padding:10px}.looking-for{font-style:italic;font-size:calc(13px*var(--fs-scale,1));margin:28px 0 18px}.category-pills{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.category-pills a{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.25);color:#fff;padding:9px 20px;border-radius:24px;font-size:calc(12px*var(--fs-scale,1))}.category-pills a:hover{background:rgba(255,255,255,.4)}.category-pills span{font-size:calc(18px*var(--fs-scale,1))}.about-section{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;padding:36px 0 46px}.about-copy h2,.section-heading h2{font-size:calc(var(--fs-heading)*1.083);line-height:1.25;margin:0 0 8px;font-weight:var(--fw-heading);color:var(--heading)}.about-copy p{font-size:var(--fs-text);line-height:1.9;margin:12px 0 22px}.about-copy .about-repeat{font-size:calc(11px*var(--fs-scale,1));margin-top:38px}.about-copy .primary-button{display:inline-block;margin-top:8px}.about-image img{width:100%;height:320px;object-fit:cover;border-radius:9px;display:block}.featured-section{padding:0 0 42px}.section-heading{text-align:center;margin-bottom:28px}.section-heading h2{font-size:var(--fs-heading);margin-bottom:5px}.section-heading p{font-size:var(--fs-subheading);margin:0;color:var(--muted)}.dgre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0}.dgre-card{background:#fff;border:1px solid #e8e9ed;border-radius:8px;overflow:hidden;position:relative;box-shadow:0 3px 14px rgba(20,30,50,.035)}.dgre-card-media{display:block;aspect-ratio:1.45;background:#e8edf2;overflow:hidden}.dgre-card-media img{width:100%;height:100%;object-fit:cover}.dgre-card-body{padding:15px}.dgre-card-title{font-size:var(--fs-card-title);margin:0 0 4px}.dgre-card-loc,.dgre-card-meta{font-size:calc(11px*var(--fs-scale,1));color:#7c8490}.dgre-price{color:var(--blue);font-weight:700}.dgre-badge{background:var(--blue);border-radius:3px;padding:4px 9px;font-size:calc(10px*var(--fs-scale,1))}.dgre-fav{z-index:2}.dgre-listings .dgre-empty,.plugin-note{text-align:center;color:#75808c;padding:22px}.cities-section{background:var(--section-alt);padding:42px 0 14px}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:none;margin:0 auto}.city-card{display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid #e7e8ec;border-radius:8px;padding:8px 8px 13px;color:#303947}.city-card img{width:100%;height:205px;object-fit:cover;border-radius:5px;margin-bottom:9px}.city-card strong{font-size:calc(13px*var(--fs-scale,1));font-weight:600}.city-card small{font-size:calc(10px*var(--fs-scale,1));color:#77818e}.articles-section{padding:43px 0 48px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article-card{background:#fff;border:1px solid #e9e9ed;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.article-image{height:190px;position:relative;display:block;background:#e6e9ee;overflow:hidden}.article-image img{width:100%;height:100%;object-fit:cover;display:block}.article-image>span{position:absolute;top:10px;left:10px;background:var(--blue);color:#fff;font-size:calc(10px*var(--fs-scale,1));padding:3px 10px}.article-body{padding:13px 15px 10px;flex:1}.article-body h3,.article-body h2{font-size:calc(var(--fs-card-title)*.875);line-height:1.45;font-weight:600;margin:0 0 6px}.article-body h3 a,.article-body h2 a{color:#313a47}.article-body time{display:block;font-size:calc(10px*var(--fs-scale,1));color:#89919a}.article-body p{font-size:var(--fs-small);line-height:1.6;color:#6e7783;margin:6px 0}.article-foot{border-top:1px solid #eee;padding:9px 13px;display:flex;align-items:center;gap:8px;font-size:calc(10px*var(--fs-scale,1));color:#87909a}.article-foot a{margin-left:auto;color:var(--blue)}.author-avatar{width:22px;height:22px;border-radius:50%;background:#d7d9dc;color:#fff;text-align:center;font-size:calc(15px*var(--fs-scale,1))}.testimonials-section{background:var(--section-alt);padding:46px 0 56px}.testimonial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.testimonial{text-align:center;padding:0 8px}.avatar{width:88px;height:88px;border:2px solid #ddd;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;font-size:calc(58px*var(--fs-scale,1));line-height:1;color:#333;background:#fff;box-shadow:0 6px 25px #00000012;position:relative}.avatar b{position:absolute;right:-7px;bottom:0;background:#ff4770;color:#fff;font-size:calc(17px*var(--fs-scale,1));border-radius:50%;width:26px;height:26px}.testimonial strong{display:block;font-size:calc(13px*var(--fs-scale,1))}.testimonial small{display:block;font-size:calc(10px*var(--fs-scale,1));color:#8b929b}.testimonial p{font-size:var(--fs-small);line-height:1.7;color:#68717d;margin:15px 0}.slider-dots{text-align:center;margin-top:14px}.slider-dots i{display:inline-block;width:7px;height:7px;background:#cfd2d7;border-radius:50%;margin:0 4px}.slider-dots i:first-child{background:#263c5b}.partners-section{padding:42px 0 48px}.partner-logos{display:flex;justify-content:space-around;align-items:center;gap:25px;color:#aab0b9;text-align:center}.partner-logos span{font-size:calc(37px*var(--fs-scale,1));line-height:1;display:flex;flex-direction:column;align-items:center}.partner-logos small{font-size:calc(9px*var(--fs-scale,1));letter-spacing:.5px}.site-footer{background:var(--footer-bg);color:#fff}.footer-main{display:grid;grid-template-columns:1.4fr .8fr 1fr .8fr;gap:55px;padding:62px 0}.footer-main h3{font-size:var(--fs-footer-heading);margin:0 0 15px;color:#fff}.footer-main p,.footer-main li,.footer-main a{font-size:var(--fs-footer);color:var(--footer-text);line-height:2}.footer-main p{max-width:250px}.footer-main ul{list-style:none;padding:0;margin:0}.footer-main a:hover{color:var(--gold)}.social-links{display:flex;gap:10px}.social-links a{width:28px;height:28px;border:1px solid #666985;border-radius:50%;display:grid;place-items:center}.footer-bottom{background:var(--footer-bottom-bg);padding:17px 0}.footer-bottom .wrap{display:flex;justify-content:space-between;align-items:center;font-size:calc(10px*var(--fs-scale,1));color:var(--footer-text)}.footer-bottom a{color:var(--footer-text);margin-right:22px}.back-top{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border:0;border-radius:50%;background:var(--gold);color:#fff;font-size:calc(23px*var(--fs-scale,1));cursor:pointer;opacity:0;pointer-events:none;transition:.2s;z-index:10}.back-top.visible{opacity:1;pointer-events:auto}.content-wrap{padding:55px 0 70px;min-height:55vh}.content-wrap h1{font-size:calc(32px*var(--fs-scale,1))}.page-content,.single-post{background:#fff;padding:30px;border-radius:8px}.single-featured-image img{width:100%;max-height:480px;object-fit:cover;border-radius:8px}.post-meta{color:#88909a;font-size:calc(12px*var(--fs-scale,1));margin-bottom:20px}.post-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.archive-heading{text-align:center;margin-bottom:30px}.not-found{text-align:center}
@media(max-width:900px){.primary-nav ul{gap:16px}.about-section{gap:28px}.city-card img{height:160px}.footer-main{gap:25px}.hero{min-height:530px}}
@media(max-width:700px){.site-header{height:62px}.header-inner{width:92%}.menu-toggle{display:block;order:3}.account-link{margin-left:auto;border:0;padding:0;font-size:calc(11px*var(--fs-scale,1))}.primary-nav{display:none;position:absolute;top:62px;left:0;right:0;background:var(--header-bg);padding:15px 5%;box-shadow:0 10px 20px #00000012}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li{padding:9px 0}.primary-nav .sub-menu{position:static;box-shadow:none;padding-left:18px}.hero{margin:0;min-height:560px}.hero-inner{padding:55px 0 38px}.hero h1{font-size:calc(36px*var(--fs-scale,1))}.hero-search{height:auto;min-height:65px;border-radius:20px;flex-wrap:wrap;padding:10px}.hero-search input[type=search]{flex-basis:100%;height:40px}.hero-search select{flex:1;max-width:none}.search-dots{display:none}.search-submit{padding:10px 18px}.advanced-fields.is-open{flex-direction:column}.advanced-fields input,.advanced-fields select{width:100%}.category-pills{gap:8px}.category-pills a{padding:8px 12px;font-size:calc(11px*var(--fs-scale,1))}.about-section{grid-template-columns:1fr;padding:35px 0}.about-image{order:-1}.about-image img{height:240px}.about-copy .about-repeat{margin-top:18px}.dgre-grid,.article-grid,.city-grid,.post-list-grid{grid-template-columns:1fr}.city-card img{height:220px}.testimonial-grid{grid-template-columns:repeat(2,1fr);gap:25px 12px}.partner-logos{flex-wrap:wrap}.partner-logos span{width:28%;font-size:calc(30px*var(--fs-scale,1))}.footer-main{grid-template-columns:repeat(2,1fr);gap:28px;padding:42px 0}.footer-bottom .wrap{gap:10px;align-items:flex-start;flex-direction:column}.article-image{height:220px}}
@media(max-width:420px){.brand{min-width:0}.brand-mark{width:32px;height:32px}.brand-copy strong{font-size:calc(12px*var(--fs-scale,1))}.brand-copy small{font-size:calc(7px*var(--fs-scale,1))}.account-link{font-size:0}.user-icon{font-size:calc(20px*var(--fs-scale,1))}.hero h1{font-size:calc(31px*var(--fs-scale,1))}.listing-tabs{gap:8px}.listing-tabs button{padding:9px 20px}.testimonial-grid{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}}
/* DG Real Estate single-property and dashboard integration */
.hero-search{flex-wrap:wrap}.hero-search>.advanced-fields{flex-basis:100%;width:100%;margin:0 0 4px;order:5}.dgre-single{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;margin:20px 0}.dgre-single h3{font-size:calc(20px*var(--fs-scale,1));margin:26px 0 12px}.dgre-single .dgre-gallery img{border-radius:8px}.dgre-single .dgre-inquiry,.dgre-single .dgre-box{border-color:var(--line);border-radius:10px}.dgre-dashboard{background:#fff;padding:24px;border:1px solid var(--line);border-radius:10px}.dgre-tabs-nav a.is-active{border-color:var(--gold);color:var(--blue)}.dgre-btn{background:var(--blue);border-radius:24px}.dgre-stat{border-radius:10px;background:#fff}.dgre-stat:hover{border-color:var(--gold)}


/* DG Real Estate properties and account screens */
.properties-page{background:var(--body-bg);min-height:70vh;padding:42px 0 52px}
.properties-wrap{width:min(var(--site-width,1250px),92%);margin:0 auto}
.properties-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px}
.breadcrumbs{font-size:calc(11px*var(--fs-scale,1));color:#75808c;display:flex;gap:9px;margin-bottom:3px}
.breadcrumbs a{color:#64748b}.properties-heading h1{font-size:calc(25px*var(--fs-scale,1));line-height:1.2;margin:0;color:var(--heading)}
.properties-tools{display:flex;align-items:center;gap:10px}.save-search{font-size:calc(12px*var(--fs-scale,1));color:#526174;margin-right:10px}.save-search:first-letter{font-size:calc(20px*var(--fs-scale,1))}
.properties-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:22px;align-items:start}
.property-filter,.latest-properties{background:#fff;border:1px solid #e6e7ea;border-radius:5px;padding:22px;margin-bottom:22px}
.property-filter h2,.latest-properties h2{font-size:calc(15px*var(--fs-scale,1));font-weight:650;margin:0 0 16px;color:#303946}
.filter-field{height:38px;border:1px solid #d9dadd;border-radius:5px;display:flex;align-items:center;margin-bottom:14px;padding:0 12px;gap:8px;color:#8290a0}
.filter-field input,.filter-field select{width:100%;height:100%;border:0;background:transparent;outline:0;color:#536174;font:inherit;font-size:calc(11px*var(--fs-scale,1));min-width:0}
.filter-field select{appearance:auto}.filter-field>span{font-size:calc(19px*var(--fs-scale,1))}
.filter-submit{width:100%;background:var(--blue);color:#fff;border:0;border-radius:5px;padding:12px 15px;font-weight:700;font-size:calc(12px*var(--fs-scale,1));margin-top:14px;cursor:pointer}
.filter-submit:hover{background:var(--blue-hover)}
.property-results{min-width:0}.results-toolbar{min-height:45px;background:#fff;border:1px solid #e7e8eb;border-radius:5px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#657184;font-size:calc(11px*var(--fs-scale,1));margin-bottom:18px}
.results-toolbar label{color:#343b46}.results-toolbar select{border:0;background:#fff;color:#536174;font:inherit;padding:8px}
.properties-empty{text-align:center;padding:10px;color:#75808c;font-size:calc(12px*var(--fs-scale,1))}
.auth-page{background:rgba(28,29,33,.88);min-height:calc(100vh - 67px);padding:45px 20px;display:flex;align-items:flex-start;justify-content:center}
.auth-card{width:min(810px,100%);background:#fff;border-radius:7px;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:30px;box-shadow:0 18px 60px #0003}
.auth-visual{min-height:340px;border-radius:6px;background:linear-gradient(145deg,rgba(17,32,52,.18),rgba(17,32,52,.35)),url('../images/about-house.jpg') center/cover;display:grid;place-items:center;position:relative;overflow:hidden}
.auth-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#20203f55,#073f9a22)}
.auth-visual-mark{position:relative;color:#fff;font-size:calc(130px*var(--fs-scale,1));line-height:1;text-shadow:0 4px 20px #0005}
.auth-panel{position:relative;padding:6px 12px 12px 0}
.auth-panel h1{font-size:calc(19px*var(--fs-scale,1));color:#087b80;margin:0 0 18px}
.auth-panel>p{font-size:calc(12px*var(--fs-scale,1));color:#5d6269;margin:0 0 24px}
.auth-close{position:absolute;right:0;top:0;color:#58a7aa;font-size:calc(27px*var(--fs-scale,1));line-height:1}
.auth-form{display:flex;flex-direction:column;gap:11px}
.auth-form>input{width:100%;height:44px;border:1px solid #d7d7d7;border-radius:6px;padding:0 17px;font:inherit;font-size:calc(12px*var(--fs-scale,1));outline:0}
.auth-form>input:focus{border-color:#0b8c91;box-shadow:0 0 0 2px #0b8c911c}
.auth-options{display:flex;align-items:center;justify-content:space-between;font-size:calc(11px*var(--fs-scale,1));margin:7px 0 14px;gap:10px}
.auth-options a{color:#8889c9}.remember-option{display:flex;align-items:center;gap:5px;color:#60646b}
.auth-submit{height:45px;border:0;border-radius:6px;background:var(--blue);color:#fff;font-weight:700;font-size:calc(13px*var(--fs-scale,1));cursor:pointer}
.auth-submit:hover{background:#082f72}
.auth-switch{text-align:center;margin:14px 0 0!important;font-size:calc(12px*var(--fs-scale,1))!important}
.auth-switch a{color:#823c3c;font-weight:700}
.auth-hint{font-size:calc(11px*var(--fs-scale,1));color:#777;margin:0}
.auth-notice{padding:9px 12px;background:#f1f7f7;border-radius:4px;color:#286c70!important}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.properties-wrap{width:92%}.properties-layout{grid-template-columns:240px minmax(0,1fr)}.auth-card{gap:20px}}
@media(max-width:650px){.properties-page{padding:28px 0}.properties-heading{align-items:flex-start;gap:12px}.properties-tools{gap:5px}.save-search{font-size:0;margin-right:3px}.save-search:first-letter{font-size:calc(20px*var(--fs-scale,1))}.properties-layout{grid-template-columns:1fr}.property-sidebar{display:grid;grid-template-columns:1fr}.property-filter{margin-bottom:14px}.results-toolbar{padding:0 12px}.auth-page{padding:20px 12px;min-height:calc(100vh - 62px)}.auth-card{grid-template-columns:1fr;padding:12px;gap:15px}.auth-visual{min-height:150px;max-height:170px}.auth-visual-mark{font-size:calc(85px*var(--fs-scale,1))}.auth-panel{padding:4px 5px 10px}.auth-close{right:4px;top:0}}

.filter-label{display:block;font-size:calc(11px*var(--fs-scale,1));margin:4px 0 6px;color:#455366}
.filter-price-row{display:flex;gap:8px}.filter-price-row .filter-field{flex:1;min-width:0}
.filter-field select{cursor:pointer}
.property-results{transition:opacity .15s}.property-results.is-loading{opacity:.45;pointer-events:none}


/* AJAX account modal */
.kph-auth-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.kph-auth-modal.is-open{display:flex}
.kph-auth-backdrop{position:absolute;inset:0;background:rgba(10,18,32,.68);backdrop-filter:blur(3px)}
.kph-auth-modal-content{position:relative;z-index:1;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.kph-auth-modal-content .auth-card{margin:0;max-width:none;min-height:0}
.kph-auth-modal-close{position:absolute;z-index:5;right:12px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#172033;font-size:calc(30px*var(--fs-scale,1));line-height:1;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.kph-auth-modal-loading,.kph-modal-error{padding:48px;text-align:center}
body.kph-auth-modal-open{overflow:hidden}
.kph-auth-feedback{margin-top:12px;font-size:.92rem}
.kph-auth-feedback.is-error{color:#b42318}
.kph-auth-feedback.is-success{color:#087443}
.kph-auth-modal .auth-close{display:none}
@media(max-width:640px){.kph-auth-modal{padding:10px}.kph-auth-modal-content{max-height:calc(100vh - 20px);border-radius:12px}.kph-auth-modal-content .auth-card{display:block}.kph-auth-modal-content .auth-visual{display:none}}


/* Account modal: remove the stale loading area and use the modal's full width. */
.kph-auth-modal-content{padding:0!important;box-sizing:border-box}
.kph-auth-modal-content .auth-card,
.kph-auth-modal-content .auth-card.kph-auth-card-loaded{
  width:100%;max-width:none;box-sizing:border-box;margin:0;padding:16px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;
}
.kph-auth-modal-content .auth-panel{min-width:0;padding:8px 42px 8px 0}
.kph-auth-modal-content .auth-form{gap:10px}
.kph-auth-modal-content .auth-form>input{box-sizing:border-box}
.kph-auth-modal-content .kph-auth-modal-loading{padding:24px}
@media(max-width:640px){
 .kph-auth-modal-content .auth-card,
 .kph-auth-modal-content .auth-card.kph-auth-card-loaded{display:block;padding:20px}
 .kph-auth-modal-content .auth-panel{padding:8px 4px 4px}
}

/* Top-right toast notices */
.kph-toasts{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);right:16px;z-index:1000000;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 32px));pointer-events:none}
.kph-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:10px;background:#fff;color:#172033;font-size:calc(14px*var(--fs-scale,1));line-height:1.4;box-shadow:0 10px 30px rgba(0,0,0,.18);border-left:4px solid #087443;cursor:pointer;opacity:0;transform:translateX(24px);transition:opacity .25s,transform .25s}
.kph-toast.is-visible{opacity:1;transform:none}
.kph-toast.is-leaving{opacity:0;transform:translateX(24px)}
.kph-toast.is-error{border-left-color:#b42318}
.kph-toast-icon{flex:none;width:20px;height:20px;border-radius:50%;background:#087443;color:#fff;font-size:calc(12px*var(--fs-scale,1));font-weight:700;display:grid;place-items:center;margin-top:1px}
.kph-toast.is-error .kph-toast-icon{background:#b42318}

/* Account dropdown (public header + dashboard top bar) */
.kph-user{position:relative;padding-left:20px;border-left:1px solid #e6e8ec}
.kph-user-btn{display:flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;color:#3a3f4b;font:inherit;font-size:calc(13px*var(--fs-scale,1));padding:6px 4px}
.kph-user-avatar{width:30px;height:30px;border-radius:50%;background:#1c2b49;color:#fff;display:grid;place-items:center;font-weight:700;font-size:calc(13px*var(--fs-scale,1))}
.kph-user-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kph-user-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;list-style:none;margin:0;padding:6px 0;background:#fff;border:1px solid #e6e8ec;border-radius:6px;box-shadow:0 10px 28px rgba(20,30,50,.14);z-index:70}
.kph-user-menu[hidden]{display:none}
.kph-user-menu a{display:block;padding:9px 18px;font-size:calc(13px*var(--fs-scale,1));color:#3a3f4b;text-decoration:none}
.kph-user-menu a:hover{background:#f3f5f8;color:#0b3b82}


.site-header .kph-user{flex:none}
@media(max-width:900px){.kph-user{padding-left:12px}}
@media(max-width:700px){.site-header .kph-user{margin-left:auto;border-left:0;padding-left:0}.site-header .kph-user-name,.site-header .kph-user-btn .dgre-icon{display:none}}
@media(max-width:600px){.kph-user-name{display:none}}

.kph-user-menu:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}

.kph-flash{position:fixed;left:-9999px}


/* Widgets: sections, footer areas, page areas */
.about-section.about-image-left .about-copy{order:2}.about-section.about-image-left{grid-template-columns:.8fr 1.2fr}
.about-copy p:first-of-type{margin-top:12px}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.testimonial-grid.kph-count-1{grid-template-columns:minmax(0,420px);justify-content:center}.testimonial-grid.kph-count-2{grid-template-columns:repeat(2,minmax(0,380px));justify-content:center}.testimonial-grid.kph-count-3{grid-template-columns:repeat(3,1fr)}.testimonial-grid.kph-count-5,.testimonial-grid.kph-count-6{grid-template-columns:repeat(3,1fr)}
.partner-logos{flex-wrap:wrap}.partner-logos a{display:flex;flex-direction:column;align-items:center;color:inherit}.partner-logo-img{max-height:48px;width:auto;max-width:150px;object-fit:contain;display:block}
.kph-section-widget{display:block}.kph-section-widget>.widget-title{display:none}
.footer-area{min-width:0}.footer-area .footer-col+.footer-col{margin-top:24px}.footer-main .widget-title{font-size:var(--fs-footer-heading);margin:0 0 15px;color:#fff}
.footer-main .social-links a{color:var(--footer-text)}
.kph-page-sections{display:block}.kph-page-plain{padding-top:30px;min-height:0}
.kph-sidebar-widget{background:#fff;border:1px solid #e6e7ea;border-radius:5px;padding:22px;margin-bottom:22px}.kph-sidebar-widget .widget-title{font-size:calc(15px*var(--fs-scale,1));margin:0 0 14px}
.kph-search-widget{max-width:340px;margin:30px auto}.kph-search-widget .property-filter{margin-bottom:0}
@media(max-width:900px){.testimonial-grid.kph-count-3,.testimonial-grid.kph-count-5,.testimonial-grid.kph-count-6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.about-section.about-image-left{grid-template-columns:1fr}.about-section.about-image-left .about-copy{order:0}}

/* =========================================================
   PROPERTY LISTINGS + PROPERTY DETAIL PRESENTATION (v1.3.7)
   Shared by homepage featured listings and properties archive.
========================================================= */
.dgre-grid{gap:24px;margin:24px 0 34px;align-items:stretch}
.dgre-card.kph-property-card{min-width:0;background:var(--white,#fff);border:1px solid rgba(32,50,75,.12);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 22px rgba(22,38,61,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.dgre-card.kph-property-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(22,38,61,.12);border-color:rgba(7,63,154,.25)}
.kph-property-media{position:relative;aspect-ratio:1.48/1;display:block;overflow:hidden;background:#e9edf2}
.kph-property-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.kph-property-card:hover .kph-property-media img{transform:scale(1.045)}
.kph-card-image-shade{position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(10,22,39,.12));pointer-events:none}
.kph-card-badges{top:14px;left:14px;z-index:2;gap:7px}
.kph-card-badges .dgre-badge{font-size:calc(10px*var(--fs-scale,1));letter-spacing:.035em;text-transform:uppercase;padding:6px 10px;border-radius:2px;line-height:1.2}
.kph-card-badges .dgre-badge-featured{background:var(--gold,#d8ad2c);color:#17243a}
.kph-property-card .dgre-fav{z-index:3;top:12px;right:12px;width:38px;height:38px;background:rgba(255,255,255,.96);color:var(--blue,#073f9a);box-shadow:0 3px 12px rgba(0,0,0,.12);font-size:calc(21px*var(--fs-scale,1))}
.kph-property-card .dgre-fav.is-active{background:#b4234c;color:#fff}
.kph-card-price{position:absolute;z-index:2;top:calc((100vw - 100%) * 0);left:14px;display:none}
.kph-card-body{padding:18px 19px 16px;display:flex;flex-direction:column;flex:1}
.kph-card-location{font-size:calc(12px*var(--fs-scale,1));color:#778397;margin:0 0 7px;line-height:1.5}
.kph-card-location span{font-size:calc(16px*var(--fs-scale,1));color:var(--blue,#073f9a)}
.kph-property-card .dgre-card-title{font-size:calc(17px*var(--fs-scale,1));line-height:1.4;font-weight:700;margin:0 0 4px;color:#25334a}
.kph-property-card .dgre-card-title a{color:inherit;text-decoration:none}
.kph-property-card .dgre-card-title a:hover{color:var(--blue,#073f9a)}
.kph-card-type{font-size:calc(11px*var(--fs-scale,1));color:#8a93a1;margin:0 0 10px}
.kph-property-card .dgre-price{font-size:calc(17px*var(--fs-scale,1));line-height:1.4;color:var(--blue,#073f9a);font-weight:800;margin:0 0 10px;order:-1}
.kph-card-meta{display:flex;gap:8px 14px;border-top:1px solid #edf0f4;padding:12px 0 0;margin:0 0 13px;font-size:calc(11px*var(--fs-scale,1));color:#687588;opacity:1}
.kph-card-meta li{white-space:nowrap}
.kph-card-meta li span{color:var(--blue,#073f9a);font-weight:700}
.kph-card-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f4;padding-top:12px;margin-top:auto;color:var(--blue,#073f9a);font-size:calc(12px*var(--fs-scale,1));font-weight:700;letter-spacing:.015em}
.kph-card-link span{font-size:calc(19px*var(--fs-scale,1));line-height:1;transition:transform .2s ease}
.kph-card-link:hover span{transform:translateX(4px)}
.featured-section .section-heading{margin-bottom:26px}
.featured-section .dgre-grid{margin-top:0}

/* Single property: editorial split layout, image left and all key information right. */
.kph-property-single-page{padding-top:32px;padding-bottom:64px}
.kph-property-breadcrumb{font-size:calc(12px*var(--fs-scale,1));color:#8993a1;margin:0 0 18px}
.kph-property-breadcrumb a{color:var(--blue,#073f9a)}
.kph-single-property{margin:0;background:transparent;border:0;border-radius:0;padding:0}
.kph-single-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:34px;align-items:start}
.kph-single-visual{min-width:0;position:sticky;top:24px}
.kph-main-photo{position:relative;overflow:hidden;background:#e9edf2;aspect-ratio:1.12/1;min-height:360px}
.kph-main-photo>a{display:block;width:100%;height:100%}
.kph-main-photo img.kph-single-main-image{display:block;width:100%;height:100%;object-fit:cover}
.kph-single-no-photo{height:100%;min-height:360px;display:grid;place-items:center;color:#7d8795;background:linear-gradient(135deg,#e8edf2,#dce3eb)}
.kph-single-featured{position:absolute;left:18px;top:18px;background:var(--gold,#d8ad2c);color:#17243a;padding:8px 13px;font-size:calc(10px*var(--fs-scale,1));text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.kph-single-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:10px}
.kph-single-thumbs a{display:block;aspect-ratio:1.2;overflow:hidden;background:#e9edf2}
.kph-single-thumbs img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}
.kph-single-thumbs a:hover img{opacity:.75}
.kph-single-info{background:#fff;border:1px solid #e7ebf0;padding:28px 29px 25px;box-shadow:0 8px 28px rgba(24,42,67,.045)}
.kph-single-status{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}
.kph-single-status .dgre-badge{border-radius:2px;padding:6px 10px;font-size:calc(10px*var(--fs-scale,1));text-transform:uppercase;letter-spacing:.045em}
.kph-single-title{font-size:clamp(25px,2.5vw,34px);line-height:1.2;color:#24334a;margin:0 0 9px;font-weight:800}
.kph-single-address{font-size:calc(13px*var(--fs-scale,1));color:#778397;margin-bottom:20px}
.kph-single-address span{color:var(--blue,#073f9a);font-size:calc(17px*var(--fs-scale,1))}
.kph-single-price-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}
.kph-single-price-row .dgre-price-lg{font-size:calc(25px*var(--fs-scale,1));color:var(--blue,#073f9a);font-weight:800}
.kph-single-price-row .dgre-fav{flex:0 0 40px;width:40px;height:40px;background:#f1f4f8;color:#b4234c;font-size:calc(22px*var(--fs-scale,1))}
.kph-single-summary{font-size:calc(14px*var(--fs-scale,1));line-height:1.75;color:#697589;margin:17px 0}
.kph-key-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:18px 0 14px;border-top:1px solid #edf0f4;border-left:1px solid #edf0f4}
.kph-key-detail{min-width:0;padding:12px 13px;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;display:flex;flex-direction:column;gap:4px}
.kph-key-detail span{font-size:calc(10px*var(--fs-scale,1));color:#8792a2;text-transform:uppercase;letter-spacing:.06em}
.kph-key-detail strong{font-size:calc(13px*var(--fs-scale,1));color:#2d3b50;overflow-wrap:anywhere}
.kph-map-link{display:inline-flex;gap:8px;align-items:center;font-size:calc(12px*var(--fs-scale,1));font-weight:700;color:var(--blue,#073f9a);margin:3px 0 17px}
.kph-single-inquiry .dgre-inquiry,.kph-single-inquiry .dgre-box{margin:10px 0 0;padding:18px;background:#f7f9fc;border:1px solid #e8edf3;border-radius:0}
.kph-single-inquiry .dgre-inquiry h3,.kph-single-inquiry .dgre-box h3{margin-top:0}
.kph-single-section{background:#fff;border:1px solid #e7ebf0;padding:25px 28px;margin-top:24px}
.kph-single-section h2{font-size:calc(20px*var(--fs-scale,1));color:#26364d;margin:0 0 16px}
.kph-feature-list{gap:12px 28px;margin:0}
.kph-feature-list li{font-size:calc(13px*var(--fs-scale,1));color:#59677b}
.kph-description{font-size:calc(14px*var(--fs-scale,1));line-height:1.85;color:#59677b}
.kph-description p:first-child{margin-top:0}
@media(max-width:900px){.kph-single-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:20px}.kph-single-info{padding:22px}.kph-main-photo{min-height:300px}}
@media(max-width:700px){.dgre-grid{gap:16px}.kph-single-layout{grid-template-columns:1fr;gap:18px}.kph-single-visual{position:static}.kph-main-photo{aspect-ratio:1.2/1;min-height:250px}.kph-single-info{padding:21px 18px}.kph-single-title{font-size:calc(26px*var(--fs-scale,1))}.kph-key-details{grid-template-columns:repeat(2,minmax(0,1fr))}.kph-single-section{padding:20px 18px}.kph-single-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:420px){.kph-card-body{padding:15px}.kph-card-meta{gap:7px 10px}.kph-single-price-row .dgre-price-lg{font-size:calc(21px*var(--fs-scale,1))}.kph-key-detail{padding:10px}.kph-key-detail strong{font-size:calc(12px*var(--fs-scale,1))}}


/* =========================================================
   PROPERTY PRESENTATION REFINEMENTS — v1.3.8
   Focused listing cards and polished inquiry form.
========================================================= */
.dgre-grid.dgre-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.dgre-card.kph-property-card{border:1px solid rgba(28,45,68,.13);border-radius:0;box-shadow:0 5px 20px rgba(20,35,55,.055)}
.dgre-card.kph-property-card:hover{transform:translateY(-5px);box-shadow:0 15px 34px rgba(20,35,55,.13);border-color:rgba(18,54,105,.28)}
.kph-property-media{aspect-ratio:1.38/1;background:#edf0f4}
.kph-card-badges{display:flex;flex-wrap:wrap;position:absolute}
.kph-card-badges .dgre-badge{font-size:calc(10px*var(--fs-scale,1));font-weight:800;letter-spacing:.06em;padding:7px 10px;border-radius:0}
.kph-card-badges .dgre-badge-featured{background:#d7b45b;color:#18263b}
.kph-property-card .dgre-fav{width:40px;height:40px;right:13px;top:13px;border-radius:0;display:grid;place-items:center;font-size:calc(21px*var(--fs-scale,1))}
.kph-card-body{padding:18px 19px 16px;gap:7px}
.kph-property-card .dgre-card-title{font-size:calc(18px*var(--fs-scale,1));line-height:1.35;font-weight:750;margin:0;color:#202f45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.kph-card-location{font-size:calc(13px*var(--fs-scale,1));line-height:1.5;color:#778397;margin:0;display:flex;align-items:flex-start;gap:6px}
.kph-card-location span{font-size:calc(17px*var(--fs-scale,1));line-height:1;color:#244d7c}
.kph-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:7px;padding-top:13px;border-top:1px solid #edf0f3}
.kph-property-card .kph-card-price-text{font-size:calc(20px*var(--fs-scale,1));line-height:1.2;font-weight:800;color:#173e70;margin:0}
.kph-card-open{display:inline-flex;align-items:center;gap:7px;color:#244d7c;text-decoration:none;font-size:calc(12px*var(--fs-scale,1));font-weight:800;white-space:nowrap}
.kph-card-open span{font-size:calc(17px*var(--fs-scale,1));transition:transform .2s}
.kph-card-open:hover span{transform:translate(2px,-2px)}
/* Status dropdown under Properties in the primary navigation. */
.primary-nav .menu-item-has-children{position:relative}
.primary-nav .sub-menu{display:block;position:absolute;top:100%;left:0;min-width:205px;margin:0;padding:9px 0;background:#fff;border:1px solid rgba(25,43,66,.12);box-shadow:0 14px 32px rgba(15,30,50,.14);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:1000}
.primary-nav .menu-item-has-children:hover>.sub-menu,.primary-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.primary-nav .sub-menu li{display:block;width:100%;margin:0;padding:0}
.primary-nav .sub-menu a{display:block;padding:11px 18px;color:#25364e;font-size:calc(13px*var(--fs-scale,1));line-height:1.35;text-decoration:none;white-space:nowrap}
.primary-nav .sub-menu a:hover,.primary-nav .sub-menu a:focus{background:#f3f6fa;color:#173e70}
/* Inquiry form: consistent field rhythm, legible labels and confident CTA. */
.kph-single-inquiry .dgre-inquiry{margin:20px 0 0;padding:22px;background:#f7f9fc;border:1px solid #e5eaf0;border-radius:0}
.kph-single-inquiry .dgre-inquiry h3{font-size:calc(19px*var(--fs-scale,1));line-height:1.3;font-weight:800;color:#24364e;margin:0 0 17px}
.kph-single-inquiry .dgre-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px;margin:0}
.kph-single-inquiry .dgre-form p{margin:0;min-width:0}
.kph-single-inquiry .dgre-form p:nth-of-type(5){grid-column:1/-1}
.kph-single-inquiry .dgre-form label{display:block;font-size:calc(12px*var(--fs-scale,1));font-weight:700;color:#43536a;line-height:1.5}
.kph-single-inquiry .dgre-form input:not([type=hidden]):not([type=checkbox]),.kph-single-inquiry .dgre-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;min-height:46px;padding:11px 13px;border:1px solid #dce3eb;border-radius:0;background:#fff;color:#24364e;font:inherit;font-size:calc(14px*var(--fs-scale,1));outline:none;box-shadow:none;transition:border-color .18s,box-shadow .18s}
.kph-single-inquiry .dgre-form textarea{min-height:112px;resize:vertical}
.kph-single-inquiry .dgre-form input:focus,.kph-single-inquiry .dgre-form textarea:focus{border-color:#315d8b;box-shadow:0 0 0 3px rgba(49,93,139,.1)}
.kph-single-inquiry .dgre-form p:last-child{grid-column:1/-1;margin-top:2px}
.kph-property-type-badge{display:inline-flex;align-items:center;background:#edf2f7;color:#34465f;padding:6px 10px;font-size:calc(10px*var(--fs-scale,1));font-weight:800;letter-spacing:.045em;text-transform:uppercase;border:1px solid #e1e7ee}
.kph-single-inquiry .dgre-form .dgre-btn,.kph-single-inquiry .dgre-inquiry .dgre-btn{width:100%;min-height:48px;border:0;border-radius:0;background:#173e70;color:#fff;font-size:calc(13px*var(--fs-scale,1));font-weight:800;letter-spacing:.025em;padding:13px 20px;cursor:pointer;transition:background .2s,transform .2s}
.kph-single-inquiry .dgre-form .dgre-btn:hover{background:#102e55;transform:translateY(-1px)}
@media(max-width:900px){.dgre-grid.dgre-cols-3{gap:18px}.kph-property-card .dgre-card-title{font-size:calc(16px*var(--fs-scale,1))}.kph-property-card .kph-card-price-text{font-size:calc(18px*var(--fs-scale,1))}}
@media(max-width:700px){.dgre-grid.dgre-cols-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kph-card-body{padding:14px}.kph-property-card .dgre-card-title{font-size:calc(15px*var(--fs-scale,1));min-height:2.7em}.kph-property-card .kph-card-price-text{font-size:calc(16px*var(--fs-scale,1))}.kph-card-open{font-size:calc(11px*var(--fs-scale,1))}.kph-single-inquiry .dgre-form{grid-template-columns:1fr}.kph-single-inquiry .dgre-form p,.kph-single-inquiry .dgre-form p:nth-of-type(5),.kph-single-inquiry .dgre-form p:last-child{grid-column:1}}
@media(max-width:420px){.dgre-grid.dgre-cols-3{grid-template-columns:1fr}.kph-property-media{aspect-ratio:1.5/1}}

/* =========================================================
   PROPERTY CARD VISIBILITY + SPACING FIX — v1.3.9
   Shared listing-card template covers homepage, archive,
   search results and other front-end property grids.
========================================================= */
.dgre-card.kph-property-card{position:relative!important;overflow:hidden!important}
.kph-property-card .kph-property-media{position:relative!important;display:block!important;width:100%;margin:0!important;aspect-ratio:1.42/1!important;overflow:hidden!important}
.kph-property-card .kph-property-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.kph-property-card .kph-card-badges{position:absolute!important;z-index:5!important;top:13px!important;left:13px!important;right:58px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;pointer-events:none}
.kph-property-card .kph-card-badges .dgre-badge,
.kph-property-card .kph-card-badges .kph-card-type-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:27px!important;padding:6px 9px!important;background:#123f82!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:0!important;font-size:calc(10px*var(--fs-scale,1))!important;font-weight:800!important;line-height:1.15!important;letter-spacing:.045em!important;text-transform:uppercase!important;opacity:1!important;visibility:visible!important;text-shadow:none!important}
.kph-property-card .kph-card-badges .dgre-badge-featured{background:#d7b45b!important;color:#17243a!important;border-color:#d7b45b!important}
.kph-property-card .dgre-fav{position:absolute!important;z-index:7!important;top:12px!important;right:12px!important;left:auto!important;bottom:auto!important;width:38px!important;height:38px!important;min-width:38px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;background:rgba(255,255,255,.97)!important;color:#b4234c!important;border:0!important;border-radius:0!important;box-shadow:0 2px 10px rgba(12,27,46,.2)!important;font-size:calc(21px*var(--fs-scale,1))!important;line-height:1!important}
.kph-property-card .dgre-fav svg{width:19px!important;height:19px!important;display:block!important}
.kph-property-card .kph-card-body{display:flex!important;flex-direction:column!important;gap:0!important;padding:13px 16px 15px!important;margin:0!important;min-height:0!important}
.kph-property-card .dgre-card-title{font-size:calc(16px*var(--fs-scale,1))!important;line-height:1.35!important;font-weight:700!important;min-height:0!important;margin:0 0 5px!important;color:#25364e!important}
.kph-property-card .dgre-card-title a{color:inherit!important;text-decoration:none!important}
.kph-property-card .kph-card-location{font-size:calc(12px*var(--fs-scale,1))!important;line-height:1.4!important;margin:0!important;color:#718096!important}
.kph-property-card .kph-card-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:10px 0 0!important;padding:10px 0 0!important;border-top:1px solid #edf0f4!important}
.kph-property-card .kph-card-price-text{font-size:calc(17px*var(--fs-scale,1))!important;line-height:1.25!important;font-weight:800!important;color:#123f82!important;margin:0!important}
.kph-property-card .kph-card-open{font-size:calc(12px*var(--fs-scale,1))!important;color:#123f82!important;white-space:nowrap!important}
.kph-property-card .kph-card-type{display:none!important}
/* Keep listing-status badges legible on the single-property header too. */
.kph-single-info .kph-single-status{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:7px!important;margin:0 0 12px!important}
.kph-single-info .kph-single-status .dgre-badge,
.kph-single-info .kph-single-status .kph-property-type-badge{display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:6px 10px!important;background:#123f82!important;color:#fff!important;border:1px solid #123f82!important;border-radius:0!important;font-size:calc(10px*var(--fs-scale,1))!important;font-weight:800!important;line-height:1.2!important;letter-spacing:.045em!important;text-transform:uppercase!important;opacity:1!important;visibility:visible!important}
.kph-single-info .kph-single-status .dgre-badge-featured{background:#d7b45b!important;color:#17243a!important;border-color:#d7b45b!important}
.kph-single-info .kph-single-status .kph-property-type-badge{background:#eef2f7!important;color:#263b57!important;border-color:#dce4ee!important}
@media(max-width:700px){
 .kph-property-card .kph-card-body{padding:12px 13px 14px!important}
 .kph-property-card .dgre-card-title{font-size:calc(15px*var(--fs-scale,1))!important}
 .kph-property-card .kph-card-price-text{font-size:calc(16px*var(--fs-scale,1))!important}
 .kph-property-card .kph-card-badges{top:9px!important;left:9px!important;right:52px!important}
 .kph-property-card .dgre-fav{top:9px!important;right:9px!important;width:34px!important;height:34px!important;min-width:34px!important}
}


/* =========================================================
   LISTINGS PAGES REDESIGN — v1.4.0
   View switcher (list / 2 / 3 / 4 columns), default 4-col grid,
   cleaner cards, and a list layout that no longer overlaps.
========================================================= */
.properties-layout{grid-template-columns:280px minmax(0,1fr);gap:26px}
.results-toolbar{min-height:52px;border-radius:10px;padding:6px 8px 6px 20px;gap:14px;box-shadow:0 1px 2px rgba(20,35,55,.04);margin-bottom:20px}
.results-count{font-size:calc(13px*var(--fs-scale,1));color:#4d5a6d;font-weight:600}
.results-toolbar label{display:flex;align-items:center;gap:6px;font-size:calc(12px*var(--fs-scale,1))}
.results-toolbar select{cursor:pointer;font-weight:600;color:#25364e;border-radius:6px}
.archive-listings .results-toolbar{padding-right:6px}

.view-switcher{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#fff;border:1px solid #e2e4e8;border-radius:9px}
.view-btn{display:inline-grid;place-items:center;width:36px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:#6b7788;cursor:pointer;transition:background .15s,color .15s}
.view-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.view-btn:hover{background:#eef2f7;color:var(--blue)}
.view-btn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.view-btn.active{background:var(--blue);color:#fff}
.view-btn[hidden]{display:none}

/* Grid: column count comes from data-cols (set by theme.js, capped by width). Default 4. */
.dgre-property-results{--kph-cols:3}
@media(max-width:1000px){.dgre-property-results{--kph-cols:2}}
.dgre-property-results[data-cols="2"]{--kph-cols:2}
.dgre-property-results[data-cols="3"]{--kph-cols:3}
.dgre-property-results[data-cols="4"]{--kph-cols:4}
.dgre-property-results .dgre-grid.dgre-grid{grid-template-columns:repeat(var(--kph-cols),minmax(0,1fr));gap:20px;margin:0 0 30px}
.dgre-property-results[data-cols="4"] .kph-property-card .kph-card-body{padding:12px 13px 14px!important}
.dgre-property-results[data-cols="4"] .kph-property-card .kph-card-price-text{font-size:calc(16px*var(--fs-scale,1))!important}

/* Card: photo block, specs, excerpt (list only) */
.kph-card-photo{position:relative;display:block}
.kph-property-card .kph-card-body{flex:1}
.dgre-property-results .kph-property-card .kph-card-location{margin:0 0 8px!important}
.dgre-property-results .kph-property-card .kph-card-bottom{margin-top:auto!important;flex-wrap:wrap}
.dgre-property-results .kph-property-card .kph-card-body{padding-bottom:14px}

/* List view */
.dgre-property-results[data-view="list"] .dgre-grid.dgre-grid{grid-template-columns:1fr;gap:16px}
.dgre-property-results[data-view="list"] .kph-property-card .kph-card-badges{right:10px!important;top:10px!important;left:10px!important}
.dgre-property-results[data-view="list"] .kph-property-card .dgre-card-title{padding-right:46px}
@media(min-width:521px){
 .dgre-property-results[data-view="list"] .kph-property-card{display:grid!important;grid-template-columns:minmax(200px,270px) minmax(0,1fr);align-items:stretch}
 .dgre-property-results[data-view="list"] .kph-card-photo{min-height:170px}
 .dgre-property-results[data-view="list"] .kph-property-card .kph-card-photo .kph-property-media{position:absolute!important;inset:0;width:100%;height:100%!important;aspect-ratio:auto!important}
 .dgre-property-results[data-view="list"] .kph-property-card .kph-card-body{padding:18px 20px 16px!important}
 .dgre-property-results[data-view="list"] .kph-property-card .dgre-card-title{font-size:calc(18px*var(--fs-scale,1))!important}
 .dgre-property-results[data-view="list"] .kph-property-card .kph-card-price-text{font-size:calc(20px*var(--fs-scale,1))!important}
}
@media(max-width:900px){.properties-layout{grid-template-columns:1fr}.property-sidebar{display:grid;grid-template-columns:1fr}}
@media(max-width:650px){
 .results-toolbar{padding:6px 10px 6px 14px}
 .results-count{font-size:calc(12px*var(--fs-scale,1))}
 .dgre-property-results .dgre-grid.dgre-grid{gap:12px}
}


/* =========================================================
   MENUS — v1.4.1
   Footer menus (were unstyled default lists) and nested
   header submenus (3rd level opens to the side).
========================================================= */
.footer-navigation{border-top:1px solid rgba(255,255,255,.12)}
.footer-navigation ul,.footer-bottom ul{list-style:none;margin:0;padding:0}
.footer-navigation ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 30px;padding:20px 0}
.footer-navigation li{margin:0}
.footer-navigation a{color:var(--footer-text);font-size:var(--fs-footer);font-weight:600;letter-spacing:.02em}
.footer-navigation a:hover,.footer-navigation .current-menu-item>a{color:var(--gold)}
.footer-navigation .sub-menu{display:none}
.footer-bottom ul{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px}
.footer-bottom li{margin:0}
.footer-bottom li a{margin:0}
.footer-bottom a:hover{color:var(--gold)}
@media(max-width:1400px){.footer-bottom .wrap{padding-right:58px}}
@media(max-width:700px){.footer-navigation ul{justify-content:flex-start;gap:4px 22px;padding:16px 0}}

.primary-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:5px;height:5px;margin:0 0 3px 7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);opacity:.6}
.primary-nav .sub-menu .menu-item-has-children>a{padding-left:34px;position:relative}
.primary-nav .sub-menu .menu-item-has-children>a::after{position:absolute;left:16px;top:50%;margin:-3px 0 0;transform:rotate(135deg)}
.primary-nav .sub-menu .sub-menu{top:-9px;left:auto;right:100%;margin-right:2px;transform:translateX(-8px)}
.primary-nav .sub-menu .menu-item-has-children:hover>.sub-menu,.primary-nav .sub-menu .menu-item-has-children:focus-within>.sub-menu{transform:translateX(0)}
.primary-nav .sub-menu li{position:relative}
.primary-nav .sub-menu .sub-menu .sub-menu{right:100%;left:auto}
@media(max-width:700px){
 .primary-nav .sub-menu,.primary-nav .sub-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;min-width:0;margin:0;padding:2px 0 0 14px;background:transparent}
 .primary-nav .sub-menu a{padding:8px 0;white-space:normal}
 .primary-nav .sub-menu .menu-item-has-children>a{padding-left:0}
 .primary-nav .menu-item-has-children>a::after,.primary-nav .sub-menu .menu-item-has-children>a::after{display:none}
}
.properties-desc{font-size:calc(13px*var(--fs-scale,1));color:#5f6c7e;margin-top:6px;max-width:720px}
.properties-desc p{margin:0}
@media(min-width:701px){.primary-nav ul.menu>li:nth-last-child(-n+2)>.sub-menu{left:auto;right:-14px}}


/* =========================================================
   TYPE SIZES — v1.4.2
   Calmer, reasonable sizes and weights for listing cards
   and the single-property header.
========================================================= */
.kph-property-card .dgre-card-title{font-size:calc(15px*var(--fs-scale,1))!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important}
.kph-property-card .kph-card-location{font-size:calc(12px*var(--fs-scale,1))!important}
.kph-property-card .kph-card-price-text{font-size:calc(15px*var(--fs-scale,1))!important;font-weight:700!important;letter-spacing:0!important}
.kph-property-card .kph-card-open{font-size:calc(11px*var(--fs-scale,1))!important;font-weight:600!important}
.dgre-property-results[data-cols="4"] .kph-property-card .kph-card-price-text{font-size:calc(14px*var(--fs-scale,1))!important}
.dgre-property-results[data-view="list"] .kph-property-card .dgre-card-title{font-size:calc(16px*var(--fs-scale,1))!important}
.dgre-property-results[data-view="list"] .kph-property-card .kph-card-price-text{font-size:calc(16px*var(--fs-scale,1))!important}
.kph-single-title{font-size:clamp(22px,calc(21px*var(--fs-scale,1)),30px);font-weight:700;line-height:1.25;letter-spacing:0}
.kph-single-price-row .dgre-price-lg{font-size:calc(18px*var(--fs-scale,1));font-weight:700}
@media(max-width:700px){
 .kph-property-card .dgre-card-title{font-size:calc(14px*var(--fs-scale,1))!important}
 .kph-property-card .kph-card-price-text{font-size:calc(14px*var(--fs-scale,1))!important}
 .kph-single-title{font-size:calc(20px*var(--fs-scale,1))}
}

/* =========================================================
   v1.4.3 — single-property sizes
   `.content-wrap h1` (specificity 0,1,1) was beating
   `.kph-single-title`, forcing a ~37px title. Scoped higher.
========================================================= */
.content-wrap h1{font-size:calc(28px*var(--fs-scale,1))}
.kph-single-info h1.kph-single-title{font-size:calc(19px*var(--fs-scale,1));line-height:1.3;font-weight:700;letter-spacing:0;margin:0 0 8px}
.kph-single-info .kph-single-price-row .dgre-price-lg{font-size:calc(16px*var(--fs-scale,1));font-weight:700}
.kph-single-address{font-size:calc(12px*var(--fs-scale,1))}
.kph-single-section h2{font-size:calc(17px*var(--fs-scale,1))}
.kph-single-inquiry .dgre-inquiry h3{font-size:calc(16px*var(--fs-scale,1));font-weight:700}
.kph-property-card .dgre-card-title{font-size:calc(14px*var(--fs-scale,1))!important}
.kph-property-card .kph-card-price-text,.dgre-property-results[data-view="list"] .kph-property-card .kph-card-price-text{font-size:calc(14px*var(--fs-scale,1))!important}
.dgre-property-results[data-view="list"] .kph-property-card .dgre-card-title{font-size:calc(15px*var(--fs-scale,1))!important}
.dgre-property-results[data-cols="4"] .kph-property-card .kph-card-price-text{font-size:calc(13px*var(--fs-scale,1))!important}
@media(max-width:700px){
 .kph-single-info h1.kph-single-title{font-size:calc(18px*var(--fs-scale,1))}
 .kph-property-card .dgre-card-title,.kph-property-card .kph-card-price-text{font-size:calc(13px*var(--fs-scale,1))!important}
}

.city-card .city-placeholder{display:grid;place-items:center;width:100%;height:205px;border-radius:5px;margin-bottom:9px;background:linear-gradient(135deg,rgba(var(--hero-a-rgb),.88),rgba(var(--hero-b-rgb),.8));color:#fff;font-size:64px;font-weight:800;letter-spacing:1px}
@media(max-width:900px){.city-card .city-placeholder{height:160px}}
@media(max-width:700px){.city-card .city-placeholder{height:220px}}

.brand--logo .custom-logo-link{display:flex;align-items:center;line-height:0}
.brand--logo .custom-logo{display:block;max-height:54px;width:auto;height:auto}


/* =========================================================
   HOMEPAGE CUSTOMIZER (v1.6.0): design variables, 4-column grids, explore buttons
   Variables --h-{section}-{field} are printed by inc/home-customizer.php only when changed.
========================================================= */
.kph-sec--about{--sec-bg:var(--h-about-bg,transparent);--sec-pt:var(--h-about-pt,36px);--sec-pb:var(--h-about-pb,46px);--sec-heading:var(--h-about-heading,var(--heading));--sec-text:var(--h-about-text,initial);--sec-align:var(--h-about-align,center);--sec-btn-bg:var(--h-about-btn-bg,var(--blue));--sec-btn-text:var(--h-about-btn-text,#fff);--sec-btn-radius:var(--h-about-btn-radius,24px);}
.kph-sec--featured{--sec-bg:var(--h-featured-bg,transparent);--sec-pt:var(--h-featured-pt,0px);--sec-pb:var(--h-featured-pb,42px);--sec-heading:var(--h-featured-heading,var(--heading));--sec-text:var(--h-featured-text,initial);--sec-align:var(--h-featured-align,center);--sec-btn-bg:var(--h-featured-btn-bg,var(--blue));--sec-btn-text:var(--h-featured-btn-text,#fff);--sec-btn-radius:var(--h-featured-btn-radius,24px);}
.kph-sec--cities{--sec-bg:var(--h-cities-bg,var(--section-alt));--sec-pt:var(--h-cities-pt,42px);--sec-pb:var(--h-cities-pb,34px);--sec-heading:var(--h-cities-heading,var(--heading));--sec-text:var(--h-cities-text,initial);--sec-align:var(--h-cities-align,center);--sec-btn-bg:var(--h-cities-btn-bg,var(--blue));--sec-btn-text:var(--h-cities-btn-text,#fff);--sec-btn-radius:var(--h-cities-btn-radius,24px);}
.kph-sec--articles{--sec-bg:var(--h-articles-bg,transparent);--sec-pt:var(--h-articles-pt,43px);--sec-pb:var(--h-articles-pb,48px);--sec-heading:var(--h-articles-heading,var(--heading));--sec-text:var(--h-articles-text,initial);--sec-align:var(--h-articles-align,center);}
.kph-sec--testimonials{--sec-bg:var(--h-testimonials-bg,var(--section-alt));--sec-pt:var(--h-testimonials-pt,46px);--sec-pb:var(--h-testimonials-pb,56px);--sec-heading:var(--h-testimonials-heading,var(--heading));--sec-text:var(--h-testimonials-text,initial);--sec-align:var(--h-testimonials-align,center);}
.kph-sec--partners{--sec-bg:var(--h-partners-bg,transparent);--sec-pt:var(--h-partners-pt,42px);--sec-pb:var(--h-partners-pb,48px);--sec-heading:var(--h-partners-heading,var(--heading));--sec-text:var(--h-partners-text,initial);--sec-align:var(--h-partners-align,center);}

.kph-sec{background:var(--sec-bg,transparent);padding-top:var(--sec-pt);padding-bottom:var(--sec-pb)}
.kph-sec .section-heading{text-align:var(--sec-align,center)}
.kph-sec .section-heading h2,.kph-sec .about-copy h2{color:var(--sec-heading,var(--heading))}
.kph-sec .section-heading p{color:var(--sec-text,var(--muted))}
.kph-sec .about-copy p{color:var(--sec-text,inherit)}
.kph-sec--about .about-section.wrap{padding:0}
.kph-sec--about .about-image img{height:var(--h-about-img-h,320px);border-radius:var(--h-about-img-radius,9px)}
.kph-sec--about .primary-button{background:var(--sec-btn-bg);color:var(--sec-btn-text);border-radius:var(--sec-btn-radius)}
.kph-sec--about .primary-button:hover{filter:brightness(.88)}

/* Hero */
.hero{color:var(--h-hero-text,#fff)}
.hero h1,.hero-subtitle,.looking-for{color:var(--h-hero-text,#fff)}
.hero{background:linear-gradient(110deg,rgba(var(--hero-a-rgb),calc(.82*var(--h-hero-overlay,1))),rgba(var(--hero-b-rgb),calc(.78*var(--h-hero-overlay,1)))),var(--hero-image,linear-gradient(135deg,#526f8b,#a89d60));background-size:cover;background-position:center}
@media(min-width:901px){.hero{min-height:var(--h-hero-min-h,575px)}}
.listing-tabs button.is-active{background:var(--h-hero-accent,var(--gold))}
.hero .search-submit{background:var(--h-hero-btn-bg,var(--blue));color:var(--h-hero-btn-text,#fff)}
.hero .search-submit:hover{filter:brightness(.88)}

/* Properties: 1-4 columns, 2 on tablets, 1 on phones */
.featured-section .dgre-grid.dgre-grid{display:grid;gap:var(--h-featured-gap,24px);margin:0}
.featured-section .dgre-grid.dgre-cols-1{grid-template-columns:minmax(0,1fr)}
.featured-section .dgre-grid.dgre-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.featured-section .dgre-grid.dgre-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.featured-section .dgre-grid.dgre-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.featured-section .dgre-listings{margin:0}
@media(max-width:1000px){.featured-section .dgre-grid.dgre-cols-3,.featured-section .dgre-grid.dgre-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.featured-section .dgre-grid.dgre-grid{grid-template-columns:minmax(0,1fr)}}
.featured-section .dgre-cols-4 .kph-card-body{padding:15px}

/* City cards: 1-4 columns */
.city-grid{gap:var(--h-cities-gap,22px)}
.city-grid.city-cols-1{grid-template-columns:minmax(0,1fr)}
.city-grid.city-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.city-grid.city-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.city-grid.city-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kph-sec--cities .city-card{background:var(--h-cities-card-bg,#fff);color:var(--h-cities-card-text,#303947);border-radius:var(--h-cities-card-radius,8px)}
.kph-sec--cities .city-card img,.kph-sec--cities .city-card .city-placeholder{height:var(--h-cities-img-h,205px)}
.kph-sec--cities .city-card small{color:var(--h-cities-card-text,#77818e);opacity:.85}
.city-card{transition:transform .2s ease,box-shadow .2s ease}
.city-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(22,38,61,.12)}
@media(max-width:1000px){.city-grid.city-cols-3,.city-grid.city-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.kph-sec--cities .city-card img,.kph-sec--cities .city-card .city-placeholder{height:calc(var(--h-cities-img-h,205px)*.8)}}
@media(max-width:560px){.city-grid.city-grid{grid-template-columns:minmax(0,1fr)}.kph-sec--cities .city-card img,.kph-sec--cities .city-card .city-placeholder{height:var(--h-cities-img-h,205px)}}

/* Articles */
.article-grid{gap:var(--h-articles-gap,24px)}
.article-grid.article-cols-1{grid-template-columns:minmax(0,1fr)}
.article-grid.article-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.article-grid.article-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.article-grid.article-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kph-sec--articles .article-card{background:var(--h-articles-card-bg,#fff);border-radius:var(--h-articles-card-radius,6px)}
.kph-sec--articles .article-image{height:var(--h-articles-img-h,190px)}
@media(max-width:1000px){.article-grid.article-cols-3,.article-grid.article-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.article-grid.article-grid{grid-template-columns:minmax(0,1fr)}}

/* Testimonials + partners */

/* "Explore more" button under the property and city grids */
.kph-explore{text-align:center;margin-top:34px}
.kph-sec--featured .kph-explore,.kph-sec--cities .kph-explore{--b-bg:var(--sec-btn-bg);--b-text:var(--sec-btn-text);--b-radius:var(--sec-btn-radius)}
.kph-explore-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:220px;padding:14px 36px;border:2px solid var(--b-bg,var(--blue));border-radius:var(--b-radius,24px);background:var(--b-bg,var(--blue));color:var(--b-text,#fff);font-size:var(--fs-button);font-weight:700;letter-spacing:.01em;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.kph-explore-btn span{transition:transform .2s ease}
.kph-explore-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(22,38,61,.18);filter:brightness(.9);color:var(--b-text,#fff)}
.kph-explore-btn:hover span{transform:translateX(4px)}
.kph-explore-btn--outline{background:transparent;color:var(--b-bg,var(--blue))}
.kph-explore-btn--outline:hover{background:var(--b-bg,var(--blue));color:var(--b-text,#fff);filter:none}
@media(max-width:560px){.kph-explore-btn{width:100%;min-width:0}}

/* Hero: highlighter pointer under the active Rent / Sale / To Let tab */
.listing-tabs.has-pointer{margin-bottom:40px}
.listing-tabs.has-pointer button{position:relative}
.listing-tabs.has-pointer button.is-active:after{content:"";position:absolute;left:50%;top:calc(100% - 1px);width:22px;height:18px;transform:translateX(-50%);background:var(--h-hero-accent,var(--gold));border-radius:0 0 3px 3px}

/* =========================================================
   TESTIMONIALS CAROUSEL + PARTNERS MARQUEE (v1.7.0)
========================================================= */
.kph-carousel{position:relative;--gap:var(--h-testimonials-gap,24px);--pv:var(--per-view,3)}
.kph-carousel-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:12px 4px 22px;margin:0 -4px;outline-offset:4px;-webkit-overflow-scrolling:touch}
.kph-carousel-viewport::-webkit-scrollbar{display:none}
.kph-carousel-track{display:flex;gap:var(--gap);list-style:none;margin:0;padding:0 4px}
.kph-slide{flex:0 0 calc((100% - (var(--pv) - 1)*var(--gap))/var(--pv));min-width:0;scroll-snap-align:start;display:flex}
.kph-testimonial{position:relative;margin:0;width:100%;display:flex;flex-direction:column;background:var(--h-testimonials-card-bg,#fff);border:1px solid var(--line);border-radius:var(--h-testimonials-radius,14px);padding:34px 28px 26px;box-shadow:0 8px 28px rgba(22,38,61,.07);transition:transform .25s ease,box-shadow .25s ease}
.kph-testimonial:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(22,38,61,.13)}
.kph-quote-mark{position:absolute;top:6px;left:22px;font-family:Georgia,'Times New Roman',serif;font-size:84px;line-height:1;color:var(--h-testimonials-badge,var(--blue));opacity:.16;pointer-events:none}
.kph-testimonial blockquote{position:relative;margin:0 0 22px;flex:1;font-size:var(--fs-text);line-height:1.8;color:var(--h-testimonials-card-text,#4a5360)}
.kph-testimonial figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.kph-initial{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:calc(16px*var(--fs-scale,1));color:#fff;background:var(--h-testimonials-badge,var(--blue))}
.kph-testimonial figcaption strong{font-size:calc(14px*var(--fs-scale,1));color:var(--heading)}
.kph-car-btn{position:absolute;top:calc(50% - 22px);z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--blue);font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(22,38,61,.18);transition:background .2s,color .2s,transform .2s,opacity .2s;padding:0 0 3px}
.kph-car-btn:hover{background:var(--blue);color:#fff;transform:scale(1.06)}
.kph-car-prev{left:-22px}.kph-car-next{right:-22px}
.kph-car-dots{display:flex;justify-content:center;gap:9px;margin-top:2px}
.kph-car-dots button{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:#c9ced6;cursor:pointer;transition:width .25s,background .25s}
.kph-car-dots button.is-active{width:26px;background:var(--h-testimonials-badge,var(--blue))}
.kph-carousel.is-single .kph-car-btn,.kph-carousel.is-single .kph-car-dots{display:none}
@media(max-width:1000px){.kph-carousel{--pv:min(var(--per-view,3),2)}.kph-car-prev{left:-10px}.kph-car-next{right:-10px}}
@media(max-width:640px){.kph-carousel{--pv:1}.kph-car-btn{display:none}.kph-testimonial{padding:32px 22px 22px}}

/* Partners: endless marquee, pauses on hover / keyboard focus */
.kph-sec--partners{overflow:hidden}
.kph-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.kph-marquee-track{display:flex;width:max-content;animation:kph-marquee var(--marquee-dur,40s) linear infinite;will-change:transform}
.kph-marquee:hover .kph-marquee-track,.kph-marquee:focus-within .kph-marquee-track{animation-play-state:paused}
.kph-marquee-group{display:flex;flex:none;align-items:center;gap:var(--h-partners-gap,64px);padding-right:var(--h-partners-gap,64px)}
.kph-partner{display:flex;align-items:center;justify-content:center;flex:none;line-height:0}
.kph-partner img{display:block;height:var(--h-partners-logo-h,56px);width:auto;max-width:200px;object-fit:contain;transition:filter .25s,opacity .25s,transform .25s}
.kph-marquee.is-gray .kph-partner img{filter:grayscale(1);opacity:.65}
.kph-marquee .kph-partner:hover img,.kph-marquee .kph-partner:focus-visible img{filter:none;opacity:1;transform:scale(1.07)}
@keyframes kph-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.kph-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.kph-marquee-track{animation:none}.kph-marquee-group[aria-hidden="true"]{display:none}}

/* v1.7.1: articles carousel + endless looping (shared with testimonials) */
.kph-carousel-viewport{scroll-padding-inline:8px}
.kph-articles{--gap:var(--h-articles-gap,24px)}
.kph-articles .article-card{width:100%}
.kph-car-dots{flex-wrap:wrap}
.kph-slide.is-clone{pointer-events:auto}

/* v1.7.2: home article cards show only the title and the read-more link */
.article-card--simple .article-body{padding:22px 20px 12px}
.article-card--simple .article-body h3{font-size:calc(var(--fs-card-title)*1);line-height:1.45;margin:0}
.article-card--simple .article-foot{border-top:0;padding:6px 20px 20px}
.article-card--simple .article-foot a{margin-left:0;font-weight:600}
