/* =======================================================================
   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)

   v1.17.0 — KRANT ESTATES palette (docs/decisions/0013): every token/value
   remapped from the client's colours.png — navy black #0a1523, navy mid
   #15263d, champagne #c8b58f, champagne light #d5c4a9, cream #f7f3ec.
   Token NAMES kept (--mk-brand is now the Krant navy, --mk-brand-dark is the
   LIGHTER hover navy). Champagne-filled controls take navy text, not white.
   ======================================================================= */

:root {
    --mk-brand:        #0a1523;
    --mk-brand-dark:   #15263d;
    --mk-accent:       #c8b58f;
    --mk-accent-dark:  #ab9772;
    /* v1.17.3 derived: deep champagne for accents ON LIGHT backgrounds
       (champagne #c8b58f is only ~2:1 on white). 4.7:1 on white, AA text. */
    --mk-gold-deep:    #857046;
    --mk-gold-light:   #d5c4a9;  /* light champagne (brand sheet swatch 2) */
    --mk-ink:          #0a1523;
    --mk-text:         #0a1523;  /* v1.18.0 designer letter: #0a1523 IS the
                                    main text colour on light; #15263d is for
                                    hovers/subtle depth only */
    --mk-muted:        #5e6878;
    --mk-bg:           #f7f3ec;
    --mk-border:       #e8e0d0;
    --mk-radius:       14px;
    --mk-radius-sm:    10px;
    --mk-shadow:       0 4px 24px rgba(10,21,35, 0.08);
    --mk-shadow-hover: 0 16px 44px rgba(10,21,35, 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(10,21,35,.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(10,21,35,.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(10,21,35,.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(10,21,35,.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(21,38,61,.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, #0a1523 0%, #0a1523 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(10,21,35,.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); color: var(--mk-brand); border-radius: 8px; font-weight: 600; }
body .elementor-element-mkoffs0 .elementor-button:hover { background: var(--mk-accent-dark); color: var(--mk-brand); }
@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:#e7dfcd; position: relative; }
.mk-lc-price { position:absolute; left:12px; bottom:12px; background:rgba(10,21,35,.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-gold-deep); 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-gold-deep); 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-gold-deep);
}
.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(10,21,35,.06), 0 6px 22px rgba(10,21,35,.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-gold-deep);
    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(10,21,35,.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(10,21,35,.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:      #0a1523;
    --mk-navy-2:    #15263d;
    --mk-gold:      #c8b58f;
    --mk-gold-dark: #ab9772;
    --mk-ink2:      #0a1523;
    --mk-slate:     #5e6878;
    --mk-hair:      #ece5d6;     /* hairline borders */
    --mk-paper:     #faf7f1;     /* 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(10,21,35,.30) 0%, rgba(10,21,35,.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(10,21,35,.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(10,21,35,.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(10,21,35,.30) !important;
}

/* ── 7. MK stats strip → cleaner gradient + bigger numbers ─────────────── */
body .elementor-element-mkstats0 {
    background: linear-gradient(135deg, var(--mk-navy) 0%, #15263d 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(10,21,35,.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(10,21,35,.28) !important;
}
body .elementor-element-mkoffs0 .elementor-button {
    background: var(--mk-gold) !important; color: #0a1523 !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(10,21,35,.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(10,21,35,.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(10,21,35,.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(10,21,35,.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, #0a1523 0%, #15263d 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(10,21,35,.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(10,21,35,.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. (v1.10.3) The in-filter "Currency" dropdown is now KEPT on the search page
      per client request 2026-06-09: the navbar currency pill was removed, so the
      search filters are where visitors choose currency. The previous rule that
      hid `select[name="currency"]` has been retired on purpose. */
/* 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, #f2ece0);
    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: #15263d !important;
    background: #f5f0e6 !important;
    border-color: #e6ddcc !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, #d5c4a9) !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(10,21,35,.15), rgba(10,21,35,.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: #0a1523 !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: #0a1523 !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(10,21,35,.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(10,21,35,.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(10,21,35,.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(10,21,35, 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(10,21,35, 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(10,21,35,0) 0%, rgba(10,21,35,.62) 62%, rgba(10,21,35,.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(10,21,35,.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, #0a1523 0%, #15263d 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(10,21,35, 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,181,143, 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: #c8b58f;
}

/* 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: #c8b58f !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: #15263d;
    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 #e7dfcd;
    border-radius: 999px;
    background: #fff;
    color: #0a1523 !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: #0a1523;
    border-color: #0a1523;
    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 #e8e0d0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 26px rgba(10,21,35, 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(10,21,35, 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, #0a1523 0%, #15263d 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,181,143,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,181,143, 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: #0a1523;
    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: var(--mk-gold-deep); /* v1.17.3: on light bg — champagne blended */
}
.mk-svc-body p {
    color: #3c4756;
    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, #0a1523 0%, #15263d 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: #c8b58f;
    color: #0a1523 !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: #d5c4a9;
    transform: translateY(-2px);
    color: #0a1523 !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%, #f7f3ec 58%, #efe8da 100%) !important;
}
body .elementor-element-92e1d29 .elementor-heading-title {
    font-weight: 800 !important; letter-spacing: -0.025em !important; color: #0a1523 !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(10,21,35,0.06);
    border-radius: 20px;
    padding: 38px 32px 30px;
    box-shadow: 0 18px 50px -22px rgba(10,21,35,0.22), 0 2px 6px rgba(10,21,35,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(10,21,35,0.34), 0 4px 12px rgba(10,21,35,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,#f7f3ec,#efe8da);
    box-shadow: inset 0 0 0 1px rgba(10,21,35,0.05);
    margin-bottom: 18px;
}
.mk-off-title {
    margin: 0 0 14px; color: #0a1523; 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: #5e6878;
    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(10,21,35,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: #596579; 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: #0a1523; margin-top: 2px; }
.mk-off-meta strong, .mk-off-desc strong { color: #0a1523; font-weight: 700; }
.mk-off-meta small { color: #98a1ad; }
.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(10,21,35,0.07);
}
.mk-off-contact a {
    display: flex; align-items: center; gap: 9px; text-decoration: none;
    color: #0a1523; font-weight: 700; font-size: 0.95rem; transition: color .2s ease;
}
.mk-off-contact a:hover { color: #0a1523; }

/* CTA button — modern gold gradient */
body .elementor-element-31f9818 .elementor-button {
    background: linear-gradient(135deg, #c8b58f 0%, #ab9772 100%) !important;
    color: #0a1523 !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(171,151,114,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(171,151,114,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, #d5c4a9);
    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, #d5c4a9);
    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, #d5c4a9);
    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:not(.btn-primary-outlined),
body .property-carousel-module .slick-arrow:not(.btn-primary-outlined),
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:not(.btn-primary-outlined),
body .listing-thumb .slick-arrow:not(.btn-primary-outlined) {
    display: none !important;
}

/* ── Property-cards carousel: VISIBLE scroll arrows (client request) ────────
   The legitimate carousel Prev/Next nav buttons (.property-carousel-buttons-wrap
   > button.btn-primary-outlined.slick-arrow) were being swept up by the gallery-
   arrow hide rule above (they also carry .slick-arrow). The :not(.btn-primary-
   outlined) exception above keeps them alive; here we turn them into clean
   round chevron buttons (no "Prev/Next" text) so users see the cards scroll. */
body .property-carousel-buttons-wrap {
    display: flex !important;
    gap: 10px;
    justify-content: flex-end;
}
body .property-carousel-buttons-wrap > button.slick-arrow {
    display: inline-flex !important;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 0 !important;            /* hide the literal "Prev"/"Next" text */
    line-height: 0 !important;
    position: relative;
    background-color: var(--mk-brand) !important;
    border: 1.5px solid var(--mk-brand) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(10,21,35,.18);
    transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}
body .property-carousel-buttons-wrap > button.slick-arrow::before {
    content: ""; display: block;
    width: 11px; height: 11px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
    border-radius: 1px;
}
body .property-carousel-buttons-wrap > button.slick-prev::before { transform: translateX(2px) rotate(-135deg); }
body .property-carousel-buttons-wrap > button.slick-next::before { transform: translateX(-2px) rotate(45deg); }
body .property-carousel-buttons-wrap > button.slick-arrow:hover {
    background-color: var(--mk-brand-dark) !important;
    border-color: var(--mk-brand-dark) !important;
    transform: translateY(-1px);
}
body .property-carousel-buttons-wrap > button.slick-arrow.slick-disabled {
    opacity: .4; cursor: default; box-shadow: none;
}

/* ═══════════════════════════════════════════════════════════════════════
   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%; }
/* Modern styled <select> — kill the native "Windows 95" look: custom brand
   chevron, readable dark text, consistent with the text inputs. */
.mk-cf select.form-control {
    min-height: 48px;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    color: var(--mk-ink);
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231a4d8f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
    background-size: 16px 16px;
    padding-right: 40px;
    cursor: pointer;
    text-overflow: ellipsis;
}
.mk-cf select.form-control:focus {
    border-color: var(--mk-brand);
    box-shadow: 0 0 0 3px rgba(21,38,61, .12);
    outline: none;
}
.mk-cf select.form-control option { color: var(--mk-ink); }
.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-slate); font-size: .9rem; line-height: 1.45; } /* v1.17.4: was muted 4.0:1 */
.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(21,38,61,.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(21,38,61,.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;
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.10.0 — TRANSPARENT OVERLAY NAVBAR ON HERO PAGES
   ───────────────────────────────────────────────────────────────────────
   On pages that render a large hero/banner (homepage, single property, and
   the About pages — flagged with body.mk-trans-header by
   inc/transparent-header.php) the desktop navbar floats OVER the hero:
   transparent background, white links + white logo, with a soft dark
   gradient scrim so the text stays legible on any image. Desktop only — the
   mobile header keeps its solid white bar. The header is non-sticky, so it
   simply scrolls away with the hero (no white-on-white issue further down
   the page). Language-agnostic → applies on HU / EN / DE alike. Reversible:
   remove inc/transparent-header.php + this block + the white logo asset.
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 992px) {
    /* lift the header out of flow so the hero rises full-bleed beneath it */
    body.mk-trans-header .header-main-wrap {
        position: absolute;
        top: 0; left: 0; right: 0;
        z-index: 99;
        background: transparent !important;
        box-shadow: none !important;
    }
    /* readability scrim: strong at the very top (behind the navbar), fading
       smoothly to clear well below the bar so white text/logo stay legible
       even over a bright hero photo */
    body.mk-trans-header .header-main-wrap::before {
        content: "";
        position: absolute; left: 0; right: 0; top: 0;
        height: 210px;
        pointer-events: none; z-index: -1;
        background: linear-gradient(to bottom,
            rgba(10,21,35,.80) 0%,
            rgba(10,21,35,.52) 40%,
            rgba(10,21,35,0)  100%);
    }
    /* the desktop bar itself: clear bg, white hairline instead of navy */
    body.mk-trans-header .header-desktop.header-v4 {
        background: transparent !important;
        box-shadow: none !important;
        border-bottom: 1px solid rgba(255,255,255,.18) !important;
    }

    /* top-level nav links, phone, login icon → white */
    body.mk-trans-header .header-v4 .main-nav .nav-link,
    body.mk-trans-header .header-v4 .btn-phone-number a,
    body.mk-trans-header .header-v4 .login-link > a,
    body.mk-trans-header .header-v4 .login-link > a i {
        color: #fff !important;
    }
    body.mk-trans-header .header-v4 .main-nav .nav-link:hover {
        color: #fff !important;
        background-color: rgba(255,255,255,.12);
        border-radius: 8px;
    }
    /* the gold hover underline (mk-modern) already reads on a dark hero */

    /* dropdown panels keep their own white background → dark text inside */
    body.mk-trans-header .dropdown-menu .dropdown-item,
    body.mk-trans-header .dropdown-menu a { color: var(--mk-navy) !important; }

    /* (v1.16.0–v1.29.x swapped in the all-white logo here. v1.30.0: the
       header logo is the client's champagne lockup on every header state,
       so the Theme Options logo shows as is.) */

    /* logged-in preview: drop the overlay below the 32px WP admin bar so it
       isn't tucked under it (front-end visitors have no admin bar) */
    body.admin-bar.mk-trans-header .header-main-wrap { top: 32px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.12.0 — HOMEPAGE CONTACT BAND (.mk-home-cf)
   ───────────────────────────────────────────────────────────────────────
   New full-bleed section between the property-types block (995af2) and the
   dark "Miért válasszon minket?" band (dbd6aa6), inserted into the Elementor
   data of all 3 language homepages by mu-plugin 0-mk-home-contact.php as a
   shortcode widget. Light gradient band bridging the white block above into
   the navy band below. Layout: intro + trust points left, white CF7 form
   card right (reuses the Contact-page forms → same .mk-cf field styling,
   leads stored in Flamingo even before SMTP is configured).
   ═══════════════════════════════════════════════════════════════════════ */
.mk-home-cf-section { background: linear-gradient(180deg, #ffffff 0%, #f2ece0 100%); }

.mk-home-cf {
    max-width: 1140px;
    margin: 0 auto;
    padding: clamp(64px, 7vw, 104px) 20px;
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}

/* left: eyebrow + headline + lead + trust points */
.mk-home-cf-eyebrow {
    color: var(--mk-gold-deep); /* v1.17.3: gold-dark was 2.7:1 on the light band */
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin: 0 0 .9rem;
}
h2.mk-home-cf-title {
    color: var(--mk-navy);
    font-size: clamp(1.9rem, 3.4vw, 2.6rem); /* matches .houzez_section_title */
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.12;
    margin: 0 0 1.1rem;
    border-top: 0 !important; padding-top: 0 !important;
    text-transform: none !important; /* theme capitalizes h2 — wrong for Hungarian */
}
.mk-home-cf-lead {
    color: var(--mk-slate); /* v1.17.4: muted was 3.8:1 on the cream band */
    font-size: 1.08rem;
    line-height: 1.65;
    margin: 0 0 1.7rem;
}
.mk-home-cf-points { list-style: none; margin: 0; padding: 0; }
.mk-home-cf-points li {
    display: flex; align-items: flex-start; gap: .7rem;
    color: var(--mk-ink);
    font-size: .98rem; font-weight: 500; line-height: 1.5;
    margin: 0 0 .85rem;
}
.mk-home-cf-points li::before {
    content: '✓';
    flex: none;
    width: 23px; height: 23px;
    border-radius: 50%;
    background: var(--mk-gold);   /* v1.17.4: solid champagne chip — the 16%
                                     tint + gold glyph still read faint (user
                                     feedback); navy ✓ on champagne = 9.1:1 */
    color: var(--mk-brand);
    font-size: .8rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    margin-top: .1rem;
}

/* right: white form card — same identity as the Contact-page card */
.mk-home-cf-card {
    background: #fff;
    border: 1px solid var(--mk-border);
    border-top: 4px solid var(--mk-brand);
    border-radius: 16px;
    box-shadow: var(--mk-shadow);
    padding: clamp(1.5rem, 3vw, 2.4rem);
}
/* the reused CF7 form body is fields-only; tighten its spacing in the card */
.mk-home-cf-card .mk-cf textarea.form-control { min-height: 120px; }
.mk-home-cf-card .wpcf7-response-output { font-size: .9rem; }

@media (max-width: 991px) {
    .mk-home-cf { grid-template-columns: 1fr; gap: 36px; padding: 56px 20px 64px; }
    .mk-home-cf-intro { text-align: center; }
    .mk-home-cf-points { display: inline-block; text-align: left; }
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.13.0 — HOMEPAGE GOOGLE-REVIEWS BAND (.mk-home-reviews)
   ───────────────────────────────────────────────────────────────────────
   Last section on all 3 language homepages (inserted into _elementor_data
   by mu-plugin 0-mk-home-reviews.php). Wraps the "Rich Showcase for Google
   Reviews" widget ([grw id=…]) in a branded centered band; widget-level
   overrides keep the plugin's cards on MK tokens (Inter, navy, soft cards).
   ═══════════════════════════════════════════════════════════════════════ */
.mk-home-reviews-section { background: #fff; }

.mk-home-reviews {
    max-width: 1140px;
    margin: 0 auto;
    padding: clamp(64px, 7vw, 104px) 20px;
}
.mk-home-reviews-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(32px, 4vw, 48px);
}
h2.mk-home-reviews-title {
    color: var(--mk-navy);
    font-size: clamp(1.9rem, 3.4vw, 2.6rem); /* matches .houzez_section_title */
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.12;
    margin: 0 0 .8rem;
    border-top: 0 !important; padding-top: 0 !important;
    text-transform: none !important; /* theme capitalizes h2 */
}
.mk-home-reviews-lead {
    color: var(--mk-muted);
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
}

/* ── plugin-widget alignment with the MK design ─────────────────────────
   The plugin styles everything with !important AND per-instance CSS custom
   properties (--rev-color, --name-color, --head-name-color) set inline on
   the .wp-gr root — so we (a) redefine its variables with !important, and
   (b) outrank its few hard-coded rules with higher-specificity selectors. */
.mk-home-reviews-widget .wp-gr {
    --rev-color: #ffffff !important;        /* card background (was #f4f4f4) */
    --name-color: var(--mk-ink) !important; /* reviewer-name link (was #154fc1) */
    --head-name-color: var(--mk-ink) !important;
    font-family: var(--mk-font) !important;
}
/* card chrome: outrank .wp-gr .grw-review-inner.grw-round (0,3,0) */
.mk-home-reviews-widget .wp-gr .grw-review-inner.grw-round {
    border-radius: 16px !important;
    border: 1px solid var(--mk-border) !important;
    box-shadow: var(--mk-shadow) !important;
}
/* reviewer name: outrank .wp-gr.rpi a.wp-google-name (0,3,1) */
.mk-home-reviews-widget .wp-gr.rpi a.wp-google-name {
    color: var(--mk-ink) !important; font-weight: 700 !important;
}
.mk-home-reviews-widget .wp-gr .wp-google-time { color: var(--mk-muted) !important; }
.mk-home-reviews-widget .wp-gr .grw-review .wp-google-feedback { color: var(--mk-text) !important; line-height: 1.6 !important; }
.mk-home-reviews-widget .wp-gr .wp-google-based { color: var(--mk-muted) !important; }
/* "review us on Google" CTA: MK navy button instead of Google blue */
.mk-home-reviews-widget .wp-gr .wp-google-wr a {
    background: var(--mk-brand) !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 14px rgba(21,38,61,.22) !important;
}
.mk-home-reviews-widget .wp-gr .wp-google-wr a:hover { background: var(--mk-brand-dark) !important; }
/* slider arrows: subtle bordered circles */
.mk-home-reviews-widget .wp-gr .rpi-ltgt {
    background: #fff !important;
    border: 1px solid var(--mk-border) !important;
    box-shadow: var(--mk-shadow) !important;
    color: var(--mk-ink) !important;
}

@media (max-width: 575px) {
    .mk-home-reviews { padding: 56px 16px 64px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.14.0 — client feedback 2026-06-10
   (a) Property-card meta icons → brand blue (more highlighted)
   (b) Városok / Cities: horizontal drag-scroll carousel
   ═══════════════════════════════════════════════════════════════════════ */

/* (a) bed / bath / car / area icons on the LIGHT listing cards: were muted
   slate (inherited), now brand blue so the figures pop. v3 overlay cards keep
   their white icons (different wrapper, untouched). */
body .item-wrap .item-amenities li i.houzez-icon,
body .item-wrap ul.item-amenities li i.houzez-icon {
    color: var(--mk-brand) !important;
}

/* (b) Cities drag-carousel — inner section #6fc3e29 holds [title col] + N city
   grid_builder columns (Estepona, Mijas, …). Make the row a horizontal
   drag/scroll track and pin the title column to the left. Design of each card
   is unchanged (same Houzez grid_builder markup). */
body .elementor-element-6fc3e29 > .elementor-container {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: visible;
    -ms-overflow-style: none;
    scrollbar-width: none;
    cursor: grab;
    scroll-behavior: smooth;
}
body .elementor-element-6fc3e29 > .elementor-container::-webkit-scrollbar { display: none; }
/* while dragging: grabbing cursor + swallow link clicks (no smooth fighting drag) */
body .elementor-element-6fc3e29 > .elementor-container.mk-dragging {
    cursor: grabbing; scroll-behavior: auto;
}
body .elementor-element-6fc3e29 > .elementor-container.mk-dragging a { pointer-events: none !important; }

/* each column = a fixed-width slide (min 210px keeps cards readable on tablet) */
body .elementor-element-6fc3e29 > .elementor-container > .elementor-column {
    flex: 0 0 clamp(210px, 21%, 252px) !important;
    max-width: clamp(210px, 21%, 252px) !important;
}
/* title column pinned left, opaque, soft right edge so cards slide under it.
   pointer-events:none so the pinned label NEVER intercepts clicks on the city
   cards that scroll beneath it (it's a non-interactive heading). */
body .elementor-element-6fc3e29 > .elementor-container > .elementor-column.elementor-element-378d81b {
    position: sticky; left: 0; z-index: 3;
    background: #fff;
    flex-basis: clamp(190px, 20%, 240px) !important;
    max-width: clamp(190px, 20%, 240px) !important;
    box-shadow: 20px 0 24px -18px rgba(10,21,35,.16);
    pointer-events: none;
}

/* prev / next controls — bottom-right, below the cards (built by the JS) */
.mk-cities-nav {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin: 26px auto 0;
    max-width: 1140px;   /* fallback; JS aligns the right edge to the cards */
    padding: 0 8px;
}
.mk-cc-btn {
    width: 48px; height: 48px;
    flex: none;
    border-radius: 50%;
    border: 1px solid var(--mk-border);
    background: #fff;
    color: var(--mk-navy);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    box-shadow: var(--mk-shadow);
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease, opacity .2s ease;
    -webkit-appearance: none; appearance: none;
}
.mk-cc-btn svg { width: 22px; height: 22px; display: block; }
.mk-cc-btn:hover:not(:disabled) {
    background: var(--mk-brand);
    color: #fff;
    border-color: var(--mk-brand);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(21,38,61,.28);
}
.mk-cc-btn:active:not(:disabled) { transform: translateY(0); }
.mk-cc-btn:focus-visible { outline: 2px solid var(--mk-brand); outline-offset: 2px; }
.mk-cc-btn:disabled { opacity: .35; cursor: default; box-shadow: none; }
@media (prefers-reduced-motion: reduce) {
    .mk-cc-btn:hover:not(:disabled) { transform: none; }
}

@media (max-width: 767px) {
    /* v1.29.1 — phones: the title is lifted ABOVE the row by
       mk-cities-carousel.js (as the row's first slide it took ~80% of the
       screen and the cities showed at the edge only). The cards fill the
       row: 80% wide, the next one peeking, snap per card, 22px from the
       screen edge like the rest of the page. */
    body .elementor-column.elementor-element-378d81b.mk-cities-title--above {
        width: 100% !important; max-width: none !important; flex: 0 0 100% !important;
        position: static; box-shadow: none; background: transparent; pointer-events: auto;
        margin: 0 0 20px;
    }
    body .mk-cities-title--above > .elementor-widget-wrap { padding: 0 2px !important; }
    /* the row runs to the screen's right edge (the section's 20px gutter),
       so the next card peeks in properly */
    body .elementor-element-6fc3e29 > .elementor-container {
        scroll-snap-type: x mandatory; scroll-padding-left: 2px; scroll-behavior: auto;
        margin-right: -20px;
    }
    body .elementor-element-6fc3e29 > .elementor-container > .elementor-column {
        flex-basis: 78% !important; max-width: 78% !important; scroll-snap-align: start;
    }
    body .elementor-element-6fc3e29 > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 6px !important; }
    body .elementor-element-6fc3e29 > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap { padding-left: 2px !important; }
    /* no JS: the title stays the first slide, unpinned */
    body .elementor-element-6fc3e29 > .elementor-container > .elementor-column.elementor-element-378d81b {
        position: static; box-shadow: none; pointer-events: auto;
    }
    .mk-cities-nav { justify-content: center; padding: 0 16px; margin-top: 20px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.15.0 — FLOATING CONTACT BUBBLE (.mk-bubble) — homepage only
   ───────────────────────────────────────────────────────────────────────
   Round chat button bottom-right; opens a compact panel with a HIGHLIGHTED
   phone number (gold call-to-action) + the per-language CF7 form. A gentle
   teaser tooltip pops once per session (mk-bubble--teasing). Rendered in
   wp_footer by inc/contact-bubble.php; behaviour in mk-contact-bubble.js.
   ═══════════════════════════════════════════════════════════════════════ */
.mk-bubble {
    position: fixed;
    right: 30px;       /* aligned with the Houzez back-to-top button's right edge */
    bottom: 88px;      /* sits ABOVE the back-to-top button (its bottom 30 + 42 height + gap) */
    z-index: 9500;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

/* round launcher button */
.mk-bubble-btn {
    position: relative;
    width: 60px; height: 60px;
    flex: none;
    border: 0;
    border-radius: 50%;
    background: var(--mk-brand);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(10,21,35, 0.28);
    display: flex; align-items: center; justify-content: center;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
    align-self: flex-end;
}
.mk-bubble-btn:hover { background: var(--mk-brand-dark); transform: translateY(-2px); }
.mk-bubble-btn:focus-visible { outline: 3px solid var(--mk-gold); outline-offset: 3px; }
.mk-bubble-btn svg { display: block; }
.mk-bubble-ic-close { display: none; }
.mk-bubble.is-open .mk-bubble-ic-open { display: none; }
.mk-bubble.is-open .mk-bubble-ic-close { display: block; }
/* subtle attract pulse only while teasing, and only if motion is allowed */
@media (prefers-reduced-motion: no-preference) {
    .mk-bubble--teasing .mk-bubble-btn::after {
        content: '';
        position: absolute; inset: 0;
        border-radius: 50%;
        box-shadow: 0 0 0 0 rgba(21,38,61, 0.45);
        animation: mk-bubble-pulse 2s ease-out infinite;
    }
}
@keyframes mk-bubble-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(21,38,61, 0.45); }
    70%  { box-shadow: 0 0 0 16px rgba(21,38,61, 0); }
    100% { box-shadow: 0 0 0 0 rgba(21,38,61, 0); }
}

/* teaser tooltip */
.mk-bubble-teaser {
    display: flex; align-items: center; gap: 10px;
    max-width: 250px;
    background: #fff;
    color: var(--mk-ink);
    border: 1px solid var(--mk-border);
    border-radius: 14px 14px 4px 14px;
    box-shadow: 0 8px 24px rgba(10,21,35, 0.16);
    padding: 12px 14px;
    font-size: .95rem; font-weight: 600; line-height: 1.35;
}
.mk-bubble-teaser-txt { flex: 1; }
.mk-bubble-teaser-x {
    flex: none;
    border: 0; background: transparent;
    color: var(--mk-muted);
    font-size: 1.25rem; line-height: 1;
    cursor: pointer; padding: 0 2px;
}
.mk-bubble-teaser-x:hover { color: var(--mk-ink); }
@media (prefers-reduced-motion: no-preference) {
    .mk-bubble--teasing .mk-bubble-teaser { animation: mk-bubble-pop .25s ease-out both; }
}
@keyframes mk-bubble-pop {
    from { opacity: 0; transform: translateY(8px) scale(.96); }
    to   { opacity: 1; transform: none; }
}

/* the panel */
.mk-bubble-panel {
    width: min(384px, calc(100vw - 30px));
    background: #fff;
    border: 1px solid var(--mk-border);
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(10,21,35, 0.28);
    overflow: hidden;
    position: relative;
}
@media (prefers-reduced-motion: no-preference) {
    .mk-bubble.is-open .mk-bubble-panel { animation: mk-bubble-pop .2s ease-out both; }
}
.mk-bubble-close {
    position: absolute; top: 10px; right: 12px;
    border: 0; background: transparent;
    color: rgba(255, 255, 255, .85);
    font-size: 1.6rem; line-height: 1;
    cursor: pointer; padding: 0; z-index: 2;
}
.mk-bubble-close:hover { color: #fff; }

.mk-bubble-head {
    position: relative;
    background: linear-gradient(135deg, var(--mk-brand) 0%, var(--mk-brand-dark) 100%);
    color: #fff;
    padding: 18px 44px 16px 22px;
    overflow: hidden;
}
/* subtle decorative glow in the header corner */
.mk-bubble-head::after {
    content: '';
    position: absolute;
    top: -40px; right: -30px;
    width: 130px; height: 130px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200,181,143,.28) 0%, rgba(200,181,143,0) 70%);
    pointer-events: none;
}
.mk-bubble-head > * { position: relative; z-index: 1; }
.mk-bubble-eyebrow {
    margin: 0 0 .3rem;
    font-size: .72rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    color: var(--mk-gold);
}
h3.mk-bubble-title {
    margin: 0 0 .35rem;
    color: #fff;
    font-size: 1.3rem; font-weight: 800; line-height: 1.2;
    border: 0 !important; padding: 0 !important;
    text-transform: none !important;
}
.mk-bubble-sub {
    margin: 0;
    font-size: .92rem; line-height: 1.45;
    color: rgba(255, 255, 255, .88);
}

/* highlighted phone CTA */
.mk-bubble-phone {
    display: flex; align-items: center; gap: 11px;
    margin: 12px 16px 2px;
    padding: 11px 14px;
    border-radius: 12px;
    background: rgba(200,181,143, .12);   /* --mk-gold @ 12% */
    border: 1px solid rgba(200,181,143, .4);
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease;
}
.mk-bubble-phone:hover { background: rgba(200,181,143, .2); border-color: var(--mk-gold); }
.mk-bubble-phone-ic {
    flex: none;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--mk-gold);
    color: var(--mk-brand); /* v1.17.3: white-on-champagne was 1.9:1 */
    display: flex; align-items: center; justify-content: center;
}
.mk-bubble-phone-txt { display: flex; flex-direction: column; line-height: 1.2; }
.mk-bubble-phone-txt small {
    font-size: .74rem; font-weight: 600;
    letter-spacing: .04em; text-transform: uppercase;
    color: var(--mk-gold-dark);
}
.mk-bubble-phone-txt strong {
    font-size: 1.18rem; font-weight: 800;
    color: var(--mk-ink);
}

/* CF7 form inside the panel — compact so the WHOLE panel fits with NO scroll */
.mk-bubble-form { padding: 6px 18px 16px; }
.mk-bubble-form .mk-cf .mk-cf-row { margin: 0 0 .5rem; gap: .5rem .6rem; }
/* keep the name|email and phone|subject rows side-by-side (panel is wide enough)
   so the form stays short — it only stacks on real phones (<640px viewport). */
.mk-bubble-form .mk-cf > p { margin: 0 0 .5rem; }
.mk-bubble-form .mk-cf label { font-size: .82rem; margin: 0; line-height: 1.25; }
.mk-bubble-form .mk-cf label br { display: none; }   /* drop the redundant line break per field */
.mk-bubble-form .mk-cf .wpcf7-form-control-wrap { margin-top: .2rem; }
.mk-bubble-form .mk-cf .form-control {
    height: 40px; min-height: 0; padding: 8px 12px; font-size: .92rem;
}
.mk-bubble-form .mk-cf select.form-control {
    height: 40px;
    padding: 8px 36px 8px 12px;   /* keep room on the right for the chevron */
    background-position: right 11px center;
}
/* CF7 textarea defaults to rows=10 (~200px) — pin it short so the panel fits */
.mk-bubble-form .mk-cf textarea.form-control { height: 72px; min-height: 72px; }
.mk-bubble-form .mk-cf .wpcf7-acceptance { margin: .1rem 0 .7rem; }
.mk-bubble-form .mk-cf .wpcf7-acceptance label,
.mk-bubble-form .mk-cf .wpcf7-acceptance .wpcf7-list-item-label { font-size: .78rem; line-height: 1.35; }
.mk-bubble-form .mk-cf input[type="submit"] {
    width: 100%; min-width: 0;
    padding: 12px 20px !important; font-size: .96rem !important;
    box-shadow: 0 6px 16px rgba(21,38,61,.22) !important;
}
.mk-bubble-form .wpcf7-response-output {
    font-size: .8rem; margin: .7rem 0 0 !important; padding: 10px 13px !important;
}

@media (max-width: 480px) {
    .mk-bubble-panel { width: calc(100vw - 24px); }
    .mk-bubble { right: 15px; bottom: 68px; }  /* still clears the mobile back-to-top (bottom 15 + 42) */
}

/* ── Navbar: hide leftover empty Houzez demo menu items (v1.14.5) ──────────
   The original demo "Main Menu" still carries two dead top-level items
   (#menu-item-18167 / #menu-item-18168) that render as empty <a class="nav-link">
   boxes AFTER our "Kapcsolat" item, leaving a stray gap so the navbar doesn't
   visibly end on Contact. They have no title and no href — hide them so
   Kapcsolat is cleanly the last navbar element on every language. Defensive
   generic rule also collapses any future hrefless top-level nav link (dropdown
   toggles keep their href, so they are unaffected). */
.navbar .navbar-nav > li.menu-item-18167,
.navbar .navbar-nav > li.menu-item-18168 { display: none !important; }
.navbar .navbar-nav > li.nav-item > a.nav-link:not([href]):empty { display: none; }

/* ── Header: "Kapcsolat / Contact / Kontakt" CTA BUTTON as the LAST element ──
   (v1.14.7) Client wants Contact to be the ABSOLUTE last navbar element — after
   the language switcher and the profile icon — styled as a button, exactly
   where the Houzez demo's "CREATE A LISTING" CTA sat. We render it (.mk-contact-cta)
   in that original slot via the header partials (login-register.php +
   logged-in-nav.php), repurposing the old (hidden) create-listing button. The
   in-menu Kapcsolat item was removed (0-mk-nav-contact.php act=remove) so there
   is no duplicate. Desktop only (>=992px); the mobile header has its own bar. */
@media (min-width: 992px) {
    a.mk-contact-cta {
        display: inline-block;
        background: var(--mk-brand);
        border: 1.5px solid var(--mk-brand);
        color: #fff !important;
        border-radius: 8px;
        padding: .58rem 1.4rem;
        margin-left: .65rem;
        font-weight: 600;
        line-height: 1.1;
        white-space: nowrap;
        text-decoration: none;
        transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
    }
    a.mk-contact-cta:hover,
    a.mk-contact-cta:focus {
        background: var(--mk-brand-dark);
        border-color: var(--mk-brand-dark);
        color: #fff !important;
        transform: translateY(-1px);
    }
    a.mk-contact-cta::after { display: none !important; } /* kill gold underline */

    /* TRANSPARENT hero header (home / single property / About): outlined WHITE
       button that fills solid white with brand text on hover — matches the demo. */
    body.mk-trans-header a.mk-contact-cta {
        background: transparent;
        border-color: rgba(255,255,255,.9);
        color: #fff !important;
    }
    body.mk-trans-header a.mk-contact-cta:hover,
    body.mk-trans-header a.mk-contact-cta:focus {
        background: #fff;
        border-color: #fff;
        color: var(--mk-brand) !important;
        transform: translateY(-1px);
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.15.7 — v3 overlay-card meta icons → gold (client feedback 2026-06-12)
   The v1.14.0 brand-blue icon rule (body .item-wrap .item-amenities li
   i.houzez-icon) out-specs the v1.3.1 white v3 rule because the v3 wrapper
   carries BOTH .item-wrap and .item-wrap-v3 — so the dark photo cards got
   barely-visible navy icons. Give v3 cards the MK gold accent used across
   the site (stats underline, footer hairline, CTA); the figures stay white.
   ═══════════════════════════════════════════════════════════════════════ */
body .item-wrap.item-wrap-v3 .item-amenities li i.houzez-icon,
body .item-wrap-v3 .item-amenities li i.houzez-icon,
body .item-wrap-v3 ul.item-amenities li i.houzez-icon {
    color: var(--mk-gold, #c8b58f) !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.15.8 — single-property: clear the transparent overlay navbar
   The overlay header (v1.10.0, absolute, ~91px tall on desktop) floats over
   the page top. On property pages the first element is the dark
   .page-title-wrap band (breadcrumb y≈32 + H1 y≈76 with its stock 30px
   padding) — both sat underneath the navbar. Push the band's content below
   the bar; the band itself stays full-bleed behind the header scrim.
   Desktop-only (the mobile header is solid and in normal flow).
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 992px) {
    body.mk-trans-header.single-property .page-title-wrap {
        padding-top: 106px; /* 30px stock + ~76px to clear the 91px bar */
    }
    /* logged-in preview: the overlay bar sits 32px lower (WP admin bar) */
    body.admin-bar.mk-trans-header.single-property .page-title-wrap {
        padding-top: 138px;
    }
}

/* ═══ v1.17.0 — Krant palette compat fixes (docs/decisions/0013) ══════════
   Champagne-filled UI must carry NAVY text (brand-sheet button pattern); the
   plugins below hardcode white. */
/* Cookie Notice: button turned champagne via cookie_notice_options (krantcolors) */
body #cookie-notice.mk-cookie-bar .cn-button {
    color: var(--mk-brand) !important;
    font-weight: 600;
}
/* Page background: Houzez parent hardcodes #f7f8f9 on body — claim it for the
   Krant cream so every page sits on the brand background (v1.17.1) */
html body {
    background-color: var(--mk-bg);
}

/* v1.17.2 — strays found by the computed-style sweep (Houzez parent defaults
   the token remap can't reach): */
/* Featured badge: Houzez green #77c720 → champagne, navy text */
body span.label-featured {
    background-color: var(--mk-gold) !important;
    color: var(--mk-brand) !important;
}
/* Property media pills (gallery/map/video tabs): active was demo cyan
   rgba(0,174,255,.65) → navy */
body a[id^="pills-"][id$="-tab"].nav-link.active {
    background-color: rgba(10,21,35,.85) !important;
}
/* Houzez re-skins .btn-secondary green (#28a745) — schedule-tour / property
   forms submit → brand navy */
body .btn-secondary,
body button.btn-secondary {
    background-color: var(--mk-brand) !important;
    border-color: var(--mk-brand) !important;
    color: #fff !important;
}
body .btn-secondary:hover,
body button.btn-secondary:hover {
    background-color: var(--mk-brand-dark) !important;
    border-color: var(--mk-brand-dark) !important;
}
/* Footer: old blues #004274 / #00335a → Krant navies (kept relationship:
   content band lighter, copyright strip darkest) */
body .footer-top-wrap { background-color: var(--mk-brand-dark) !important; }
body .footer-bottom-wrap { background-color: var(--mk-brand) !important; }

/* (v1.17.3 swapped a navy logo onto the then-white solid header; superseded
   by the v1.18.0 navy header below — the champagne lockup is correct on
   navy. krant-logo-navy.png stays in assets for print/e-mail use.) */

/* ═══ v1.17.4 — slider dots to brand (the reviews slider's active dot was
   the plugin's own orange; the slick • glyph is a ::before) ══════════════ */
body .slick-dots li button:before {
    color: var(--mk-brand) !important;
    opacity: .25;
}
body .slick-dots li.slick-active button:before {
    color: var(--mk-brand) !important;
    opacity: 1;
}
.mk-home-reviews-widget .wp-gr .slick-dots li button:before,
.mk-home-reviews-widget .wp-gr .slick-dots li.slick-active button:before {
    color: var(--mk-brand) !important;
}
/* the GRW pager is its own .rpi-dot markup, active hardcoded orange #fb8e28 */
.mk-home-reviews-widget .rpi-dot { background: rgba(10,21,35,.25) !important; }
.mk-home-reviews-widget .rpi-dot.active { background: var(--mk-brand) !important; }

/* ═══ v1.18.0 — designer letter (colours_request.txt, repo root) ══════════
   "#0A1523 a fejlécben és footerben" — the solid header goes deep navy on
   all non-hero pages (hero pages keep the transparent overlay + white
   lockup). CTA rules per the letter: on dark, primary = champagne fill +
   navy text; secondary = champagne outline + champagne text. */
body:not(.mk-trans-header) .header-desktop,
body:not(.mk-trans-header) .header-mobile {
    background: var(--mk-brand) !important;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
/* nav links: white, champagne on hover, champagne hover-underline */
body:not(.mk-trans-header) .header-desktop .nav-menu > li > a,
body:not(.mk-trans-header) .header-desktop .navbar-nav > li > a {
    color: #fff !important;
}
body:not(.mk-trans-header) .header-desktop .nav-menu > li > a:hover,
body:not(.mk-trans-header) .header-desktop .navbar-nav > li > a:hover {
    color: var(--mk-gold) !important;
}
body:not(.mk-trans-header) .header-desktop .nav-menu > li > a::after,
body:not(.mk-trans-header) .header-desktop .navbar-nav > li > a::after {
    background: var(--mk-gold);
}
/* dropdown panels stay white with navy items */
body:not(.mk-trans-header) .header-desktop .dropdown-menu .dropdown-item,
body:not(.mk-trans-header) .header-desktop .dropdown-menu a {
    color: var(--mk-brand) !important;
}
/* profile icon + mobile burger: white */
body:not(.mk-trans-header) .header-desktop .login-register-nav,
body:not(.mk-trans-header) .header-desktop .login-register-nav a:not(.mk-contact-cta),
body:not(.mk-trans-header) .header-desktop .login-register-nav .houzez-icon,
body:not(.mk-trans-header) .header-mobile button,
body:not(.mk-trans-header) .header-mobile .houzez-icon,
body:not(.mk-trans-header) .header-mobile a {
    color: #fff !important;
}
/* language switcher pill: translucent white on navy (same look as the hero
   header variant in frontend-switchers.php) */
body:not(.mk-trans-header) .header-desktop .mk-switcher > button.mk-switcher-toggle {
    color: #fff !important;
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(255,255,255,0.30) !important;
}
body:not(.mk-trans-header) .header-desktop .mk-switcher > button.mk-switcher-toggle:hover {
    background: rgba(255,255,255,0.18) !important;
    border-color: rgba(255,255,255,0.5) !important;
}
/* KAPCSOLAT CTA on the navy header: primary-on-dark = champagne + navy text
   (.header-desktop context out-specs the .login-register-nav white rule) */
body:not(.mk-trans-header) .header-desktop a.mk-contact-cta,
body:not(.mk-trans-header) a.mk-contact-cta {
    background: var(--mk-gold) !important;
    border-color: var(--mk-gold) !important;
    color: var(--mk-brand) !important;
}
body:not(.mk-trans-header) .header-desktop a.mk-contact-cta:hover,
body:not(.mk-trans-header) a.mk-contact-cta:hover {
    background: var(--mk-gold-light) !important;
    border-color: var(--mk-gold-light) !important;
    color: var(--mk-brand) !important;
}
/* hero (transparent) header CTA: secondary-on-dark = champagne outline +
   champagne text, fills champagne with navy text on hover (was white) */
body.mk-trans-header a.mk-contact-cta {
    border-color: var(--mk-gold) !important;
    color: var(--mk-gold) !important;
    background: transparent !important;
}
body.mk-trans-header a.mk-contact-cta:hover {
    background: var(--mk-gold) !important;
    border-color: var(--mk-gold) !important;
    color: var(--mk-brand) !important;
}

/* ═══ v1.18.2 — designer letter round 2 (colours_request.txt) ═════════════
   Sweep found the letter's exact anti-pattern on the advanced-search band
   (#15263d, allowed as section-divider navy): a darker-navy Keresés button
   on navy, and an invisible navy filters button. Dark-bg CTA matrix applied:
   primary = champagne fill + navy text; secondary = transparent + champagne
   border/text. */
body .advanced-search .btn-search.btn-secondary {
    background-color: var(--mk-gold) !important;
    border-color: var(--mk-gold) !important;
    color: var(--mk-brand) !important;
    font-weight: 700;
}
body .advanced-search .btn-search.btn-secondary:hover {
    background-color: var(--mk-gold-light) !important;
    border-color: var(--mk-gold-light) !important;
    color: var(--mk-brand) !important;
}
body .advanced-search .advanced-search-btn,
body .advanced-search .reset-search-btn {
    background: transparent !important;
    border: 1.5px solid var(--mk-gold) !important;
    color: var(--mk-gold) !important;
}
body .advanced-search .advanced-search-btn:hover,
body .advanced-search .reset-search-btn:hover {
    background: var(--mk-gold) !important;
    border-color: var(--mk-gold) !important;
    color: var(--mk-brand) !important;
}
/* Footer: the letter assigns the FOOTER to #0a1523 — both bands unified
   (was #15263d top / #0a1523 bottom); a hairline keeps the separation */
body .footer-top-wrap { background-color: var(--mk-brand) !important; }
body .footer-bottom-wrap { border-top: 1px solid rgba(255,255,255,.08); }

/* ═══ v1.18.3 — full-site sweep leftovers (98-URL computed-colour audit) ══
   Three page types the earlier spot-checks never covered. Status colours
   (success green / danger red / warning amber) are kept everywhere —
   semantic UI state, same rationale as ADR-0013 rule 5. */

/* 404 page: the back-to-home link rendered Bootstrap default blue #0d6efd */
.error-404-page .btn.btn-link {
    color: var(--mk-brand) !important;
    text-decoration-color: var(--mk-gold-deep);
}
.error-404-page .btn.btn-link:hover { color: var(--mk-gold-deep) !important; }

/* Houzez dashboard skin (css/dashboard/style-ltr.css — favourites page +
   the logged-in dashboard): old blues #002b4b/#004274/#003a64 + cyan
   #00aeff → Krant navy/champagne. Scoped to the dashboard body class. */
body.houzez-dashboard-body .dashboard-sidebar,
body.houzez-dashboard-body .sidebar-logo { background-color: var(--mk-brand); }
body.houzez-dashboard-body .nav-box ul li a:hover,
body.houzez-dashboard-body .nav-box ul li a.active {
    background-color: var(--mk-brand-dark); /* lighter navy = depth on dark */
}
body.houzez-dashboard-body .nav-box ul li a.active { border-color: var(--mk-gold); }
body.houzez-dashboard-body .vist-btn,
body.houzez-dashboard-body .propertie-list ul li a.active { color: var(--mk-brand); }
body.houzez-dashboard-body .pagination ul li a.active,
body.houzez-dashboard-body .pagination ul li span.active,
body.houzez-dashboard-body .apply-btn { background-color: var(--mk-brand); }
body.houzez-dashboard-body ::-webkit-file-upload-button { background-color: var(--mk-brand); }
body.houzez-dashboard-body ::file-selector-button { background-color: var(--mk-brand); }

/* Agent/agency profile stat legend dots — Chart.js default pink/blue/
   yellow/teal → branded series; MUST match SERIES_BORDER in
   assets/js/mk-agent-chart.js, which restyles the doughnut itself. */
.agent-profile-data .stats-data-1 i { color: #0a1523; }
.agent-profile-data .stats-data-2 i { color: #857046; }
.agent-profile-data .stats-data-3 i { color: #ab9772; }
.agent-profile-data .stats-data-4 i { color: #5e6878; }

/* ═══════════════════════════════════════════════════════════════════════
   v1.19.0 — Client feedback round 3 (2026-08-12)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. Carousel Prev/Next: kill the stray icon-font glyph ──────────────
   Houzez main.css draws its own arrow icon into the SAME ::before via
   `.property-carousel-buttons-wrap.property-carousel-arrow-buttons-bottom
   .slick-prev::before {content:"<icon>"; font-family:houzez-iconfont;
   font-size:18px}` — specificity (0,3,0) beats the v1.15.6 chevron rule
   (0,2,2), so the 18px glyph rendered ON TOP of the border-chevron as a
   stray "bracket" overflowing each button (client: "két felesleges
   szimbólum"). Force our empty content + zero font so only the border
   chevron remains; opacity:1 undoes slick-theme's .75. */
body .property-carousel-buttons-wrap > button.slick-arrow::before {
    content: "" !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
}
body .property-carousel-buttons-wrap > button.slick-arrow::after { content: none !important; }

/* ── 2. Lakóingatlanok / Üzleti ingatlanok headings: smaller ────────────
   Client: "egy kicsit nagynak érzem a betűméretet" — these two inner
   sections (3ce2b94b + db084f3) rendered the generic section-title clamp
   at 41.6px; scale them down to a calmer sub-section size. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-3ce2b94b .houzez_section_title,
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-db084f3 .houzez_section_title {
    font-size: clamp(1.45rem, 2.2vw, 1.8rem) !important;
}

/* ── 3. Rounded tiles: remove the square demo shadow behind the corners ─
   The demo01 grid-builder widgets carry `box-shadow: 0 10px 20px
   rgba(0,0,0,.1)` on their SQUARE .elementor-widget-container while the
   .grid-item inside is rounded (16px) — the shadow's square corners showed
   as a pale box behind every rounded card (client: "lehet látni a fehér
   hátteret"). The old v0.8 "flatten demo shadows" rule was a stub; do it
   for real. Covers the type tiles AND the cities carousel (same widget). */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-widget-Houzez_elementor_grid_builder > .elementor-widget-container {
    box-shadow: none !important;
    background: transparent !important;
}

/* ── 4. Kínálatunk: "Részletes keresés" CTA replaces load-more ──────────
   The anchor is injected by inc/home-search-cta.php AFTER the load-more
   wrap — it must live OUTSIDE #fave-pagination-loadmore because Houzez
   delegates clicks (and an IntersectionObserver) to
   `#properties_module_section .fave-load-more a`, which hijacked the CTA
   into an AJAX load-more. The whole wrap is hidden, scoped to the
   homepage properties module so listing-page load-more stays untouched.
   Navy fill = primary CTA on light background (designer-letter rule). */
#properties_module_section #fave-pagination-loadmore { display: none !important; }
.mk-search-cta-wrap { text-align: center; margin: 8px 0 24px; }
a.mk-search-cta {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--mk-brand, #0a1523);
    color: #fff !important;
    border-radius: 999px;
    padding: 14px 36px;
    font-weight: 700; font-size: 15px; letter-spacing: .01em;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(10,21,35,.18);
    transition: background-color .2s ease, transform .2s ease;
}
a.mk-search-cta::after {
    content: ""; display: block;
    width: 9px; height: 9px;
    border-top: 2.5px solid #fff; border-right: 2.5px solid #fff;
    transform: rotate(45deg);
}
a.mk-search-cta:hover {
    background: var(--mk-brand-dark, #15263d);
    transform: translateY(-1px);
    color: #fff !important;
}

/* ── 5. Country-specific info block on the property page ────────────────
   Rendered by inc/country-blocks.php via the hook in
   property-details/single-property-simple.php. Cream band + champagne
   accent, matches the block-wrap sections around it. */
.mk-country-block {
    background: var(--mk-cream, #f7f3ec);
    border: 1px solid #e8e0d0;
    border-left: 4px solid var(--mk-gold, #c8b58f);
    border-radius: 12px;
    padding: 24px 28px;
    margin-bottom: 30px;
}
.mk-country-block h3 {
    font-size: 1.05rem; font-weight: 700;
    color: var(--mk-brand, #0a1523);
    margin: 0 0 12px;
}
.mk-country-block ul { margin: 0; padding: 0; list-style: none; }
.mk-country-block li {
    position: relative;
    padding: 4px 0 4px 26px;
    color: var(--mk-text, #0a1523);
    font-size: .95rem; line-height: 1.55;
}
.mk-country-block li::before {
    content: ""; position: absolute; left: 2px; top: 9px;
    width: 12px; height: 7px;
    border-left: 2.5px solid var(--mk-gold-deep, #857046);
    border-bottom: 2.5px solid var(--mk-gold-deep, #857046);
    transform: rotate(-45deg);
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.19.1 — Property sidebar form fixes (client feedback 2026-08-12)
   ═══════════════════════════════════════════════════════════════════════ */

/* Message textarea was collapsing to 46px: main.css pins `.form-control
   {height:42px}` and our own generic `body .form-control {min-height:46px}`
   out-cascaded the parent's `textarea.form-control {min-height:100px}` —
   the prefilled "Üdvözlöm! Érdeklődöm…[unit]" text was cut off on load.
   Give property-form textareas real room; field-sizing:content lets newer
   Chromium grow the box to fit the prefill exactly. */
body .property-form-wrap textarea.form-control,
body textarea.form-control.hz-form-message {
    height: auto !important;
    min-height: 132px !important;
    field-sizing: content;
    resize: vertical;
}

/* Brand header shown instead of the personal agent block (child override
   property-details/agent-form.php). */
.property-form-wrap .mk-agent-brand {
    padding-bottom: 12px;
    border-bottom: 1px solid #eee7d9;
}
.property-form-wrap .mk-agent-brand .agent-name {
    font-weight: 700;
    font-size: 1.02rem;
    color: var(--mk-brand, #0a1523);
}
.property-form-wrap .mk-agent-brand .agent-name .houzez-icon {
    color: var(--mk-gold-deep, #857046);
}
/* Mobile sticky contact bar: same brand line (child override
   mobile-property-contact.php). */
.mobile-property-contact .mk-agent-brand .agent-name {
    font-weight: 700;
    color: var(--mk-brand, #0a1523);
}
.mobile-property-contact .mk-agent-brand .agent-name .houzez-icon {
    color: var(--mk-gold-deep, #857046);
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.20.0 — Client feedback round 4 (2026-08-19, István's email)
   ─────────────────────────────────────────────────────────────────────── */

/* (C1) Bigger header logo. The client sent the final PNGs (same files as the
   v1.16.0 rebrand set) and asked for the logo to be "valamivel nagyobb" in
   the header. Applies to both header states (solid navy + transparent hero —
   the white variant swaps in via `content:` above and inherits this size). */
body .header-main-wrap .logo img,
body.mk-trans-header .logo-desktop img {
    height: 58px !important;
    width: auto !important;
    max-height: none !important;
}
body .header-mobile .logo img { height: 42px !important; width: auto !important; }

/* (F2) Navbar profile/favourites dropdown: the `.login-register-nav a {#fff}`
   header rules above also painted the links INSIDE the white dropdown panel
   white → invisible ("adatlap nézetben ráviszem az egeret a fülre… nem lehet
   látni"). Panel links are always navy; hover = navy fill + white text. */
body .header-main-wrap .login-register-nav .dropdown-menu a,
body .header-main-wrap .login-register-nav .dropdown-menu .dropdown-item,
body .header-main-wrap .dropdown-menu .dropdown-item {
    color: var(--mk-brand, #0a1523) !important;
}
body .header-main-wrap .login-register-nav .dropdown-menu a:hover,
body .header-main-wrap .login-register-nav .dropdown-menu .dropdown-item:hover,
body .header-main-wrap .dropdown-menu .dropdown-item:hover {
    color: #fff !important;
    background: var(--mk-brand, #0a1523) !important;
}
body .header-main-wrap .dropdown-menu .houzez-icon { color: inherit !important; }

/* (D5) Homepage "Részletes keresés" CTA: sit lower, around the middle of the
   grey space the cards leave below (was hugging the cards at 8px). */
.mk-search-cta-wrap { margin: 56px 0 32px; }

/* (D3) Type tiles: Villa started 5px LOWER than Penthouse. Cause: the tile
   columns have `align-content: flex-end`, so a column whose stacked tiles sum
   a few px SHORTER than the tall Penthouse column gets bottom-aligned and its
   first tile starts lower. Top-align the tile columns; the slack moves to the
   bottom where the grid gap hides it. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-995af2 .elementor-widget-wrap {
    align-content: flex-start !important;
    align-items: flex-start !important;
}

/* (D4) Featured carousel: bring the slick DOTS row and the round PREV/NEXT
   arrows onto one line ("egy síkba hozni"). The arrows-wrap flows 48px below
   the dots; lift it so both centers coincide (arrows 44px vs dots ~20px tall),
   compensating with bottom margin so the following section doesn't shift.
   Homepage carousel only. */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .property-carousel-buttons-wrap {
    margin-top: -36px;
    margin-bottom: 36px;
    position: relative;
    z-index: 3;
}

/* (B1) Homepage hero eyebrow — the old-site structure's company-name line,
   re-added as a real Elementor heading widget above the hero title (engine
   0-mk-round4.php act=hero); this class is set on that widget. */
/* the hero H1 must NOT be Title-Cased (theme capitalize) and needs a calmer
   size now that the old site's long what-we-do line is the title */
body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .elementor-element-5f1a2d6 .houzez_section_title {
    text-transform: none !important;
    font-size: clamp(1.7rem, 2.9vw, 2.5rem) !important;
    line-height: 1.25 !important;
}
.mk-hero-eyebrow .elementor-heading-title,
.elementor-widget-heading.mk-hero-eyebrow .elementor-heading-title {
    font-family: var(--mk-font) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: .3em;
    text-transform: uppercase;
    text-align: center;
    color: var(--mk-gold-soft, #d5c4a9) !important;
}

/* ── Rebuilt content pages (old-Wix text + media + per-page hero) ─────────
   Used by the `.mk-pg` post_content markup the round-4 engine writes onto the
   5 country pages + the Kiemelt Vásárlói Program page (client 2026-08-19:
   "használjátok a régi oldalon található médiát és szöveget … legyen hero
   szekciója"). Brand tokens only; reuses the established zigzag rhythm. */
.mk-pg { color: var(--mk-text); }
.mk-pg-hero {
    position: relative;
    min-height: 46vh;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    background-size: cover; background-position: center;
    border-radius: 0;
    margin: 0 calc(50% - 50vw) 3rem; /* full-bleed inside the content column */
    width: 100vw;
}
.mk-pg-hero::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(10,21,35,.66), rgba(10,21,35,.44));
}
.mk-pg-hero-inner { position: relative; max-width: 900px; padding: 5.5rem 1.5rem; }
.mk-pg-eyebrow {
    font-size: .95rem; font-weight: 700; letter-spacing: .28em;
    text-transform: uppercase; color: var(--mk-gold-soft, #d5c4a9);
    margin: 0 0 1rem;
}
.mk-pg-hero h1 {
    color: #fff; font-weight: 800; letter-spacing: -.01em;
    font-size: clamp(1.7rem, 3.6vw, 2.7rem); line-height: 1.2; margin: 0 0 1rem;
    text-transform: none;
}
.mk-pg-sub { color: rgba(255,255,255,.92); font-size: 1.15rem; margin: 0; }
.mk-pg-sec { max-width: 1140px; margin: 0 auto 3.2rem; padding: 0 8px; }
.mk-pg-sec > h2, .mk-pg-h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.9rem); font-weight: 800;
    color: var(--mk-brand); letter-spacing: -.01em; line-height: 1.3;
    margin: 0 0 1.2rem; text-transform: none;
}
.mk-pg-lead { font-size: 1.14rem; line-height: 1.7; color: var(--mk-muted); }
.mk-pg p { font-size: 1.02rem; line-height: 1.72; }
/* zigzag text+image rows */
.mk-pg-zig {
    display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem;
    align-items: center;
}
.mk-pg-zig + .mk-pg-zig { margin-top: 2.6rem; }
.mk-pg-zig-media img {
    width: 100%; height: 100%; max-height: 420px; object-fit: cover;
    border-radius: var(--mk-radius, 16px); box-shadow: var(--mk-shadow);
}
.mk-pg-zig-rev .mk-pg-zig-media { order: 2; }
/* checklist with champagne check chips */
.mk-pg-check { list-style: none; margin: 1rem 0 0; padding: 0; }
.mk-pg-check li {
    position: relative; padding: 0 0 .75rem 2.1rem;
    font-size: 1.03rem; line-height: 1.6;
}
.mk-pg-check li::before {
    content: "✓"; position: absolute; left: 0; top: .05em;
    width: 1.45em; height: 1.45em; border-radius: 50%;
    background: var(--mk-gold, #c8b58f); color: var(--mk-brand, #0a1523);
    font-weight: 800; font-size: .9em;
    display: inline-flex; align-items: center; justify-content: center;
}
/* definition-style "why us" list: bold term + body */
.mk-pg-why { margin: 0; padding: 0; list-style: none; }
.mk-pg-why li { padding: 0 0 1.15rem 0; }
.mk-pg-why li strong { display: block; color: var(--mk-brand); font-size: 1.06rem; margin-bottom: .2rem; }
/* city cards */
.mk-pg-cities {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem;
    margin-top: 1.4rem;
}
.mk-pg-city {
    background: #fff; border: 1px solid rgba(10,21,35,.08);
    border-radius: var(--mk-radius, 16px); padding: 1.15rem 1.25rem;
    box-shadow: 0 6px 18px rgba(10,21,35,.05);
}
.mk-pg-city h3 { font-size: 1.05rem; font-weight: 800; color: var(--mk-brand); margin: 0 0 .35rem; }
.mk-pg-city p { font-size: .95rem; color: var(--mk-muted); margin: 0; line-height: 1.55; }
/* price badge */
.mk-pg-price {
    display: inline-block; background: var(--mk-gold, #c8b58f);
    color: var(--mk-brand, #0a1523); font-weight: 800; font-size: 1.05rem;
    border-radius: 999px; padding: .55rem 1.4rem; margin: .4rem 0 0;
}
/* numbered steps (premium program) */
.mk-pg-steps { counter-reset: mkstep; list-style: none; margin: 1.4rem 0 0; padding: 0; }
.mk-pg-steps li { position: relative; padding: 0 0 1.5rem 3.4rem; counter-increment: mkstep; }
.mk-pg-steps li::before {
    content: counter(mkstep); position: absolute; left: 0; top: 0;
    width: 2.4rem; height: 2.4rem; border-radius: 50%;
    background: var(--mk-brand, #0a1523); color: var(--mk-gold, #c8b58f);
    font-weight: 800; display: inline-flex; align-items: center; justify-content: center;
}
.mk-pg-steps h3 { font-size: 1.08rem; font-weight: 800; color: var(--mk-brand); margin: .2rem 0 .4rem; }
/* search CTA band */
.mk-pg-searchcta {
    background: linear-gradient(135deg, #0a1523, #15263d);
    color: #fff; text-align: center; border-radius: var(--mk-radius, 16px);
    padding: 2.4rem 1.5rem; margin: 0 auto 3.2rem; max-width: 1140px;
}
.mk-pg-searchcta p { color: rgba(255,255,255,.92); font-size: 1.12rem; margin: 0 0 1.2rem; }
.mk-pg-searchcta a.mk-cta-btn,
a.mk-pg-btn {
    display: inline-block; background: var(--mk-gold, #c8b58f);
    color: var(--mk-brand, #0a1523) !important; font-weight: 800;
    border-radius: 999px; padding: .8rem 2.2rem; text-decoration: none;
    transition: filter .2s ease;
}
.mk-pg-searchcta a.mk-cta-btn:hover, a.mk-pg-btn:hover { filter: brightness(1.06); }
/* legal terms block (premium program) */
.mk-pg-terms { background: var(--mk-cream, #f7f3ec); border-radius: var(--mk-radius, 16px); padding: 2rem 2.2rem; }
.mk-pg-terms h3 { font-size: 1.05rem; font-weight: 800; color: var(--mk-brand); margin: 1.3rem 0 .5rem; }
.mk-pg-terms h3:first-child { margin-top: 0; }
.mk-pg-terms p { font-size: .97rem; }
/* form section: heading + trust checklist left, CF7 right (reuses .mk-cf) */
.mk-pg-form { display: grid; grid-template-columns: 1fr 1.1fr; gap: 2.6rem; align-items: start; }
.mk-pg-form .mk-cf { background: #fff; border-radius: var(--mk-radius, 16px); padding: 1.8rem; box-shadow: var(--mk-shadow); }
/* homepage Rólunk anchor section (Elementor text-editor payload) */
.mk-habout-lead { font-size: 1.16rem; line-height: 1.7; color: var(--mk-text); font-weight: 600; }
.mk-habout-founder {
    display: grid; grid-template-columns: 260px 1fr; gap: 2.2rem; align-items: start;
    background: var(--mk-cream, #f7f3ec); border-radius: var(--mk-radius, 16px);
    padding: 2rem 2.2rem; margin-top: 2.4rem;
}
.mk-habout-founder img { width: 100%; border-radius: var(--mk-radius, 16px); object-fit: cover; }
@media (max-width: 900px) {
    .mk-pg-zig, .mk-pg-form, .mk-habout-founder { grid-template-columns: 1fr; }
    .mk-pg-zig-rev .mk-pg-zig-media { order: 0; }
    .mk-pg-cities { grid-template-columns: 1fr; }
    .mk-pg-hero { min-height: 38vh; }
}

/* ==========================================================================
   v1.21.0 — "Private Office" page (Azur Estates content, client 2026-09-03)
   Markup written by uploads/mk-import/mk-azur-engine.php (act=azur) on the
   /private-office/ trio; builds on the .mk-pg-* round-4 page layer above.
   Lightbox behaviour: assets/js/mk-po-gallery.js.
   ========================================================================== */
.mk-po-hero { min-height: 56vh; }
.mk-po-hero .mk-pg-eyebrow { color: var(--mk-gold, #c8b58f); }
.mk-po-lead {
    font-size: 1.22rem; line-height: 1.75; color: var(--mk-text);
    max-width: 900px; margin: 0 auto; text-align: center; font-weight: 500;
}
/* founders */
.mk-po-founder-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
.mk-po-founder {
    display: grid; grid-template-columns: 200px 1fr; gap: 1.5rem; align-items: start;
    background: var(--mk-cream, #f7f3ec); border-radius: var(--mk-radius, 16px);
    padding: 1.6rem;
}
.mk-po-founder-photo img {
    width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top;
    border-radius: var(--mk-radius, 16px); box-shadow: var(--mk-shadow);
}
.mk-po-founder-body p { font-size: .98rem; line-height: 1.65; margin: 0 0 .7rem; }
.mk-po-sign { margin-top: 1rem !important; }
.mk-po-sign strong { display: block; color: var(--mk-brand); font-size: 1.08rem; }
.mk-po-sign span { color: var(--mk-gold-deep, #857046); font-size: .9rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
/* locations */
.mk-po-loc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.mk-po-loc {
    background: #fff; border: 1px solid rgba(10,21,35,.08); border-radius: var(--mk-radius, 16px);
    box-shadow: 0 6px 18px rgba(10,21,35,.05); overflow: hidden; display: flex; flex-direction: column;
}
.mk-po-loc-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.mk-po-loc-body { padding: 1.2rem 1.3rem 1.4rem; }
.mk-po-loc-body h3 { font-size: 1.2rem; font-weight: 800; color: var(--mk-brand); margin: 0 0 .3rem; }
.mk-po-loc-tag { color: var(--mk-muted); font-size: .97rem; margin: 0 0 .8rem; }
.mk-po-area { border-top: 1px solid rgba(10,21,35,.08); padding: .55rem 0; }
.mk-po-area summary {
    cursor: pointer; font-weight: 700; color: var(--mk-brand); list-style: none;
    display: flex; align-items: center; justify-content: space-between; font-size: .98rem;
}
.mk-po-area summary::-webkit-details-marker { display: none; }
.mk-po-area summary::after {
    content: "+"; color: var(--mk-gold-deep, #857046); font-weight: 800; font-size: 1.1rem;
}
.mk-po-area[open] summary::after { content: "\2212"; }
.mk-po-area p { font-size: .93rem; line-height: 1.6; color: var(--mk-muted); margin: .5rem 0 0; }
/* collection grid */
.mk-po-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; margin-top: 1.4rem; }
.mk-po-card {
    background: #fff; border-radius: var(--mk-radius, 16px); overflow: hidden;
    box-shadow: 0 10px 28px rgba(10,21,35,.08); display: flex; flex-direction: column;
}
.mk-po-card-media {
    position: relative; display: block; width: 100%; padding: 0; border: 0; background: #e9e4da;
    cursor: pointer; aspect-ratio: 4 / 3; overflow: hidden;
}
.mk-po-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.mk-po-card:hover .mk-po-card-media img { transform: scale(1.04); }
.mk-po-count {
    position: absolute; right: .75rem; bottom: .75rem;
    background: rgba(10,21,35,.78); color: #fff; font-size: .78rem; font-weight: 700;
    padding: .3rem .65rem; border-radius: 999px; letter-spacing: .02em;
}
.mk-po-card-body { padding: 1.05rem 1.2rem 1.25rem; display: flex; flex-direction: column; gap: .35rem; }
.mk-po-card-body h3 { font-size: 1.02rem; font-weight: 800; color: var(--mk-brand); margin: 0; }
.mk-po-price { color: var(--mk-gold-deep, #857046); font-weight: 800; font-size: 1.12rem; margin: 0 0 .5rem !important; }
.mk-po-btn {
    align-self: flex-start; background: transparent; border: 2px solid var(--mk-brand, #0a1523);
    color: var(--mk-brand, #0a1523); font-weight: 700; border-radius: 999px;
    padding: .5rem 1.3rem; cursor: pointer; font-size: .92rem; transition: background .2s, color .2s;
}
.mk-po-btn:hover { background: var(--mk-brand, #0a1523); color: #fff; }
/* why Azur: dark principle cards (dark-bg pattern: champagne headings, white text) */
.mk-po-why-text { max-width: 900px; margin: 0 auto 1.8rem; }
.mk-po-why-text p { font-size: 1.05rem; line-height: 1.72; }
.mk-po-why-text strong { color: var(--mk-brand); }
.mk-po-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.mk-po-why-card {
    background: linear-gradient(160deg, #0a1523, #15263d); color: #fff;
    border-radius: var(--mk-radius, 16px); padding: 1.5rem 1.4rem;
}
.mk-po-why-card h3 { color: var(--mk-gold, #c8b58f); font-size: 1.05rem; font-weight: 800; margin: 0 0 .6rem; }
.mk-po-why-card p { color: rgba(255,255,255,.88); font-size: .93rem; line-height: 1.6; margin: 0; }
/* services: 2-col checklist */
.mk-po-services { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 2rem; }
.mk-po-services li { position: relative; padding: 0 0 0 2.3rem; font-size: .98rem; line-height: 1.6; }
.mk-po-services li::before {
    content: "\2713"; position: absolute; left: 0; top: .1em;
    width: 1.5em; height: 1.5em; border-radius: 50%;
    background: var(--mk-gold, #c8b58f); color: var(--mk-brand, #0a1523);
    font-weight: 800; font-size: .9em; display: inline-flex; align-items: center; justify-content: center;
}
.mk-po-services li strong { display: block; color: var(--mk-brand); }
.mk-po-services li span { color: var(--mk-muted); }
/* contact block */
.mk-po-address { font-style: normal; margin-top: 1rem; }
.mk-po-address p { margin: 0 0 .5rem; font-size: 1.02rem; }
.mk-po-address span { color: var(--mk-muted); }
.mk-po-address a { color: var(--mk-brand); font-weight: 700; }
.mk-po-byline { color: var(--mk-muted); font-size: .92rem !important; }
a.mk-po-sitelink { color: var(--mk-gold-deep, #857046) !important; font-weight: 700; }
/* lightbox */
.mk-po-lb {
    position: fixed; inset: 0; z-index: 100000; background: rgba(10,21,35,.95);
    display: flex; align-items: center; justify-content: center;
}
.mk-po-lb[hidden] { display: none; }
body.mk-po-lb-open { overflow: hidden; }
.mk-po-lb-fig { margin: 0; max-width: 92vw; max-height: 90vh; text-align: center; }
.mk-po-lb-fig img { max-width: 92vw; max-height: 82vh; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.mk-po-lb-fig figcaption { color: rgba(255,255,255,.8); font-size: .92rem; margin-top: .8rem; }
.mk-po-lb button {
    position: absolute; border: 0; cursor: pointer; color: #fff; background: rgba(255,255,255,.12);
    width: 48px; height: 48px; border-radius: 50%; font-size: 2rem; line-height: 1;
    display: inline-flex; align-items: center; justify-content: center; transition: background .2s;
}
.mk-po-lb button:hover { background: var(--mk-gold, #c8b58f); color: var(--mk-brand, #0a1523); }
.mk-po-lb-close { top: 1rem; right: 1rem; }
.mk-po-lb-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.mk-po-lb-next { right: 1rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 1000px) {
    .mk-po-grid, .mk-po-loc-grid { grid-template-columns: 1fr 1fr; }
    .mk-po-why-grid { grid-template-columns: 1fr 1fr; }
    .mk-po-founder-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .mk-po-grid, .mk-po-loc-grid, .mk-po-why-grid, .mk-po-services { grid-template-columns: 1fr; }
    .mk-po-founder { grid-template-columns: 1fr; }
    .mk-po-founder-photo img { max-width: 240px; }
    .mk-po-hero { min-height: 44vh; }
    .mk-po-lb button { width: 40px; height: 40px; font-size: 1.6rem; }
}

/* ── v1.23.0 — Projekt-alapú találatok (inc/project-grouping.php) ─────────
   Project cards: badge + available-unit count (+ "N megfelel" when the search
   matched only some units) + a facts line under the title. Project page: the
   available-units table (stacks into cards on mobile). Unit page: the
   "part of project X" link. Colours per ADR-0013: gold-deep for champagne
   accents on light, champagne fill + navy text for the badge. */
.mk-proj-meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem;
    margin: -.2rem 0 .35rem; font-size: .86rem; line-height: 1.3;
}
.mk-proj-badge {
    background: var(--mk-accent, #c8b58f); color: var(--mk-brand, #0a1523);
    font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: .18rem .5rem; border-radius: 999px;
}
.mk-proj-count { font-weight: 600; color: var(--mk-text, #0a1523); }
.mk-proj-match { flex-basis: 100%; font-weight: 600; color: var(--mk-gold-deep, #857046); }
.mk-proj-match::before { content: "\2713\00a0"; }
.mk-proj-facts { font-size: .84rem; color: var(--mk-muted, #5e6878); margin: 0 0 .5rem; }
/* dark overlay cards (Property Cards v3) */
body .item-wrap-v3 .mk-proj-count,
body .item-wrap-v3 .mk-proj-facts { color: rgba(255,255,255,.88); }
body .item-wrap-v3 .mk-proj-match { color: var(--mk-accent, #c8b58f); }

/* project page — available units */
.mk-proj-units .block-title-wrap h2 { margin-bottom: 0; text-transform: none; } /* theme capitalize → Hungarian Title Case */
.mk-proj-units-n { color: var(--mk-muted, #5e6878); font-weight: 500; }
.mk-proj-units-note {
    background: var(--mk-bg, #f7f3ec); border: 1px solid var(--mk-border, #e8e0d0);
    border-radius: var(--mk-radius-sm, 10px); padding: .7rem 1rem; margin: 0 0 1rem; font-size: .95rem;
}
.mk-proj-units-note a { color: var(--mk-gold-deep, #857046); font-weight: 700; margin-left: .35rem; white-space: nowrap; }
.mk-proj-units-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.mk-proj-units-table th {
    text-align: left; font-size: .74rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
    color: var(--mk-muted, #5e6878); padding: .55rem .6rem; border-bottom: 2px solid var(--mk-border, #e8e0d0);
    white-space: nowrap;
}
.mk-proj-units-table td {
    padding: .7rem .6rem; border-bottom: 1px solid var(--mk-border, #e8e0d0); vertical-align: middle;
    color: var(--mk-text, #0a1523);
}
.mk-proj-units-table tbody tr { transition: background .15s; }
.mk-proj-units-table tbody tr:hover { background: var(--mk-bg, #f7f3ec); }
.mk-proj-units-table .mk-pu-label a { color: var(--mk-brand, #0a1523); font-weight: 700; }
.mk-proj-units-table .mk-pu-price { font-weight: 700; white-space: nowrap; }
.mk-proj-units-table .mk-pu-size { white-space: nowrap; }
.mk-proj-units-table .mk-pu-link { text-align: right; white-space: nowrap; }
.mk-pu-muted { color: var(--mk-muted, #5e6878); font-weight: 400; }
a.mk-pu-btn {
    display: inline-block; border: 1.5px solid var(--mk-brand, #0a1523); color: var(--mk-brand, #0a1523);
    border-radius: 999px; padding: .3rem .85rem; font-size: .85rem; font-weight: 600; transition: all .15s;
}
a.mk-pu-btn:hover { background: var(--mk-brand, #0a1523); color: #fff; text-decoration: none; }
@media (max-width: 767px) {
    .mk-proj-units-table thead { display: none; }
    .mk-proj-units-table, .mk-proj-units-table tbody { display: block; }
    .mk-proj-units-table tbody tr {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: .2rem .8rem;
        border: 1px solid var(--mk-border, #e8e0d0); border-radius: var(--mk-radius-sm, 10px);
        padding: .8rem .9rem; margin-bottom: .7rem; background: #fff;
    }
    .mk-proj-units-table td { display: block; border: 0; padding: .15rem 0; }
    .mk-proj-units-table td::before {
        content: attr(data-label); display: block; font-size: .7rem; font-weight: 700;
        letter-spacing: .05em; text-transform: uppercase; color: var(--mk-muted, #5e6878);
    }
    .mk-proj-units-table td.mk-pu-label { grid-column: 1 / 3; font-size: 1.05rem; }
    .mk-proj-units-table td.mk-pu-price { grid-column: 3; grid-row: 1; text-align: right; font-size: 1.05rem; }
    .mk-proj-units-table td.mk-pu-label::before,
    .mk-proj-units-table td.mk-pu-price::before,
    .mk-proj-units-table td.mk-pu-link::before { display: none; }
    .mk-proj-units-table td.mk-pu-status { grid-column: span 2; }
    .mk-proj-units-table td.mk-pu-link { grid-column: 1 / -1; text-align: left; padding-top: .4rem; }
}

/* unit page — link to its project */
.mk-proj-parent {
    background: var(--mk-bg, #f7f3ec); border: 1px solid var(--mk-border, #e8e0d0);
    border-radius: var(--mk-radius-sm, 10px); padding: .9rem 1.1rem !important; font-size: .98rem;
}
.mk-proj-parent a { color: var(--mk-gold-deep, #857046); font-weight: 700; white-space: nowrap; }

/* ── v1.24.0 — Result cards + map polish (2026-09-22) ─────────────────────
   Cards: the "Részletek" button was absolutely positioned by Houzez
   (bottom:80px, assuming a 60px author/date footer we hide) and sat ON TOP of
   long addresses; the empty footer and the empty amenities row (project cards
   have no beds/baths/m² of their own) each still drew a divider + padding.
   Map: Houzez's default cyan clusters / house pins → Krant navy + champagne,
   with price chips ("€870k") instead of icons (price pins switched on at
   runtime in inc/project-grouping.php; k/M shortening in inc/perf-map.php). */
body .item-wrap ul.item-amenities:not(:has(li)) { display: none !important; }
body .item-listing-wrap .item-footer:not(:has(> :not(.item-author))) { display: none !important; }

body .item-wrap-v1 .item-body { display: flex; flex-direction: column; }
body .item-wrap-v1 .item-body .btn-item {
    position: static !important; inset: auto !important;
    margin-top: auto !important; align-self: stretch; justify-content: center; align-items: center;
    height: auto !important; line-height: 1.2 !important; padding: .72rem 1rem !important;
    border-radius: 10px !important; font-weight: 600 !important; font-size: .92rem !important;
}
body .item-wrap-v1 .item-body .item-address { margin-bottom: 1rem !important; }
body .item-wrap-v1 .item-body ul.item-amenities { margin-bottom: 1rem !important; }
body .item-wrap-v1 .item-body .btn-item::after { content: "\00a0\2192"; }

/* map clusters */
body .leaflet-container .mycluster { background: transparent !important; border: 0 !important; }
body .leaflet-container .houzez-osm-cluster {
    width: 46px; height: 46px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--mk-brand, #0a1523) !important; background-image: none !important;
    color: #fff !important; font: 700 15px/1 var(--mk-font) !important;
    border: 2px solid var(--mk-accent, #c8b58f) !important;
    box-shadow: 0 0 0 6px rgba(200,181,143,.28), 0 6px 18px rgba(10,21,35,.35) !important;
    transition: transform .15s ease;
}
body .leaflet-container .mycluster:hover .houzez-osm-cluster { transform: scale(1.08); }

/* price chips */
body .leaflet-container .osm-marker.map-marker-label {
    position: absolute; left: 0; top: 0; transform: translate(-50%, calc(-100% - 7px));
    white-space: nowrap; cursor: pointer;
    background: var(--mk-brand, #0a1523) !important; color: #fff !important;
    border: 1.5px solid rgba(255,255,255,.9) !important; border-radius: 999px;
    padding: 6px 11px; font: 700 12.5px/1 var(--mk-font); letter-spacing: .01em;
    box-shadow: 0 4px 14px rgba(10,21,35,.32);
    transition: background .15s, color .15s, transform .15s;
}
body .leaflet-container .osm-marker.map-marker-label::after {
    content: ""; position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%);
    border: 6px solid transparent; border-bottom: 0; border-top-color: var(--mk-brand, #0a1523);
}
body .leaflet-container .osm-marker.map-marker-label:hover,
body .leaflet-container .osm-marker.map-marker-label.active,
body .leaflet-container .leaflet-marker-icon:hover .osm-marker.map-marker-label {
    background: var(--mk-accent, #c8b58f) !important; color: var(--mk-brand, #0a1523) !important;
    z-index: 2;
}
body .leaflet-container .osm-marker.map-marker-label:hover::after,
body .leaflet-container .osm-marker.map-marker-label.active::after { border-top-color: var(--mk-accent, #c8b58f); }
body .leaflet-container .leaflet-marker-icon.someclass { overflow: visible; }

/* ═══════════════════════════════════════════════════════════════════════
   v1.25.0 — client feedback round 5 (2026-09-24,
   docs/FEEDBACK-2026-09-24-PLAN.md)
   ═══════════════════════════════════════════════════════════════════════ */

/* #9 "vegyük ki a navigációs sávot" — content pages drop the breadcrumb row
   (the page-title H1 in it was already hidden). Pages that open with a
   full-bleed hero also lose the 40px white strip above it, so the hero sits
   right under the search band. Listing / search / property pages keep their
   breadcrumbs (different templates). */
body.page-template-template-page .page-title-wrap { display: none !important; }
body.page-template-template-page .page-content-wrap:has(> .mk-pg:first-child > .mk-pg-hero:first-child),
body.page-template-template-page .page-content-wrap:has(> .mk-about:first-child) { padding-top: 0 !important; }

/* #10 chat bubble — the ~590px panel sat 158px above the screen bottom, so
   any viewport under ~750px (most laptops at 100% zoom) cut its header off.
   The panel is now capped to the space above the launcher: header + phone
   CTA always visible, the form scrolls inside only when it truly cannot fit.
   Short screens also get a tighter layout so scrolling is rarely needed. */
.mk-bubble-panel {
    display: flex; flex-direction: column;
    max-height: calc(100vh - 88px - 60px - 10px - 16px);
    max-height: calc(100dvh - 88px - 60px - 10px - 16px);
}
.mk-bubble-head, .mk-bubble-phone { flex: none; }
.mk-bubble-form { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
@media (max-height: 800px) {
    .mk-bubble-head { padding: 13px 44px 12px 20px; }
    .mk-bubble-eyebrow { display: none; }
    h3.mk-bubble-title { font-size: 1.15rem; margin-bottom: .15rem; }
    .mk-bubble-sub { font-size: .85rem; }
    .mk-bubble-phone { margin: 10px 16px 0; padding: 8px 12px; }
    .mk-bubble-phone-ic { width: 32px; height: 32px; }
    .mk-bubble-phone-txt strong { font-size: 1.08rem; }
    .mk-bubble-form { padding: 4px 18px 12px; }
    .mk-bubble-form .mk-cf .form-control,
    .mk-bubble-form .mk-cf select.form-control { height: 36px; padding-top: 6px; padding-bottom: 6px; }
    .mk-bubble-form .mk-cf textarea.form-control { height: 58px; min-height: 58px; }
    .mk-bubble-form .mk-cf input[type="submit"] { padding: 10px 18px !important; }
}
@media (max-width: 480px) {
    .mk-bubble-panel {
        max-height: calc(100vh - 68px - 60px - 10px - 12px);
        max-height: calc(100dvh - 68px - 60px - 10px - 12px);
    }
}

/* #11 Google reviews band.
   (a) the summary column is 25% of the widget (275px at desktop width) and
   its "értékeljen minket itt: G" button (202px, no-wrap) started 78px in,
   after the round logo → it ran under the slider's prev arrow. The column
   keeps the plugin's width (its slider maths depends on it: a wider column
   drops the slider to 2 cards per view with peeking neighbours) — the logo
   moves ABOVE the name instead, so the button gets the whole column.
   (b) each card boxed long texts into an inner scroll area with a visible
   grey scrollbar; keep them scrollable but hide the bar and fade the end. */
@media (min-width: 992px) {
    .mk-home-reviews-widget .wp-gr .grw-header-inner { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
}
.mk-home-reviews-widget .wp-gr .wp-google-wr a { white-space: nowrap; }
.mk-home-reviews-widget .wp-gr .grw-review .wp-google-feedback.grw-scroll {
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent);
            mask-image: linear-gradient(to bottom, #000 78%, transparent);
    padding-bottom: 10px;
}
.mk-home-reviews-widget .wp-gr .grw-review .wp-google-feedback.grw-scroll::-webkit-scrollbar { display: none; }

/* #2 Offices — Budapest / Vienna / Istanbul, after the client's mockup
   ("OUR OFFICES · LOCAL PRESENCE. GLOBAL REACH."): photo, city in a classic
   serif, small-caps role, address, short champagne rule. One component
   ([mk_offices], inc/offices.php) on the homepage, Kapcsolat and Rólunk. */
.mk-offices { --mk-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    max-width: 1140px; margin: 0 auto; padding: clamp(48px, 6vw, 88px) 0; color: var(--mk-ink); }
.mk-offices-head { text-align: center; margin: 0 auto clamp(32px, 4vw, 52px); }
.mk-offices-rule { display: block; width: 44px; height: 1px; margin: 0 auto 18px; background: var(--mk-gold, #c8b58f); }
h2.mk-offices-title {
    font-family: var(--mk-serif) !important; font-weight: 600 !important;
    font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important; letter-spacing: .24em !important;
    text-transform: uppercase !important; color: var(--mk-ink) !important;
    margin: 0 0 .5rem !important; padding: 0 !important; border: 0 !important; line-height: 1.2 !important;
}
.mk-offices-tagline { margin: 0; font-size: .78rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--mk-gold-deep, #857046); }
.mk-offices-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 44px); }
.mk-office-card { display: flex; flex-direction: column; align-items: flex-start; }
.mk-office-media { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 22px; background: #efe9df; }
.mk-office-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.mk-office-card:hover .mk-office-media img { transform: scale(1.03); }
h3.mk-office-city {
    font-family: var(--mk-serif) !important; font-weight: 700 !important; font-size: 1.55rem !important;
    letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--mk-ink) !important;
    margin: 0 0 .15rem !important; padding: 0 !important; border: 0 !important; line-height: 1.15 !important;
}
.mk-office-role { margin: 0 0 .9rem; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--mk-muted); }
.mk-office-addr { font-family: var(--mk-serif); font-style: normal; font-size: 1.12rem; line-height: 1.45; color: #2c3746; margin: 0 0 .4rem; }
.mk-office-note { font-family: var(--mk-serif); font-style: italic; font-size: 1.08rem; color: #2c3746; margin: .2rem 0 0; }
.mk-office-rule { display: block; width: 30px; height: 1px; background: var(--mk-gold, #c8b58f); margin: 14px 0 12px; }
.mk-office-phone { margin: 0; font-family: var(--mk-serif); font-size: 1.12rem; }
.mk-office-phone a { color: var(--mk-ink); text-decoration: none; }
.mk-office-phone a:hover { color: var(--mk-gold-deep, #857046); }
@media (max-width: 767px) {
    .mk-offices-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; gap: 40px; }
}
/* inside Elementor / page content: the surrounding section already pads */
.elementor-widget-shortcode .mk-offices { padding: 0 0 clamp(8px, 2vw, 24px); }
.article-wrap .mk-offices { padding: clamp(24px, 4vw, 48px) 0; }

/* Footer — offices row + one links line on the navy band (template-parts/footer/footer.php) */
.footer-top-wrap.mk-footer { background: var(--mk-navy, #0a1523) !important; padding: clamp(52px, 6vw, 80px) 0 32px !important; color: rgba(255,255,255,.78); }
.mk-footer { --mk-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif; }
.mk-foot-offices-head { text-align: center; margin-bottom: 40px; }
.mk-foot-eyebrow { margin: 0 0 .35rem; font-family: var(--mk-serif); font-weight: 600; font-size: 1.3rem; letter-spacing: .24em; text-transform: uppercase; color: #fff; }
.mk-foot-tagline { margin: 0; font-size: .74rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--mk-gold, #c8b58f); }
.mk-foot-offices-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; max-width: 980px; margin: 0 auto; text-align: center; }
.mk-foot-city { margin: 0; font-family: var(--mk-serif); font-weight: 700; font-size: 1.3rem; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.mk-foot-role { margin: 0 0 .7rem; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--mk-gold, #c8b58f); }
.mk-foot-addr { font-family: var(--mk-serif); font-style: normal; font-size: 1.05rem; line-height: 1.45; color: rgba(255,255,255,.78); margin: 0; }
.mk-foot-note { font-family: var(--mk-serif); font-style: italic; color: rgba(255,255,255,.78); margin: .25rem 0 0; }
.mk-foot-phone { margin: .35rem 0 0; font-family: var(--mk-serif); font-size: 1.05rem; }
.mk-foot-phone a, .mk-foot-contact a { color: var(--mk-gold-soft, #d5c4a9) !important; text-decoration: none; }
.mk-foot-phone a:hover, .mk-foot-contact a:hover { color: #fff !important; }
.mk-foot-bar {
    margin-top: clamp(40px, 5vw, 56px); padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12);
    display: grid; grid-template-columns: auto 1fr auto; gap: 24px 40px; align-items: center;
}
.mk-foot-logo img { display: block; width: 132px; height: auto; }
.mk-foot-tag { margin: .6rem 0 0; font-size: .8rem; color: rgba(255,255,255,.6); max-width: 240px; line-height: 1.45; }
.mk-foot-nav { text-align: center; }
.mk-foot-links, .mk-foot-legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; }
.mk-foot-links a { color: rgba(255,255,255,.88) !important; font-size: .9rem; font-weight: 500; text-decoration: none; }
.mk-foot-legal { margin-top: 10px; }
.mk-foot-legal a { color: rgba(255,255,255,.55) !important; font-size: .78rem; text-decoration: none; }
.mk-foot-links a:hover, .mk-foot-legal a:hover { color: var(--mk-gold, #c8b58f) !important; }
.mk-foot-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: .9rem; }
@media (max-width: 991px) {
    .mk-foot-bar { grid-template-columns: 1fr; text-align: center; }
    .mk-foot-brand { display: flex; flex-direction: column; align-items: center; }
    .mk-foot-tag { max-width: none; }
    .mk-foot-contact { align-items: center; }
}
@media (max-width: 767px) {
    .mk-foot-offices-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* Private Office — Azur Estates look (round 5; client + Richard's meeting note:
   "Rólunk a Private Office design — arany színű, legyen inkább Azur Estates-
   szerű, más design a jelenlegi oldaltól"; reference: azur-estates.com).
   The whole page turns deep navy with metallic-gold serif headings, white
   body text and gold serif founder names; the founders ("Rólunk") become
   large alternating photo / text rows as on azur-estates.com. Scoped to the
   .mk-po wrapper — no other page changes. */
body:has(.mk-po),
body:has(.mk-po) #main-wrap.main-wrap { background: #0a1523 !important; }
body:has(.mk-po) section.page-wrap,
body:has(.mk-po) .page-content-wrap,
body.page-template-template-page:has(.mk-po) .article-wrap { background: transparent !important; box-shadow: none !important; }
.mk-po {
    --po-gold: linear-gradient(100deg, #9c7427 0%, #e8cd86 38%, #b88f3c 62%, #e2c27a 100%);
    --po-gold-solid: #cfae66;
    --po-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --po-card: #0f1d30;
    --po-line: rgba(207, 174, 102, .28);
    color: rgba(255, 255, 255, .86);
}
.mk-po .mk-pg-sec { background: transparent; }
body.page-template-template-page .mk-po p,
body.page-template-template-page .mk-po li { color: rgba(255, 255, 255, .84); }
body.page-template-template-page .mk-po strong { color: #fff; }
body.page-template-template-page .mk-po a:not(.mk-po-btn):not(.btn) { color: var(--po-gold-solid) !important; }

/* headings: serif, metallic gold */
body.page-template-template-page .mk-po h1,
body.page-template-template-page .mk-po h2.mk-pg-h2 {
    font-family: var(--po-serif) !important; font-weight: 600 !important;
    text-transform: none !important; letter-spacing: .005em !important;
    background: var(--po-gold); -webkit-background-clip: text; background-clip: text;
    color: transparent !important; -webkit-text-fill-color: transparent;
}
body.page-template-template-page .mk-po h2.mk-pg-h2 {
    font-size: clamp(2.2rem, 4.2vw, 3.4rem) !important; line-height: 1.12 !important;
    text-align: center; border-top: 0 !important; padding-top: 0 !important;
    margin: clamp(3.5rem, 7vw, 6rem) auto 1.6rem !important;
}
body.page-template-template-page .mk-po h3 {
    font-family: var(--po-serif) !important; font-weight: 600 !important; text-transform: none !important;
    color: #fff !important; font-size: 1.45rem !important; letter-spacing: .01em;
}
.mk-po .mk-pg-hero h1 { font-size: clamp(2.6rem, 5.2vw, 4.4rem) !important; line-height: 1.08 !important; }
.mk-po .mk-po-hero::before { background: linear-gradient(180deg, rgba(10,21,35,.42), rgba(10,21,35,.78)); }
.mk-po .mk-pg-hero .mk-pg-sub { color: rgba(255,255,255,.9) !important; letter-spacing: .04em; }
.mk-po .mk-pg-eyebrow { color: var(--po-gold-solid) !important; }
body.page-template-template-page .mk-po .mk-po-lead {
    color: #fff; font-weight: 400; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.7; max-width: 980px;
}

/* Rólunk — founders as azur-estates.com: big photo, text beside it, gold serif name */
.mk-po .mk-po-founder-grid { grid-template-columns: 1fr; gap: clamp(3rem, 6vw, 5.5rem); }
.mk-po .mk-po-founder {
    grid-template-columns: minmax(240px, 5fr) 7fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
    background: transparent; padding: 0; border-radius: 0;
}
.mk-po .mk-po-founder:nth-child(even) .mk-po-founder-photo { order: 2; }
.mk-po .mk-po-founder-photo img { aspect-ratio: 4 / 5; border-radius: 0; box-shadow: 0 30px 60px rgba(0,0,0,.45); max-width: 440px; }
body.page-template-template-page .mk-po .mk-po-founder-body p { font-size: 1.08rem; line-height: 1.75; color: rgba(255,255,255,.86); margin-bottom: 1rem; }
.mk-po .mk-po-sign strong {
    font-family: var(--po-serif); font-weight: 600; font-size: 2rem; color: transparent;
    background: var(--po-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
body.page-template-template-page .mk-po .mk-po-sign span { color: #fff; letter-spacing: .08em; font-weight: 500; }

/* Helyszínek */
.mk-po .mk-po-loc { background: var(--po-card); border: 1px solid var(--po-line); box-shadow: none; border-radius: 0; }
body.page-template-template-page .mk-po .mk-po-loc-tag { color: rgba(255,255,255,.7); }
.mk-po .mk-po-area { border-top-color: rgba(255,255,255,.1); }
.mk-po .mk-po-area summary { color: #fff; }
.mk-po .mk-po-area summary::after { color: var(--po-gold-solid); }
body.page-template-template-page .mk-po .mk-po-area p { color: rgba(255,255,255,.7); }

/* Azur kollekció */
.mk-po .mk-po-card { background: var(--po-card); border: 1px solid var(--po-line); border-radius: 0; box-shadow: none; }
body.page-template-template-page .mk-po .mk-po-card-body h3 { font-size: 1.3rem !important; }
body.page-template-template-page .mk-po .mk-po-price { color: var(--po-gold-solid); font-family: var(--po-serif); font-size: 1.4rem; font-weight: 600; }
.mk-po .mk-po-btn { border-color: var(--po-gold-solid); color: var(--po-gold-solid); border-radius: 0; letter-spacing: .06em; }
.mk-po .mk-po-btn:hover { background: var(--po-gold-solid); color: #0a1523; }
.mk-po .mk-po-count { background: rgba(10,21,35,.85); border: 1px solid var(--po-line); }

/* Mi tesz minket különlegessé? + services */
body.page-template-template-page .mk-po .mk-po-why-text p { color: rgba(255,255,255,.86); }
.mk-po .mk-po-why-card { background: transparent; border: 1px solid var(--po-line); border-radius: 0; }
body.page-template-template-page .mk-po .mk-po-why-card h3 { color: var(--po-gold-solid) !important; font-size: 1.35rem !important; }
.mk-po .mk-po-services li::before { background: transparent; border: 1px solid var(--po-gold-solid); color: var(--po-gold-solid); }
body.page-template-template-page .mk-po .mk-po-services li span { color: rgba(255,255,255,.68); }
body.page-template-template-page .mk-po ul li::before { color: var(--po-gold-solid); }

/* contact + form on dark */
body.page-template-template-page .mk-po .mk-po-address span,
body.page-template-template-page .mk-po .mk-po-byline { color: rgba(255,255,255,.65); }
.mk-po .mk-cf label, .mk-po .wpcf7 label, .mk-po .wpcf7-list-item-label { color: rgba(255,255,255,.85) !important; }
.mk-po .mk-cf .form-control { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.18) !important; color: #fff !important; }
.mk-po .mk-cf .form-control::placeholder { color: rgba(255,255,255,.45); }
.mk-po .mk-cf select.form-control option { color: #0a1523; }
.mk-po .mk-cf input[type="submit"] { background: var(--po-gold-solid) !important; color: #0a1523 !important; border-radius: 0 !important; letter-spacing: .06em; }
.mk-po .mk-cf input[type="submit"]:hover { background: #e2c27a !important; }
.mk-po .mk-pg-form, .mk-po .mk-po-contact { background: transparent !important; }
@media (max-width: 767px) {
    .mk-po .mk-po-founder { grid-template-columns: 1fr; }
    .mk-po .mk-po-founder:nth-child(even) .mk-po-founder-photo { order: 0; }
    .mk-po .mk-po-founder-photo img { max-width: 100%; }
}
.mk-po .mk-po-loc-media img { width: 100%; height: 230px !important; aspect-ratio: auto; object-fit: cover; }
.mk-po .mk-pg-form > div:has(.wpcf7),
.mk-po .mk-pg-form .wpcf7,
.mk-po .mk-pg-form .mk-cf { background: var(--po-card) !important; border-radius: 0 !important; box-shadow: none !important; }
.mk-po .mk-pg-form > div:has(.wpcf7) { border: 1px solid var(--po-line); padding: 0 !important; }
/* content pages force h2/h3 text-transform:none at (0,2,2) — keep the
   office headings in caps like the mockup */
html body .mk-offices h2.mk-offices-title,
html body .mk-offices h3.mk-office-city { text-transform: uppercase !important; }

/* ═══════════════════════════════════════════════════════════════════════
   v1.25.1 — round 5b (2026-09-24): modern dropdowns, keyword autocomplete,
   map cluster highlight, no search band on Private Office
   ═══════════════════════════════════════════════════════════════════════ */

/* Private Office: no property search band ("ezen az oldalon nem kell a kereső") */
body:has(.mk-po) #desktop-header-search,
body:has(.mk-po) .advanced-search-nav,
body:has(.mk-po) .mobile-search-nav { display: none !important; }

/* Dropdowns (bootstrap-select, used by every Houzez search form): the stock
   list was a flat 12px box with a grey hover and an up/down glyph — the
   client's "Windows 95". Now: single chevron that turns when open, a
   floating rounded panel with a soft shadow, roomy items, cream hover,
   champagne selected state with a check, a proper search field. */
.bootstrap-select > .dropdown-toggle { position: relative; padding-right: 38px !important; }
.bootstrap-select > .dropdown-toggle::after {
    content: "" !important; font-family: inherit !important;
    position: absolute !important; right: 14px !important; top: 50% !important; left: auto !important;
    width: 14px !important; height: 14px !important; margin: -7px 0 0 !important;
    border: 0 !important; vertical-align: 0 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230a1523' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
    opacity: .55; transition: transform .2s ease, opacity .2s ease;
}
.bootstrap-select.show > .dropdown-toggle::after,
.bootstrap-select > .dropdown-toggle[aria-expanded="true"]::after { transform: rotate(180deg); opacity: .9; }
.bootstrap-select > .dropdown-toggle:focus { outline: 0 !important; box-shadow: 0 0 0 3px rgba(200,181,143,.35) !important; }

.bootstrap-select > .dropdown-menu,
.bs-container > .dropdown-menu {
    min-width: 100% !important; max-width: min(420px, 92vw);
    padding: 6px !important; margin-top: 6px !important;
    background: #fff !important; border: 1px solid rgba(10,21,35,.08) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(10,21,35,.16), 0 2px 6px rgba(10,21,35,.06) !important;
    overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
    .bootstrap-select > .dropdown-menu.show { animation: mk-dd-in .14s ease-out both; }
}
/* opacity only: the menu is placed with an inline transform (Popper) — a
   transform keyframe would override it and drop the menu over its field */
@keyframes mk-dd-in { from { opacity: 0; } to { opacity: 1; } }
/* content pages give every list item a ✓ bullet — not inside dropdowns */
body.page-template-template-page .article-wrap .bootstrap-select .dropdown-menu li { padding-left: 0 !important; }
body.page-template-template-page .article-wrap .bootstrap-select .dropdown-menu li::before { content: none !important; display: none !important; }
.bootstrap-select .dropdown-menu.inner { padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.bootstrap-select .dropdown-menu .inner { scrollbar-width: thin; scrollbar-color: #d8cdb8 transparent; }
.bootstrap-select .dropdown-menu .inner::-webkit-scrollbar { width: 8px; }
.bootstrap-select .dropdown-menu .inner::-webkit-scrollbar-thumb { background: #d8cdb8; border-radius: 8px; }
.bootstrap-select .dropdown-menu li { margin: 1px 0; }
.bootstrap-select .dropdown-menu li a.dropdown-item {
    display: flex !important; align-items: center; gap: 8px;
    padding: 9px 12px !important; border-radius: 9px;
    font-size: .93rem !important; line-height: 1.35 !important; color: var(--mk-ink, #0a1523) !important;
    white-space: normal; transition: background .12s ease;
}
.bootstrap-select .dropdown-menu li a.dropdown-item .text { flex: 1 1 auto; }
.bootstrap-select .dropdown-menu li a.dropdown-item small.text-muted {
    margin-left: 6px; font-size: .76rem; color: var(--mk-muted, #5e6878) !important;
}
.bootstrap-select .dropdown-menu li a.dropdown-item:hover,
.bootstrap-select .dropdown-menu li a.dropdown-item:focus,
.bootstrap-select .dropdown-menu li.active:not(.selected) a.dropdown-item { background: #f7f3ec !important; color: var(--mk-ink, #0a1523) !important; outline: 0; }
.bootstrap-select .dropdown-menu li.selected a.dropdown-item,
.bootstrap-select .dropdown-menu li a.dropdown-item.selected,
.bootstrap-select .dropdown-menu li a.dropdown-item.active,
.bootstrap-select .dropdown-menu li a.dropdown-item:active { background: #efe6d4 !important; color: var(--mk-ink, #0a1523) !important; font-weight: 600; }
.bootstrap-select .dropdown-menu li a.dropdown-item span.check-mark { display: none !important; }
.bootstrap-select .dropdown-menu li.selected a.dropdown-item::after {
    content: ""; flex: none; width: 15px; height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23857046' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
}
.bootstrap-select .dropdown-menu li.disabled a.dropdown-item { opacity: .45; }
.bootstrap-select .dropdown-menu .dropdown-header { padding: 8px 12px 4px; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--mk-gold-deep, #857046); }
.bootstrap-select .dropdown-menu .dropdown-divider { margin: 4px 6px; border-color: rgba(10,21,35,.07); }
.bootstrap-select .bs-searchbox { padding: 2px 2px 8px !important; }
.bootstrap-select .bs-searchbox .form-control {
    height: 38px !important; min-height: 0 !important; border-radius: 10px !important;
    border: 1px solid rgba(10,21,35,.12) !important; background-color: #faf8f4 !important;
    padding: 6px 12px 6px 34px !important; font-size: .9rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236f7a89' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='M10.5 10.5L14 14'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: 11px center !important; background-size: 15px 15px !important;
}
.bootstrap-select .bs-searchbox .form-control:focus { border-color: var(--mk-gold, #c8b58f) !important; box-shadow: 0 0 0 3px rgba(200,181,143,.25) !important; background-color: #fff !important; }
.bootstrap-select .no-results { margin: 2px 0 !important; padding: 9px 12px !important; background: transparent !important; color: var(--mk-muted, #5e6878) !important; font-size: .88rem; }
.bootstrap-select .bs-actionsbox .btn { border-radius: 8px !important; font-size: .82rem !important; }

/* contact-form selects turned into the same dropdown (inc/search-ui.php) */
.mk-cf .bootstrap-select { width: 100% !important; }
.mk-cf .bootstrap-select > .dropdown-toggle.form-control {
    display: flex; align-items: center; text-align: left; background: #fff !important;
    color: var(--mk-ink, #0a1523) !important; font-weight: 400;
}
.mk-cf .bootstrap-select > .dropdown-toggle .filter-option-inner-inner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* keyword autocomplete (inc/search-ui.php) */
.auto-complete:has(.mk-ac) {
    width: 100% !important; max-width: none !important; background: #fff !important;
    border: 1px solid rgba(10,21,35,.08) !important; border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(10,21,35,.16), 0 2px 6px rgba(10,21,35,.06) !important;
    overflow: hidden; margin-top: 6px; z-index: 1050;
}
.mk-ac { margin: 0; padding: 6px !important; background: #fff; border: 0 !important; border-radius: 0 !important; }
.mk-ac .mk-ac-item { padding: 0 !important; border: 0 !important; background: transparent; }
.mk-ac .mk-ac-link { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; text-decoration: none !important; color: var(--mk-ink, #0a1523) !important; }
.mk-ac .mk-ac-link:hover { background: #f7f3ec; }
.mk-ac .mk-ac-img { flex: none; width: 48px; height: 48px; border-radius: 8px; overflow: hidden; background: #efe9df; }
.mk-ac .mk-ac-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mk-ac .mk-ac-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.mk-ac .mk-ac-title { font-weight: 600; font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mk-ac .mk-ac-meta { font-size: .8rem; color: var(--mk-muted, #5e6878); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mk-ac .mk-ac-price { flex: none; font-weight: 700; font-size: .88rem; color: var(--mk-gold-deep, #857046); }
.mk-ac .mk-ac-empty { padding: 12px 14px !important; color: var(--mk-muted, #5e6878); border: 0 !important; }
.mk-ac-footer { padding: 10px 16px !important; border-top: 1px solid rgba(10,21,35,.07); font-size: .88rem; }
.mk-ac-footer .search-result-view { font-weight: 700; color: var(--mk-ink, #0a1523) !important; }

/* map: the cluster that holds the hovered result card */
body .leaflet-container .mycluster.mk-cluster-hl .houzez-osm-cluster {
    background: var(--mk-accent, #c8b58f) !important; color: var(--mk-brand, #0a1523) !important;
    transform: scale(1.14);
}

/* Content pages without their own heading (legal pages etc.): with the
   breadcrumb row gone they had no visible title at all — show the page
   title (not the breadcrumb) only where the content has no <h1>. */
body.page-template-template-page:not(:has(.page-content-wrap h1)) .page-title-wrap { display: block !important; padding-top: clamp(28px, 4vw, 44px); margin-bottom: 0 !important; }
body.page-template-template-page:not(:has(.page-content-wrap h1)) .page-title-wrap .breadcrumb-wrap { display: none !important; }
body.page-template-template-page:not(:has(.page-content-wrap h1)) .page-title-wrap .page-title { display: block !important; }
body.page-template-template-page:not(:has(.page-content-wrap h1)) .page-title-wrap h1 { font-size: clamp(1.8rem, 3.2vw, 2.5rem); font-weight: 800; color: var(--mk-ink, #0a1523); margin: 0; }

/* Breadcrumbs off everywhere (client 2026-09-24: "Remove the breadcumbs,
   some still there" — property pages, Ingatlanok, city / type archives).
   Only the "Vissza a kereséshez" link survives — it is a back button, not
   a trail, and Houzez prints it as the first crumb when the visitor came
   from a search. Page titles and the property tools (favourite / share /
   print) stay. */
.breadcrumb-wrap .breadcrumb > .breadcrumb-item:not(.breadcrumb-item-back-to-search) { display: none !important; }
.breadcrumb-wrap:not(:has(.breadcrumb-item-back-to-search)) { display: none !important; }
.breadcrumb-wrap .breadcrumb-item-back-to-search a { font-weight: 600; color: var(--mk-ink, #0a1523) !important; }
.page-title-wrap nav > .property-item-tools { margin-left: auto !important; }

/* v1.25.3 (2026-09-26) — contact-form dropdowns (CF7 selects turned into
   bootstrap-select by inc/search-ui.php). Client: in the chat bubble the
   selected "Érdeklődési terület" text was only half visible. Two causes:
   (1) bootstrap-select copies the <select>'s classes onto its WRAPPER, so the
   wrapper also got the .form-control box (border + 8px/12px padding) → a box
   inside a box, the real button shifted right; (2) the label inherited
   Houzez's 40px line-height, so in the compact 36–40px bubble fields it sat
   ~9px too low and the field edge cut it. The wrapper is now a plain
   container, the button alone is the field, and the label is centred in it. */
.mk-cf .bootstrap-select.form-control {
    height: auto !important; min-height: 0 !important; padding: 0 !important;
    border: 0 !important; background: transparent !important; box-shadow: none !important;
}
.mk-cf .bootstrap-select > .dropdown-toggle .filter-option {
    display: flex !important; align-items: center;
    height: 100% !important; padding-top: 0 !important; padding-bottom: 0 !important;
}
.mk-cf .bootstrap-select > .dropdown-toggle .filter-option-inner { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.mk-cf .bootstrap-select > .dropdown-toggle .filter-option-inner,
.mk-cf .bootstrap-select > .dropdown-toggle .filter-option-inner-inner { height: auto !important; line-height: 1.3 !important; }

/* v1.26.0 (2026-09-26) — phones: the homepage "Rólunk" section and the
   "Miért válasszon minket?" heading row kept Elementor's 10px column padding,
   so their text ran almost edge to edge (Richard: "is going screen to
   screen"). Same 22px gutter as the destination pages. Measured headless at
   390px: these were the only homepage text blocks closer than 16px. Class /
   element scoped, so the HU/EN/DE homepages (clones) all get it. */
@media (max-width: 767px) {
    .mk-habout-section > .elementor-container > .elementor-column > .elementor-element-populated,
    .elementor-element-dbd6aa6 > .elementor-container > .elementor-column > .elementor-element-populated {
        padding-left: 22px !important; padding-right: 22px !important;
    }
}

/* ═══ v1.29.0 (2026-09-27) — tester audit of the Spain page (25 Sept) ══════
   Plan + per-item status: docs/AUDIT-2026-09-25-PLAN.md. Markup + JS:
   inc/site-chrome.php, assets/js/mk-site.js. Site-wide. */

/* (#1) Closed panels are off screen but were still "visible": the Houzez
   compare panel (right:-300px) and, below 992px, the login offcanvas.
   Keyboard focus could land in them. Hidden until opened; the compare
   panel keeps its slide (visibility switches after the transition). */
html body .compare-property-panel-right:not(.compare-property-panel-open) {
    visibility: hidden; transition: right .3s ease, visibility 0s linear .3s;
}
html body .compare-property-panel-right.compare-property-panel-open { visibility: visible; transition: right .3s ease; }
html body #hz-offcanvas-login-register:not(.show):not(.showing):not(.hiding) { visibility: hidden !important; }

/* (#9) Desktop: a compact fixed header once the page has scrolled past it.
   #0a1523 like the header itself (ADR-0013); white links on every page
   while stuck, champagne CTA; the reserved height stops content jumping. */
@keyframes mk-hdr-in { from { transform: translateY(-100%); } to { transform: none; } }
@media (min-width: 992px) {
    html { scroll-padding-top: 84px; }
    body.mk-hdr-stuck #header-section.header-desktop {
        position: fixed; top: 0; left: 0; right: 0; z-index: 1040;
        background: rgba(10,21,35,.97) !important;
        -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        box-shadow: 0 12px 32px -20px rgba(10,21,35,.6) !important;
        animation: mk-hdr-in .3s cubic-bezier(.2,.7,.2,1) both;
    }
    body.admin-bar.mk-hdr-stuck #header-section.header-desktop { top: 32px; }
    body.mk-hdr-stuck #header-section .header-inner-wrap,
    body.mk-hdr-stuck #header-section .navbar { height: 64px !important; }
    body.mk-hdr-stuck .header-main-wrap .logo-desktop img { height: 40px !important; }
    body.mk-hdr-stuck #header-section .main-nav .nav-link { color: #fff !important; }
    body.mk-hdr-stuck #header-section .main-nav .nav-link:hover { color: var(--mk-gold) !important; background: transparent; }
    /* (dropdown links: v1.30.0 dark panels, white text — the navy-text rule
       that stood here made them invisible once the header was stuck) */
}
@media (prefers-reduced-motion: reduce) {
    body.mk-hdr-stuck #header-section.header-desktop { animation: none; }
}

/* (#10) Mobile menu: navy panel in the brand colours, 17px items on 52px
   rows (were 12.5px capitals), a close button you can see, the logo on
   top, consultation button + phone at the bottom. Houzez prints its menu
   colours inline (white panel, #15263d text) → ids + !important here. */
html body #hz-offcanvas-mobile-menu {
    background: #15263d !important; color: #fff; width: min(88vw, 400px);
    border-right: 1px solid rgba(226,211,182,.2);
}
html body #hz-offcanvas-mobile-menu .offcanvas-header {
    background: transparent !important; color: #fff !important;
    min-height: 72px; padding: 12px 10px 12px 22px; border-bottom: 1px solid rgba(255,255,255,.1);
}
html body #hz-offcanvas-mobile-menu .mk-mmenu-logo img { display: block; height: 38px; width: auto; }
html body #hz-offcanvas-mobile-menu .btn-close {
    width: 48px; height: 48px; margin: 0 0 0 auto; padding: 0; opacity: 1 !important;
    background: transparent none !important; color: #fff !important; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
}
html body #hz-offcanvas-mobile-menu .btn-close .houzez-icon { font-size: 18px; color: #fff !important; }
html body #hz-offcanvas-mobile-menu .btn-close:hover,
html body #hz-offcanvas-mobile-menu .btn-close:focus-visible { background: rgba(255,255,255,.1) !important; }
html body #hz-offcanvas-mobile-menu .offcanvas-mobile-menu-body { background: transparent !important; padding-bottom: 24px; }
html body #hz-offcanvas-mobile-menu .main-nav,
html body #nav-mobile.main-nav { background: transparent !important; }
html body #hz-offcanvas-mobile-menu .mk-mobile-switchers { border-bottom: 1px solid rgba(255,255,255,.1); padding: 14px 22px; }
html body #hz-offcanvas-mobile-menu .mk-switcher > button.mk-switcher-toggle {
    color: #fff !important; background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.25) !important;
}
html body #hz-offcanvas-mobile-menu #mobile-main-nav .nav-item { position: relative; }
html body #hz-offcanvas-mobile-menu #mobile-main-nav .nav-item a {
    display: flex; align-items: center; min-height: 52px; padding: 12px 64px 12px 22px !important;
    background: transparent !important; color: #fff !important;
    font-size: 17px !important; font-weight: 500 !important; line-height: 1.3 !important;
    text-transform: none !important; letter-spacing: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
}
html body #hz-offcanvas-mobile-menu #mobile-main-nav .dropdown-menu {
    background: rgba(0,0,0,.14) !important; border: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0;
}
html body #hz-offcanvas-mobile-menu #mobile-main-nav .dropdown-menu .nav-item a {
    padding-left: 38px !important; font-size: 16px !important; color: rgba(255,255,255,.88) !important;
}
html body #hz-offcanvas-mobile-menu #mobile-main-nav .dropdown-menu .dropdown-menu .nav-item a { padding-left: 54px !important; }
html body #hz-offcanvas-mobile-menu #mobile-main-nav .current-menu-item > a,
html body #hz-offcanvas-mobile-menu #mobile-main-nav .nav-item a:hover { color: var(--mk-gold) !important; }
html body #hz-offcanvas-mobile-menu .nav-mobile-trigger {
    position: absolute; top: 0; right: 4px; width: 52px; height: 52px;
    display: flex; align-items: center; justify-content: center; color: #fff !important; cursor: pointer;
}
html body #hz-offcanvas-mobile-menu .mk-mmenu-extras { padding: 26px 22px 8px; display: grid; gap: 14px; }
html body #hz-offcanvas-mobile-menu .mk-mmenu-cta {
    display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 999px;
    background: var(--mk-gold); color: #15263d !important; font-weight: 700; font-size: 16px; text-decoration: none;
}
html body #hz-offcanvas-mobile-menu .mk-mmenu-cta:hover { background: #d9c9a8; }
html body #hz-offcanvas-mobile-menu .mk-mmenu-phone {
    display: flex; align-items: center; gap: 14px; min-height: 52px; color: #fff !important; text-decoration: none;
    font-size: 18px; font-weight: 600; letter-spacing: .01em;
}
html body #hz-offcanvas-mobile-menu .mk-mmenu-phone .mk-ico { width: 22px; height: 22px; color: var(--mk-gold); flex: none; }
html body #hz-offcanvas-mobile-menu .mk-mmenu-phone small { display: block; font-size: 13px; font-weight: 500; color: #e2d3b6; letter-spacing: 0; }

/* (#9) Mobile contact bar — content pages only (body.mk-has-mbar). */
.mk-mbar { display: none; }
@media (max-width: 767px) {
    .mk-mbar {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035;
        display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px;
        padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
        background: rgba(21,38,61,.97);
        -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
        border-top: 1px solid rgba(226,211,182,.22);
        box-shadow: 0 -12px 32px -20px rgba(10,21,35,.7);
        transform: translateY(110%); transition: transform .28s ease;
    }
    .mk-mbar.is-on { transform: none; }
    .mk-mbar .mk-mbar__btn {
        display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px;
        border-radius: 12px; border: 1px solid rgba(255,255,255,.2); color: #fff !important;
        font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none !important; white-space: nowrap;
    }
    .mk-mbar .mk-mbar__btn--main { background: var(--mk-gold); border-color: var(--mk-gold); color: #15263d !important; }
    .mk-mbar .mk-ico { width: 19px; height: 19px; flex: none; }
    body.mk-has-mbar .footer-bottom-wrap { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { .mk-mbar { transition: none; } }

/* (#21) Back-to-top on phones: smaller, clear of the edge and of the bar,
   and only after 1500px — it sat on the text and the buttons. */
@media (max-width: 767px) {
    html body .back-to-top-wrap { right: 16px !important; bottom: calc(16px + env(safe-area-inset-bottom)) !important; transition: opacity .2s ease, visibility .2s ease; }
    html body.mk-has-mbar .back-to-top-wrap { bottom: calc(80px + env(safe-area-inset-bottom)) !important; }
    html body #scroll-top.btn-back-to-top { width: 40px !important; height: 40px !important; min-height: 0; padding: 0 !important; line-height: 40px !important; }
    html body:not(.mk-btt-far) .back-to-top-wrap { opacity: 0; visibility: hidden; pointer-events: none; }
}

/* (#16) Contact forms: the whole consent line is the target (≥44px, was a
   17px box + a 13×17px arrow link); the privacy words are the link. */
html body .mk-cf .wpcf7-acceptance .wpcf7-list-item { display: block; margin: 0; }
html body .mk-cf .wpcf7-acceptance label {
    display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 8px 0; cursor: pointer;
}
html body .mk-cf .wpcf7-acceptance input[type="checkbox"] { width: 22px; height: 22px; margin: 0; flex: none; }
html body .mk-cf .wpcf7-acceptance a { text-underline-offset: 3px; }
/* the round-4 pages put the form card on another card: on phones one is enough */
@media (max-width: 767px) {
    .mk-pg-form .mk-cf { padding: 0; background: transparent; box-shadow: none; border-radius: 0; }
}

/* (#16) the reply time under the button (the homepages already promise it);
   not in the compact homepage bubble, which must fit without scrolling */
html body .mk-cf .mk-cf-note { margin: .2rem 0 0 !important; font-size: .88rem; line-height: 1.5; color: var(--mk-muted); }
html body .mk-bubble-form .mk-cf .mk-cf-note { display: none; }
html body .mk-po .mk-cf .mk-cf-note { color: rgba(255,255,255,.72); }

/* mobile menu: the two empty legacy items of the demo menu (no title, no
   link — hidden on desktop since v1.14.5) were blank 52px rows; the extras
   must not inherit the Houzez nav capitals */
html body #hz-offcanvas-mobile-menu #mobile-main-nav > li:has(> a.nav-link:not([href])) { display: none !important; }
html body #hz-offcanvas-mobile-menu .mk-mmenu-extras,
html body #hz-offcanvas-mobile-menu .mk-mmenu-extras * { text-transform: none !important; letter-spacing: normal; }

/* stuck header: the menu links carry a fixed 90px line-height (Houzez) */
@media (min-width: 992px) {
    body.mk-hdr-stuck #header-section #main-nav > li > a.nav-link { line-height: 64px !important; height: 64px !important; }
}

/* (#23) footer: at 1280px the Houzez container is ~1256px wide, so the logo,
   links and copyright sat 12px from the window edge. Same measure as the
   page content (1200px, 22–56px gutters). */
html body .footer-top-wrap.mk-footer > .container,
html body .footer-bottom-wrap > .container {
    max-width: 1200px; padding-left: clamp(22px, 5vw, 56px); padding-right: clamp(22px, 5vw, 56px); box-sizing: border-box;
}

/* ═══ v1.30.0 — header logo, dark header dropdowns, login popup (2026-09-27)
   Client: "a fejlécbe rakd be ezt a logót" (krant-fejlec-logo.png → the
   Theme Options header slots, engine act r5hdrlogo; child copy
   assets/img/krant-header-logo.png), "a nyelvválasztónál duplázódik a
   kiírás, és világos nézetes a lenyíló menü — a profilnál is", "the login
   popup should look better and be translated". Language pill + panel:
   inc/frontend-switchers.php; popup markup: template-parts/login-register/
   modal-login-register.php + inc/login-modal.php. */

/* Logo: the new lockup is wider (3.04:1, was 2.5:1) and has no tagline, so
   it reads well lower than the old 58px. Sticky header keeps 40px. */
body .header-main-wrap .logo img,
body.mk-trans-header .logo-desktop img { height: 52px !important; }
body .header-mobile .logo img { height: 40px !important; }
html body #hz-offcanvas-mobile-menu .mk-mmenu-logo img { height: 40px; }
/* One header row from 1200px up. The row is a Bootstrap .navbar (it WRAPS
   when 1px short) capped at 1286px; logo 158 + menu 853 (7 items, 15px side
   padding) + language / profile / Kapcsolat 258 = 1289px did not fit, and
   below ~1366px it did not fit with the old logo either. Menu padding per
   width tier, sized for a 17px Windows scrollbar. 992–1199px still wraps
   (as before): 7 items + logo + CTA need a burger menu or fewer items there. */
@media (min-width: 1200px) {
    html body #header-section .header-inner-wrap > .navbar { flex-wrap: nowrap; }
    html body #header-section #main-nav > li > a.nav-link { padding-left: 12px !important; padding-right: 12px !important; }
}
@media (min-width: 1200px) and (max-width: 1329px) {
    html body #header-section .logo-desktop { margin-right: 12px !important; }
    html body #header-section #main-nav > li > a.nav-link { padding-left: 10px !important; padding-right: 10px !important; }
    html body #header-section #main-nav > li > a.nav-link::after { left: 10px; right: 10px; }
}
@media (min-width: 1200px) and (max-width: 1279px) {
    html body #header-section #main-nav > li > a.nav-link { padding-left: 6px !important; padding-right: 6px !important; }
    html body #header-section #main-nav > li > a.nav-link::after { left: 6px; right: 6px; }
}

/* Header dropdowns (menu, favourites, account) → dark panels like the
   header. #15263d is the palette's depth navy (ADR-0013); champagne marks
   the counter. The ids out-rank every older white-panel / navy-text rule
   (v1.18.0, v1.20.0 F2, the sticky header, Houzez's inline options). */
html body #header-section .main-nav .dropdown-menu,
html body #header-section .login-register-nav .dropdown-menu,
html body #header-section .logged-in-nav {
    background: #15263d !important;
    border: 1px solid rgba(213,196,169,.18) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 44px -12px rgba(0,0,0,.6) !important;
    padding: 6px !important;
}
html body #header-section .login-register-nav .dropdown-menu::before { display: none !important; }
html body #header-section .main-nav .dropdown-menu li,
html body #header-section .login-register-nav .dropdown-menu li,
html body #header-section .logged-in-nav li { border: 0 !important; }
html body #header-section .main-nav .dropdown-menu a,
html body #header-section .main-nav .dropdown-menu a.dropdown-item,
html body #header-section .login-register-nav .dropdown-menu a,
html body #header-section .login-register-nav .dropdown-menu a.dropdown-item,
html body #header-section .logged-in-nav a {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px !important;
    line-height: 1.3 !important;
    color: rgba(255,255,255,.86) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}
html body #header-section .main-nav .dropdown-menu a:hover,
html body #header-section .main-nav .dropdown-menu a.dropdown-item:hover,
html body #header-section .main-nav .dropdown-menu a:focus-visible,
html body #header-section .main-nav .dropdown-menu li:hover > a,
html body #header-section .main-nav .dropdown-menu li:hover > a.dropdown-item,
html body #header-section .login-register-nav .dropdown-menu a.dropdown-item:hover,
html body #header-section .login-register-nav .dropdown-menu a:hover,
html body #header-section .login-register-nav .dropdown-menu a:focus-visible,
html body #header-section .logged-in-nav a:hover,
html body #header-section .logged-in-nav a:focus-visible {
    color: #fff !important;
    background: rgba(255,255,255,.07) !important;
}
html body #header-section .main-nav .dropdown-menu a::after { color: inherit !important; border-color: currentColor !important; }
html body #header-section .login-register-nav .dropdown-menu .houzez-icon,
html body #header-section .logged-in-nav .houzez-icon { color: var(--mk-gold-light) !important; margin: 0 !important; }
html body #header-section .login-register-nav .dropdown-menu .btn-bubble {
    margin-left: auto; min-width: 22px; padding: 2px 7px; border-radius: 999px;
    background: var(--mk-gold) !important; color: var(--mk-brand) !important;
    font-size: 11.5px; font-weight: 700; line-height: 1.4; text-align: center;
}
/* language panel inside the navy mobile menu: one step darker */
html body #hz-offcanvas-mobile-menu .mk-switcher .mk-switcher-menu { background: #0a1523; }

/* ── Login popup ─────────────────────────────────────────────────────── */
body.modal-open .modal-backdrop.show { background-color: #0a1523; opacity: .62; }
#login-register-form.mk-login .modal-dialog,
#reset-password-form .modal-dialog { max-width: 420px; }
#login-register-form.mk-login .modal-content,
#reset-password-form .modal-content {
    border: 0 !important; border-radius: 18px !important; overflow: hidden;
    background: #fff; box-shadow: 0 40px 90px -30px rgba(10,21,35,.75);
}
#login-register-form .mk-login__head,
#reset-password-form .modal-header {
    position: relative;
    background: radial-gradient(120% 150% at 50% 0%, #1b3150 0%, #0a1523 64%) !important;
    border: 0 !important; border-bottom: 1px solid rgba(213,196,169,.28) !important;
    border-radius: 0 !important;
}
#login-register-form .mk-login__head {
    display: flex; justify-content: center; align-items: center;
    padding: 30px 56px 26px !important;
}
#login-register-form .mk-login__logo { display: block; height: 48px; width: auto; max-width: 100%; }
#login-register-form .mk-login__close,
#reset-password-form .modal-header .close {
    position: absolute; top: 12px; right: 12px;
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 50%;
    background: transparent !important; color: rgba(255,255,255,.72) !important;
    font-size: 24px; font-weight: 300; line-height: 1; opacity: 1; text-shadow: none;
    transition: background-color .15s ease, color .15s ease;
}
#login-register-form .mk-login__close span,
#reset-password-form .modal-header .close span { position: static !important; top: 0 !important; }
#login-register-form .mk-login__close:hover,
#login-register-form .mk-login__close:focus-visible,
#reset-password-form .modal-header .close:hover,
#reset-password-form .modal-header .close:focus-visible { background: rgba(255,255,255,.1) !important; color: #fff !important; }
#login-register-form .mk-login__body { padding: 28px 32px 24px !important; }
#login-register-form .mk-login__title {
    margin: 0 0 4px; text-align: center;
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    font-size: 31px; font-weight: 600; line-height: 1.15; letter-spacing: .01em;
    color: var(--mk-ink, #0a1523); text-transform: none;
}
#login-register-form .mk-login__lead { margin: 0 0 22px; text-align: center; font-size: 14.5px; line-height: 1.5; color: var(--mk-muted, #5e6878); }
/* fields: two separate rounded inputs (Houzez joins them in one box) */
#login-register-form .login-form-wrap { border: 0 !important; background: transparent !important; border-radius: 0 !important; }
#login-register-form .login-form-wrap .form-group { border: 0 !important; margin: 0 0 12px !important; }
#login-register-form .login-form-wrap .form-group-field input.form-control,
#reset-password-form input.form-control {
    height: 50px !important; min-height: 50px !important;
    padding: 0 16px 0 46px !important;
    border: 1px solid #e3dbcc !important; border-radius: 10px !important;
    background: #fbf9f5 !important; color: var(--mk-ink, #0a1523) !important;
    font-size: 15px !important; box-shadow: none !important;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
#reset-password-form input.form-control { padding-left: 16px !important; }
#login-register-form .login-form-wrap .form-group-field input.form-control:focus,
#reset-password-form input.form-control:focus {
    border-color: var(--mk-gold-deep, #857046) !important; background: #fff !important;
    box-shadow: 0 0 0 3px rgba(133,112,70,.16) !important; outline: 0;
}
#login-register-form .form-control::placeholder,
#reset-password-form .form-control::placeholder { color: #858b95; opacity: 1; }
#login-register-form .login-form-wrap .form-group-field::after {
    top: 50% !important; left: 17px !important; transform: translateY(-50%);
    line-height: 1; color: #8a8f98 !important; pointer-events: none;
}
#login-register-form .form-tools { margin: 4px 0 18px !important; }
#login-register-form .form-tools .d-flex { align-items: center; gap: 12px; }
#login-register-form .form-tools .control { margin: 0 !important; font-size: 14px; color: #3d4654; }
#login-register-form .form-tools a {
    min-height: 0; font-size: 14px; font-weight: 600; white-space: nowrap;
    color: var(--mk-gold-deep, #857046); text-decoration: none;
}
#login-register-form .form-tools a:hover { color: var(--mk-ink, #0a1523); text-decoration: underline; }
#login-register-form .btn-login,
#reset-password-form .btn-reset-password {
    height: 50px; border-radius: 10px !important;
    background: var(--mk-brand, #0a1523) !important; border-color: var(--mk-brand, #0a1523) !important;
    color: #fff !important; font-size: 15px; font-weight: 600; letter-spacing: .01em;
    box-shadow: none !important; transform: none !important;
}
#login-register-form .btn-login:hover,
#login-register-form .btn-login:focus-visible,
#reset-password-form .btn-reset-password:hover,
#reset-password-form .btn-reset-password:focus-visible { background: #15263d !important; border-color: #15263d !important; }
#login-register-form .hz-social-messages .alert,
#reset-password-form #reset_pass_msg .alert { margin: 0 0 14px; padding: 10px 14px; border-radius: 10px; font-size: 14px; line-height: 1.45; }
#login-register-form .hz-social-messages .alert-dismissible,
#reset-password-form #reset_pass_msg .alert-dismissible { padding-right: 44px; }
#login-register-form .hz-social-messages .alert-dismissible .btn-close,
#reset-password-form #reset_pass_msg .alert-dismissible .btn-close { top: 50%; right: 6px; transform: translateY(-50%); padding: 10px; }
#login-register-form .mk-login__foot {
    margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #efe8dc;
    text-align: center; font-size: 13.5px; line-height: 1.55; color: var(--mk-muted, #5e6878);
}
#login-register-form .mk-login__foot a {
    display: inline-block; font-weight: 600; white-space: nowrap; text-decoration: none;
    color: var(--mk-ink, #0a1523); border-bottom: 1px solid rgba(133,112,70,.5);
}
#login-register-form .mk-login__foot a:hover { color: var(--mk-gold-deep, #857046); border-bottom-color: currentColor; }
#login-register-form .register-form-tab { padding: 4px 0 0; text-align: center; font-size: 14.5px; line-height: 1.55; color: #3d4654; }
/* forgot-password popup: same head + fields (parent markup), centred like
   the login popup (Bootstrap .modal-dialog-centered, which Houzez omits) */
#reset-password-form .modal-dialog { display: flex; align-items: center; min-height: calc(100% - 3.5rem); }
#reset-password-form .modal-dialog .modal-content { width: 100%; }
#reset-password-form .modal-header { padding: 24px 60px 22px 32px !important; }
#reset-password-form .modal-title {
    margin: 0; color: #fff !important;
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    font-size: 26px; font-weight: 600 !important; line-height: 1.2;
}
#reset-password-form .modal-body { padding: 24px 32px 28px !important; }
#reset-password-form .modal-body p { margin: 0 0 16px; font-size: 14.5px; line-height: 1.55; color: var(--mk-muted, #5e6878); }
@media (max-width: 575px) {
    #login-register-form .mk-login__head { padding: 26px 52px 22px !important; }
    #login-register-form .mk-login__body,
    #reset-password-form .modal-body { padding: 24px 20px 20px !important; }
    #reset-password-form .modal-header { padding-left: 20px !important; }
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.32.2 — (a) contact bubble launcher: chat icon OR X, never both.
   `.mk-bubble-btn svg { display: block }` (0,1,1) out-ranked the v1.15
   `.mk-bubble-ic-close { display: none }` (0,1,0), so the closed launcher
   showed the chat icon AND the X. Closed = chat icon, open = X.
   ═══════════════════════════════════════════════════════════════════════ */
.mk-bubble-btn .mk-bubble-ic-close,
.mk-bubble.is-open .mk-bubble-btn .mk-bubble-ic-open { display: none; }
.mk-bubble.is-open .mk-bubble-btn .mk-bubble-ic-close { display: block; }

/* (b) Városok row on phones: show that it swipes. mk-cities-carousel.js adds
   a progress line under the cards and a "1 / 12" counter between the arrows
   (hidden on wider screens, where the row keeps its bottom-right arrows),
   plus a one-time nudge (.mk-cc-nudge). The arrows stay centred so they are
   clear of the fixed chat bubble + back-to-top in the bottom-right corner. */
.mk-cc-progress,
.mk-cc-count { display: none; }
@media (max-width: 767px) {
    /* full width: the nav is a flex item of Elementor's widget-wrap and
       otherwise shrinks to its content (the line came out 188px wide) */
    .mk-cities-nav {
        width: 100%; flex: 0 0 100%;
        flex-wrap: wrap; align-items: center; justify-content: center;
        gap: 16px 14px; margin-top: 18px; padding: 0 2px;
    }
    .mk-cc-progress {
        display: block; position: relative; flex: 0 0 100%;
        height: 3px; border-radius: 3px; overflow: hidden;
        background: rgba(10,21,35,.1);
    }
    .mk-cc-fill {
        position: absolute; left: 0; top: 0; bottom: 0; width: 10%;
        border-radius: inherit; background: var(--mk-brand);
        transition: width .12s linear;
    }
    .mk-cc-count {
        display: block; min-width: 58px; text-align: center;
        font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: .02em;
        font-variant-numeric: tabular-nums; color: var(--mk-muted);
    }
    .mk-cc-count .mk-cc-cur { color: var(--mk-ink); }
    .mk-cc-btn { width: 44px; height: 44px; }

    @media (prefers-reduced-motion: no-preference) {
        body .elementor-element-6fc3e29 > .elementor-container.mk-cc-nudge > .elementor-column {
            animation: mk-cc-nudge 1.5s cubic-bezier(.45, 0, .25, 1) 1;
        }
    }
}
@keyframes mk-cc-nudge {
    0%, 100% { transform: translateX(0); }
    38%, 58% { transform: translateX(-64px); }
}

/* ═══════════════════════════════════════════════════════════════════════
   v1.33.0 — contact bubble on every public page (István, 2026-09-28;
   inc/contact-bubble.php mk_bubble_should_render()).
   Phones: where a bottom contact bar already exists, no round launcher —
   content pages (body.mk-has-mbar, inc/site-chrome.php): the bar's "Üzenet"
   opens the bubble panel, which then sits above the bar; property pages
   (< 992px): Houzez's own sticky contact + property enquiry form, so the
   bubble stays out of the way there. It also hides while a Bootstrap modal
   (login, property form) or the mobile menu is open — at z-index 9500 it
   floated over them.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    body.mk-has-mbar .mk-bubble { bottom: calc(76px + env(safe-area-inset-bottom)); }
    body.mk-has-mbar .mk-bubble-btn,
    body.mk-has-mbar .mk-bubble-teaser { display: none !important; }
}
@media (max-width: 991px) {
    body.single-property .mk-bubble { display: none; }
}
body.modal-open .mk-bubble,
body:has(.offcanvas.show) .mk-bubble,
body:has(#overlay-search-advanced-module.open) .mk-bubble { display: none; }   /* + the phones' full-screen search filters */
/* the panel never runs off the top of the screen (it is ~690px tall on a
   phone, one field per row): capped to the space above its anchor, the
   rest scrolls inside. Anchor = launcher (bottom 88/68 + 60 + gap) or,
   on bar pages, the bar (76px). */
.mk-bubble-panel {
    max-height: calc(100vh - 170px); max-height: calc(100dvh - 170px);
    overflow-y: auto; overscroll-behavior: contain;
}
@media (max-width: 480px) {
    .mk-bubble-panel { max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); }
}
@media (max-width: 767px) {
    body.mk-has-mbar .mk-bubble-panel {
        max-height: calc(100vh - 90px - env(safe-area-inset-bottom));
        max-height: calc(100dvh - 90px - env(safe-area-inset-bottom));
    }
}

/* v1.33.3 — project page: size of the whole development ("Projekt
   lakásszám", István 2026-09-28) beside the available-units heading. */
.mk-proj-units .mk-proj-size {
    display: inline-flex; align-items: center;
    padding: 6px 12px; border-radius: 999px;
    background: var(--mk-bg, #f7f3ec); border: 1px solid var(--mk-border, #e8e0d0);
    color: var(--mk-ink, #0a1523); font-size: .9rem; font-weight: 600; line-height: 1.2; white-space: nowrap;
}

/* v1.34.0 — floor plans on unit pages (child property-details/floor-plans.php,
   engine act=r5floorplans; István 2026-09-28). The plan shows straight away;
   a tap/click opens it in the gallery's Fancybox (zoom for the small
   room-area text) — the badge says so on touch screens too. */
.mk-fp { display: grid; gap: 20px; }
.mk-fp--many { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.mk-fp__item { margin: 0; }
.mk-fp__link {
    position: relative; display: block; overflow: hidden; cursor: zoom-in;
    border: 1px solid var(--mk-border, #e8e0d0); border-radius: 12px; background: #fff;
}
html body .mk-fp__link img { display: block; width: 100%; height: auto; }
.mk-fp__link::after {
    content: ""; position: absolute; right: 12px; bottom: 12px; width: 40px; height: 40px;
    border-radius: 50%; background: rgba(10,21,35,.82) no-repeat center / 20px 20px
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E");
    box-shadow: 0 4px 12px rgba(10,21,35,.25); transition: transform .15s ease;
}
.mk-fp__link:hover::after { transform: scale(1.06); }
.mk-fp__item figcaption { margin-top: 8px; font-size: .9rem; font-weight: 600; color: var(--mk-muted, #5e6878); }
.mk-fp__pdf { font-weight: 600; color: var(--mk-brand, #0a1523); }

/* ═══════════════════════════════════════════════════════════════════════
   v1.36.0 — client feedback round 6 (István, 2026-10-02)
   ═══════════════════════════════════════════════════════════════════════ */

/* "Partnereink" band — homepage ×3 ([mk_partners], inc/partners.php).
   Navy one-colour logos on white tiles, the company name under each. */
.mk-partners-section { background: var(--mk-bg, #f7f3ec); }
.mk-partners { max-width: 1140px; margin: 0 auto; padding: clamp(56px, 6vw, 88px) 20px; }
.mk-partners-head { text-align: center; max-width: 640px; margin: 0 auto clamp(28px, 3.5vw, 44px); }
h2.mk-partners-title {
    color: var(--mk-navy, #0a1523); font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 800;
    letter-spacing: -.02em; line-height: 1.15; margin: 0 0 .7rem;
    border-top: 0 !important; padding-top: 0 !important; text-transform: none !important;
}
.mk-partners-lead { color: var(--mk-muted, #5e6878); font-size: 1.02rem; line-height: 1.6; margin: 0; }
html body .mk-partners-grid {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
}
html body .mk-partners-grid > li { margin: 0; padding: 0; }
html body .mk-partners-grid > li::before { content: none; }
.mk-partner, .mk-partner > a {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
    height: 100%; text-decoration: none;
}
.mk-partner {
    background: #fff; border: 1px solid var(--mk-border, #e8e0d0); border-radius: var(--mk-radius, 14px);
    padding: 30px 22px 20px; transition: box-shadow .2s ease, transform .2s ease;
}
.mk-partner:hover { box-shadow: var(--mk-shadow, 0 4px 24px rgba(10,21,35,.08)); transform: translateY(-2px); }
.mk-partner-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 72px; }
html body .mk-partner-logo img { display: block; max-width: min(180px, 100%); max-height: 72px; width: auto; height: auto; object-fit: contain; }
.mk-partner-name {
    font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
    color: var(--mk-muted, #5e6878); text-align: center; line-height: 1.3;
}
@media (max-width: 767px) {
    html body .mk-partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .mk-partners { padding: 52px 16px 60px; }
    .mk-partner { padding: 22px 14px 14px; gap: 10px; }
    .mk-partner-logo { height: 52px; }
    html body .mk-partner-logo img { max-height: 52px; max-width: 88%; }
    .mk-partner-name { font-size: .72rem; }
}

/* Homepage "Rólunk" section, shortened: the "Tudjon meg többet" button. */
.mk-habout-more { margin: 1.6rem 0 0; }
html body .mk-habout-more a.mk-habout-btn {
    display: inline-flex; align-items: center; gap: .55em;
    background: var(--mk-brand, #0a1523); color: #fff !important; border-radius: 999px;
    padding: 13px 26px; font-weight: 600; text-decoration: none; transition: background .2s ease;
}
html body .mk-habout-more a.mk-habout-btn:hover { background: var(--mk-brand-dark, #15263d); }
html body .mk-habout-more a.mk-habout-btn::after { content: "→"; }

/* "Csapatunk" cards on the Rólunk pages ([mk_team], inc/team.php). The
   content-page checklist glyph (body.page-template-template-page … li::before)
   must not reach these list items. */
html body .mk-team-grid {
    list-style: none; margin: 1.8rem 0 2.2rem; padding: 0;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 18px;
}
/* The Rólunk page caps its sections at 840px (and .mk-about section zeroes
   the auto margins): the cards use the page width, the text keeps its measure. */
html body .mk-about section.mk-ab-team { max-width: none; }
html body .mk-about section.mk-ab-team > p { max-width: 840px; }
html body.page-template-template-page .article-wrap ul.mk-team-grid > li { padding-left: 0; margin: 0; }
html body.page-template-template-page .article-wrap ul.mk-team-grid > li::before { content: none; }
.mk-team-card {
    background: #fff; border: 1px solid var(--mk-border, #e8e0d0); border-radius: var(--mk-radius, 14px);
    overflow: hidden; display: flex; flex-direction: column;
}
.mk-team-photo {
    aspect-ratio: 4 / 5; background: linear-gradient(160deg, var(--mk-brand-dark, #15263d), var(--mk-brand, #0a1523));
    display: flex; align-items: center; justify-content: center; overflow: hidden;
}
html body .mk-team-photo img.mk-team-img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; border-radius: 0; }
.mk-team-initials {
    font-size: clamp(2rem, 5vw, 2.8rem); font-weight: 700; letter-spacing: .06em;
    color: var(--mk-gold, #c8b58f);
}
.mk-team-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 4px; }
html body .mk-about h3.mk-team-name, html body h3.mk-team-name {
    font-size: 1.08rem; font-weight: 700; color: var(--mk-ink, #0a1523); margin: 0;
    text-transform: none !important; border: 0 !important; padding: 0 !important;
}
html body .mk-about p.mk-team-role, html body p.mk-team-role {
    font-size: .92rem; line-height: 1.4; color: var(--mk-muted, #5e6878); margin: 0 0 6px;
}
html body a.mk-team-link {
    font-size: .9rem; font-weight: 600; color: var(--mk-gold-deep, #857046); text-decoration: none;
    overflow-wrap: anywhere;
}
html body a.mk-team-link:hover { text-decoration: underline; }
@media (max-width: 767px) {
    html body .mk-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .mk-team-body { padding: 12px 12px 14px; }
    html body h3.mk-team-name { font-size: .98rem; }
    html body a.mk-team-link { font-size: .8rem; }
}

/* v1.36.3 — footer links: the old footer-widget rule "body .footer-wrap ul li
   a:hover { padding-left: 4px }" also hit the new footer menu; the 4px made
   the centred row re-wrap under the cursor (Szolgáltatásaink jumped to the
   next line → un-hover → back → hover …: the whole bar flickered). */
html body .footer-wrap .mk-foot-nav ul li a,
html body .footer-wrap .mk-foot-nav ul li a:hover { padding-left: 0 !important; }

/* v1.36.3 — the result-list sort menu ("Rendezés: …") was only as wide as its
   short toggle, so "Alapértelmezett sorrend" broke into two lines. */
html body .sort-by .bootstrap-select > .dropdown-menu { min-width: 250px !important; }
html body .sort-by .bootstrap-select .dropdown-menu li a.dropdown-item { white-space: nowrap; }
/* team e-mail: two unbreakable halves, the line may only break at the "@" */
html body a.mk-team-mail { overflow-wrap: normal; word-break: normal; }
html body a.mk-team-mail > span { white-space: nowrap; }

/* v1.36.5 — homepage featured carousel on PHONES: the (D4) rule lifts the
   prev/next arrows onto the dots row (right-aligned). On a phone the dots fill
   the row, so the arrows sat on top of them, next to the fixed chat bubble
   (Richard 2026-10-03). Below 768px: arrows on their own row UNDER the dots,
   centred. */
@media (max-width: 767.98px) {
    body :is(.elementor-17972,.elementor-18023,.elementor-18022,.elementor-19936) .property-carousel-buttons-wrap {
        margin-top: 14px;
        margin-bottom: 0;
        justify-content: center;
    }
}

/* v1.36.6 — homepage "Rólunk": the "Tudjon meg többet rólunk" button centred
   under the (left-aligned) text, like the section heading (Richard 2026-10-03). */
html body .mk-habout-more { text-align: center; }

/* ── PageSpeed / accessibility, 2026-10-06 (inc/pagespeed.php) ─────────────
   Contrast: the dropdown placeholders (bootstrap-select "title" state,
   Houzez grey #a1a7a8 = 2.4:1) and the small gold eyebrows on the cream / light
   bands (#857046 = 4.3–4.5:1) now pass WCAG AA (≥ 4.5:1). */
body .bootstrap-select > .dropdown-toggle.bs-placeholder,
body .bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
body .bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
body .bootstrap-select > .dropdown-toggle.bs-placeholder:active,
body .bootstrap-select > .dropdown-toggle.bs-placeholder .filter-option-inner-inner { color: #5e6878; }
body .mk-home-cf-eyebrow { color: #76633d; }
/* card status badges are spans since 2026-10-06 (child item-labels*.php) */
body .labels-wrap span.label-status,
body .labels-wrap span.label { display: inline-block; }
/* hero quick search: the widget paints every dropdown #a1a7a8 — a chosen value
   is the ink colour, an empty one the AA grey above (was all the same grey) */
/* (the widget's own Elementor style sets it at (0,6,1) — hence !important) */
body .houzez-search-builder-form-js .elementor-select-wrapper button:not(.bs-placeholder) .filter-option-inner-inner { color: #15263d !important; }
/* contact bubble teaser: out of the flow, so its pop-up no longer re-lays out
   the launcher (a 0.03 layout shift on phones) — same place, above the button */
.mk-bubble { position: fixed; }
.mk-bubble-teaser { position: absolute; right: 0; bottom: calc(100% + 10px); width: max-content; max-width: 250px; }
.mk-bubble.is-open .mk-bubble-teaser { display: none; }
/* Ingatlan azonosító = the full Excel ID since 2026-10-13 ("SP-CDS-ELP-LR-LYR-05",
   inc/property-id.php): on phones it no longer fits beside "Áttekintés" (it broke at
   a dash, glued to the heading) → its own line under the heading */
@media (max-width: 767.98px) {
  .property-overview-wrap .block-title-wrap { flex-wrap: wrap; }
  .property-overview-wrap .block-title-wrap > div { flex: 0 0 100%; margin-top: 18px; }
  .property-overview-wrap .block-title-wrap > div > strong { display: block; margin-bottom: 2px; } /* the ID on one line */
}
