/* ============================================================================
   IndiaAcres - Public portal stylesheet
   Elegant, modern real estate portal (99acres inspired)
   ========================================================================== */
:root {
    --ia-primary: #0f766e;
    --ia-primary-dark: #115e59;
    --ia-primary-darker: #0b4f4b;
    --ia-accent: #f59e0b;
    --ia-accent-soft: #fef3c7;
    --ia-blue: #0078dc;
    --ia-blue-dark: #0062b8;
    --ia-ink: #101828;
    --ia-body: #475467;
    --ia-bg: #f6f7f9;
    --ia-border: #e4e7ec;
    --ia-rose: #e11d48;
    --ia-radius: 14px;
    --ia-shadow: 0 6px 18px rgba(16, 24, 40, .07);
    --ia-shadow-lg: 0 14px 34px rgba(16, 24, 40, .12);
}

html { scroll-behavior: smooth; }

/* Base font ~14-15px (rem-scaled) for a compact but readable portal */
html { font-size: 90%; }
@media screen and (min-width: 1200px) { html { font-size: 93.75%; } }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--ia-body);
    background: var(--ia-bg);
    font-size: 1rem;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--ia-primary); }
a:hover { color: var(--ia-primary-dark); }

.ia-main { min-height: 60vh; }

/* ============================ TOOLBAR ===================================== */
.ia-toolbar {
    background: linear-gradient(90deg, #0e1f33, var(--ia-primary));
    color: #fff;
}
.ia-city-select {
    max-width: 180px;
    appearance: auto;
    color: #fff;
    padding: .15rem .4rem;
    cursor: pointer;
    width: auto;
}
.ia-city-select option { color: #101828; }
.ia-toolbar .container-xl > div.d-flex > span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

/* ============================ NAVBAR ====================================== */
.ia-navbar {
    background: rgba(255, 255, 255, .95);
    backdrop-filter: blur(8px);
}
.ia-navbar .navbar-nav .nav-link {
    color: var(--ia-ink);
    font-weight: 500;
    margin: 0 .15rem;
}
.ia-navbar .navbar-nav .nav-link:hover { color: var(--ia-primary); }

.ia-brand-mark {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, var(--ia-primary), var(--ia-primary-darker));
    color: #fff;
    font-size: 1.15rem;
    box-shadow: 0 4px 10px rgba(var(--ia-primary-rgb), .35);
}
.ia-brand-name { font-weight: 800; color: var(--ia-ink); font-size: 1.3rem; letter-spacing: -.02em; }

.ia-brand-logo { max-height: 46px; }
.ia-brand-img {
    height: 44px;
    max-width: 190px;
    object-fit: contain;
    display: block;
}
.ia-sidebar .ia-brand-img { height: 36px; }
.ia-foot-logo {
    display: inline-flex;
    background: #fff;
    border-radius: 12px;
    padding: 8px 14px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}
.ia-foot-logo .ia-brand-img { height: 44px; max-width: 190px; }

.ia-icon-tile {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: .75rem;
    background: #e6f4f2;
    color: var(--ia-primary);
    font-size: 1.15rem;
}
.ia-icon-tile-warn { background: #fff4e0; color: #b45309; }
.ia-icon-tile-rose { background: #ffe9f0; color: #be185d; }
.ia-avatar {
    width: 30px; height: 30px;
    background: var(--ia-primary);
    color: #fff;
    font-size: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.btn-soft-rose {
    background: #fff0f3;
    color: var(--ia-rose);
    border: 1px solid #ffc6d1;
}
.btn-soft-rose:hover, .btn-soft-rose:focus {
    background: #ffe3e9;
    color: var(--ia-rose);
    border-color: #ffb3c2;
}

.ia-nav-search .form-control {
    background: #fff;
    border: 1px solid var(--ia-border);
    min-height: 40px;
}
.ia-nav-search .form-control:focus {
    border-color: var(--ia-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--ia-primary-rgb), .12);
}
.ia-nav-search { margin-right: 1.5rem; }
.ia-navbar .btn-dark,
.ia-navbar .btn-soft-rose {
    flex-shrink: 0;
    white-space: nowrap;
}
@media (max-width: 1199.98px) {
    .ia-nav-search { margin-right: .9rem; }
}

/* ============================ HERO ======================================== */
.ia-hero {
    position: relative;
    background:
        linear-gradient(105deg, rgba(11, 20, 34, .93), rgba(var(--ia-primary-rgb), .78) 55%, rgba(var(--ia-primary-rgb), .55)),
        url('../img/demo/about-banner.jpg') center/cover no-repeat;
    color: #fff;
    padding: 64px 0 72px;
    overflow: hidden;
}
.ia-hero h1 { font-weight: 800; letter-spacing: -.02em; margin: 0; }
.ia-hero .lead { color: #dcf3ef; }

/* Search card shown INSIDE the hero, in normal flow (no overlap) */
.ia-search-card {
    background: #fff;
    border-radius: 18px;
    padding: 16px;
    box-shadow: 0 24px 55px rgba(0, 0, 0, .28);
    max-width: 880px;
    margin: 30px auto 0;
}
.ia-search-tabs {
    border-bottom: 1px dashed var(--ia-border);
    padding-bottom: 10px;
    margin-bottom: 12px;
}
.ia-search-tabs .nav-link {
    color: var(--ia-ink);
    font-weight: 600;
    border: none;
    padding: .5rem 1.15rem;
    border-radius: 999px;
}
.ia-search-tabs .nav-link:hover { color: var(--ia-primary); background: rgba(var(--ia-primary-rgb), .06); }
.ia-search-tabs .nav-link.active {
    background: var(--ia-primary);
    color: #fff;
}
.ia-search-inputs .form-control, .ia-search-inputs .form-select {
    border: 1px solid var(--ia-border);
    min-height: 46px;
    border-radius: 10px;
}
.ia-search-inputs .form-control:focus, .ia-search-inputs .form-select:focus {
    border-color: var(--ia-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--ia-primary-rgb), .12);
}
.ia-search-btn {
    background: var(--ia-blue);
    color: #fff;
    font-weight: 700;
    min-height: 46px;
    border-radius: 10px;
}
.ia-search-btn:hover { background: var(--ia-blue-dark); color: #fff; }

/* Brand light-blue action buttons (from logo #0078dc) */
.ia-btn-blue {
    background: var(--ia-blue);
    color: #fff;
    font-weight: 700;
}
.ia-btn-blue:hover { background: var(--ia-blue-dark); color: #fff; }
.ia-btn-blue:focus { box-shadow: 0 0 0 .2rem rgba(0, 120, 220, .25); }
.ia-btn-outline-blue {
    border: 1px solid var(--ia-blue);
    color: var(--ia-blue);
    background: transparent;
    font-weight: 600;
}
.ia-btn-outline-blue:hover {
    background: rgba(0, 120, 220, .08);
    color: var(--ia-blue-dark);
    border-color: var(--ia-blue-dark);
}

/* AI style search (magic wand) */
.ia-search-tabs .ia-ai-tab {
    position: relative;
    color: var(--ia-primary);
    background: rgba(var(--ia-primary-rgb), .10);
    border: 1px solid rgba(var(--ia-primary-rgb), .28);
}
.ia-search-tabs .ia-ai-tab:hover { box-shadow: 0 0 0 .2rem rgba(var(--ia-primary-rgb), .12); }
.ia-search-tabs .ia-ai-tab.active {
    background: linear-gradient(120deg, var(--ia-primary), #0080e0);
    color: #fff;
    border-color: transparent;
}
.ia-ai-prompt-ic {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ia-primary);
    font-size: 1.05rem;
}
.ia-ai-prompt {
    padding-left: 40px;
    min-height: 48px;
    border-radius: 11px;
    border: 1px solid rgba(var(--ia-primary-rgb), .35) !important;
    font-weight: 500;
}
.ia-ai-prompt::placeholder { color: #8ea1bc; font-weight: 400; }
.ia-ai-prompt:focus { box-shadow: 0 0 0 .2rem rgba(var(--ia-primary-rgb), .14); }
.ia-ai-btn {
    background: linear-gradient(120deg, var(--ia-primary), #0080e0);
    color: #fff;
    font-weight: 700;
    min-height: 48px;
    border-radius: 11px;
    white-space: nowrap;
}
.ia-ai-btn:hover { color: #fff; filter: brightness(1.06); }
.ia-ai-hint {
    border: 1px dashed var(--ia-border);
    border-radius: 999px;
    background: rgba(var(--ia-primary-rgb), .04);
    color: #52657f;
    font-size: .78rem;
    padding: .28rem .7rem;
    transition: all .15s ease;
}
.ia-ai-hint:hover { border-color: var(--ia-primary); color: var(--ia-primary); }
.ia-ai-badge {
    display: inline-block;
    background: linear-gradient(120deg, var(--ia-primary), #0080e0);
    color: #fff;
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .5px;
    padding: .35rem 1rem;
    border-radius: 999px;
}
.ia-hero-ai {
    background: linear-gradient(160deg, var(--ia-primary-darker), #1b2a45 55%, #22365c);
    padding: 84px 0 96px;
}

/* Popular locality chips inside the search card */
.ia-pop-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
    padding-top: 2px;
}
.ia-pop-label {
    font-size: .78rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.ia-pop-chip {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .8rem;
    font-weight: 500;
    color: var(--ia-primary-dark);
    background: rgba(var(--ia-primary-rgb), .08);
    border: 1px solid rgba(var(--ia-primary-rgb), .14);
    padding: .28rem .7rem;
    border-radius: 999px;
    text-decoration: none;
    transition: all .15s ease;
}
.ia-pop-chip:hover { background: var(--ia-primary); color: #fff; border-color: var(--ia-primary); }
.ia-pop-chip .bi { font-size: .72rem; }
.ia-pop-more {
    color: #64748b;
    background: #f1f5f9;
    border-color: #e2e8f0;
}
.ia-pop-more:hover { background: #334155; color: #fff; border-color: #334155; }

.ia-hero-stats .ia-stat { text-align: center; }
.ia-hero-stats .ia-stat strong { font-size: 1.35rem; display: block; }
.ia-hero-stats .ia-stat span { color: #bfe3dd; font-size: .85rem; }

/* quick links */
.ia-quicklinks { margin-top: 34px; }
.ia-quicklinks .row { --bs-gutter-x: 1rem; }
.ia-qlink {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    height: 100%;
    background: #fff;
    border: 1px solid var(--ia-border);
    border-radius: var(--ia-radius);
    padding: 14px;
    box-shadow: var(--ia-shadow);
    transition: all .2s ease;
    color: var(--ia-ink);
    text-decoration: none;
    overflow: hidden;
}
.ia-qlink::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--ia-accent), var(--ia-accent));
    opacity: 0;
    transition: opacity .2s ease;
}
.ia-qlink:hover {
    transform: translateY(-3px);
    box-shadow: var(--ia-shadow-lg);
    border-color: var(--ia-accent);
    color: var(--ia-ink);
}
.ia-qlink:hover::after { opacity: 1; }
.ia-qlink-ic {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #e8f1f9, #eef6fb);
    color: var(--ia-primary);
    font-size: 1.25rem;
}
.ia-qlink:hover .ia-qlink-ic { background: var(--ia-primary); color: #fff; }
.ia-qlink-tx { min-width: 0; display: flex; flex-direction: column; }
.ia-qlink-tx strong {
    font-size: .92rem;
    font-weight: 700;
    color: var(--ia-ink);
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ia-qlink-tx small {
    font-size: .7rem;
    color: var(--ia-muted);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ia-qlink-ar {
    margin-left: auto;
    flex: 0 0 auto;
    color: #b8c4cf;
    font-size: .9rem;
    transition: transform .2s ease, color .2s ease;
}
.ia-qlink:hover .ia-qlink-ar { transform: translateX(3px); color: var(--ia-primary); }

/* ============================ SECTION HEAD ================================ */
.ia-section-head .ia-eyebrow {
    color: var(--ia-primary);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 700;
    font-size: .78rem;
}
.ia-section-head h2 { color: var(--ia-ink); font-weight: 800; letter-spacing: -.01em; }

/* ============================ PROJECT CARD ================================ */
.ia-pcard { border-radius: var(--ia-radius) !important; transition: box-shadow .2s ease, transform .2s ease; }
.ia-pcard:hover { box-shadow: var(--ia-shadow-lg) !important; transform: translateY(-3px); }

.ia-pcard-img { background: #eef2f5; min-height: 150px; }
.ia-pcard-img img { height: 190px; object-fit: cover; }
.ia-img-fallback { height: 190px; background: #dfe7eb; color: #9db1bc; }

.ia-badge-featured { background: linear-gradient(135deg, #7c3aed, #4f46e5); }
.ia-badge-verified { background: #059669; }
.ia-badge-newlaunch { background: var(--ia-accent); color: #78350f; }
.ia-badge-rera { background: var(--ia-primary); }
.ia-badges .badge { font-size: .66rem; font-weight: 600; }

.ia-possession-strip {
    background: linear-gradient(90deg, rgba(7,31,38,.92), rgba(var(--ia-primary-rgb), .85));
    color: #fff;
}

.ia-fav-btn {
    position: absolute; top: auto; bottom: 10px; right: 12px; z-index: 800;
    border: none;
    background: rgba(255,255,255,.92);
    border-radius: 50%;
    width: 34px; height: 34px;
    display: flex; align-items: center; justify-content: center;
    color: var(--ia-rose);
    box-shadow: 0 2px 8px rgba(0,0,0,.18);
    transition: transform .15s ease;
}
.ia-fav-btn:hover { transform: scale(1.12); }
.ia-fav-btn.active { background: var(--ia-rose); color: #fff; }

.ia-pcard-title { color: var(--ia-ink); }
.ia-pcard-title:hover { color: var(--ia-primary); }

.ia-price { color: #b45309; }
.ia-chip {
    background: #f1f5f9;
    border: 1px solid #e6ebef;
    color: #334155;
    border-radius: 8px;
    padding: 3px 8px;
    font-weight: 500;
}
.ia-pcard-links {
    color: var(--ia-ink);
    background: #fbfcfd;
    transition: background .15s ease, color .15s ease;
}
.ia-pcard-links:hover { background: var(--ia-primary); color: #fff; }
.ia-dev-avatar {
    width: 26px;
    height: 26px;
    font-size: .72rem;
    font-weight: 700;
    color: var(--ia-primary);
    flex: 0 0 26px;
}

/* Configurations strip inside project cards */
.ia-cfg-strip {
    display: flex;
    flex-wrap: wrap;
    margin-top: 8px;
    border: 1px solid var(--ia-border);
    border-radius: 10px;
    overflow: hidden;
}
.ia-cfg {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1 0 auto;
    min-width: 74px;
    padding: 6px 10px;
    background: #f8fafc;
    border-right: 1px solid var(--ia-border);
    text-align: center;
}
.ia-cfg:last-child { border-right: 0; }
.ia-cfg-name { font-size: .8rem; font-weight: 700; color: var(--ia-ink); }
.ia-cfg-sq { font-size: .68rem; color: #64748b; margin-top: 1px; }
.ia-cfg-more {
    color: var(--ia-primary-dark);
    font-weight: 700;
    font-size: .78rem;
    background: rgba(var(--ia-primary-rgb), .08);
}

/* Card action buttons: View Details (outline) vs Enquire (filled) */
.ia-pcard-btn {
    border-radius: 10px;
    min-height: 40px;
    font-weight: 600;
    font-size: .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    line-height: 1.2;
}
.ia-pcard-btn-outline {
    color: var(--ia-primary-dark);
    border: 1.5px solid rgba(var(--ia-primary-rgb), .45);
    background: #fff;
}
.ia-pcard-btn-outline:hover { background: rgba(var(--ia-primary-rgb), .07); color: var(--ia-primary-dark); border-color: var(--ia-primary); }
.ia-pcard-btn-enq {
    color: #fff;
    background: var(--ia-primary);
    border: 1.5px solid var(--ia-primary);
}
.ia-pcard-btn-enq:hover { background: var(--ia-primary-darker); border-color: var(--ia-primary-darker); color: #fff; }

/* Detail page contact-sheet CTAs */
.ia-enq-solid {
    color: #fff;
    background: var(--ia-primary);
    border: 1.5px solid var(--ia-primary);
    min-height: 46px;
}
.ia-enq-solid:hover { background: var(--ia-primary-darker); border-color: var(--ia-primary-darker); color: #fff; }
.btn-outline-rose {
    color: #e11d48;
    border: 1.5px solid #fda4af;
    min-height: 46px;
}
.btn-outline-rose:hover { background: #e11d48; border-color: #e11d48; color: #fff; }

/* City tiles (plain card, no background image) */
.ia-city-tile {
    border-radius: calc(var(--ia-radius) - 4px);
    background: #fff;
    border: 1px solid var(--ia-border);
    box-shadow: var(--ia-shadow);
    padding: 8px 12px;
    color: var(--ia-ink);
    text-decoration: none;
    display: flex !important;
    align-items: center;
    gap: 8px;
    height: 100%;
    min-height: 44px;
    transition: all .2s ease;
    overflow: hidden;
}
.ia-city-tile .ia-city-ic {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: rgba(var(--ia-primary-rgb), .08);
    color: var(--ia-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .82rem;
}
.ia-city-tile .ia-city-name {
    font-weight: 700;
    font-size: .82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ia-city-tile:hover { box-shadow: var(--ia-shadow-lg); transform: translateY(-2px); color: var(--ia-ink); border-color: rgba(var(--ia-primary-rgb), .35); }

/* Sub-locality chips under each locality tile */
.ia-subloc-chip {
    font-size: .72rem;
    font-weight: 600;
    color: var(--ia-primary);
    background: rgba(var(--ia-primary-rgb), .07);
    border-radius: 999px;
    padding: .22rem .6rem;
    text-decoration: none;
    transition: all .15s ease;
}
.ia-subloc-chip:hover { background: var(--ia-primary); color: #fff; }

/* Developer tile */
.ia-dev-tile {
    background: #fff;
    border: 1px solid var(--ia-border);
    border-radius: var(--ia-radius);
    padding: 22px;
    text-align: center;
    transition: all .2s ease;
    color: var(--ia-ink);
    text-decoration: none;
    display: block;
}
.ia-dev-tile:hover { box-shadow: var(--ia-shadow-lg); transform: translateY(-3px); color: var(--ia-ink); }
.ia-dev-logo {
    width: 64px; height: 64px;
    border-radius: 16px;
    background: #eef4f3;
    color: var(--ia-primary);
    font-weight: 800;
    font-size: 1.2rem;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 12px;
}
.ia-dev-tile h5 { color: var(--ia-ink); font-weight: 700; }
.ia-dev-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: inherit;
    background: #fff;
    padding: 8px;
}
.ia-dev-avatar img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
    padding: 2px;
}
.ia-price-blue { color: #0078dc; }
.ia-city-cnt {
    display: block;
    font-size: .7rem;
    font-weight: 600;
    color: var(--ia-primary);
    white-space: nowrap;
}

/* Why us */
.ia-why { border-radius: var(--ia-radius); background: #fff; border: 1px solid var(--ia-border); }
.ia-why i { color: var(--ia-primary); }

/* CTA band */
.ia-cta {
    background: linear-gradient(100deg, var(--ia-primary-darker), var(--ia-primary));
    color: #fff;
    border-radius: 22px;
}

/* ============================ SEARCH/FILTERS ============================== */
.ia-filter-panel {
    border-radius: var(--ia-radius);
    background: #fff;
    border: 1px solid var(--ia-border);
    box-shadow: var(--ia-shadow);
}
.ia-filter-panel .form-check { margin-bottom: .15rem; }
.ia-filter-panel .form-check-label { font-size: .88rem; }
.ia-filter-head {
    background: #f8fafc;
    border-bottom: 1px solid var(--ia-border);
    border-radius: var(--ia-radius) var(--ia-radius) 0 0;
}
.ia-filter-block { border-bottom: 1px dashed var(--ia-border); }
.ia-filter-block h6 { color: var(--ia-ink); font-weight: 700; }

.ia-results-count { color: var(--ia-ink); font-weight: 700; }

.ia-sort-select { width: auto; min-width: 200px; }

.ia-related-searches a {
    color: var(--ia-primary);
    text-decoration: none;
    border: 1px solid #bfe3dd;
    background: #f0faf9;
    border-radius: 40px;
    padding: 4px 12px;
    display: inline-block;
    margin: 3px;
    font-size: .82rem;
}
.ia-related-searches a:hover { background: var(--ia-primary); color: #fff; }

/* GPS section */
.ia-gps-pill {
    background: #fff;
    border: 1.5px dashed var(--ia-primary);
    border-radius: 40px;
    color: var(--ia-primary);
    font-weight: 600;
    font-size: .85rem;
}
.ia-gps-pill:hover { background: var(--ia-primary); color: #fff; }

/* ============================ AD ========================================== */
.ia-ad { background: #fff; }
.ia-ad-img {
    width: 100%;
    min-height: 150px;
    max-width: 260px;
    background-size: cover;
    background-position: center;
}
.ia-ad-inline .ia-ad-img { max-width: 220px; min-height: 120px; }
.ad-fallback { background: linear-gradient(120deg, #103f4d, var(--ia-primary)); color: #fff; }

/* Video ad frame (short banner, not full 16:9) */
.ia-video-frame {
    position: relative;
    height: 320px;
    background: #000;
}
.ia-video-frame iframe,
.ia-video-frame video {
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}
@media (max-width: 991.98px) {
    .ia-video-frame { height: 200px; }
}

/* ============================ PROJECT DETAIL ============================== */
.ia-gallery {
    border-radius: var(--ia-radius);
    overflow: hidden;
    border: 1px solid var(--ia-border);
    background: #fff;
}
.ia-gallery .carousel-item img { height: 440px; object-fit: cover; }
.ia-proj-sticky-top { background: rgba(255,255,255,.96); backdrop-filter: blur(6px); }

.ia-kv-row { display: flex; justify-content: space-between; padding: .55rem .75rem; }
.ia-kv-row:nth-child(odd) { background: #f8fafc; }
.ia-kv-row .k { color: var(--ia-body); font-size: .85rem; }
.ia-kv-row .v { color: var(--ia-ink); font-weight: 600; text-align: right; }

.ia-kv-grid .ia-kv-box {
    border: 1px solid #eef2f6;
    background: #fbfcfd;
    border-radius: 10px;
    padding: .7rem .85rem;
    height: 100%;
}
.ia-kv-grid .ia-kv-box .k {
    display: block;
    color: var(--ia-body);
    font-size: .78rem;
    margin-bottom: 2px;
}
.ia-kv-grid .ia-kv-box .v {
    display: block;
    color: var(--ia-ink);
    font-weight: 600;
    font-size: .9rem;
}

.ia-amenity-tile {
    background: #fff;
    border: 1px solid var(--ia-border);
    border-radius: 10px;
    padding: 10px;
    text-align: center;
}
.ia-amenity-tile i { color: var(--ia-primary); font-size: 1.3rem; }
.ia-amenity-tile span { font-size: .74rem; color: var(--ia-ink); font-weight: 500; }

.ia-cfg-table { font-size: .88rem; }
.ia-cfg-table th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #5b6b7c; white-space: nowrap; }
.ia-cfg-table td { padding: .45rem .55rem; white-space: nowrap; }
.ia-cfg-table td:first-child { white-space: normal; }
.ia-cfg-table .btn-sm { font-size: .72rem; }

.ia-highlight-chip {
    background: #f0faf9;
    border: 1px solid #bde5df;
    color: var(--ia-primary-darker);
    border-radius: 40px;
    padding: 5px 14px;
    font-weight: 600;
    font-size: .8rem;
}

.ia-parking-chip {
    background: #eef6ff;
    border: 1px solid #cfe3ff;
    color: var(--ia-primary);
    border-radius: 40px;
    padding: 6px 14px;
    font-weight: 600;
    font-size: .8rem;
}
.ia-parking-chip i { color: var(--ia-primary); font-size: 1rem; }

.ia-brochure-card, .ia-contact-card { border-radius: var(--ia-radius); }

.ia-contact-card {
    background: linear-gradient(160deg, #ffffff, #f4f8f7);
    position: sticky;
    top: 88px;
    z-index: 5;
}
.ia-contact-price { font-size: 1.45rem; color: #b45309; font-weight: 800; }

.ia-quick-facts { position: relative; z-index: 1; }

/* ============================ LOGIN ======================================= */
.ia-auth-card {
    max-width: 460px;
    margin: 60px auto;
    background: #fff;
    border-radius: 20px;
    border: 1px solid var(--ia-border);
    box-shadow: var(--ia-shadow-lg);
}
.ia-auth-logo {
    max-height: 58px;
    max-width: 230px;
    object-fit: contain;
}
.ia-g-btn {
    border: 1px solid #d0d5dd;
    background: #fff;
    color: #344054;
    font-weight: 600;
    border-radius: 12px;
    padding: .8rem 1rem;
}
.ia-g-btn:hover { background: #f9fafb; }

/* ============================ FOOTER ====================================== */
.ia-footer {
    background: linear-gradient(180deg, #0b2130, #0a1a26);
    color: #aab8c5;
}
.ia-footer-title { font-size: .95rem; letter-spacing: .03em; }
.ia-trending-link {
    display: inline-flex;
    align-items: center;
    border: 1px solid #2b4357;
    background: rgba(255, 255, 255, .05);
    color: #c3d2dc;
    border-radius: 999px;
    padding: 5px 14px;
    font-size: .8rem;
    font-weight: 500;
    text-decoration: none;
    transition: all .15s ease;
}
.ia-trending-link:hover { background: var(--ia-primary); border-color: var(--ia-primary); color: #fff; }
.ia-foot-links a { color: #aab8c5; text-decoration: none; line-height: 2.1; }
.ia-foot-links a:hover { color: #fff; }
.ia-social {
    width: 36px; height: 36px;
    border: 1px solid #284151;
    border-radius: 10px;
    color: #c4d2db;
    display: inline-flex; align-items: center; justify-content: center;
}
.ia-social:hover { background: var(--ia-primary); color: #fff; border-color: var(--ia-primary); }
.ia-store-badge {
    border: 1px solid #284151;
    border-radius: 10px;
    padding: 6px 12px;
    color: #dfe8ee;
    font-size: .82rem;
    font-weight: 600;
}

.ia-wa-fab {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 54px; height: 54px;
    background: #25d366;
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.7rem;
    box-shadow: 0 8px 20px rgba(37, 211, 102, .45);
    z-index: 1040;
}
.ia-wa-fab:hover { color: #fff; transform: scale(1.08); }

/* Compare table */
.ia-compare-table th { min-width: 160px; }
.ia-compare-table th, .ia-compare-table td { vertical-align: top; padding: .9rem .8rem; }
.ia-compare-table td { background: #fff; }

/* misc */
.ia-section { padding: 44px 0; }
.ia-muted-card { border: 1px dashed var(--ia-border); border-radius: var(--ia-radius); }
.ia-badge-ribbon { background: #fff7ed; border: 1px solid #fed7aa; color: #c2410c; }

@media (max-width: 991.98px) {
    .ia-hero { padding: 44px 0 56px; }
    .ia-gallery .carousel-item img { height: 300px; }
    .ia-ad-inline .ia-ad-img { max-width: none; min-height: 160px; }
    .ia-hero-stats { gap: 1.25rem !important; }
}

@media (max-width: 575.98px) {
    .ia-pcard-img img { height: 170px; }
}

/* ==================== THEME / FESTIVE / HERO ============================== */
/* Festive ribbon (injected by includes/theme.php) */
.ia-festive-ribbon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: 7px 14px;
    background: linear-gradient(90deg, var(--ia-primary-darker), var(--ia-primary));
    color: #fff;
    font-size: .82rem;
    font-weight: 600;
    text-align: center;
}
.ia-festive-ribbon .ia-festive-icon {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    flex-shrink: 0;
}
.ia-festive-ribbon .bi { font-size: .78rem; }

/* Homepage hero banner slideshow */
.ia-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.ia-hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
.ia-hero-slide.active { opacity: 1; }
.ia-hero .container-xl { position: relative; z-index: 1; }

/* City hero band on /projects/{city} */
.ia-city-hero {
    position: relative;
    min-height: 220px;
    display: flex;
    align-items: flex-end;
    background-size: cover;
    background-position: center;
    color: #fff;
    overflow: hidden;
}
.ia-city-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(8, 17, 30, .86), rgba(8, 17, 30, .15));
}
.ia-city-hero > .container-xl { position: relative; z-index: 1; padding: 34px 12px 18px; }
.ia-city-hero h1 { font-weight: 800; letter-spacing: -.02em; margin: 0; }
.ia-city-hero .ia-city-hero-meta { color: #d7ece9; }
.ia-city-hero:not(.ia-city-hero-img) { background: linear-gradient(120deg, #0e1f33, var(--ia-primary)); }
/* Relaxed-search notice */
.ia-relax-note {
    font-size: .76rem;
    background: #fff7e0;
    border: 1px solid #f5d78a;
    color: #7a5b00;
    border-radius: 8px;
    padding: 5px 10px;
    display: inline-block;
}
/* Light-blue accent word on dark hero */
.ia-text-blue { color: #7cc0f4; }
