/* EstateHub public styles. Theme colours are injected as CSS variables by the layout.
   Logical properties (inline-start/end) keep LTR/RTL layouts symmetrical. */
:root{--eh-primary:#1b4b66;--eh-accent:#e8a33d;--eh-dark:#11212e;--eh-ink:#1c2b36;--eh-muted:#6a7a86;--eh-line:#e3e9ee;--eh-bg:#f6f8fa;--eh-radius:14px;--bs-primary:var(--eh-primary);--bs-primary-rgb:27,75,102;--bs-link-color:var(--eh-primary);--bs-link-hover-color:#133548;--bs-body-font-family:'Inter',system-ui,-apple-system,'Segoe UI','Noto Nastaliq Urdu',sans-serif;--bs-body-color:var(--eh-ink)}
body.eh-public{background:#fff;font-size:.97rem;line-height:1.6}
h1,h2,h3,.eh-wordmark,.display-5,.display-6{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.01em}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .eh-wordmark{font-family:var(--bs-body-font-family);letter-spacing:0}
.btn-primary{--bs-btn-bg:var(--eh-primary);--bs-btn-border-color:var(--eh-primary);--bs-btn-hover-bg:#133548;--bs-btn-hover-border-color:#133548;--bs-btn-active-bg:#0f2c3b;--bs-btn-active-border-color:#0f2c3b}
.btn-outline-primary{--bs-btn-color:var(--eh-primary);--bs-btn-border-color:var(--eh-primary);--bs-btn-hover-bg:var(--eh-primary);--bs-btn-hover-border-color:var(--eh-primary);--bs-btn-active-bg:var(--eh-primary)}
.btn-accent{background:var(--eh-accent);border-color:var(--eh-accent);color:#241a05;font-weight:600}.btn-accent:hover{filter:brightness(.95);color:#241a05}
.btn-whatsapp{background:#128c4a;border-color:#128c4a;color:#fff}.btn-whatsapp:hover{background:#0e7340;border-color:#0e7340;color:#fff}
:focus-visible{outline:3px solid var(--eh-accent);outline-offset:2px}
.eh-skip{position:absolute;inset-inline-start:8px;top:8px;z-index:2000;background:#fff;padding:.5rem 1rem;border-radius:8px}
.btn,.form-control,.form-select{min-height:38px}.eh-contact .btn{min-width:40px;min-height:40px}
/* header */
.eh-header{background:#fff;box-shadow:0 1px 0 var(--eh-line);z-index:1030}
.eh-topbar{background:var(--eh-dark);color:#dbe5ec}.eh-topbar a{color:#dbe5ec;text-decoration:none}.eh-topbar .eh-switch{color:#dbe5ec;text-decoration:none}
.eh-wordmark{font-weight:700;font-size:1.4rem;color:var(--eh-primary);text-decoration:none}
.navbar .nav-link{font-weight:500;color:var(--eh-ink)}.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--eh-primary)}
/* hero */
.eh-hero{position:relative;color:#fff;padding:5.5rem 0 7rem;background:linear-gradient(135deg,rgba(17,33,46,.92),rgba(27,75,102,.78)),var(--hero-img,none) center/cover,var(--eh-dark)}
.eh-hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:18ch}
.eh-search{background:#fff;color:var(--eh-ink);border-radius:var(--eh-radius);padding:1rem;box-shadow:0 20px 50px rgba(0,0,0,.22);margin-top:-3.5rem;position:relative;z-index:5}
.eh-search .nav-pills .nav-link{border-radius:999px;padding:.35rem 1.1rem;color:var(--eh-ink)}.eh-search .nav-pills .nav-link.active{background:var(--eh-primary)}
/* sections */
.eh-section{padding:3.5rem 0}.eh-section.alt{background:var(--eh-bg)}
.eh-section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.75rem}.eh-section-head h2{margin:0}
.eh-kicker{color:var(--eh-accent);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
/* cards */
.eh-card{border:1px solid var(--eh-line);border-radius:var(--eh-radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.eh-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(17,33,46,.12)}
.eh-media{position:relative;aspect-ratio:16/11;background:#e7edf1;overflow:hidden}.eh-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.eh-card:hover .eh-media img{transform:scale(1.04)}
.eh-badges{position:absolute;inset-block-start:.6rem;inset-inline-start:.6rem;display:flex;gap:.35rem;flex-wrap:wrap}
.eh-wish{position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);color:#c0392b;display:grid;place-items:center;padding:0;z-index:3;border:0}.eh-wish.is-active{color:#c0392b}
.eh-price{font-weight:700;font-size:1.15rem;color:var(--eh-primary)}.eh-price small{font-weight:500;font-size:.78rem}
.eh-project-line a,.eh-city{color:var(--eh-primary)}.eh-project-line a{font-weight:600}
.eh-card-list{flex-direction:row}.eh-card-list .eh-media{flex:0 0 38%;aspect-ratio:auto;min-height:200px}@media(max-width:575px){.eh-card-list{flex-direction:column}.eh-card-list .eh-media{aspect-ratio:16/11}}
.eh-tile{position:relative;display:block;border-radius:var(--eh-radius);overflow:hidden;aspect-ratio:4/3;color:#fff;text-decoration:none;background:var(--eh-dark)}.eh-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform .5s,opacity .3s}.eh-tile:hover img{transform:scale(1.06);opacity:.95}.eh-tile span{position:absolute;inset-inline:1rem;bottom:.9rem;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.6)}
/* detail */
.eh-gallery-main{aspect-ratio:16/10;border-radius:var(--eh-radius);overflow:hidden;background:#e7edf1}.eh-gallery-main img{width:100%;height:100%;object-fit:cover}
.eh-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0}.eh-thumbs button{flex:0 0 96px;aspect-ratio:4/3;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none}.eh-thumbs button[aria-current=true]{border-color:var(--eh-accent)}.eh-thumbs img{width:100%;height:100%;object-fit:cover}
.eh-spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.eh-spec>div{background:var(--eh-bg);border-radius:10px;padding:.7rem .9rem}.eh-spec small{display:block;color:var(--eh-muted)}
.eh-stars{color:var(--eh-accent);white-space:nowrap}
.eh-sticky{position:sticky;top:96px}
.eh-crumbs .breadcrumb{--bs-breadcrumb-divider-color:var(--eh-muted);font-size:.85rem}
.eh-empty{border:1px dashed var(--eh-line);border-radius:var(--eh-radius)}
.eh-filter .form-check{margin-bottom:.25rem}.eh-filter-scroll{max-height:200px;overflow:auto}
.eh-pkg{border:1px solid var(--eh-line);border-radius:var(--eh-radius)}.eh-pkg.recommended{border-color:var(--eh-accent);box-shadow:0 10px 30px rgba(232,163,61,.2)}
/* footer */
.eh-footer{background:var(--eh-dark);color:#cdd9e2}.eh-footer a{color:#cdd9e2;text-decoration:none}.eh-footer a:hover{color:#fff;text-decoration:underline}
.eh-social{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
/* mobile contact bar */
.eh-contact-bar{position:fixed;inset-inline:0;bottom:0;z-index:1040;display:flex;background:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.14);padding-bottom:env(safe-area-inset-bottom)}
.eh-bar-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;font-size:.75rem;text-decoration:none;color:var(--eh-ink);gap:2px}.eh-bar-btn i{font-size:1.25rem}.bar-wa{color:#fff;background:#128c4a}.bar-call{color:var(--eh-primary)}
@media(max-width:991.98px){body.eh-has-bar main{padding-bottom:72px}body.eh-has-bar .eh-cookie{bottom:64px}}
/* cookie bar */
.eh-cookie{position:fixed;inset-inline:1rem;bottom:1rem;z-index:1050;background:var(--ck-bg);color:#fff;border-radius:12px;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;max-width:900px;margin-inline:auto;box-shadow:0 12px 40px rgba(0,0,0,.3)}.eh-cookie[hidden]{display:none}
.eh-cookie-accept{background:var(--ck-btn);color:#1a1405;font-weight:600}
.form-label{font-weight:500;font-size:.88rem}
.is-loading{opacity:.6;pointer-events:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.eh-card:hover{transform:none}}
/* rich text + misc (public views) */
.eh-prose{line-height:1.75}.eh-prose img{max-width:100%;height:auto;border-radius:10px}.eh-prose table{width:100%;margin-bottom:1rem}.eh-prose table td,.eh-prose table th{border:1px solid var(--eh-line);padding:.4rem .6rem}.eh-prose blockquote{border-inline-start:4px solid var(--eh-accent);padding-inline-start:1rem;color:var(--eh-muted)}
.eh-map{z-index:0}
.eh-pkg-table th,.eh-pkg-table td{min-width:150px}
.eh-spec strong{display:block}
