/* Golfi Real Estate — Brand & UI Overrides */
/* PHASE 2 BRAND — Google Fonts (Poppins + Lora). MUST stay at the top:
   an @import is only valid CSS before any style rule, so it cannot live in
   the appended Phase 2 block at the bottom. Delete this line to revert fonts. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Lora:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
    --ztc-text-text-4: #003DA5;
    --ztc-bg-bg-3: #003DA5;
    /* NOTE: --ztc-text-text-5 (#073B3A) stays as-is — it is used as a text colour 37×
       across the theme. The green hero/banner OVERLAYS that used that var are re-pointed
       to Golfi Blue via explicit selectors at the bottom of this file instead. */
    --ztc-bg-bg-4: #0D1B3E;
    --ztc-text-text-6: #003DA5;
    --ztc-bg-bg-5: #003DA5;
    --ztc-text-text-7: #003DA5;
    --ztc-bg-bg-6: #003DA5;
    --ztc-text-text-8: #003DA5;
    --ztc-bg-bg-7: #003DA5;
  }
  /* ── STICKY HEADER ───────────────────────────── */
  .homepage2-body .header-area.homepage2.sticky { background: #0D1B3E !important; }
  .homepage2-body .header-area.homepage2 nav#navbar-example2 ul li a.nav-link.active { color: #003DA5 !important; }
  /* ── DESKTOP LOGO (Golfi-only) ───────────────── */
  .site-logo { display: flex !important; align-items: center !important; }
  .golfi-main-logo { max-height: 48px; width: auto; }
  /* ── BUTTONS ─────────────────────────────────── */
  .theme-btn, .theme-btn3 { background: #003DA5 !important; }
  .theme-btn:hover, .theme-btn3:hover { background: #003DA5 !important; }
  /* ── TAGS / BADGES ───────────────────────────── */
  .feature-tag, .property-tag, .property-badge { background: #003DA5 !important; color: #fff !important; }
  /* ── SECTION HEADERS ─────────────────────────── */
  .section-header span, .heading-area span { color: #003DA5 !important; }
  /* ── COUNTER SECTION ─────────────────────────── */
  .counter-section, .counter-section-area { background: #0D1B3E !important; }
  .counter-section *, .counter-section-area * { color: #fff !important; }
  .counter-section h2, .counter-section-area h2,
  .counter-section .counter, .counter-section-area .counter { color: #fff !important; }
  .counter-section span, .counter-section-area span { color: #003DA5 !important; }
  /* ── FOOTER ──────────────────────────────────── */
  .footer2-section-area { background: #0D1B3E !important; }
  .footer2-section-area h3,
  .footer2-section-area h4,
  .footer2-section-area p,
  .footer2-section-area li,
  .footer2-section-area a,
  .footer2-section-area span,
  .footer2-section-area .copyright p { color: #ffffff !important; }
  .footer2-section-area a:hover { color: #003DA5 !important; }
  .footer2-section-area .social li a { background: rgba(255,255,255,0.12) !important; color: #fff !important; }
  .footer2-section-area .social li a:hover { background: #003DA5 !important; color: #fff !important; }
  .footer2-section-area .contact li a svg { fill: #003DA5 !important; }
  .footer2-section-area .copyright { border-top: 1px solid rgba(255,255,255,0.15); padding-top: 24px; }
  /* ── FOOTER BRAND ROW ────────────────────────── */
  .footer-brand-row { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
  .footer-brand-row .golfi-logo img { max-height: 48px; width: auto; }
  .footer-brand-row .logo-divider { width: 1px; height: 38px; background: rgba(255,255,255,0.25); display: inline-block; }
  .footer-brand-row .remax-logo img { max-height: 56px; width: auto; }
  /* ── GOLFI CTA BANNER ───────────────────────────── */
  .golfi-cta-area {
    background: #ffffff;
    border-top: 4px solid #003DA5;
    padding: 80px 0;
  }
  .golfi-cta-eyebrow {
    display: inline-block;
    background: #003DA5;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 3px;
    margin-bottom: 20px;
  }
  .golfi-cta-area .cta-header h2 {
    color: #0D1B3E !important;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
  }
  .golfi-cta-area .cta-header p {
    color: #5a6473 !important;
    font-size: 16px;
    line-height: 1.75;
    margin-top: 16px;
  }
  .golfi-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .golfi-cta-btn {
    display: block !important;
    width: 100%;
    text-align: center;
    background: #003DA5 !important;
    border-radius: 8px !important;
    padding: 17px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #fff !important;
    box-shadow: 0 6px 24px rgba(0,61,165,0.25);
    transition: background 0.2s, box-shadow 0.2s;
  }
  .golfi-cta-btn:hover { background: #002D7A !important; box-shadow: 0 8px 30px rgba(0,61,165,0.38); }
  .golfi-cta-phone {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    text-align: center;
    color: #0D1B3E !important;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    padding: 15px 32px;
    border: 1.5px solid #d0d5de;
    border-radius: 8px;
    transition: border-color 0.2s, color 0.2s;
  }
  .golfi-cta-phone:hover { border-color: #003DA5 !important; color: #003DA5 !important; }
  .golfi-cta-phone svg { fill: currentColor; flex-shrink: 0; }
  @media (max-width: 991px) {
    .golfi-cta-area { padding: 56px 0; }
    .golfi-cta-area .cta-header h2 { font-size: 28px; }
    .golfi-cta-actions { margin-top: 36px; }
  }

  /* ── HERO / BANNER OVERLAYS → GOLFI DARK BLUE (more see-through) ──────
     Theme default is dark green #073B3A at 90%/60%. Re-point to deep Golfi
     blue and dial the opacity down so the property photo shows through. */
  .hero2-slider-sectionarea .hero2-slider-area::after { background: #003DA5 !important; opacity: 0.62 !important; }  /* home hero: dark muted red tint (not garish) */
  .hero2-small-img .img1 { background: #003DA5 !important; }                                                        /* home hero circle rings -> red */
  .hero-inner-section-area-sidebar::after { background: #003DA5 !important; opacity: 0.5 !important; }               /* inner-page banner red tint */

  /* ── HERO SLIDES: equal height so the slider doesn't jump slide-to-slide ── */
  @media (min-width: 992px) {
    .hero2-slider-sectionarea .hero2-slider-area { box-sizing: border-box; min-height: 846px; }
  }

  /* ── HOME SEARCH PILLS: distinct, separated Sell / Buy / Rent ─────────── */
  .others-section-area2 .property-tab-section .tab-header {
    display: inline-flex !important;
    gap: 10px;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: visible !important;
    padding: 0;
    margin-bottom: 14px;
  }
  .others-section-area2 .property-tab-section .tab-header .tab-btn {
    background: #EDF1F6 !important;
    color: #0D1B3E !important;
    border: 1.5px solid #d7dde7 !important;
    border-radius: 30px !important;
    padding: 12px 38px !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 6px rgba(13,27,62,.06);
    transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
  }
  .others-section-area2 .property-tab-section .tab-header .tab-btn:hover {
    background: #fff !important;
    color: #003DA5 !important;
    border-color: #003DA5 !important;
  }
  .others-section-area2 .property-tab-section .tab-btn.active {
    background: #003DA5 !important;
    color: #fff !important;
    border-color: #003DA5 !important;
    box-shadow: 0 4px 14px rgba(0,61,165,.30);
  }
  /* Card corners fully rounded now that the pills float above it */
  .others-section-area2 .property-tab-section .filters { border-radius: 16px !important; }
  @media (max-width: 767px) {
    .others-section-area2 .property-tab-section .tab-header { flex-wrap: wrap; gap: 8px; }
    .others-section-area2 .property-tab-section .tab-header .tab-btn { width: auto !important; padding: 10px 24px !important; }
  }

/* ── RE/MAX red+blue: red text on blue buttons + red heading accents (Jennifer) ── */
.theme-btn3, .theme-btn1, .theme-btn, .golfi-cta-btn,
.property-tab-section .tab-header .tab-btn.active { color:#ffffff !important; }
.theme-btn3 svg, .theme-btn1 svg, .theme-btn svg, .golfi-cta-btn svg { fill:#ffffff !important; }

/* ── GLOBAL BRAND-BUTTON DEFAULT (Jennifer): idle = blue, white text ──
   Covers EVERY theme-btn variant (.theme-btn, .theme-btn1..4) + .golfi-cta-btn
   so no button starts non-blue. Hover/active red rules below win via the
   higher specificity of :hover / .active — do not remove those. */
[class*="theme-btn"], .golfi-cta-btn {
  background:#003DA5 !important; background-color:#003DA5 !important;
  border-color:#003DA5 !important; color:#ffffff !important;
}
[class*="theme-btn"] svg, .golfi-cta-btn svg { fill:#ffffff !important; }

/* ── Search panel red outlines (Jennifer): white box + each pill + header ── */
.search-filter-form { border:none !important; }
.search-filter-form .filters { border:2px solid #DC1C2E !important; border-radius:16px !important; }
.property-tab-section .tab-header .tab-btn { border:2px solid #DC1C2E !important; }

/* ── Selected/active tab -> red (Jennifer): Sell/Buy/Rent + For Sale/Rent ── */
.property-tab-section .tab-header .tab-btn.active,
.tab-header .tab-btn.active { background:#DC1C2E !important; color:#ffffff !important; }
.tab-header .tab-btn.active svg { fill:#ffffff !important; }

/* ── Every selected/active/hover state on blue controls -> RED + white text (Jennifer) ── */
.others-section-area2 .property-tab-section .tab-btn.active,
.property-tab-section .tab-header .tab-btn.active,
.tab-btn.active,
.theme-btn:hover, .theme-btn1:hover, .theme-btn2:hover, .theme-btn3:hover, .theme-btn4:hover, .golfi-cta-btn:hover,
.search-button button:hover, #search-sale:hover, #search-sale1:hover,
.nice-select .option.selected, .nice-select .option:hover,
.pagination .active, .pagination a.active, .pagination li.active a, .pagination a:hover {
  background:#DC1C2E !important; color:#ffffff !important; border-color:#DC1C2E !important;
}
.theme-btn:hover svg, .theme-btn1:hover svg, .theme-btn3:hover svg, .golfi-cta-btn:hover svg,
.search-button button:hover svg, .tab-btn.active svg { fill:#ffffff !important; }

/* ── Content property-type tabs (Villas/Apartments…): theme green -> brand ── */
[role="tab"] { color:#0D1B3E !important; background:rgba(13,27,62,.06) !important; }
[role="tab"]:hover { color:#003DA5 !important; }
[role="tab"][aria-selected="true"], [role="tab"].active { background:#DC1C2E !important; color:#ffffff !important; }
[role="tab"] svg { fill:currentColor !important; }

/* ── Header navigation: highlighted -> RED (hover + active) ── */
header .main-menu ul li a:hover,
header .main-menu ul li a.active,
header .main-menu .nav-link.active,
header .main-menu li.active > a,
header .main-menu .dropdown-padding li a:hover,
header .main-menu .dropdown-padding li a.active { color:#DC1C2E !important; }

/* ── Hover on buttons/controls -> RED (not blue); nav excluded ── */
[class*="theme-btn"]:hover, .golfi-cta-btn:hover, .golfi-cta-phone:hover,
.others-section-area2 button:hover, .search-filter-form button:hover,
.search-button button:hover, #search-sale:hover, #search-sale1:hover,
.tab-btn:hover, [role="tab"]:hover, .customize-sale:hover, .pagination a:hover {
  background:#DC1C2E !important; background-color:#DC1C2E !important; color:#ffffff !important; border-color:#DC1C2E !important;
}
[class*="theme-btn"]:hover svg, .golfi-cta-btn:hover svg, .search-button button:hover svg,
.others-section-area2 button:hover svg, .tab-btn:hover svg, [role="tab"]:hover svg { fill:#ffffff !important; }
[class*="theme-btn"]:hover::before, [class*="theme-btn"]:hover::after,
.golfi-cta-btn:hover::before, .golfi-cta-btn:hover::after { background:#DC1C2E !important; background-color:#DC1C2E !important; }

/* ── Hover fixes: Sell/Rent pills + What's-My-Home-Worth sticky tab -> red ── */
.others-section-area2 .property-tab-section .tab-header .tab-btn:hover { background:#DC1C2E !important; color:#ffffff !important; border-color:#DC1C2E !important; }
#ga-hv-tab:hover { background:#DC1C2E !important; }

/* ── Chat launcher bubble shows Jennifer's photo (fills the circle) ── */
#ga-btn img { width:100% !important; height:100% !important; border-radius:50% !important; object-fit:cover !important; object-position:center 20% !important; }
#ga-btn { overflow:hidden; }

/* ── Footer: links + social icons -> RED on hover/active (universal rule) ── */
.footer2-section-area a:hover, .footer2-section-area a:hover i,
.footer2-section-area .social li a:hover, .footer2-section-area .social li a:hover i,
footer a:hover, footer a:hover i { color:#DC1C2E !important; }
.footer2-section-area a.active { color:#DC1C2E !important; }

/* Jennifer portrait — keep her face in frame wherever the theme crops it (cover) */
img[src*="jennifer-melo"]{object-position:50% 18% !important;}

/* Homepage "Latest Blog" teaser — uniform, sharp tiles (scoped to the 3 teaser cards only) */
[data-blog-card]{height:100%;display:flex;flex-direction:column;}
[data-blog-card] .img1{width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:12px;}
[data-blog-card] [data-blog-img]{width:100%;height:100%;object-fit:cover;display:block;}
[data-blog-card] .content-area{flex:1 1 auto;display:flex;flex-direction:column;}
[data-blog-card] [data-blog-title]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;}

/* ══════════════════════════════════════════════════════════════════════
   BLOG MANAGER (scoped .bm-*) — native, on-brand publishing console
   navy #0D1B3E · blue #003DA5 · red #DC1C2E
   ══════════════════════════════════════════════════════════════════════ */
.bm-hero-subtext{max-width:640px;margin:0 auto;color:#ffffff;opacity:.92;font-size:16px;line-height:1.6;}
.bm-wrap{--bm-navy:#0D1B3E;--bm-blue:#003DA5;--bm-red:#DC1C2E;color:var(--bm-navy);}

/* ── Toolbar ─────────────────────────────────────────────────────────── */
.bm-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 22px;background:#fff;border:1px solid #e7eaf1;border-radius:16px;
  box-shadow:0 8px 30px rgba(13,27,62,.06);}
.bm-toolbar-left{flex:1 1 auto;min-width:200px;}
.bm-toolbar-right{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;}
.bm-stat{margin:0;font-size:16px;font-weight:600;color:var(--bm-navy);}

/* ── Buttons ─────────────────────────────────────────────────────────── */
.bm-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;font-size:14px;font-weight:700;line-height:1;letter-spacing:.01em;
  padding:12px 20px;border-radius:10px;border:2px solid transparent;cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease;
  white-space:nowrap;text-decoration:none;}
.bm-btn:active{transform:translateY(1px);}
.bm-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;}
.bm-btn-primary{background:var(--bm-blue);color:#fff;box-shadow:0 6px 18px rgba(0,61,165,.28);}
.bm-btn-primary:hover:not(:disabled){background:var(--bm-red);box-shadow:0 8px 24px rgba(226,0,26,.32);}
.bm-btn-secondary{background:#fff;color:var(--bm-navy);border-color:#d5dbe7;}
.bm-btn-secondary:hover:not(:disabled){border-color:var(--bm-blue);color:var(--bm-blue);}
.bm-btn-ghost{background:transparent;color:var(--bm-navy);border-color:transparent;padding-left:12px;padding-right:12px;}
.bm-btn-ghost:hover:not(:disabled){color:var(--bm-red);}
.bm-btn-mini{padding:8px 14px;font-size:13px;border-radius:8px;background:var(--bm-blue);color:#fff;}
.bm-btn-mini:hover:not(:disabled){background:var(--bm-red);}

/* Spinner (shown while a button is loading) */
.bm-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;border-radius:50%;animation:bm-spin .7s linear infinite;}
.bm-btn.bm-loading .bm-spinner{display:inline-block;}
.bm-btn.bm-loading .bm-btn-label{opacity:.85;}
.bm-btn-secondary .bm-spinner,.bm-btn-ghost .bm-spinner{border-color:rgba(0,61,165,.3);border-top-color:var(--bm-blue);}
@keyframes bm-spin{to{transform:rotate(360deg);}}

/* ── Selection bar ───────────────────────────────────────────────────── */
.bm-selbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:14px;padding:14px 20px;border-radius:14px;
  background:linear-gradient(90deg,rgba(0,61,165,.08),rgba(226,0,26,.06));
  border:1px solid rgba(0,61,165,.18);animation:bm-slidein .22s ease;}
.bm-selcount{font-weight:700;color:var(--bm-navy);}
.bm-selbar-actions{display:flex;gap:10px;flex-wrap:wrap;}
@keyframes bm-slidein{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* ── Grid ────────────────────────────────────────────────────────────── */
.bm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:991px){.bm-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:575px){.bm-grid{grid-template-columns:1fr;}}

/* ── Card ────────────────────────────────────────────────────────────── */
.bm-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7eaf1;border-radius:16px;
  overflow:hidden;box-shadow:0 6px 22px rgba(13,27,62,.06);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.bm-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(13,27,62,.13);}
.bm-card-selected{border-color:var(--bm-blue);box-shadow:0 0 0 2px rgba(0,61,165,.25),0 12px 34px rgba(13,27,62,.12);}
.bm-card-published{border-color:rgba(21,128,61,.28);}
.bm-card-justpublished{animation:bm-pop .5s ease;}
@keyframes bm-pop{0%{transform:scale(.98);}50%{transform:scale(1.01);}100%{transform:scale(1);}}

.bm-thumb{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;
  background:linear-gradient(135deg,#0D1B3E,#003DA5);}
.bm-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.bm-thumb-fallback{background:linear-gradient(135deg,#0D1B3E 0%,#003DA5 100%);}
.bm-thumb-fallback::after{content:"Golfi Real Estate";position:absolute;inset:0;display:flex;
  align-items:center;justify-content:center;color:rgba(255,255,255,.72);font-weight:700;
  font-size:14px;letter-spacing:.04em;text-align:center;padding:0 16px;}
.bm-badge{position:absolute;top:12px;left:12px;z-index:2;padding:5px 12px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.2);}
.bm-badge-advice{background:var(--bm-navy);}
.bm-badge-buy{background:var(--bm-blue);}
.bm-badge-sell{background:var(--bm-red);}

.bm-card-body{flex:1 1 auto;display:flex;flex-direction:column;padding:18px 18px 8px;}
.bm-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.bm-date{font-size:12.5px;font-weight:600;color:#7a839a;}
.bm-title{margin:0 0 8px;font-size:18px;font-weight:800;line-height:1.35;color:var(--bm-navy);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;}
.bm-excerpt{margin:0;font-size:14px;line-height:1.55;color:#59617a;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.bm-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 18px 18px;margin-top:auto;}
.bm-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  font-size:12.5px;font-weight:800;}
.bm-pill-published{background:rgba(21,128,61,.12);color:#15803d;}
.bm-view{font-size:13px;font-weight:700;color:var(--bm-blue);text-decoration:none;}
.bm-view:hover{color:var(--bm-red);text-decoration:underline;}

/* Checkbox */
.bm-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-size:13px;font-weight:600;color:var(--bm-navy);}
.bm-check-input{position:absolute;opacity:0;width:1px;height:1px;}
.bm-check-box{width:20px;height:20px;border:2px solid #c4ccdb;border-radius:6px;display:inline-flex;
  align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;background:#fff;}
.bm-check-box::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);transition:transform .15s ease;margin-top:-2px;}
.bm-check-input:checked+.bm-check-box{background:var(--bm-blue);border-color:var(--bm-blue);}
.bm-check-input:checked+.bm-check-box::after{transform:rotate(45deg) scale(1);}
.bm-check-input:focus-visible+.bm-check-box{box-shadow:0 0 0 3px rgba(0,61,165,.3);}

/* ── Skeleton loaders ────────────────────────────────────────────────── */
.bm-skel{position:relative;overflow:hidden;background:#e9edf4;border-radius:8px;}
.bm-skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  animation:bm-shimmer 1.3s infinite;}
@keyframes bm-shimmer{100%{transform:translateX(100%);}}
.bm-card-skel .bm-thumb{aspect-ratio:3/2;border-radius:0;}
.bm-card-skel .bm-card-body{padding:18px;}
.bm-skel-line{height:12px;margin-bottom:12px;}

/* ── Empty / error state ─────────────────────────────────────────────── */
.bm-empty{grid-column:1/-1;text-align:center;padding:56px 24px;background:#fff;border:1px dashed #d5dbe7;border-radius:16px;}
.bm-empty-icon{font-size:40px;margin-bottom:12px;}
.bm-empty h3{margin:0 0 8px;color:var(--bm-navy);font-weight:800;}
.bm-empty p{margin:0 0 18px;color:#7a839a;}

/* ── Key modal ───────────────────────────────────────────────────────── */
.bm-modal[hidden]{display:none;}
.bm-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;}
.bm-modal-backdrop{position:absolute;inset:0;background:rgba(13,27,62,.55);backdrop-filter:blur(2px);animation:bm-fade .2s ease;}
.bm-modal-card{position:relative;width:100%;max-width:420px;background:#fff;border-radius:18px;
  padding:28px;box-shadow:0 24px 70px rgba(13,27,62,.4);animation:bm-modalin .24s ease;}
@keyframes bm-fade{from{opacity:0;}to{opacity:1;}}
@keyframes bm-modalin{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
.bm-modal-title{margin:0 0 8px;font-size:20px;font-weight:800;color:var(--bm-navy);}
.bm-modal-desc{margin:0 0 18px;font-size:14px;line-height:1.55;color:#7a839a;}
.bm-modal-label{display:block;font-size:13px;font-weight:700;color:var(--bm-navy);margin-bottom:6px;}
.bm-modal-input{width:100%;padding:12px 14px;border:2px solid #d5dbe7;border-radius:10px;font-size:15px;
  font-family:inherit;color:var(--bm-navy);transition:border-color .15s ease,box-shadow .15s ease;}
.bm-modal-input:focus{outline:none;border-color:var(--bm-blue);box-shadow:0 0 0 3px rgba(0,61,165,.18);}
.bm-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;}
body.bm-modal-open{overflow:hidden;}

/* ── Toasts ──────────────────────────────────────────────────────────── */
.bm-toasts{position:fixed;right:20px;bottom:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;
  max-width:min(92vw,380px);}
.bm-toast{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:12px;background:#fff;
  color:var(--bm-navy);box-shadow:0 12px 40px rgba(13,27,62,.22);border-left:4px solid var(--bm-blue);
  opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease;font-size:14px;font-weight:600;}
.bm-toast-in{opacity:1;transform:none;}
.bm-toast-out{opacity:0;transform:translateY(10px);}
.bm-toast-msg{flex:1 1 auto;}
.bm-toast-success{border-left-color:#15803d;}
.bm-toast-error{border-left-color:var(--bm-red);}
.bm-toast-info{border-left-color:var(--bm-blue);}
.bm-toast-action{flex-shrink:0;background:transparent;border:none;color:var(--bm-blue);font-weight:800;
  font-size:13px;cursor:pointer;padding:4px 6px;border-radius:6px;font-family:inherit;}
.bm-toast-action:hover{color:var(--bm-red);text-decoration:underline;}

@media (max-width:575px){
  .bm-toolbar{padding:16px;}
  .bm-toolbar-right{width:100%;}
  .bm-toolbar-right .bm-btn{flex:1 1 auto;}
  .bm-toasts{left:12px;right:12px;bottom:12px;max-width:none;}
}

/* ══════════════════════════════════════════════════════════════════════
   BUYER'S GUIDE (scoped .bg-*) — Ontario buyer education, on-brand
   navy #0D1B3E · blue #003DA5 · red #DC1C2E
   ══════════════════════════════════════════════════════════════════════ */
.bg-guide{--bg-navy:#0D1B3E;--bg-blue:#003DA5;--bg-red:#DC1C2E;--bg-soft:#f4f7fc;}
.bg-lead{font-size:18px;line-height:1.75;color:#43506b;}
.bg-sign{margin-top:18px;font-weight:800;color:var(--bg-navy);}
.bg-sign span{display:block;font-weight:600;font-size:14px;color:#6c778f;margin-top:2px;}
.bg-guide .bg-welcome-img{width:100%;border-radius:20px;object-fit:cover;box-shadow:0 22px 60px rgba(13,27,62,.14);}

/* ── Numbered step cards ─────────────────────────────────────────────── */
.bg-step{position:relative;height:100%;background:#fff;border:1px solid #e7ecf5;border-radius:18px;
  padding:34px 26px 28px;box-shadow:0 10px 34px rgba(13,27,62,.06);transition:transform .25s ease,box-shadow .25s ease;overflow:hidden;}
.bg-step:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(13,27,62,.12);}
.bg-step::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--bg-blue),var(--bg-red));}
.bg-num{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;
  background:var(--bg-blue);color:#fff;font-size:24px;font-weight:800;margin-bottom:18px;}
.bg-step h4{color:var(--bg-navy);font-weight:800;margin:0 0 10px;font-size:20px;}
.bg-step p{color:#5a6580;line-height:1.65;margin:0;font-size:15px;}

/* ── Value / feature cards ───────────────────────────────────────────── */
.bg-value{height:100%;background:#fff;border:1px solid #e7ecf5;border-radius:18px;padding:30px 26px;
  box-shadow:0 10px 34px rgba(13,27,62,.05);transition:transform .25s ease,box-shadow .25s ease;}
.bg-value:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(13,27,62,.1);}
.bg-value .bg-ico{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:rgba(0,61,165,.09);color:var(--bg-blue);font-size:24px;margin-bottom:18px;}
.bg-value h4{color:var(--bg-navy);font-weight:800;font-size:19px;margin:0 0 8px;}
.bg-value p{color:#5a6580;line-height:1.65;margin:0;font-size:15px;}

/* ── Finance / condition panels ──────────────────────────────────────── */
.bg-panel{height:100%;background:#fff;border:1px solid #e7ecf5;border-radius:18px;padding:30px 28px;
  box-shadow:0 10px 34px rgba(13,27,62,.05);}
.bg-panel h4{color:var(--bg-navy);font-weight:800;font-size:19px;margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.bg-panel h4 i{color:var(--bg-blue);}
.bg-panel p{color:#5a6580;line-height:1.65;font-size:15px;}
.bg-panel ul{list-style:none;padding:0;margin:0;}
.bg-panel ul li{position:relative;padding:0 0 12px 30px;color:#4a566f;line-height:1.6;font-size:15px;}
.bg-panel ul li:last-child{padding-bottom:0;}
.bg-panel ul li::before{content:"\2713";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:6px;
  background:rgba(0,61,165,.1);color:var(--bg-blue);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.bg-panel strong{color:var(--bg-navy);}

/* Down-payment tier table */
.bg-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:15px;}
.bg-table th,.bg-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #eef1f7;color:#4a566f;}
.bg-table thead th{background:var(--bg-navy);color:#fff;font-weight:700;}
.bg-table thead th:first-child{border-top-left-radius:10px;}
.bg-table thead th:last-child{border-top-right-radius:10px;}
.bg-table tbody tr:last-child td{border-bottom:none;}
.bg-table td strong{color:var(--bg-navy);}

/* ── Checklist grid (touring) ────────────────────────────────────────── */
.bg-checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 30px;}
.bg-checkgrid .bg-chk{position:relative;padding:2px 0 2px 34px;color:#4a566f;line-height:1.6;font-size:15px;}
.bg-checkgrid .bg-chk::before{content:"\2713";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;
  background:var(--bg-blue);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.bg-checkgrid .bg-chk strong{color:var(--bg-navy);}
@media(max-width:767px){.bg-checkgrid{grid-template-columns:1fr;}}

/* ── Section tint + imagery ──────────────────────────────────────────── */
.bg-soft-section{background:var(--bg-soft);}
.bg-round-img{width:100%;border-radius:20px;object-fit:cover;box-shadow:0 18px 50px rgba(13,27,62,.12);}
.bg-callout{background:linear-gradient(120deg,rgba(0,61,165,.06),rgba(226,0,26,.05));border:1px solid #e4e9f4;
  border-radius:16px;padding:22px 26px;color:#43506b;line-height:1.65;font-size:15px;}
.bg-callout strong{color:var(--bg-navy);}

/* ── Inline mortgage-calculator CTA strip ────────────────────────────── */
.bg-tool-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;
  background:var(--bg-navy);border-radius:20px;padding:34px 40px;color:#fff;box-shadow:0 20px 55px rgba(13,27,62,.25);}
.bg-tool-strip h3{color:#fff;font-weight:800;margin:0 0 6px;font-size:24px;}
.bg-tool-strip p{color:rgba(255,255,255,.82);margin:0;font-size:15px;line-height:1.6;}
@media(max-width:575px){.bg-tool-strip{padding:26px 22px;}}


/* ══════════════════════════════════════════════════════════════════════
   GOLFI BRAND KIT — GOLD ACCENTS + PALETTE  (Phase 1, additive/reversible)
   Navy #2F3A4E · Gold #C19B65 (dk #a8834f for text on light) · Red #DC1C2E
   Gold = luxury ACCENT only (decoration + dark-bg text). Never primary btns/body.
   ══════════════════════════════════════════════════════════════════════ */
:root{
  --golfi-navy:#2F3A4E; --golfi-navy-deep:#0D1B3E; --golfi-blue:#003DA5;
  --golfi-gold:#C19B65; --golfi-gold-dk:#a8834f; --golfi-red:#DC1C2E;
  --golfi-steel:#9CB2C9; --golfi-cream:#F1E8DD; --golfi-cool:#E3E4DF; --golfi-gray:#808284;
}
/* Section eyebrows / kickers on LIGHT bg -> deep gold (was blue/green) */
.section-header span, .heading-area span, .heading1 h5{
  color:var(--golfi-gold-dk) !important; letter-spacing:.08em;
}
/* Hero eyebrow sits on the dark blue-tinted panel -> bright gold */
.hero2-header h5{ color:var(--golfi-gold) !important; letter-spacing:.06em; }
/* Counter / stat numbers on navy -> gold pop */
.counter-section span, .counter-section-area span{ color:var(--golfi-gold) !important; }
/* Footer luxury hairlines */
.footer2-section-area .copyright{ border-top:1px solid rgba(193,155,101,.5) !important; }
.footer-brand-row .logo-divider{ background:linear-gradient(180deg,var(--golfi-gold),rgba(193,155,101,0)) !important; }
/* Golfi CTA banner: thin gold top accent */
.golfi-cta-area{ border-top:3px solid var(--golfi-gold); }
/* Buyer's guide: accent bar + icon chips gain gold */
.bg-step::before{ background:linear-gradient(90deg,var(--golfi-blue),var(--golfi-gold) 55%,var(--golfi-red)) !important; }
.bg-value .bg-ico{ background:rgba(193,155,101,.16) !important; color:var(--golfi-gold-dk) !important; }
/* Star ratings -> gold (reviews/testimonials) */
.rating i, .stars i, [class*="rating"] i, .star-rating i,
i.fa-star, .fa-star:before, [class*="review"] .fa-star{ color:var(--golfi-gold) !important; }
/* Official Partner badge: subtle gold ring for premium finish */
.remax-hero-badge span{ box-shadow:0 0 0 1.5px rgba(193,155,101,.85); }

/* ══════════════════════════════════════════════════════════════════════
   Homepage "Latest Blog" teaser — premium category chip (scoped to the 3
   [data-blog-card] teasers inside .blog2-section-area ONLY; blog listing
   pages use .blog-grid-section-area / .blog-bottom-area and are untouched).

   Theme bug: .content-area ul li:nth-child(2) a is position:absolute; top:54%
   with a blue (#003DA5) fill. With our aspect-ratio:3/2 image override, 54%
   lands in the card body and collides with the date. Fix -> repin the chip to
   the thumbnail's top-left corner and restyle it as a gold/navy pill; the date
   returns to a clean, separated meta line.
   ══════════════════════════════════════════════════════════════════════ */
.blog2-section-area [data-blog-card] .content-area ul li:nth-child(2) a{
  position:absolute !important;
  top:16px !important; left:16px !important; right:auto !important; bottom:auto !important;
  z-index:3 !important;
  display:inline-flex !important; align-items:center;
  padding:7px 14px !important;
  background:var(--golfi-gold) !important;   /* brand gold */
  color:var(--golfi-navy-deep) !important;   /* deep navy text */
  border-radius:999px !important;            /* full pill */
  font-size:11px !important; line-height:1 !important;
  font-weight:700 !important; letter-spacing:.09em !important;
  text-transform:uppercase !important;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(13,27,62,.28);
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
/* Author icon is meaningless on a category chip -> hide for a clean text pill */
.blog2-section-area [data-blog-card] .content-area ul li:nth-child(2) a svg{ display:none !important; }
/* Subtle premium hover: invert to navy pill with gold text */
.blog2-section-area [data-blog-card] .content-area ul li:nth-child(2) a:hover{
  background:var(--golfi-navy-deep) !important; color:var(--golfi-gold) !important;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(13,27,62,.34);
}
/* Date -> clean, separated meta line in the card body (never under the chip) */
.blog2-section-area [data-blog-card] .content-area > ul{ margin:0 0 6px !important; }
.blog2-section-area [data-blog-card] .content-area ul li:first-child a{
  color:var(--golfi-gray) !important;
  font-size:14px !important; font-weight:500 !important;
  text-transform:none !important; letter-spacing:.01em;
}


/* ── Header nav white box: clean floating card (no red outline) ── */
.header-area.homepage2 .header-elements{
  border:1px solid rgba(13,27,62,.08) !important;
  border-radius:12px !important;
  box-shadow:0 10px 30px rgba(13,27,62,.10) !important;
}


/* ══════════════════════════════════════════════════════════════════════
   ===== PHASE 2 BRAND: fonts + navy/overlay =====  (additive / reversible)
   Fonts: Poppins (UI + body + headings) · Lora (serif accent, sign-off only).
   The Google Fonts @import for these lives at the VERY TOP of this file —
   an @import must precede all style rules to be valid CSS, so appending it
   here would make browsers ignore it. TO REVERT PHASE 2: delete this block
   AND the @import line near the top of the file.
   ══════════════════════════════════════════════════════════════════════ */

/* ── FONT-FAMILY VARS ── theme Inter -> Poppins (metrics close, low shift).
   --ztc-family-font1 (~584x: body + most headings) & --ztc-family-font2 (~8x). */
:root{
  --ztc-family-font1:'Poppins',sans-serif !important;
  --ztc-family-font2:'Poppins',sans-serif !important;
}
/* Large DISPLAY headings -> Poppins ExtraBold (brand headline weight).
   h3–h6 intentionally keep theme weights (still Poppins via the vars above). */
h1, h2,
.hero2-header h1,
.heading1 h2{
  font-family:'Poppins',sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-.01em;   /* tighten ExtraBold a touch; also guards reflow */
}
/* Body copy stays clean & readable at Poppins 400 (inherited via font1 var).
   Buttons / inputs / nav already use font-family:inherit -> pick up Poppins. */

/* ── LORA SERIF ACCENT (decision) ──────────────────────────────────────
   Kit reserves Lora for large display / elegant accents and caps families
   at 2 (Poppins + Lora = 2, OK). No global serif headings: the hero H1 is
   explicitly Poppins-800 above, and serif uppercase eyebrows read cluttered.
   The one tasteful, contained slot is the buyer's-guide SIGN-OFF NAME
   (.bg-sign) — a signature is a natural, premium serif moment. The title
   line (.bg-sign span) stays Poppins for clean contrast. Lora's woff2 only
   downloads because this rule renders it; delete these 2 lines to drop Lora. */
.bg-sign{ font-family:'Lora',serif !important; font-weight:700 !important; letter-spacing:.01em; }
.bg-sign span{ font-family:'Poppins',sans-serif !important; }

/* ── NAVY HYBRID (conservative) ─────────────────────────────────────────
   Large full-bleed dark fills (footer / counter / sticky header / hero)
   KEEP the established deep navy #0D1B3E. Only discrete MID-TONE components
   move to brand navy #2F3A4E (--golfi-navy) for fidelity; all keep white
   text (#2F3A4E vs #fff ≈ 11:1, past WCAG AAA). Elements touched:
     • .bm-badge-advice   (small "advice" badge beside blue/red siblings)
     • .bg-table thead th (table header row; classic brand-navy header)
     • .bg-tool-strip     (contained mortgage-CTA panel, not a section band)
   The tool strip's deep-navy box-shadow is left as intentional depth. */
.bm-badge-advice{ background:var(--golfi-navy) !important; }
.bg-table thead th{ background:var(--golfi-navy) !important; }
.bg-tool-strip{ background:var(--golfi-navy) !important; }

/* ── HERO / INNER-BANNER OVERLAYS ───────────────────────────────────────
   Retune from bright #003DA5 to deep navy #0D1B3E (more premium, protects
   white-headline legibility). Opacities dialed so the property photo still
   reads beneath. Overrides the Phase-1 lines above (later rule + !important). */
.hero2-slider-sectionarea .hero2-slider-area::after{ background:#0D1B3E !important; opacity:.55 !important; }
.hero-inner-section-area-sidebar::after{ background:#0D1B3E !important; opacity:.5 !important; }
/* ===== END PHASE 2 BRAND ===== */

/* Body element itself -> Poppins (icons keep their own FA font-family) */
body{font-family:'Poppins',sans-serif !important;}
