/* =============================================================================
   MAKKAN REVAMP — full corporate component system (Wave A: global + chrome)
   Loaded after makkan-design.css. Targets real Houzez/Elementor classes.
   Additive, cosmetic-first (spacing/border/radius/shadow/typo/colour) to avoid
   layout breakage. Brand: blue #0e4c8a, green #2fa84f.
   ========================================================================== */

:root{
  --mk-brand:#0e4c8a; --mk-brand-d:#0b3b6c; --mk-brand-l:#eaf1f8;
  --mk-green:#2fa84f; --mk-green-d:#218a3f;
  --mk-ink:#12233b; --mk-ink-2:#3a4c63; --mk-muted:#6b7c93;
  --mk-line:#e6ebf1; --mk-line-2:#eef2f7;
  --mk-bg:#f5f7fa; --mk-card:#ffffff;
  --mk-r:14px; --mk-r-sm:9px; --mk-r-pill:999px;
  --mk-sh:0 1px 2px rgba(16,32,55,.05), 0 2px 8px rgba(16,32,55,.06);
  --mk-sh-md:0 6px 20px -6px rgba(16,32,55,.14);
  --mk-sh-lg:0 18px 42px -14px rgba(16,32,55,.22);
  --mk-t:.2s cubic-bezier(.4,0,.2,1);
}

/* ---------- Corporate canvas (content areas, not global body) ---------- */
.page-template-search #wrap-inner,
.archive #wrap-inner,
.single-property #wrap-inner,
body.search-results #wrap-inner{
  background:var(--mk-bg);
}

/* ---------- Headings rhythm ------------------------------------------- */
h1{ font-size:clamp(1.7rem,2.4vw,2.3rem); font-weight:800; line-height:1.18; }
h2{ font-weight:700; }
.houzez_section_title, .section-title, .elementor-heading-title{ font-weight:800; letter-spacing:-.02em; }

/* ---------- Form controls: unified, corporate ------------------------- */
.form-control,
.houzez-select .btn.dropdown-toggle,
.bootstrap-select .btn.dropdown-toggle,
select.form-control,
input[type=text], input[type=email], input[type=tel], input[type=number],
input[type=search], input[type=password], textarea{
  border:1px solid var(--mk-line) !important;
  border-radius:var(--mk-r-sm) !important;
  min-height:46px;
  color:var(--mk-ink);
  transition:border-color var(--mk-t), box-shadow var(--mk-t);
  box-shadow:none;
}
.form-control:focus,
.bootstrap-select .btn.dropdown-toggle:focus,
input:focus, textarea:focus, select:focus{
  border-color:var(--mk-brand) !important;
  box-shadow:0 0 0 3px rgba(14,76,138,.14) !important;
  outline:none;
}
::placeholder{ color:#9aa8bb !important; opacity:1; }
label{ font-weight:600; color:var(--mk-ink-2); }

/* ---------- Buttons: corporate weight + sizing ------------------------ */
.btn{ border-radius:var(--mk-r-sm); font-family:var(--mk-font-head,'Plus Jakarta Sans'),sans-serif;
  font-weight:600; letter-spacing:.01em; padding:.62em 1.25em; transition:all var(--mk-t); }
.btn-primary, .btn-item, .houzez-search-button, button[type=submit].btn{
  background:var(--mk-brand); border-color:var(--mk-brand); color:#fff;
}
.btn-primary:hover, .btn-item:hover{ background:var(--mk-brand-d); border-color:var(--mk-brand-d);
  transform:translateY(-1px); box-shadow:var(--mk-sh-md); }
.btn-secondary{ background:var(--mk-green); border-color:var(--mk-green); color:#fff; }
.btn-secondary:hover{ background:var(--mk-green-d); border-color:var(--mk-green-d);
  transform:translateY(-1px); box-shadow:var(--mk-sh-md); }
.btn-primary-outlined:hover{ transform:translateY(-1px); }

/* ---------- HEADER: sticky, crisp, corporate -------------------------- */
.ehf-header #masthead,
.site-header, header.houzez-header{
  box-shadow:0 1px 0 rgba(16,32,55,.06), 0 4px 18px -12px rgba(16,32,55,.4);
}
.ekit-menu-nav-link, .header-menu .nav-link, .houzez-nav-menu-main .nav-link{
  font-weight:600 !important; letter-spacing:.005em; position:relative;
}
/* animated underline on nav hover */
.houzez-nav-menu-main .menu-item > a:after,
.ekit-navbar-nav > .menu-item > a:after{
  content:""; position:absolute; left:12px; right:12px; bottom:6px; height:2px;
  background:var(--mk-green); border-radius:2px; transform:scaleX(0);
  transform-origin:left; transition:transform var(--mk-t);
}
.houzez-nav-menu-main .menu-item:hover > a:after,
.ekit-navbar-nav > .menu-item:hover > a:after{ transform:scaleX(1); }
/* POST PROPERTY call-to-action pops */
.btn-create-listing, a.btn-create-listing{
  background:var(--mk-green) !important; border-color:var(--mk-green) !important;
  color:#fff !important; border-radius:var(--mk-r-pill); font-weight:700;
  padding:.6em 1.4em; box-shadow:0 6px 16px -6px rgba(47,168,79,.6);
}
.btn-create-listing:hover{ background:var(--mk-green-d) !important; transform:translateY(-1px); }

/* ---------- Hero / listing SEARCH BAR --------------------------------- */
#houzez-search-tabs-wrap .nav-link{ border-radius:var(--mk-r-sm) var(--mk-r-sm) 0 0; font-weight:600; }
.dropdown-search-fields, .banner-search-wrap, .flex-search{
  border-radius:var(--mk-r) !important;
}
.flex-search{ box-shadow:var(--mk-sh); }

/* ---------- PROPERTY CARDS (grid): premium ---------------------------- */
.item-listing-wrap.card{
  border:1px solid var(--mk-line); border-radius:var(--mk-r); overflow:hidden;
  box-shadow:var(--mk-sh); transition:box-shadow var(--mk-t), transform var(--mk-t);
}
.item-wrap:hover .item-listing-wrap.card, .item-listing-wrap.card:hover{
  box-shadow:var(--mk-sh-lg); transform:translateY(-4px);
}
.listing-thumb, .listing-image-wrap{ overflow:hidden; }
.listing-thumb img{ transition:transform .5s ease; width:100%; }
.item-wrap:hover .listing-thumb img{ transform:scale(1.06); }
.item-body{ padding:16px 16px 14px !important; }
.item-title{ font-size:1.04rem; font-weight:700; line-height:1.34; margin-bottom:2px; }
.item-title a{ color:var(--mk-ink); }
.item-title a:hover{ color:var(--mk-brand); }
.item-price, .item-price-text{ font-weight:800; color:var(--mk-brand); font-size:1.12rem; letter-spacing:-.02em; }
.price-prefix{ color:var(--mk-muted); font-weight:500; }
.item-address{ color:var(--mk-muted); font-size:.86rem; }
/* meta/amenities row */
.item-amenities, .amenities-price-wrap{ border-top:1px solid var(--mk-line-2); padding-top:10px !important; margin-top:8px; }
.item-amenities li, .amenities li{ color:var(--mk-ink-2); font-size:.82rem; font-weight:500; }
/* badges → clean pills */
.labels-wrap .label, .label-status.label, .label-featured.label, .hz-label.label{
  border-radius:var(--mk-r-pill); font-weight:600; font-size:.7rem; letter-spacing:.02em;
  padding:.38em .8em; box-shadow:0 2px 6px rgba(16,32,55,.18);
}
.label-featured.label{ background:var(--mk-green) !important; }

/* ---------- FOOTER: refined corporate (Elementor template #16870) ------
   Logo is navy-on-transparent, so we keep the footer LIGHT (a dark footer
   would hide the logo). Add a brand top-accent, refined links + social. A
   richer multi-column footer (Company / Cities / Quick links / Contact / App)
   needs content added in Elementor — flagged separately. */
.elementor-16870{ border-top:3px solid var(--mk-brand); }
.elementor-16870 a{ font-weight:500; transition:color var(--mk-t); }
.elementor-16870 a:hover{ color:var(--mk-brand) !important; }
.elementor-16870 .elementor-heading-title{ font-weight:700; letter-spacing:-.01em; }
.elementor-16870 .elementor-social-icon{
  transition:transform var(--mk-t), background-color var(--mk-t);
}
.elementor-16870 .elementor-social-icon:hover{
  transform:translateY(-2px); background-color:var(--mk-brand) !important;
}

/* ---------- Scroll-to-top & misc ------------------------------------- */
#backtotop, .houzez-scroll-top{ border-radius:var(--mk-r-sm) !important; box-shadow:var(--mk-sh-md); }

/* =============================================================================
   MAKKAN REVAMP — Wave B: SINGLE PROPERTY detail sections
   ========================================================================== */
.single-property .block-wrap{
  background:var(--mk-card); border:1px solid var(--mk-line);
  border-radius:var(--mk-r); box-shadow:var(--mk-sh);
  padding:22px 24px !important; margin-bottom:20px;
}
.single-property .block-title-wrap{
  margin:0 0 18px !important; padding-bottom:14px;
  border-bottom:1px solid var(--mk-line-2);
}
.single-property .block-title-wrap h2{
  font-size:1.18rem; font-weight:700; color:var(--mk-ink); margin:0;
  position:relative; padding-left:13px; letter-spacing:-.01em;
}
.single-property .block-title-wrap h2:before{
  content:""; position:absolute; left:0; top:3px; bottom:3px; width:4px;
  background:var(--mk-brand); border-radius:3px;
}
/* Overview → subtle stat tiles (keeps the flex layout) */
.single-property .property-overview-data{ gap:12px; flex-wrap:wrap; }
.single-property .property-overview-data > ul{
  background:var(--mk-brand-l); border:1px solid #dbe7f4;
  border-radius:var(--mk-r-sm); padding:12px 16px !important; margin:0; min-width:120px;
}
.single-property .property-overview-item strong,
.single-property .property-overview-data li strong{
  color:var(--mk-brand); font-weight:800;
}
/* Features / amenities */
.single-property .features-list li{ padding:7px 0; color:var(--mk-ink-2); }
/* Title + price emphasis */
.single-property .page-title-wrap{ margin-bottom:6px; }
.property-title-price-wrap .item-price,
.single-property .price-wrap .price{ color:var(--mk-brand) !important; font-weight:800; }
/* Sticky agent contact card */
.fw-property-contact-agent-wrap{
  background:var(--mk-card) !important; border:1px solid var(--mk-line);
  border-radius:var(--mk-r) !important; box-shadow:var(--mk-sh-md);
}
.fw-property-contact-agent-wrap .btn{ border-radius:var(--mk-r-sm); }
/* Breadcrumb */
.single-property .breadcrumb, .page-template-search .breadcrumb{
  background:transparent; font-size:.84rem; padding-left:0;
}
.breadcrumb a{ color:var(--mk-muted); }
.breadcrumb a:hover{ color:var(--mk-brand); }
