/* =======================================================================
   MK Real Estate — modern design layer
   Loaded site-wide on top of Houzez + Elementor. Elementor-safe: pure CSS,
   no template changes, so the homepage stays editable in Elementor.
     1. Brand tokens + global typography / buttons
     2. Listing-card + single-property polish (Houzez classes)
     3. Homepage / Elementor modernization (hero search, headings, forms)
   ======================================================================= */

:root {
    --mk-brand:        #1a4d8f;
    --mk-brand-dark:   #0d2e5c;
    --mk-accent:       #2e7d32;
    --mk-accent-dark:  #1a5a1d;
    --mk-ink:          #1c2a40;
    --mk-text:         #2a3f5f;
    --mk-muted:        #6c7891;
    --mk-bg:           #f6f9fc;
    --mk-border:       #e5ebf2;
    --mk-radius:       14px;
    --mk-radius-sm:    10px;
    --mk-shadow:       0 4px 24px rgba(13, 46, 92, 0.08);
    --mk-shadow-hover: 0 16px 44px rgba(13, 46, 92, 0.16);
    --mk-font:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* ── 1. Global typography + buttons ──────────────────────────────────── */
html body,
body .listing-tabs,
body input, body select, body textarea, body button,
body .elementor-widget-container {
    font-family: var(--mk-font);
}
html body {
    color: var(--mk-text);
    -webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body .elementor-heading-title {
    font-family: var(--mk-font);
    color: var(--mk-ink);
    letter-spacing: -0.01em;
}

/* Primary buttons → MK brand */
body .btn-primary,
body .houzez-search-button,
body button.btn-primary {
    background-color: var(--mk-brand);
    border-color: var(--mk-brand);
    border-radius: 8px;
    font-weight: 600;
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body .btn-primary:hover,
body button.btn-primary:hover {
    background-color: var(--mk-brand-dark);
    border-color: var(--mk-brand-dark);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(13,46,92,.22);
}

/* Elementor buttons: modernize shape + interaction, keep Elementor's colours */
body .elementor-button {
    border-radius: 8px !important;
    font-weight: 600;
    letter-spacing: .01em;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(13,46,92,.18);
    filter: brightness(1.03);
}
@media (prefers-reduced-motion: reduce) {
    body .btn-primary:hover, body .elementor-button:hover { transform: none; }
}

/* Accent the prices in MK brand colour everywhere they appear */
body .item-price .price,
body .item-price-wrap .item-price,
body .page-title-wrap .item-price-wrap .item-price {
    color: var(--mk-brand);
    font-weight: 700;
}

/* ── 2a. Listing cards (grid) ────────────────────────────────────────── */
body .item-wrap {
    background: #fff;
    border-radius: var(--mk-radius);
    overflow: hidden;
    box-shadow: var(--mk-shadow);
    border: 1px solid var(--mk-border);
    transition: transform .3s ease, box-shadow .3s ease;
}
body .item-wrap:hover {
    transform: translateY(-5px);
    box-shadow: var(--mk-shadow-hover);
}
body .item-wrap .item-header,
body .item-wrap .item-img-wrap { overflow: hidden; }
body .item-wrap .item-header img,
body .item-wrap img { transition: transform .5s ease; }
body .item-wrap:hover .item-header img,
body .item-wrap:hover img { transform: scale(1.06); }
body .item-body { padding: 18px 20px 20px; }
body .item-title a { color: var(--mk-ink); font-weight: 650; }
body .item-title a:hover { color: var(--mk-brand); }
@media (prefers-reduced-motion: reduce) {
    body .item-wrap:hover { transform: none; }
    body .item-wrap:hover img { transform: none; }
}

/* ── 2b. Single property polish ──────────────────────────────────────── */
body .property-section-wrap {
    background: #fff;
    border: 1px solid var(--mk-border);
    border-radius: var(--mk-radius);
    box-shadow: var(--mk-shadow);
    padding: clamp(20px, 3vw, 32px);
    margin-bottom: 24px;
}
body .property-section-wrap .block-title-wrap h2 {
    font-size: 1.3rem;
    font-weight: 700;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 18px;
}
body .property-section-wrap .block-title-wrap h2::after {
    content: '';
    position: absolute; left: 0; bottom: 0;
    width: 48px; height: 3px; border-radius: 3px;
    background: var(--mk-brand);
}
body .property-overview-data {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
}
body .page-title-wrap .item-price-wrap .item-price { font-size: clamp(1.6rem, 4vw, 2.25rem); }

/* Hide the broken Google map (no API key yet) but keep the address + link.
   Remove this rule once a Maps API key is added in Theme Options. */
body #houzez-single-listing-map-address,
body .block-map-wrap { display: none !important; }

/* ── 3. Homepage / Elementor modernization ───────────────────────────── */

/* Section headings */
body .elementor-heading-title { font-weight: 800; letter-spacing: -0.02em; }
body .section-title h2,
body .elementor-widget-heading .elementor-heading-title { line-height: 1.15; }

/* Hero search bar — the homepage centrepiece. Make it a clean floating card. */
body .search-banner-wrap .advanced-search,
body .advanced-search-banner-wrap .advanced-search {
    background: rgba(255,255,255,.97);
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(13,46,92,.28);
    padding: 10px;
    backdrop-filter: blur(3px);
}

/* Search tabs → modern pills */
body .search-tab-content .nav-tabs,
body .advanced-search .nav-tabs { border: 0; gap: 6px; }
body .advanced-search .nav-tabs .nav-link {
    border: 0; border-radius: 8px; font-weight: 600; color: var(--mk-muted);
    padding: 8px 18px;
}
body .advanced-search .nav-tabs .nav-link.active {
    background: var(--mk-brand); color: #fff;
}

/* Search button → brand navy */
body .btn-search,
body .houzez-search .btn-primary,
body .advanced-search button[type="submit"] {
    background: var(--mk-brand);
    border-color: var(--mk-brand);
    border-radius: 10px;
    font-weight: 700;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
body .btn-search:hover,
body .advanced-search button[type="submit"]:hover {
    background: var(--mk-brand-dark);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(13,46,92,.25);
}

/* Form inputs / selects — modern rounded fields with a brand focus ring */
body .form-control,
body .advanced-search .form-control,
body .bootstrap-select > .dropdown-toggle,
body .houzez-search .form-control {
    border-radius: 10px !important;
    border: 1px solid var(--mk-border);
    min-height: 46px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
body .form-control:focus,
body .bootstrap-select.open > .dropdown-toggle,
body .houzez-search .form-control:focus {
    border-color: var(--mk-brand);
    box-shadow: 0 0 0 3px rgba(26,77,143,.14) !important;
    outline: none;
}

/* Icon boxes (Why-choose-us etc.) — gentle modern lift */
body .elementor-widget-icon-box .elementor-icon-box-wrapper,
body .elementor-widget-image-box .elementor-image-box-wrapper {
    transition: transform .3s ease;
}
body .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
body .elementor-widget-image-box:hover .elementor-image-box-wrapper {
    transform: translateY(-4px);
}
@media (prefers-reduced-motion: reduce) {
    body .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
    body .elementor-widget-image-box:hover .elementor-image-box-wrapper { transform: none; }
}

/* Smoother section rhythm on the homepage */
body .elementor-section.elementor-section-boxed > .elementor-container { gap: 4px; }

/* MK native Elementor sections: stats + offices (targeted by fixed element id) */
body .elementor-element-mkstats0 {
    background: linear-gradient(135deg, #1a4d8f 0%, #0d2e5c 100%) !important;
    padding: clamp(48px, 7vw, 80px) 20px !important;
}
body .elementor-element-mkstats0 .elementor-heading-title { color: #fff !important; font-weight: 800; }
body .elementor-element-mkstats0 .elementor-widget-text-editor { color: rgba(255,255,255,.85) !important; text-align: center; }
body .elementor-element-mkstats0 .elementor-counter { text-align: center; }
body .elementor-element-mkstats0 .elementor-counter-number-wrapper {
    justify-content: center; color: #fff !important;
    font-weight: 800; font-size: clamp(2.2rem, 5vw, 3.4rem);
}
body .elementor-element-mkstats0 .elementor-counter-title {
    color: rgba(255,255,255,.9) !important; text-align: center;
    margin-top: 6px; font-weight: 500; font-size: 15px;
}

body .elementor-element-mkoffs0 { background: var(--mk-bg) !important; padding: clamp(48px, 7vw, 84px) 20px !important; }
body .elementor-element-mkoffs0 .elementor-heading-title { color: var(--mk-brand) !important; font-weight: 800; }
body .elementor-element-mkoffc1,
body .elementor-element-mkoffc2,
body .elementor-element-mkoffc3 {
    background: #fff; border: 1px solid var(--mk-border); border-radius: 14px;
    box-shadow: 0 8px 30px rgba(13,46,92,.10);
    transition: transform .3s ease, box-shadow .3s ease;
}
body .elementor-element-mkoffc1 > .elementor-widget-wrap,
body .elementor-element-mkoffc2 > .elementor-widget-wrap,
body .elementor-element-mkoffc3 > .elementor-widget-wrap { padding: 28px; }
body .elementor-element-mkoffs0 .elementor-widget-text-editor { text-align: center; color: var(--mk-text); line-height: 1.6; }
body .elementor-element-mkoffs0 .elementor-widget-text-editor strong { color: var(--mk-brand); }
body .elementor-element-mkoffs0 .elementor-widget-text-editor p:first-child strong { font-size: 1.12rem; }
body .elementor-element-mkoffs0 .elementor-widget-text-editor a { color: var(--mk-brand); font-weight: 600; text-decoration: none; }
body .elementor-element-mkoffs0 .elementor-widget-text-editor a:hover { text-decoration: underline; }
body .elementor-element-mkoffs0 .elementor-button { background: var(--mk-accent); border-radius: 8px; font-weight: 600; }
body .elementor-element-mkoffs0 .elementor-button:hover { background: var(--mk-accent-dark); }
@media (max-width: 991px) {
    body .elementor-element-mkoffc1, body .elementor-element-mkoffc2, body .elementor-element-mkoffc3 { margin-bottom: 16px; }
}
body .elementor-element-mkoffs0 { padding-bottom: clamp(36px, 4vw, 52px) !important; }

/* ── Footer: tighter layout + better contrast ────────────────────────── */
body .footer-top-wrap { padding-top: 52px !important; padding-bottom: 22px !important; }
body .footer-wrap .footer-widget {
    padding: 0 !important;
    margin-bottom: 18px !important;
    background: transparent !important;
    box-shadow: none !important;
}
body .footer-wrap .footer-widget .widget-title,
body .footer-wrap .footer-widget h2,
body .footer-wrap .footer-widget h3,
body .footer-wrap .footer-widget h4 {
    color: #fff !important;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .02em;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,.16);
}
body .footer-wrap,
body .footer-wrap p,
body .footer-wrap li,
body .footer-wrap span,
body .footer-wrap td { color: rgba(255,255,255,.74) !important; line-height: 1.55; }
body .footer-wrap a { color: rgba(255,255,255,.85) !important; text-decoration: none; }
body .footer-wrap a:hover { color: #fff !important; }
body .footer-wrap ul { margin: 0; padding: 0; list-style: none; }
body .footer-wrap ul li { margin-bottom: 8px; padding: 0; }
body .footer-wrap p { margin-bottom: 10px; }
body .footer-bottom-wrap {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    border-top: 1px solid rgba(255,255,255,.12);
}
body .footer-bottom-wrap, body .footer-bottom-wrap a { color: rgba(255,255,255,.7) !important; }

/* ── Property listings grid (shortcode [houzez_listings]) ────────────── */
.mk-listings-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 28px 0 8px;
}
.mk-lc {
    display: flex; flex-direction: column;
    background: #fff; border: 1px solid var(--mk-border); border-radius: var(--mk-radius);
    overflow: hidden; text-decoration: none; color: inherit;
    box-shadow: var(--mk-shadow); transition: transform .3s ease, box-shadow .3s ease;
}
.mk-lc:hover { transform: translateY(-5px); box-shadow: var(--mk-shadow-hover); }
.mk-lc-media { display:block; aspect-ratio: 3/2; background-size: cover; background-position: center; background-color:#d6e0ec; position: relative; }
.mk-lc-price { position:absolute; left:12px; bottom:12px; background:rgba(13,46,92,.92); color:#fff; font-weight:700; padding:6px 12px; border-radius:8px; font-size:.98rem; }
.mk-lc-body { display:flex; flex-direction:column; gap:7px; padding:16px 18px 18px; }
.mk-lc-title { font-size:1.05rem; font-weight:700; color:var(--mk-ink); line-height:1.3; }
.mk-lc-loc { display:flex; align-items:center; gap:5px; color:var(--mk-muted); font-size:.9rem; }
.mk-lc-loc svg { color:var(--mk-brand); flex:none; }
.mk-lc-meta { display:flex; gap:16px; margin-top:4px; padding-top:12px; border-top:1px solid var(--mk-border); color:var(--mk-muted); font-size:.88rem; }
.mk-lc-meta strong { color:var(--mk-ink); }
@media (max-width: 991px) { .mk-listings-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mk-listings-grid { grid-template-columns: 1fr; } }

/* ── Content pages (country/region landing pages) — modern layout ────── */
body.page-template-template-page .article-wrap {
    font-size: 1.04rem; line-height: 1.75; color: var(--mk-text);
}
body.page-template-template-page .article-wrap h1,
body.page-template-template-page .article-wrap h2,
body.page-template-template-page .article-wrap h3,
body.page-template-template-page .page-title-wrap h1 { text-transform: none !important; letter-spacing: -0.01em; }
body.page-template-template-page .article-wrap h2 {
    color: var(--mk-brand); font-weight: 800; font-size: clamp(1.4rem, 3vw, 2rem);
    margin: 2.4rem 0 .6rem; padding-top: 1.6rem; border-top: 1px solid var(--mk-border);
}
body.page-template-template-page .article-wrap h2:first-of-type { border-top: 0; padding-top: 0; margin-top: .4rem; }
body.page-template-template-page .article-wrap > p:first-of-type {
    font-size: 1.18rem; line-height: 1.6; color: var(--mk-muted);
}
/* "Why choose us" / benefit lists → checklist */
body.page-template-template-page .article-wrap ul { list-style: none; padding: 0; margin: 1rem 0; }
body.page-template-template-page .article-wrap ul li {
    position: relative; padding-left: 30px; margin-bottom: 12px; line-height: 1.55;
}
body.page-template-template-page .article-wrap ul li::before {
    content: '✓'; position: absolute; left: 0; top: 0;
    color: var(--mk-accent); font-weight: 800; font-size: 1.05rem;
}
/* Buttons / links styled as buttons → brand */
body.page-template-template-page .article-wrap .wp-block-button__link,
body.page-template-template-page .article-wrap .wp-element-button,
body.page-template-template-page .article-wrap .btn {
    background: var(--mk-brand) !important; background-color: var(--mk-brand) !important;
    color: #fff !important; border: 0 !important; border-radius: 9px !important;
    padding: 12px 26px !important; font-weight: 600; text-decoration: none;
    display: inline-block; transition: background .2s ease, transform .2s ease;
}
body.page-template-template-page .article-wrap .wp-block-button__link:hover,
body.page-template-template-page .article-wrap .wp-element-button:hover,
body.page-template-template-page .article-wrap .btn:hover {
    background: var(--mk-brand-dark) !important; transform: translateY(-2px);
}
/* The content card: airier, modern */
body.page-template-template-page .page-content-wrap .article-wrap,
body.page-template-template-page .article-wrap {
    background: #fff; border-radius: var(--mk-radius);
}

/* Property cards: hide the generic agent avatar + empty author link (MK uses
   offices, not per-agent profiles; the link pointed to a bare /author/ 404). */
.item-wrap .item-author,
.listing-thumb .item-author { display: none !important; }

/* Inner content pages provide their own (richer) heading, so drop the
   redundant page-title H1 bar — keep the breadcrumb for navigation. */
body.page-template-template-page .page-title-wrap .page-title { display: none; }
body.page-template-template-page .page-title-wrap { margin-bottom: .25rem; }

/* ── About page — modern multi-section layout (.mk-about wrapper) ─────── */
.mk-about { color: var(--mk-text); }
.mk-about section { margin: 0; }
/* override generic article-wrap h2 styling inside About */
.mk-about h2 {
    border-top: 0 !important; padding-top: 0 !important; margin: 0 0 .9rem !important;
    color: var(--mk-brand); font-weight: 800; font-size: clamp(1.5rem, 3vw, 2.1rem);
}
.mk-about p { font-size: 1.04rem; line-height: 1.75; }

.mk-ab-hero { text-align: center; max-width: 780px; margin: 0 auto 2.8rem; }
.mk-ab-eyebrow {
    display: inline-block; text-transform: uppercase; letter-spacing: .15em;
    font-size: .78rem; font-weight: 700; color: var(--mk-accent); margin-bottom: .7rem;
}
.mk-ab-hero h1 {
    font-size: clamp(2rem, 4.8vw, 3.1rem); font-weight: 800; letter-spacing: -.02em;
    margin: 0 0 1.1rem; color: var(--mk-brand); text-transform: none !important; line-height: 1.1;
}
.mk-ab-lead { font-size: 1.22rem; line-height: 1.6; color: var(--mk-muted); margin: 0; }

.mk-ab-intro { max-width: 840px; margin: 0 auto 3.2rem; }
.mk-ab-intro p { margin: 0 0 1.1rem; color: var(--mk-text); }

.mk-ab-services { margin: 0 0 3.2rem; text-align: center; }
.mk-ab-sub { color: var(--mk-muted); max-width: 660px; margin: 0 auto 2rem; font-size: 1.1rem; }
.mk-ab-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; text-align: left; }
.mk-ab-grid-3 { grid-template-columns: repeat(3, 1fr); }
.mk-ab-card {
    background: #fff; border: 1px solid var(--mk-border); border-radius: var(--mk-radius);
    padding: 1.7rem 1.4rem; transition: transform .2s ease, box-shadow .2s ease;
}
.mk-ab-card:hover { transform: translateY(-4px); box-shadow: var(--mk-shadow-hover); }
.mk-ab-num {
    display: inline-block; font-size: .9rem; font-weight: 800; color: #fff;
    background: var(--mk-brand); width: 36px; height: 36px; line-height: 36px;
    text-align: center; border-radius: 10px; margin-bottom: 1rem;
}
.mk-ab-card h3 { font-size: 1.08rem; font-weight: 700; margin: 0 0 .5rem; color: var(--mk-ink); }
.mk-ab-card p { font-size: .96rem; color: var(--mk-muted); margin: 0; line-height: 1.55; }

.mk-ab-banner {
    background: linear-gradient(135deg, var(--mk-brand), var(--mk-brand-dark));
    color: #fff; border-radius: var(--mk-radius); padding: 2.4rem 2rem;
    text-align: center; margin: 0 0 3.2rem;
}
.mk-ab-banner p { font-size: 1.25rem; font-weight: 600; line-height: 1.5; margin: 0 auto; max-width: 840px; color: #fff; }

.mk-ab-team { max-width: 840px; margin: 0 auto 3.2rem; }
.mk-ab-team p { margin: 0 0 1.1rem; color: var(--mk-text); }

.mk-ab-founder {
    background: var(--mk-bg); border-radius: var(--mk-radius); padding: 2.6rem;
    margin: 0 0 3.2rem; border-left: 5px solid var(--mk-accent);
}
.mk-ab-founder.has-photo { display: grid; grid-template-columns: 1fr 300px; gap: 2.4rem; align-items: start; }
.mk-ab-founder .mk-ab-photo { width: 100%; border-radius: var(--mk-radius); object-fit: cover; box-shadow: var(--mk-shadow); }
.mk-ab-founder-quote p { font-size: 1.06rem; line-height: 1.72; margin: 0 0 1.05rem; color: var(--mk-text); }
.mk-ab-sign { font-weight: 700; color: var(--mk-brand); margin-top: .4rem !important; }

.mk-ab-offices { margin: 0 0 1rem; text-align: center; }
.mk-ab-office {
    background: #fff; border: 1px solid var(--mk-border); border-radius: var(--mk-radius);
    padding: 1.9rem 1.4rem; text-align: center; transition: box-shadow .2s ease;
}
.mk-ab-office:hover { box-shadow: var(--mk-shadow-hover); }
.mk-ab-flag { font-size: 2.1rem; display: block; margin-bottom: .5rem; }
.mk-ab-office h3 { color: var(--mk-brand); margin: 0 0 .5rem; font-size: 1.18rem; font-weight: 700; }
.mk-ab-office p { margin: 0 0 .25rem; color: var(--mk-muted); font-size: .95rem; line-height: 1.45; }
.mk-ab-cta { text-align: center; margin-top: 2.2rem; }

@media (max-width: 860px) {
    .mk-ab-grid, .mk-ab-grid-3 { grid-template-columns: 1fr 1fr; }
    .mk-ab-founder.has-photo { grid-template-columns: 1fr; }
    .mk-ab-founder { padding: 1.8rem; }
}
@media (max-width: 520px) {
    .mk-ab-grid, .mk-ab-grid-3 { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════
   v0.7 — additive modern polish (appended; does not alter the rules above)
   Cosmetic only, Elementor-safe; every rule no-ops if its selector is absent.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Header / navbar: subtle depth + animated gold underline on hover ──── */
body .header-wrap,
body .navbar-wrap,
body header.main-header { box-shadow: 0 1px 0 rgba(13,46,92,.06), 0 6px 22px rgba(13,46,92,.05); }

body .nav-menu > li > a,
body .navbar-nav > li > a,
body .main-menu > li > a { position: relative; font-weight: 600; transition: color .2s ease; }
body .nav-menu > li > a::after,
body .navbar-nav > li > a::after {
    content: ''; position: absolute; left: 12px; right: 12px; bottom: 4px;
    height: 2px; border-radius: 2px; background: var(--mk-accent);
    transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
body .nav-menu > li:hover > a::after,
body .nav-menu > li.current-menu-item > a::after,
body .navbar-nav > li:hover > a::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
    body .nav-menu > li > a::after, body .navbar-nav > li > a::after { transition: none; }
}

/* ── Status badges → refined pill (covers Houzez label classes) ───────── */
body .label-status,
body .listing-status,
body .property-label-wrap .label,
body .labels-wrap .label {
    border-radius: 999px;
    font-weight: 600; letter-spacing: .02em;
    padding: .32em .9em;
    box-shadow: 0 3px 10px rgba(13,46,92,.16);
}

/* ── Breadcrumb: lighter, modern ──────────────────────────────────────── */
body .breadcrumb,
body .breadcrumbs,
body .breadcrumb-wrap { background: transparent; font-size: .9rem; }
body .breadcrumb a,
body .breadcrumbs a { color: var(--mk-muted); }
body .breadcrumb a:hover,
body .breadcrumbs a:hover { color: var(--mk-brand); }

/* ── Pagination → rounded, branded active/hover ───────────────────────── */
body .pagination > li > a,
body .pagination > li > span,
body .page-link,
body .paginations a, body .paginations span {
    border-radius: 8px; border-color: var(--mk-border);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
body .pagination > .active > a,
body .pagination > li > a:hover,
body .page-link:hover,
body .paginations a:hover, body .paginations .current {
    background: var(--mk-brand); border-color: var(--mk-brand); color: #fff;
}

/* ── Sidebar / detail widgets: soft card treatment ────────────────────── */
body .sidebar .widget,
body .property-detail-wrap .widget,
body .agent-detail-wrap,
body .listing-detail-sidebar .widget {
    border-radius: var(--mk-radius);
    border: 1px solid var(--mk-border);
    box-shadow: var(--mk-shadow);
}

/* ── Contact / enquiry forms: airier fields, branded submit ───────────── */
body .wpcf7 .form-control,
body .wpforms-field input,
body .wpforms-field textarea,
body .property-form-wrap .form-control {
    border-radius: 10px; border: 1px solid var(--mk-border);
}
body .wpcf7 input[type="submit"],
body .wpforms-submit {
    background: var(--mk-brand) !important; border: 0 !important;
    border-radius: 10px !important; font-weight: 700; padding: 12px 28px !important;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
body .wpcf7 input[type="submit"]:hover,
body .wpforms-submit:hover {
    background: var(--mk-brand-dark) !important; transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(13,46,92,.22);
}

/* ── Currency / language switcher in navbar: compact modern pill ──────── */
body .mk-switcher,
body .mk-lang-switcher,
body .mk-currency-switcher {
    border-radius: 999px;
    transition: background-color .2s ease;
}

/* ── Section heading accent underline (content + listing section titles) ─ */
body .grid-listings .section-title h2,
body .listing-section .block-title-wrap h2 { position: relative; }

/* ── Smooth anchor scrolling site-wide ────────────────────────────────── */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ── Images inside cards never overflow the rounded corners ───────────── */
body .item-wrap, body .mk-lc, body .mk-ab-card { isolation: isolate; }

/* end v0.7 additive polish */

/* ═══════════════════════════════════════════════════════════════════════
   v0.8 — "clean modern minimal" overhaul (appended)
   Overrides the dated Houzez demo01 Elementor styling on the homepage
   (post-17972.css loads BEFORE this file). All cosmetic; the homepage stays
   fully editable in Elementor — we only restyle, we don't change structure.
   Design language: light, airy, flat, big confident type, restrained accent.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
    /* refined minimal palette (kept compatible with existing --mk-* tokens) */
    --mk-navy:      #0f2c4d;
    --mk-navy-2:    #16395f;
    --mk-gold:      #c8a45c;
    --mk-gold-dark: #ad8a45;
    --mk-ink2:      #11151c;
    --mk-slate:     #5a6675;
    --mk-hair:      #eceff3;     /* hairline borders */
    --mk-paper:     #fafbfc;     /* near-white section bg */
}

/* ── 1. HERO height — CONTROLLED IN ELEMENTOR (v1.8.3) ─────────────────────
   The hero section's Min Height is set in the Elementor editor (Section →
   Layout → Min Height, e.g. 100vh). We deliberately do NOT force a min-height
   here anymore — an earlier `min-height:85vh !important` was overriding the
   editor value, so changing it in Elementor did nothing. Removing it lets the
   client control the hero height natively. */
/* Softer, less "multiply-muddy" overlay → cleaner photo + readable text */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-b147f27 > .elementor-background-overlay {
    background: linear-gradient(180deg, rgba(15,44,77,.30) 0%, rgba(15,44,77,.62) 100%) !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}
/* Hero headline: heavier + tighter (was 300/42px thin demo look) */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-5f1a2d6 .houzez_section_title {
    font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
    line-height: 1.06 !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-5f1a2d6 .houzez_section_subtitle {
    font-size: clamp(1.05rem, 2vw, 1.28rem) !important;
    font-weight: 400 !important;
    opacity: .92;
}

/* ── 2. KILL the demo cyan (#00AEFF) — replace with MK navy/gold ───────── */
/* Search tabs */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-3a474c0 #houzez-search-tabs-wrap .nav-link {
    background-color: rgba(255,255,255,.16) !important;
    color: #fff !important; border-radius: 8px !important;
    font-weight: 600 !important; backdrop-filter: blur(4px);
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-3a474c0 #houzez-search-tabs-wrap .nav-link.active {
    background-color: #fff !important; color: var(--mk-navy) !important;
}
/* Search builder card: flatter, larger radius, lighter shadow */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-3a474c0 .houzez-search-builder-wrapper {
    border-radius: 16px !important;
    box-shadow: 0 24px 60px -24px rgba(15,44,77,.45) !important;
    padding: 22px !important;
}
/* Search submit + reset buttons → navy, not cyan */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-3a474c0 .elementor-button,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-25a24dc .elementor-button {
    background-color: var(--mk-navy) !important;
    border-color: var(--mk-navy) !important;
    border-radius: 10px !important; font-weight: 700 !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-3a474c0 .elementor-button:hover,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-25a24dc .elementor-button:hover {
    background-color: var(--mk-navy-2) !important;
}
/* Price range slider accent */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-3a474c0 .range-text { color: var(--mk-navy) !important; }
/* Inquiry-form (Why-us) submit was cyan */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-25a24dc .elementor-button:hover { background-color: var(--mk-navy-2) !important; }

/* ── 3. Section titles: modern weight + tighter tracking (was 300 thin) ── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .houzez_section_title {
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .houzez_section_subtitle { color: var(--mk-slate) !important; }

/* ── 4. Replace old Roboto on city/region grid tiles with Inter ───────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-subtitle { font-family: var(--mk-font) !important; }
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-title { font-weight: 700 !important; letter-spacing:-.01em; }

/* ── 5. Flatten the heavy demo drop-shadows on grid tiles ─────────────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) [class*="elementor-element-"] > .elementor-widget-container {
    /* only neutralise the specific 0 10px 20px demo shadow via re-declare on grid items */
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .property-grid-builder .grid-item {
    border-radius: 14px !important; overflow: hidden;
}

/* ── 6. Listing cards on the homepage carousel/cards: flat modern ─────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .item-wrap {
    border: 1px solid var(--mk-hair) !important;
    box-shadow: 0 1px 2px rgba(15,44,77,.04) !important;
    border-radius: 14px !important;
    transition: transform .3s var(--mk-ease, ease), box-shadow .3s ease !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .item-wrap:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 22px 48px -20px rgba(15,44,77,.30) !important;
}

/* ── 7. MK stats strip → cleaner gradient + bigger numbers ─────────────── */
body .elementor-element-mkstats0 {
    background: linear-gradient(135deg, var(--mk-navy) 0%, #0a2138 100%) !important;
}
body .elementor-element-mkstats0 .elementor-counter-number-wrapper {
    font-weight: 800 !important; font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
}
/* gold accent rule under the stats heading */
body .elementor-element-mkstats0 .elementor-heading-title { position: relative; }

/* ── 8. Offices section: cleaner cards, gold CTA → keep editable ───────── */
body .elementor-element-mkoffc1,
body .elementor-element-mkoffc2,
body .elementor-element-mkoffc3 {
    border: 1px solid var(--mk-hair) !important;
    box-shadow: 0 1px 2px rgba(15,44,77,.04) !important;
    border-radius: 16px !important;
}
body .elementor-element-mkoffc1:hover,
body .elementor-element-mkoffc2:hover,
body .elementor-element-mkoffc3:hover {
    box-shadow: 0 22px 48px -20px rgba(15,44,77,.28) !important;
}
body .elementor-element-mkoffs0 .elementor-button {
    background: var(--mk-gold) !important; color: #1a1407 !important;
    border-radius: 10px !important; font-weight: 700 !important;
    padding: 14px 30px !important;
}
body .elementor-element-mkoffs0 .elementor-button:hover { background: var(--mk-gold-dark) !important; }

/* ── 9. Section rhythm: airier vertical spacing site feel ─────────────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .houzez_section_title_wrap { margin-bottom: 28px !important; }

/* end v0.8 clean-modern-minimal overhaul */

/* ═══════════════════════════════════════════════════════════════════════
   v0.9 — listing cards + header + footer + detail (site-wide, all pages)
   Targets Houzez core classes so it applies on grid, search, carousels,
   archives and the homepage alike. Cosmetic, structure untouched.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── LISTING CARD: flat, airy, image-forward ──────────────────────────── */
body .item-wrap {
    border: 1px solid var(--mk-hair) !important;
    border-radius: 16px !important;
    box-shadow: 0 1px 2px rgba(15,44,77,.04) !important;
    overflow: hidden;
    transition: transform .32s cubic-bezier(.22,.61,.36,1), box-shadow .32s ease !important;
}
body .item-wrap:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 24px 50px -22px rgba(15,44,77,.32) !important;
}
/* image area: consistent ratio, smooth zoom */
body .item-wrap .item-header,
body .item-wrap .listing-thumb { position: relative; overflow: hidden; }
body .item-wrap .item-header img { transition: transform .6s cubic-bezier(.22,.61,.36,1); }
body .item-wrap:hover .item-header img { transform: scale(1.05); }

/* ── Hover-lift must not be clipped/covered (client report) ────────────────
   The card lifts up on hover (translateY -6px). Each .item-wrap is its own
   stacking context (isolation:isolate above), so the lifted card could slide
   UNDER a later-painted neighbour ("goes up but is covered"). Raise the hovered
   card explicitly, and make the grid row wrappers overflow-visible with a little
   top room so the lift + shadow are never cut off. The card keeps its own
   overflow:hidden (needed to round the zooming image) — that doesn't clip the
   lift, only the card's children. */
body .item-wrap { position: relative; }
body .item-wrap:hover { z-index: 30 !important; }
body .listing-view,
body .grid-view,
body .listing-wrap,
body .houzez-all-slider-wrap,
body .houzez-properties-carousel-js { overflow: visible !important; }
/* give the first row room so the upward lift isn't clipped by the wrapper top */
body .listing-view.grid-view { padding-top: 6px; }

/* declutter: hide compare / favourite / preview hover icons on cards
   (MK isn't running user accounts/compare; they read as demo noise) */
body .item-wrap .item-tools,
body .grid-view .item-wrap .item-tools { display: none !important; }

/* gradient scrim at bottom of the photo so labels/price read cleanly */
body .item-wrap .item-header::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 42%;
    background: linear-gradient(180deg, transparent, rgba(8,22,38,.55));
    pointer-events: none; z-index: 1;
}
body .item-wrap .labels-wrap,
body .item-wrap .item-header .label { z-index: 2; }

/* body padding + typographic rhythm */
body .item-wrap .item-body { padding: 18px 20px 20px !important; }
body .item-wrap .item-title { margin: 0 0 4px !important; }
body .item-wrap .item-title a {
    font-size: 1.08rem !important; font-weight: 700 !important;
    color: var(--mk-ink2) !important; letter-spacing: -.01em;
}
body .item-wrap .item-title a:hover { color: var(--mk-navy) !important; }
body .item-wrap .item-address { color: var(--mk-slate) !important; font-size: .9rem !important; }

/* price: bold navy, prominent */
body .item-wrap .item-price {
    color: var(--mk-navy) !important; font-weight: 800 !important;
    font-size: 1.15rem !important; letter-spacing: -.01em;
}

/* meta row (beds/baths/area): hairline divider, muted, even spacing */
body .item-wrap .item-amenities,
body .item-wrap ul.item-amenities {
    border-top: 1px solid var(--mk-hair) !important;
    margin-top: 14px !important; padding-top: 14px !important;
    color: var(--mk-slate) !important; font-size: .86rem !important;
}
body .item-wrap .item-amenities li strong { color: var(--mk-ink2) !important; font-weight: 700; }

/* footer row of the card: clean "Details" link, not a heavy box */
body .item-wrap .item-footer {
    border-top: 1px solid var(--mk-hair) !important;
    padding-top: 12px !important; margin-top: 4px !important;
}
body .item-wrap .item-footer .btn,
body .item-wrap .btn-details {
    background: transparent !important; color: var(--mk-navy) !important;
    border: 1px solid var(--mk-navy) !important; border-radius: 9px !important;
    font-weight: 600 !important; padding: 7px 16px !important;
    transition: all .2s ease !important;
}
body .item-wrap .item-footer .btn:hover,
body .item-wrap .btn-details:hover {
    background: var(--mk-navy) !important; color: #fff !important;
}

/* status badge on the photo → clean pill */
body .item-wrap .labels-wrap .label,
body .item-wrap .label-status {
    border-radius: 999px !important; font-weight: 600 !important;
    padding: .34em .9em !important; letter-spacing: .01em;
    box-shadow: 0 4px 12px rgba(8,22,38,.25) !important;
}

/* ── GRID PAGE: airier heading + count row ────────────────────────────── */
body .archive-page-title-wrap .page-title,
body .page-title-listing { letter-spacing: -.02em; font-weight: 800; }

/* ── STICKY MINIMAL HEADER ────────────────────────────────────────────── */
body .header-1 .header-middle,
body .navbar-light,
body #header-map-search,
body .sticky-header.navbar-scrolled {
    backdrop-filter: saturate(1.1) blur(6px);
}
/* tighten header height + crisp bottom hairline */
body .header-1 .header-middle { border-bottom: 1px solid var(--mk-hair); }
/* nav links: medium weight, calm */
body .navbar .nav > li > a,
body .header-1 .navbar-nav > li > a { font-weight: 600 !important; }

/* ── HEADER SWITCHERS (lang/currency) → compact pills ─────────────────── */
body .mk-switchers .mk-switch,
body .header .mk-lang, body .header .mk-cur {
    border: 1px solid var(--mk-hair); border-radius: 999px;
}

/* ── FOOTER: richer, modern dark ──────────────────────────────────────── */
body .footer-wrap {
    background: linear-gradient(180deg, #0f2c4d 0%, #0a2138 100%) !important;
}
body .footer-wrap .footer-widget .widget-title {
    font-size: .82rem !important; text-transform: uppercase; letter-spacing: .12em !important;
    color: #fff !important; opacity: .95;
    border-bottom: 0 !important; padding-bottom: 4px !important; margin-bottom: 14px !important;
}
body .footer-wrap a { transition: color .2s ease, padding-left .2s ease; }
body .footer-wrap ul li a:hover { color: #fff !important; padding-left: 4px; }
/* gold top hairline accent on the footer */
body .footer-top-wrap { border-top: 3px solid var(--mk-gold); }

/* ── PROPERTY DETAIL: cleaner facts + enquiry ─────────────────────────── */
/* price header: large, confident */
body .page-title-property .item-price,
body .property-title-wrap .item-price {
    font-weight: 800 !important; letter-spacing: -.02em;
}
/* overview fact tiles: light cards in a tidy grid */
body .property-overview-wrap .overview-element,
body .property-detail-wrap .overview-element {
    background: var(--mk-paper) !important;
    border: 1px solid var(--mk-hair) !important;
    border-radius: 12px !important; padding: 16px !important;
}
/* section cards spacing */
body .property-section-wrap { margin-bottom: 22px !important; }
/* enquiry / agent box → clean card with navy submit */
body .agent-widget-wrap, body .property-inquiry-form, body .agent-detail {
    border-radius: 16px !important; border: 1px solid var(--mk-hair) !important;
    box-shadow: 0 1px 2px rgba(15,44,77,.04) !important;
}
body .property-inquiry-form .btn,
body .agent-widget-wrap .btn {
    background: var(--mk-navy) !important; border-color: var(--mk-navy) !important;
    border-radius: 10px !important; font-weight: 700 !important;
}

/* end v0.9 cards + header + footer + detail */

/* ═══════════════════════════════════════════════════════════════════════
   v1.0 — aggressive homepage cleanup + bigger, more confident layout
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Hero: TALL, immersive (v1.8.0). Big background image/video, search +
   titles vertically centered. Replaces the earlier hard cap that left it
   short. Scoped to all 3 language homepages via the :is() body classes. ── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-b147f27 {
    position: relative !important;
    overflow: hidden !important;
}
/* v1.8.3 — hero height is now controlled in Elementor (Section → Min Height).
   No min-height override here (see the note in section 1 above). */

/* Hero background <video> layer (injected by inc/hero-video.php). Inserted as
   the section's FIRST child at z-index 0, so the Elementor overlay + all content
   (titles, search) paint on top of it. The hero image stays poster/fallback. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-b147f27 .mk-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    pointer-events: none;
}

/* ── Hero search bar relocated INTO the hero (v1.8.2) ─────────────────────
   inc/hero-search.php moves the Houzez search section (de02c12) out of the
   plain band below and into the hero column (1c7ef66), adding .mk-hero-has-search
   on the hero. The hero already centres its column vertically (items-middle),
   so the headline + search now stack centred over the video. We just make the
   column flow as a block (override Elementor's flex-wrap so the full-width search
   doesn't shrink), strip the moved section's band styling, and keep the search a
   floating white card. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .mk-hero-has-search .elementor-element-1c7ef66 > .elementor-widget-wrap {
    display: block !important;
    width: 100% !important;
}
/* moved search section: transparent, no band padding — it floats over the video */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .mk-hero-has-search .elementor-element-de02c12 {
    width: 100% !important;
    background: transparent !important;
    margin: clamp(1.25rem, 3vh, 2.25rem) auto 0 !important;
    padding: 0 !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .mk-hero-has-search .elementor-element-de02c12 > .elementor-container {
    margin-left: auto !important;
    margin-right: auto !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .mk-hero-has-search .elementor-element-de02c12 .elementor-widget-wrap {
    padding: 0 !important;
}
/* keep the search builder a crisp floating white card over the video */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .mk-hero-has-search .houzez-search-builder-wrapper {
    background: #ffffff !important;
    box-shadow: 0 28px 70px -28px rgba(8,22,38,.6) !important;
}

/* ── Price field: hide the stray second "Max price" select (v1.8.3) ──────────
   Houzez's max-price field template renders TWO selects: the for-SALE prices
   (.prices-for-all) and a for-RENT one (.prices-only-for-rent) that is meant to
   stay hidden via the legacy `.hide` class. Houzez now ships Bootstrap 5, where
   `.hide` no longer hides anything, so the rent select bled through as a second,
   empty "Nothing selected" price box. MK is sale-only, so the rent price select
   is never needed — hide it everywhere. (Also neutralises the dead `.hide`.) */
body .prices-only-for-rent { display: none !important; }

/* ── Search page tidy-ups (v1.8.4) ───────────────────────────────────────────
   1. Drop the in-filter "Currency" dropdown — MK has the navbar € / Ft / $
      switcher, so a second currency control inside the search is redundant.
      currency.php renders <div class="col"><div class="form-group"><select
      name="currency">…, so hide that column. */
body .col:has(> .form-group > select[name="currency"]),
body .form-group:has(> select[name="currency"]) { display: none !important; }
/* 2. Hide ONLY the half-map "Előző / Következő" listing-cycle buttons (confusing
   on a browse-by-location site). Keep the Fullscreen button, which also lives in
   .map-next-prev-actions, so don't hide the whole container. */
body #houzez-gmap-prev,
body #houzez-gmap-next { display: none !important; }

/* ── Mobile menu: currency + language switchers (v1.8.6) ──────────────────────
   The desktop navbar shows the switchers before the profile icon; the mobile
   hamburger (offcanvas) menu now renders them at the top of its body via the
   child override template-parts/header/nav-mobile.php. Style them for the white
   mobile panel and keep their dropdowns inside the menu. */
.offcanvas-mobile-menu-body .mk-mobile-switchers {
    display: flex;
    gap: 10px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--mk-hair, #eef2f7);
    margin-bottom: 4px;
}
.offcanvas-mobile-menu-body .mk-mobile-switchers .mk-switchers-bar { display: flex; gap: 10px; flex-wrap: wrap; }
/* dark, tappable buttons on the white menu — regardless of page (override the
   transparent-header / .home light styling). */
.offcanvas-mobile-menu-body .mk-switcher > button.mk-switcher-toggle {
    color: #2a3f5f !important;
    background: #f1f4f9 !important;
    border-color: #e2e8f0 !important;
    padding: 9px 14px !important;
    font-size: 13px !important;
}
/* open the dropdowns left-aligned + below, within the narrow menu */
.offcanvas-mobile-menu-body .mk-switcher .mk-switcher-menu { left: 0; right: auto; min-width: 150px; }

/* ── Hide the broken demo "inquiry form" (shows 'Please install Houzez CRM
   plugin'). MK uses CF7 / office contacts. Hide the widget + its heading box. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-25a24dc,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-4b2f91d { display: none !important; }
/* the white CRM column then collapses; let the Why-us text breathe full width */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-db69370 { display: none !important; }

/* ── "Miért Válasszon Minket" (Why-us) section: bigger numbers, cleaner ── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-a3a900b .elementor-heading-title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-53c50de .elementor-heading-title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-1332eab .elementor-heading-title {
    font-size: clamp(2.2rem, 4vw, 3rem) !important;
    font-weight: 800 !important; color: var(--mk-gold) !important;
    letter-spacing: -.02em;
}
/* the dark why-us band: deepen + add breathing room */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 > .elementor-container {
    min-height: auto !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 {
    padding: clamp(56px,7vw,96px) 0 !important;
}

/* ── Section titles bigger + section vertical rhythm more generous ────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .houzez_section_title {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem) !important;
    line-height: 1.1 !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .houzez_section_subtitle {
    font-size: 1.05rem !important; line-height: 1.6 !important;
    max-width: 640px; margin-left: auto; margin-right: auto;
}

/* ── Region / property-type tiles: taller, bolder label, gold on hover ── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item {
    border-radius: 16px !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-title {
    font-size: 1.25rem !important; font-weight: 800 !important; letter-spacing: -.01em;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item:hover .grid-item-title { color: var(--mk-gold-soft, #e3c98c) !important; }
/* darken the tile overlay a touch for legibility */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item .grid-overlay,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item:before {
    background: linear-gradient(180deg, rgba(8,22,38,.15), rgba(8,22,38,.62)) !important;
}

/* ── Featured carousel cards: same flat-modern treatment ──────────────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .property-carousel-module .item-wrap { border-radius: 16px !important; }

/* ── MK stats strip: gold accent line under the heading, bigger numbers ── */
body .elementor-element-mkstats0 .elementor-heading-title::after {
    content: ''; display: block; width: 60px; height: 3px; border-radius: 3px;
    background: var(--mk-gold); margin: 16px auto 0;
}

/* ── Buttons everywhere: a touch larger, confident ────────────────────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-button { padding: 14px 30px !important; font-size: .98rem !important; }

/* ── Global: kill any leftover demo plugin-missing notices on the front ── */
body .houzez-crm-notice, body .crm-not-active, body .houzez-notice-missing { display: none !important; }

/* end v1.0 aggressive homepage cleanup */

/* ═══════════════════════════════════════════════════════════════════════
   v1.1 — readability + polish fixes (client feedback 2026-05-29)
   FIX: an earlier global rule forced ALL section subtitles to dark slate,
   which made the text on the dark navy "Why choose us" band unreadable.
   Re-light every text element inside dark sections. Plus tile/colour polish.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── DARK SECTIONS: force all text light (fixes the unreadable why-us copy) ─
   dbd6aa6 = "Miért Válasszon Minket"; de5d104 / 60c7733 = explore bands;
   mkstats0 = stats strip. Cover titles, subtitles, headings, editor text. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 .houzez_section_title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 .houzez_section_subtitle,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 .elementor-heading-title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 .elementor-widget-text-editor,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 p {
    color: #ffffff !important;
}
/* the small description lines under each 01/02/03 → soft white, readable */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-c500625 .houzez_section_subtitle,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-178029e .houzez_section_subtitle,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-000c7d3 .houzez_section_subtitle,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-6758436 .houzez_section_subtitle {
    color: rgba(255,255,255,.82) !important;
}
/* keep the big 01/02/03 numerals in gold (confirm over the fix above) */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-a3a900b .elementor-heading-title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-53c50de .elementor-heading-title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-1332eab .elementor-heading-title {
    color: var(--mk-gold) !important;
}

/* generic safety net: any Elementor section with a dark background overlay
   should render its text light (covers future dark sections too) */
body .elementor-section[data-settings*="background"] .elementor-background-overlay ~ .elementor-container .houzez_section_subtitle {
    /* intentionally narrow; main fix is the scoped rules above */
}

/* ── PROPERTY-TYPE / REGION TILES: remove the stray ▶ hover icon ───────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item .grid-inner::after,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-link::after,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item .link-icon,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item .grid-item-icon,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item .mfp-iframe,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item .grid-play,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item .grid-item-link > .grid-inner > .icon {
    display: none !important;
}
/* tile labels: ensure strong contrast over the photo */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-title { color: #fff !important; text-shadow: 0 1px 8px rgba(0,0,0,.4); }
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-subtitle { color: rgba(255,255,255,.85) !important; }
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .grid-item-count {
    background: var(--mk-gold) !important; color: #1a1407 !important;
    border-radius: 999px !important; font-weight: 700 !important;
    padding: 3px 12px !important; font-size: .72rem !important; letter-spacing: .02em;
}

/* ── COLOUR: richen the why-us band (was a washed mid-blue) ────────────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 > .elementor-background-overlay {
    background-color: #0f2c4d !important; opacity: .92 !important;
}

/* ── CARD PRICE over photo: ensure it always reads (stronger scrim) ────── */
body .item-wrap .item-price {
    text-shadow: 0 1px 10px rgba(8,22,38,.6);
}

/* ── Explore-cities left intro ("Fedezze Fel A Városokat") spacing ─────── */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .houzez_section_title_wrap { margin-bottom: 24px !important; }

/* end v1.1 readability + polish */

/* ═══════════════════════════════════════════════════════════════════════
   v1.2 — hero subtitle readable + card price on a dark pill (client feedback)
   ═══════════════════════════════════════════════════════════════════════ */

/* HERO SUBTITLE: was gray (an earlier global rule forced all section subtitles
   to slate). This selector is more specific AND later, so it wins → white,
   with a soft shadow so it reads over any hero photo. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-5f1a2d6 .houzez_section_subtitle,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-5f1a2d6 .houzez_section_subtitle * {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 14px rgba(8,22,38,.55) !important;
}
/* hero title: subtle shadow too, for legibility over bright photos */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-5f1a2d6 .houzez_section_title {
    text-shadow: 0 2px 18px rgba(8,22,38,.45) !important;
}

/* CARD PRICE: was dark navy → blended into photos. Make it white on a
   ~55% black rounded pill so it pops on every image. The price sits over the
   photo (bottom-left) in all card layouts (carousel v2, card-v3, grid). */
body .item-wrap .item-price,
body .item-wrap .item-price-wrap .item-price,
body .property-carousel-module .item-price,
body .property-cards-module .item-price {
    color: #ffffff !important;
    background: rgba(8, 22, 38, 0.55) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    display: inline-block !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    text-shadow: none !important;
    line-height: 1.2 !important;
}
/* the sub-price (e.g. "/month") sits next to it — keep it readable too */
body .item-wrap .item-sub-price { color: rgba(255,255,255,.9) !important; }

/* end v1.2 hero subtitle + card price */

/* ═══════════════════════════════════════════════════════════════════════
   v1.3 — card-v3 price (the "Fedezze Fel Kínálatunkat" overlay cards)
   The v3 card renders the price as an inner .price span inside .item-price,
   sitting over the photo. v1.2 only coloured .item-price (the parent), so the
   inner span stayed navy. Target the span + postfix explicitly, high
   specificity, white text on the same dark pill.
   ═══════════════════════════════════════════════════════════════════════ */

body .property-cards-module .item-wrap .item-price,
body .property-cards-module-v3 .item-wrap .item-price,
body .item-wrap-v3 .item-price,
body .item-listing-wrap .item-price-wrap .item-price {
    color: #ffffff !important;
    background: rgba(8, 22, 38, 0.55) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    display: inline-block !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    line-height: 1.2 !important;
}
/* the inner spans inherit white (they carry their own colour otherwise) */
body .property-cards-module .item-wrap .item-price .price,
body .property-cards-module .item-wrap .item-price .price-postfix,
body .item-wrap-v3 .item-price .price,
body .item-wrap-v3 .item-price .price-postfix,
body .item-listing-wrap .item-price .price,
body .item-listing-wrap .item-price .price-postfix {
    color: #ffffff !important;
}

/* end v1.3 card-v3 price */

/* ── v1.3.1 — v3 overlay card: scrim so title + meta read over the photo ─
   The v3 card overlays .item-body (title, beds/baths/area, price) directly on
   the photo. Add a bottom-up dark gradient behind that content so the white
   text is always legible, and make the title + meta white. */
body .item-wrap-v3 .item-body {
    background: linear-gradient(180deg, rgba(8,22,38,0) 0%, rgba(8,22,38,.62) 62%, rgba(8,22,38,.80) 100%) !important;
}
body .item-wrap-v3 .item-title a,
body .item-wrap-v3 .item-title,
body .item-wrap-v3 .item-amenities,
body .item-wrap-v3 .item-amenities .item-amenities-text,
body .item-wrap-v3 .item-amenities .hz-figure,
body .item-wrap-v3 .h-type {
    color: #ffffff !important;
}
body .item-wrap-v3 .item-title a { text-shadow: 0 1px 8px rgba(8,22,38,.6) !important; }
/* amenity icons white too */
body .item-wrap-v3 .item-amenities .houzez-icon { color: #ffffff !important; }
/* the property-type label (VILLA/APARTMAN) → soft white, uppercase chip feel */
body .item-wrap-v3 .h-type { opacity: .92; font-weight: 600; }

/* end v1.3.1 v3 overlay scrim */

/* =======================================================================
   MK 1.5.0 — header "Add Listing" removal + "Why Choose" band redesign
   ======================================================================= */

/* -- Remove the "Add Listing / Hirdetes feladasa" button site-wide ------
   MK is a consultancy, not a user-submission portal. Covers both the
   logged-in header button and the login/register variant, all languages. */
.btn-create-listing,
a.btn-create-listing,
.login-register-nav .btn-create-listing,
.logged-in-nav-wrap .btn-create-listing,
li:has(> .btn-create-listing) {
    display: none !important;
}

/* -- "Why Choose MK Real Estate?" band ----------------------------------
   Identified language-independently: it is the homepage section containing
   the Houzez inquiry-form widget. No reliance on per-language Elementor IDs.
   Cosmetic only (no DOM edits) -> still editable in Elementor.
     - kills the busy faint background photo (solid navy + overlay)
     - hides the broken 3rd column ("Please install Houzez CRM plugin")
     - balances the two remaining reason columns 50/50
     - white titles, gold 01/02/03 numbers, readable light body, airy spacing */

body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) {
    background: linear-gradient(135deg, #0d2e5c 0%, #16407a 100%) !important;
    position: relative;
}
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) > .elementor-background-overlay {
    background-color: rgba(13, 46, 92, 0.92) !important;
    background-image: none !important;
    opacity: 1 !important;
}
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form)::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 88% 14%, rgba(200, 162, 74, 0.14), transparent 46%),
        radial-gradient(circle at 6% 90%, rgba(255, 255, 255, 0.05), transparent 42%);
    pointer-events: none;
    z-index: 0;
}
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) > .elementor-container {
    position: relative;
    z-index: 1;
}

/* Hide the broken inquiry-form column (Houzez CRM not installed). Direct-child
   :has() so only the immediate column is hit, never its ancestors. */
body.home .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-houzez_elementor_inquiry_form) {
    display: none !important;
}

/* Balance the two remaining reason columns now that the 3rd is hidden. */
body.home .elementor-inner-section:has(.elementor-widget-houzez_elementor_inquiry_form) > .elementor-container > .elementor-column {
    width: 50% !important;
    flex: 1 1 0 !important;
    padding: clamp(8px, 2vw, 28px) clamp(12px, 2.5vw, 40px) !important;
}
@media (max-width: 767px) {
    body.home .elementor-inner-section:has(.elementor-widget-houzez_elementor_inquiry_form) > .elementor-container > .elementor-column {
        width: 100% !important;
    }
}

/* Section + item titles (h2.houzez_section_title) -> white, bold. */
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) .houzez_section_title {
    color: #ffffff !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin-bottom: 0.5rem !important;
}
/* Leading "Why Choose..." heading: larger, with a gold underline. */
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) > .elementor-container .elementor-column:first-child .houzez_section_title:first-of-type {
    font-size: clamp(1.7rem, 3.2vw, 2.6rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    padding-bottom: 0.9rem;
    margin-bottom: 1.4rem !important;
    position: relative;
}
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) > .elementor-container .elementor-column:first-child .houzez_section_title:first-of-type::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 72px;
    height: 3px;
    border-radius: 3px;
    background: #c8a24a;
}

/* Subtitles (p.houzez_section_subtitle) -> readable light text. */
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) .houzez_section_subtitle {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: clamp(0.95rem, 1.4vw, 1.05rem) !important;
    line-height: 1.6 !important;
    max-width: 46ch;
}

/* The 01. / 02. / 03. numbers (heading widgets) -> prominent gold. */
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) .elementor-widget-heading .elementor-heading-title {
    color: #c8a24a !important;
    font-weight: 800 !important;
    font-size: clamp(1.5rem, 2.8vw, 2.1rem) !important;
    line-height: 1 !important;
    margin-top: clamp(1.4rem, 2.5vw, 2.2rem) !important;
    margin-bottom: 0.4rem !important;
}

/* Soften the dividers between reasons. */
body.home .elementor-section:not(.elementor-inner-section):has(.elementor-widget-houzez_elementor_inquiry_form) .elementor-divider-separator {
    border-top-color: rgba(255, 255, 255, 0.18) !important;
}
/* end MK 1.5.0 */

/* =======================================================================
   MK 1.7.0 — Services page redesign (Szolgáltatásaink / Our Services /
   Nuestros Servicios). Alternating "zigzag" cards: a navy visual panel
   (big number + gold icon medallion) beside a white text panel. Brand
   palette, responsive, prefers-reduced-motion honoured. Pure CSS — icons
   are inline-SVG data-URIs so there is no font/asset dependency.
   ======================================================================= */
.mk-services-page {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 4px;
}

/* Lead intro */
.mk-services-page .mk-svc-lead {
    font-size: clamp(1.1rem, 1.9vw, 1.3rem);
    line-height: 1.65;
    color: #2a3f5f;
    max-width: 64ch;
    margin: 0 auto clamp(1.6rem, 3vw, 2.4rem);
    text-align: center;
}

/* Quick-jump chips */
.mk-svc-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 auto clamp(2rem, 4vw, 3rem);
}
.mk-svc-chips a {
    display: inline-block;
    padding: 8px 18px;
    border: 1px solid #d8e0ec;
    border-radius: 999px;
    background: #fff;
    color: #0d2e5c !important;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.mk-svc-chips a:hover {
    background: #0d2e5c;
    border-color: #0d2e5c;
    color: #fff !important;
    transform: translateY(-1px);
}

/* Service card (zigzag) */
.mk-svc {
    display: grid;
    grid-template-columns: 300px 1fr;
    align-items: stretch;
    gap: 0;
    margin: 0 auto clamp(1.5rem, 3vw, 2.25rem);
    background: #fff;
    border: 1px solid #e5ebf2;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 26px rgba(13, 46, 92, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    scroll-margin-top: 110px; /* anchor jumps clear the sticky header */
}
.mk-svc:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(13, 46, 92, 0.14);
}
@media (prefers-reduced-motion: reduce) {
    .mk-svc:hover { transform: none; }
}

/* Visual panel (navy gradient + big number + gold icon medallion) */
.mk-svc-visual {
    position: relative;
    min-height: 230px;
    background: linear-gradient(150deg, #0d2e5c 0%, #16407a 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.mk-svc-visual::before { /* subtle decorative glow */
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 75% 18%, rgba(200,162,74,0.20), transparent 55%);
    pointer-events: none;
}
.mk-svc-num {
    position: absolute;
    top: 12px;
    left: 20px;
    font-size: 5.5rem;
    font-weight: 800;
    line-height: 1;
    color: rgba(255, 255, 255, 0.10);
    letter-spacing: -0.03em;
}
.mk-svc-visual::after { /* icon medallion */
    content: "";
    position: relative;
    z-index: 1;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(200, 162, 74, 0.55);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 46px 46px;
}
/* Per-service icons (white stroke) */
.mk-svc-1 .mk-svc-visual::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2011.5a8.5%208.5%200%200%201-12.3%207.6L3%2021l1.9-5.7A8.5%208.5%200%201%201%2021%2011.5z'/%3E%3C/svg%3E"); }
.mk-svc-2 .mk-svc-visual::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2.5'%20y='4'%20width='19'%20height='13'%20rx='2'/%3E%3Cpath%20d='M8.5%2021h7M12%2017v4'/%3E%3Cpath%20d='M10.5%208.5l4%202.5-4%202.5z'%20fill='%23ffffff'%20stroke='none'/%3E%3C/svg%3E"); }
.mk-svc-3 .mk-svc-visual::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2010c0%206-8%2011-8%2011s-8-5-8-11a8%208%200%200%201%2016%200z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.8'/%3E%3C/svg%3E"); }
.mk-svc-4 .mk-svc-visual::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021s7-3.5%207-9V5.5L12%203%205%205.5V12c0%205.5%207%209%207%209z'/%3E%3Cpath%20d='M9%2011.5l2%202%204-4'/%3E%3C/svg%3E"); }
.mk-svc-5 .mk-svc-visual::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='8'%20cy='15'%20r='4.5'/%3E%3Cpath%20d='M11.2%2011.8%2020%203M16.5%206.5l2.2%202.2M13.8%209.2l2.2%202.2'/%3E%3C/svg%3E"); }

/* Text panel */
.mk-svc-body {
    padding: clamp(1.6rem, 3vw, 2.5rem) clamp(1.4rem, 3vw, 2.6rem);
}
.mk-svc-body h2 {
    font-size: clamp(1.25rem, 2.2vw, 1.6rem);
    font-weight: 700;
    color: #0d2e5c;
    margin: 0 0 0.9rem;
    padding-bottom: 0.7rem;
    line-height: 1.25;
    position: relative;
}
.mk-svc-body h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 3px;
    border-radius: 3px;
    background: #c8a24a;
}
.mk-svc-body p {
    color: #3a4a63;
    line-height: 1.7;
    margin: 0 0 0.85rem;
    font-size: 1rem;
}
.mk-svc-body p:last-child { margin-bottom: 0; }

/* Zigzag: even rows put the visual panel on the right */
.mk-svc-rev { grid-template-columns: 1fr 300px; }
.mk-svc-rev .mk-svc-visual { order: 2; }

/* CTA band */
.mk-svc-cta-band {
    margin: clamp(2.5rem, 5vw, 4rem) 0 0;
    padding: clamp(2.2rem, 5vw, 3.5rem) 1.5rem;
    text-align: center;
    background: linear-gradient(135deg, #0d2e5c 0%, #16407a 100%);
    border-radius: 18px;
    color: #fff;
}
.mk-svc-cta-band h2 {
    color: #fff;
    font-size: clamp(1.3rem, 2.6vw, 1.9rem);
    font-weight: 700;
    margin: 0 0 1.4rem;
    line-height: 1.3;
}
.mk-svc-cta-band .mk-cta-btn,
.mk-svc-cta .mk-cta-btn {
    display: inline-block;
    padding: 14px 38px;
    background: #c8a24a;
    color: #0d2e5c !important;
    text-decoration: none;
    font-weight: 700;
    border-radius: 8px;
    font-size: 1.02rem;
    letter-spacing: 0.01em;
    transition: background 0.2s ease, transform 0.2s ease;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.mk-svc-cta-band .mk-cta-btn:hover,
.mk-svc-cta .mk-cta-btn:hover {
    background: #d8b25a;
    transform: translateY(-2px);
    color: #0d2e5c !important;
}
@media (prefers-reduced-motion: reduce) {
    .mk-svc-cta-band .mk-cta-btn:hover,
    .mk-svc-cta .mk-cta-btn:hover { transform: none; }
}

/* Responsive: stack the card, visual panel always on top */
@media (max-width: 781px) {
    .mk-svc,
    .mk-svc-rev { grid-template-columns: 1fr; }
    .mk-svc-rev .mk-svc-visual { order: 0; }
    .mk-svc-visual { min-height: 140px; }
    .mk-svc-num { font-size: 4rem; }
}
/* end MK 1.7.0 */

/* ═══════════════════════════════════════════════════════════════════════════
   v1.8.7 — Homepage "Why Choose Us" + Offices section polish
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Why-Choose (#dbd6aa6): the heading title (#6758436) was moved by
   0-mk-whychoose.php out of the left column to the top full-width column, so the
   01/02/03 items sit centred-below. Centre the heading + its divider, and let the
   two VISIBLE item columns fill the row (the 3rd "Get in touch" CRM column is
   hidden, so widen #a22fcee + #093e1d3 to 50% each). Applies to all 3 langs. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-6758436 .houzez_section_title_wrap,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-6758436 .houzez_section_title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-6758436 .houzez_section_subtitle {
    text-align: center !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-6758436 {
    max-width: 760px;
    margin-left: auto !important;
    margin-right: auto !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-acf2e6f .elementor-divider {
    justify-content: center !important;
}
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 .elementor-element-a22fcee,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-dbd6aa6 .elementor-element-093e1d3 {
    width: 50% !important;
}

/* ── Offices (#mkoffs0): equal-height cards (#mkoffc1/2/3) so the three boxes
   line up, and the CTA button (#31f9818) sits cleanly below them, not overlapping
   the shorter cards. */
body .elementor-element-d36fc63 > .elementor-container { align-items: stretch !important; }
body .elementor-element-mkoffc1,
body .elementor-element-mkoffc2,
body .elementor-element-mkoffc3 { align-self: stretch !important; }
body .elementor-element-mkoffc1 > .elementor-widget-wrap,
body .elementor-element-mkoffc2 > .elementor-widget-wrap,
body .elementor-element-mkoffc3 > .elementor-widget-wrap { height: 100%; }
body .elementor-element-31f9818 { margin-top: clamp(28px, 4vw, 48px) !important; }
/* end v1.8.7 */

/* ═══════════════════════════════════════════════════════════════════════════
   v1.8.8 — Offices "Három Iroda" PREMIUM redesign (custom cards #mkoffgrid,
   built by 0-mk-offices-redesign.php). Flag badge + country accent bar +
   icon-led content + hover lift.
   ═══════════════════════════════════════════════════════════════════════════ */
body .elementor-element-mkoffs0 {
    background: radial-gradient(120% 95% at 50% 0%, #ffffff 0%, #eef4fc 58%, #e6eefa 100%) !important;
}
body .elementor-element-92e1d29 .elementor-heading-title {
    font-weight: 800 !important; letter-spacing: -0.025em !important; color: #0f2c4d !important;
}

.mk-off-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.4vw, 30px);
    max-width: 1180px;
    margin: 0 auto;
    text-align: left;
}
.mk-off-card {
    position: relative;
    display: flex; flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(15,44,77,0.06);
    border-radius: 20px;
    padding: 38px 32px 30px;
    box-shadow: 0 18px 50px -22px rgba(13,46,92,0.22), 0 2px 6px rgba(13,46,92,0.04);
    overflow: hidden;
    transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
.mk-off-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px;
}
.mk-off--hu::before { background: linear-gradient(90deg,#cd2a3e 0 34%,#f1f1f1 34% 67%,#436f4d 67%); }
.mk-off--us::before { background: linear-gradient(90deg,#0a3161,#b31942); }
.mk-off--tr::before { background: linear-gradient(90deg,#e30a17,#9c0d14); }
.mk-off-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 34px 70px -26px rgba(13,46,92,0.34), 0 4px 12px rgba(13,46,92,0.06);
}
@media (prefers-reduced-motion: reduce) { .mk-off-card:hover { transform: none; } }
.mk-off-flag {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px; border-radius: 16px; font-size: 29px; line-height: 1;
    background: linear-gradient(135deg,#f3f7fd,#e7f0fb);
    box-shadow: inset 0 0 0 1px rgba(15,44,77,0.05);
    margin-bottom: 18px;
}
.mk-off-title {
    margin: 0 0 14px; color: #0f2c4d; font-weight: 800; line-height: 1.2;
    font-size: clamp(1.12rem, 1.5vw, 1.32rem); letter-spacing: -0.01em;
}
.mk-off-title span {
    display: block; margin-top: 3px; color: #7c8aa3;
    font-size: 0.9rem; font-weight: 600; letter-spacing: 0.02em;
}
.mk-off-line {
    display: block; height: 1px; margin: 0 0 18px;
    background: linear-gradient(90deg, rgba(15,44,77,0.14), transparent);
}
.mk-off-meta { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.mk-off-meta li, .mk-off-desc {
    display: flex; gap: 11px; align-items: flex-start; margin: 0;
    color: #56657f; line-height: 1.55; font-size: 0.95rem;
}
.mk-off-meta li > svg, .mk-off-desc > svg, .mk-off-contact a > svg { flex: 0 0 auto; color: #1a4d8f; margin-top: 2px; }
.mk-off-meta strong, .mk-off-desc strong { color: #0f2c4d; font-weight: 700; }
.mk-off-meta small { color: #93a1b8; }
.mk-off-desc { margin: 0; }
.mk-off-contact {
    margin-top: auto; display: flex; flex-direction: column; gap: 9px;
    padding-top: 16px; border-top: 1px solid rgba(15,44,77,0.07);
}
.mk-off-contact a {
    display: flex; align-items: center; gap: 9px; text-decoration: none;
    color: #1a4d8f; font-weight: 700; font-size: 0.95rem; transition: color .2s ease;
}
.mk-off-contact a:hover { color: #0f2c4d; }

/* CTA button — modern gold gradient */
body .elementor-element-31f9818 .elementor-button {
    background: linear-gradient(135deg, #cba53b 0%, #a9780a 100%) !important;
    color: #1d1607 !important; border: 0 !important; border-radius: 14px !important;
    padding: 16px 44px !important; font-weight: 800 !important; font-size: 1.02rem !important;
    letter-spacing: 0.01em !important;
    box-shadow: 0 14px 32px -10px rgba(184,134,11,0.5) !important;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
body .elementor-element-31f9818 .elementor-button:hover {
    transform: translateY(-3px) !important; filter: brightness(1.05);
    box-shadow: 0 22px 46px -12px rgba(184,134,11,0.62) !important;
}

@media (max-width: 991px) { .mk-off-grid { grid-template-columns: 1fr; } }
/* end v1.8.8 */

/* v1.8.9 — equal-height office cards (aligned boxes) */
.mk-off-grid { align-items: stretch; }
.mk-off-card { height: 100%; }

/* ─── v1.9.1 — Why-Choose redesign (clean ordered 3-card grid) ─────────────
   Replaces the staggered two-column 01/02/03 block. Sits on the navy why-us
   band (#dbd6aa6). Cards are subtle translucent panels with a gold number. */
.mk-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    max-width: 1140px;
    margin: 8px auto 0;
    align-items: stretch;
}
.mk-why-card {
    position: relative;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    padding: 38px 30px 32px;
    text-align: left;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.mk-why-card:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--mk-gold-soft, #e3c98c);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
}
.mk-why-num {
    display: block;
    font-family: var(--mk-font, inherit);
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1;
    color: var(--mk-gold-soft, #e3c98c);
    margin-bottom: 18px;
    letter-spacing: -.02em;
}
.mk-why-num::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin-top: 14px;
    background: var(--mk-gold-soft, #e3c98c);
    border-radius: 2px;
}
.mk-why-title {
    color: #fff !important;
    font-size: 1.32rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 12px;
    letter-spacing: -.01em;
}
.mk-why-text {
    color: rgba(255, 255, 255, .82) !important;
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}
@media (max-width: 991px) {
    .mk-why-grid { grid-template-columns: 1fr; gap: 18px; max-width: 540px; }
    .mk-why-card { padding: 28px 24px; }
}

/* ─── v1.9.2 — hide hero status tabs on EN/DE (match HU) + consistent buttons ─ */
/* Hero search "All Statuses / For Sale" tabs are disabled per client; HU has
   them off — hide on every homepage so EN/DE match. Only the tab pills are
   hidden; the search form below is a sibling and stays. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .houzez-status-tabs {
    display: none !important;
}

/* Consistent brand buttons site-wide: the carousel Prev/Next + any outlined
   primary buttons use Houzez's default blue — align them to the navy brand
   (same as the Search button + .btn-primary). */
body .btn-primary-outlined,
body button.btn-primary-outlined,
body a.btn-primary-outlined,
body .slick-prev,
body .slick-next,
body .property-carousel-buttons-wrap .btn-primary-outlined {
    background-color: var(--mk-brand) !important;
    border-color: var(--mk-brand) !important;
    color: #fff !important;
}
body .btn-primary-outlined:hover,
body button.btn-primary-outlined:hover,
body a.btn-primary-outlined:hover,
body .slick-prev:hover,
body .slick-next:hover {
    background-color: var(--mk-brand-dark) !important;
    border-color: var(--mk-brand-dark) !important;
    color: #fff !important;
}

/* Remove slick's overlay arrows that sit ON TOP of each property card image
   (client request — they look bad). These are JS-injected by Houzez's listing
   gallery (custom.js `hz-item-gallery-js`): it replaces .listing-thumb with
   .listing-gallery-wrap > .houzez-listing-carousel and slick-appends
   `<button class="slick-prev slick-arrow">` / `slick-next` INSIDE that carousel.
   So the reliable hook is the carousel itself — the older .listing-thumb /
   direct-child selectors couldn't match the post-init DOM. The legitimate navy
   carousel Prev/Next ("Előző/Következő") live in .property-carousel-buttons-wrap
   and carry .btn-primary-outlined (no .slick-arrow), so they stay. */
/* The PARENT theme (houzez/css/all-css.css) FORCES these arrows visible with
   high-specificity !important rules that match the empty `style=""` attribute
   slick leaves on the buttons:
     .hz-item-gallery-js .listing-gallery-wrap .slick-arrow[style]            {display:block!important}  (0,4,0)
     .hz-item-gallery-js:hover .listing-gallery-wrap .slick-arrow[style]      {display:block!important}  (0,5,0)
     .hz-item-gallery-js .listing-gallery-wrap.houzez-show-gallery .slick-arrow[style] {display:block!important} (0,5,0)
   Earlier child rules (0,2,1) were simply out-specified — the CSS loaded, it
   just lost. We mirror each parent selector with an `html body` prefix (and keep
   the [style] attr) so ours score (0,5,2) and win. */
html body .hz-item-gallery-js .listing-gallery-wrap .slick-arrow[style],
html body .hz-item-gallery-js:hover .listing-gallery-wrap .slick-arrow[style],
html body .hz-item-gallery-js .listing-gallery-wrap.houzez-show-gallery .slick-arrow[style],
html body .hz-item-gallery-js .listing-gallery-wrap .slick-arrow,
body .houzez-listing-carousel .slick-arrow,
body .listing-gallery-wrap .slick-arrow,
body .item-listing-wrap .slick-arrow,
body .property-carousel-module .slick-arrow,
body .houzez-all-slider-wrap > button.slick-prev:not(.btn-primary-outlined),
body .houzez-all-slider-wrap > button.slick-next:not(.btn-primary-outlined),
body .item-wrap .slick-arrow,
body .listing-thumb .slick-arrow {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.9.6 — Contact-page form (CF7) — centered card, balanced 2-col, clear CTA.
   (CF7 autop is disabled in inc/ui-fixes.php so the grid rows render intact.)
   ═══════════════════════════════════════════════════════════════════════ */
.mk-contact-form-section {
    max-width: 820px;
    margin: 2.8rem auto 0;
    padding: clamp(1.6rem, 4vw, 2.8rem);
    background: #fff;
    border: 1px solid var(--mk-border);
    border-top: 4px solid var(--mk-brand);
    border-radius: 16px;
    box-shadow: var(--mk-shadow);
}
.mk-contact-form-section h2 {
    color: var(--mk-brand); font-weight: 800; margin: 0 0 .4rem;
    font-size: clamp(1.5rem, 3vw, 2rem);
    border-top: 0 !important; padding-top: 0 !important; text-align: left;
}
.mk-cf-lead { color: var(--mk-muted); margin: 0 0 1.8rem; font-size: 1.05rem; line-height: 1.6; }

.mk-cf .mk-cf-row { display: grid; gap: 1rem 1.2rem; margin: 0 0 1.1rem; }
.mk-cf .mk-cf-2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .mk-cf .mk-cf-2 { grid-template-columns: 1fr; } }
.mk-cf > p { margin: 0 0 1.1rem; }

.mk-cf label { display: block; font-weight: 600; color: var(--mk-ink); font-size: .92rem; letter-spacing: .01em; }
.mk-cf .wpcf7-form-control-wrap { display: block; margin-top: .4rem; }
.mk-cf .form-control { width: 100%; }
.mk-cf select.form-control { min-height: 48px; background: #fff; }
.mk-cf textarea.form-control { width: 100%; min-height: 150px; resize: vertical; }

/* GDPR consent row */
.mk-cf .wpcf7-acceptance { display: block; margin: .3rem 0 1.4rem; }
.mk-cf .wpcf7-acceptance .wpcf7-list-item { margin: 0; display: flex; align-items: flex-start; gap: .55rem; }
.mk-cf .wpcf7-acceptance .wpcf7-list-item-label,
.mk-cf .wpcf7-acceptance label { display: inline; font-weight: 400; color: var(--mk-muted); font-size: .9rem; line-height: 1.45; }
.mk-cf .wpcf7-acceptance input[type="checkbox"] { margin-top: .15rem; width: 17px; height: 17px; accent-color: var(--mk-brand); flex: none; }
.mk-cf .wpcf7-acceptance a { color: var(--mk-brand); font-weight: 600; text-decoration: underline; }

/* Submit button — navy, WHITE text, confident */
.mk-cf input[type="submit"],
.mk-contact-form-section .wpcf7 input[type="submit"] {
    background: var(--mk-brand) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    letter-spacing: .01em;
    padding: 14px 36px !important;
    min-width: 200px;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 6px 18px rgba(26,77,143,.22);
}
.mk-cf input[type="submit"]:hover,
.mk-contact-form-section .wpcf7 input[type="submit"]:hover {
    background: var(--mk-brand-dark) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(26,77,143,.30);
}
@media (prefers-reduced-motion: reduce) {
    .mk-cf input[type="submit"]:hover { transform: none; }
}

.mk-cf .wpcf7-spinner { margin: 0 0 0 12px; }
.mk-cf .wpcf7-not-valid-tip { color: #c0392b; font-size: .82rem; margin-top: .3rem; }
.mk-cf .wpcf7-response-output {
    margin: 1.3rem 0 0 !important; border-radius: 10px; padding: 14px 18px !important;
    font-size: .95rem;
}
