/* ============================================================================
   MLSImport Elementor — MLS landing-page section widgets.
   Self-contained port of the "Sunny Bento" MLS-page design family (gml-*).
   Tokens resolve from the active theme when present (--c-*, --font-*, --radius-*)
   and fall back to the canonical values, so the widgets render correctly on any
   site this plugin is dropped into. Every class is prefixed mlsimport-elementor-.
   ========================================================================== */
:root {
  --mlsimport-elementor-bg: var(--c-bg, #faf8f3);
  --mlsimport-elementor-surface: var(--c-surface, #ffffff);
  --mlsimport-elementor-surface-2: var(--c-surface-2, #f3efe7);
  --mlsimport-elementor-text: var(--c-text, #1c1917);
  --mlsimport-elementor-muted: var(--c-text-muted, #6b6358);
  --mlsimport-elementor-soft: var(--c-text-soft, #9a9285);
  --mlsimport-elementor-border: var(--c-border, rgba(28, 25, 23, 0.08));
  --mlsimport-elementor-primary: var(--c-primary, #1c1917);
  --mlsimport-elementor-primary-text: var(--c-primary-text, #ffffff);
  --mlsimport-elementor-accent: var(--c-accent, #e85d3c);
  --mlsimport-elementor-accent-soft: var(--c-accent-soft, #fde4d8);
  --mlsimport-elementor-peach: var(--c-peach, #ffd0b3);
  --mlsimport-elementor-mint: var(--c-mint, #b8e6cc);
  --mlsimport-elementor-lavender: var(--c-lavender, #d8caf2);
  --mlsimport-elementor-sky: var(--c-sky, #b3d4f0);
  --mlsimport-elementor-butter: var(--c-butter, #fae39a);
  --mlsimport-elementor-font-heading: var(--font-heading, "DM Sans", system-ui, sans-serif);
  --mlsimport-elementor-font-body: var(--font-body, "DM Sans", system-ui, sans-serif);
  --mlsimport-elementor-font-mono: var(--font-mono, "JetBrains Mono", ui-monospace, monospace);
  --mlsimport-elementor-display-weight: var(--font-display-weight, 600);
  --mlsimport-elementor-tracking: var(--heading-tracking, -0.025em);
  --mlsimport-elementor-radius-sm: var(--radius-sm, 10px);
  --mlsimport-elementor-radius-md: var(--radius-md, 18px);
  --mlsimport-elementor-radius-lg: var(--radius-lg, 28px);
  --mlsimport-elementor-radius-xl: var(--radius-xl, 36px);
}

/* ── Section frame + shared atoms ─────────────────────────────────────────── */
.mlsimport-elementor-sec { padding: 64px 0; font-family: var(--mlsimport-elementor-font-body); color: var(--mlsimport-elementor-text); font-size: 17px; line-height: 1.5; }
.mlsimport-elementor-sec--tint { background: var(--mlsimport-elementor-surface-2); }
.mlsimport-elementor-sec--slim { padding: 18px 0; }
.mlsimport-elementor-sec, .mlsimport-elementor-sec *, .mlsimport-elementor-sec *::before, .mlsimport-elementor-sec *::after { box-sizing: border-box; }
.mlsimport-elementor-sec a { color: inherit; text-decoration: none; }
.mlsimport-elementor-sec h1, .mlsimport-elementor-sec h2, .mlsimport-elementor-sec h3 { font-family: var(--mlsimport-elementor-font-heading); letter-spacing: var(--mlsimport-elementor-tracking); margin: 0; }
.mlsimport-elementor-sec p { margin: 0; }
.mlsimport-elementor-wrap { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

.mlsimport-elementor-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mlsimport-elementor-muted); margin-bottom: 14px; }
.mlsimport-elementor-h2 { font-weight: var(--mlsimport-elementor-display-weight); font-size: 44px; line-height: 1.08; color: var(--mlsimport-elementor-text); }
/* .mlsimport-elementor-sec prefix: the section heading reset (margin: 0) is 0-1-1 and would win over the bare class. */
.mlsimport-elementor-sec .mlsimport-elementor-h2 { margin-bottom: 30px; }
.mlsimport-elementor-h2--52 { font-size: 52px; }
.mlsimport-elementor-h2--34 { font-size: 34px; }
.mlsimport-elementor-h2--26 { font-size: 26px; }
.mlsimport-elementor-h2 a { color: inherit; }
.mlsimport-elementor-h2 a:hover { color: var(--mlsimport-elementor-accent); }
.mlsimport-elementor-lead { font-size: 17px; color: var(--mlsimport-elementor-muted); line-height: 1.6; margin-top: 16px; }
.mlsimport-elementor-head { max-width: 680px; margin-bottom: 40px; }
.mlsimport-elementor-head--wide { max-width: none; }
.mlsimport-elementor-foot { font-size: 13px; color: var(--mlsimport-elementor-soft); font-family: var(--mlsimport-elementor-font-mono); margin-top: 16px; }
.mlsimport-elementor-para { color: var(--mlsimport-elementor-muted); font-size: 16.5px; line-height: 1.65; margin-top: 14px; }
.mlsimport-elementor-para strong, .mlsimport-elementor-para b { color: var(--mlsimport-elementor-text); }
.mlsimport-elementor-para--quote { border-left: 3px solid var(--mlsimport-elementor-accent); background: var(--mlsimport-elementor-surface); border-radius: 0 var(--mlsimport-elementor-radius-md) var(--mlsimport-elementor-radius-md) 0; padding: 20px 24px; }
.mlsimport-elementor-para--pull { background: var(--mlsimport-elementor-accent-soft); border-radius: var(--mlsimport-elementor-radius-md); padding: 18px 20px; font-weight: 500; color: var(--mlsimport-elementor-text); }

.mlsimport-elementor-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 500; background: var(--mlsimport-elementor-surface); color: var(--mlsimport-elementor-muted); border: 1px solid var(--mlsimport-elementor-border); }

.mlsimport-elementor-btn { display: inline-flex; align-items: center; gap: 8px; padding: 15px 24px; border-radius: 999px; border: none; font-weight: 500; font-size: 15px; font-family: var(--mlsimport-elementor-font-body); line-height: 1.5; transition: transform .16s cubic-bezier(.34,1.56,.64,1), box-shadow .18s ease; }
.mlsimport-elementor-btn:hover { transform: translateY(-2px); }
.mlsimport-elementor-btn--primary { background: var(--mlsimport-elementor-primary); color: var(--mlsimport-elementor-primary-text); }
.mlsimport-elementor-sec a.mlsimport-elementor-btn--primary { color: var(--mlsimport-elementor-primary-text); }
.mlsimport-elementor-btn--primary:hover { box-shadow: 0 10px 24px -10px rgba(0,0,0,.45); }
.mlsimport-elementor-btn--ghost { background: transparent; color: var(--mlsimport-elementor-text); border: 1px solid var(--mlsimport-elementor-border); }

/* Icon chips (pastel tints) */
.mlsimport-elementor-tint--peach { background: var(--mlsimport-elementor-peach); }
.mlsimport-elementor-tint--mint { background: var(--mlsimport-elementor-mint); }
.mlsimport-elementor-tint--lavender { background: var(--mlsimport-elementor-lavender); }
.mlsimport-elementor-tint--sky { background: var(--mlsimport-elementor-sky); }
.mlsimport-elementor-tint--butter { background: var(--mlsimport-elementor-butter); }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.mlsimport-elementor-sec.mlsimport-elementor-hero { padding: 56px 0; position: relative; overflow: hidden; }
.mlsimport-elementor-hero__blob { position: absolute; top: -120px; right: -80px; width: 560px; height: 560px; background: radial-gradient(circle, var(--mlsimport-elementor-butter), transparent 70%); opacity: .55; z-index: 0; pointer-events: none; }
.mlsimport-elementor-hero .mlsimport-elementor-wrap { position: relative; z-index: 1; }
.mlsimport-elementor-hero__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr); gap: 56px; align-items: center; }
.mlsimport-elementor-hero__chip { display: inline-flex; width: fit-content; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 500; background: var(--mlsimport-elementor-surface); color: var(--mlsimport-elementor-muted); border: 1px solid var(--mlsimport-elementor-border); font-family: var(--mlsimport-elementor-font-mono); letter-spacing: .02em; }
.mlsimport-elementor-hero__chip-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mlsimport-elementor-accent); flex: 0 0 auto; }
.mlsimport-elementor-hero__title { font-weight: var(--mlsimport-elementor-display-weight); font-size: 56px; line-height: 1.04; color: var(--mlsimport-elementor-text); margin-top: 22px; }
.mlsimport-elementor-hero__sub { font-size: 19px; color: var(--mlsimport-elementor-muted); line-height: 1.55; margin-top: 22px; max-width: 500px; }
.mlsimport-elementor-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.mlsimport-elementor-hero__works { font-size: 13px; color: var(--mlsimport-elementor-soft); margin-top: 18px; }
.mlsimport-elementor-hero__slot { align-self: stretch; min-height: 440px; border: 2px dashed var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-lg); background: var(--mlsimport-elementor-surface); display: flex; align-items: center; justify-content: center; }
.mlsimport-elementor-hero__slot::after { content: "VISUAL SLOT"; font-family: var(--mlsimport-elementor-font-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--mlsimport-elementor-soft); }
.mlsimport-elementor-hero__img { align-self: stretch; min-height: 440px; border-radius: var(--mlsimport-elementor-radius-lg); background-size: cover; background-position: center; }

/* ── TOC chip strip ───────────────────────────────────────────────────────── */
.mlsimport-elementor-toc { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mlsimport-elementor-toc__label { font-family: var(--mlsimport-elementor-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mlsimport-elementor-soft); margin-right: 6px; }
.mlsimport-elementor-toc a.mlsimport-elementor-chip:hover { border-color: var(--mlsimport-elementor-accent); color: var(--mlsimport-elementor-accent); }

/* ── Linked start cards (3-col) ───────────────────────────────────────────── */
.mlsimport-elementor-scards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mlsimport-elementor-scard { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-lg); min-height: 260px; display: flex; flex-direction: column; padding: 30px 28px; }
.mlsimport-elementor-scard__ic { width: 52px; height: 52px; border-radius: var(--mlsimport-elementor-radius-md); color: #1c1917; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.mlsimport-elementor-scard__title { font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--mlsimport-elementor-text); margin-bottom: 10px; }
.mlsimport-elementor-scard__title a:hover { color: var(--mlsimport-elementor-accent); }
.mlsimport-elementor-scard__body { color: var(--mlsimport-elementor-muted); font-size: 14.5px; line-height: 1.55; }
.mlsimport-elementor-scard__link { margin-top: auto; padding-top: 18px; }
.mlsimport-elementor-scard__link a { font-size: 14px; font-weight: 600; color: var(--mlsimport-elementor-accent); display: inline-flex; align-items: center; gap: 7px; }

/* ── Facts panel (prose + key/value aside) ────────────────────────────────── */
.mlsimport-elementor-facts__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: flex-start; }
.mlsimport-elementor-facts__box { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-lg); padding: 14px 26px; }
.mlsimport-elementor-facts__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 0; }
.mlsimport-elementor-facts__row + .mlsimport-elementor-facts__row { border-top: 1px solid var(--mlsimport-elementor-border); }
.mlsimport-elementor-facts__k { flex: 0 0 auto; font-size: 13px; color: var(--mlsimport-elementor-soft); font-family: var(--mlsimport-elementor-font-mono); letter-spacing: .02em; }
.mlsimport-elementor-facts__v { flex: 1 1 auto; font-size: 15px; font-weight: 600; color: var(--mlsimport-elementor-text); text-align: right; }

/* ── Coverage (stat tiles + pill groups) ──────────────────────────────────── */
.mlsimport-elementor-cov__stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 44px; }
.mlsimport-elementor-stat { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-md); padding: 24px 22px; }
.mlsimport-elementor-stat__n { font-family: var(--mlsimport-elementor-font-heading); font-size: 40px; font-weight: var(--mlsimport-elementor-display-weight); line-height: 1; letter-spacing: var(--mlsimport-elementor-tracking); color: var(--mlsimport-elementor-text); }
.mlsimport-elementor-stat__l { font-size: 13px; color: var(--mlsimport-elementor-muted); margin-top: 8px; }
.mlsimport-elementor-cov__cols { display: grid; grid-template-columns: repeat(var(--mlsimport-elementor-cov-cols, 2), minmax(0,1fr)); gap: 40px; }
.mlsimport-elementor-cov__col { min-width: 0; }
.mlsimport-elementor-cov__colhead { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; color: var(--mlsimport-elementor-text); }
.mlsimport-elementor-cov__colhead-t { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--mlsimport-elementor-muted); }
.mlsimport-elementor-cov__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.mlsimport-elementor-cov__pills .mlsimport-elementor-chip { background: var(--mlsimport-elementor-surface); }

/* ── Icon cards ───────────────────────────────────────────────────────────── */
.mlsimport-elementor-icards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.mlsimport-elementor-icards--3 { grid-template-columns: repeat(3, 1fr); }
.mlsimport-elementor-icard { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-lg); display: flex; align-items: flex-start; gap: 18px; padding: 26px; }
.mlsimport-elementor-icard__ic { flex: 0 0 auto; width: 44px; height: 44px; border-radius: var(--mlsimport-elementor-radius-md); background: var(--mlsimport-elementor-accent-soft); color: var(--mlsimport-elementor-accent); display: flex; align-items: center; justify-content: center; }
.mlsimport-elementor-icard__title { font-size: 17px; font-weight: 600; color: var(--mlsimport-elementor-text); margin-bottom: 6px; font-family: var(--mlsimport-elementor-font-heading); letter-spacing: var(--mlsimport-elementor-tracking); }
.mlsimport-elementor-icard__body { font-size: 14px; color: var(--mlsimport-elementor-muted); line-height: 1.55; }

/* ── Tier cards (fees) ────────────────────────────────────────────────────── */
.mlsimport-elementor-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mlsimport-elementor-tier { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.mlsimport-elementor-tier__who { margin: 0; padding: 18px 24px; font-family: var(--mlsimport-elementor-font-body); font-weight: 600; font-size: 17px; line-height: 1.4; color: #1c1917; }
.mlsimport-elementor-tier__body { padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.mlsimport-elementor-tier__pricerow { display: flex; align-items: baseline; gap: 8px; }
.mlsimport-elementor-tier__price { font-family: var(--mlsimport-elementor-font-heading); font-size: 40px; font-weight: var(--mlsimport-elementor-display-weight); line-height: 1; letter-spacing: var(--mlsimport-elementor-tracking); color: var(--mlsimport-elementor-text); }
.mlsimport-elementor-tier__plabel { font-size: 14px; color: var(--mlsimport-elementor-muted); }
.mlsimport-elementor-tier__init { font-size: 13.5px; color: var(--mlsimport-elementor-muted); }
.mlsimport-elementor-tier__init b { font-family: var(--mlsimport-elementor-font-mono); color: var(--mlsimport-elementor-text); font-weight: 600; }
.mlsimport-elementor-tier__note { font-size: 13px; color: var(--mlsimport-elementor-soft); line-height: 1.5; border-top: 1px solid var(--mlsimport-elementor-border); padding-top: 16px; }

/* ── Feature card with CTA (login pattern) ────────────────────────────────── */
.mlsimport-elementor-fcta__card { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-xl); display: grid; grid-template-columns: 1fr 0.9fr; gap: 48px; align-items: center; padding: 44px; }
.mlsimport-elementor-fcta__p { font-size: 15.5px; color: var(--mlsimport-elementor-muted); line-height: 1.6; margin-top: 14px; }
.mlsimport-elementor-fcta__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.mlsimport-elementor-fcta__rows { display: flex; flex-direction: column; gap: 10px; }
.mlsimport-elementor-fcta__row { display: flex; align-items: center; gap: 14px; background: var(--mlsimport-elementor-surface-2); border-radius: var(--mlsimport-elementor-radius-md); padding: 16px 18px; }
.mlsimport-elementor-fcta__row-ic { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 8px; background: var(--mlsimport-elementor-accent-soft); color: var(--mlsimport-elementor-accent); display: flex; align-items: center; justify-content: center; }
.mlsimport-elementor-fcta__row-l { font-size: 14.5px; font-weight: 500; color: var(--mlsimport-elementor-text); }

/* ── Numbered steps beside intro ──────────────────────────────────────────── */
.mlsimport-elementor-steps__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 48px; align-items: flex-start; }
.mlsimport-elementor-steps__badge { display: flex; width: fit-content; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: var(--mlsimport-elementor-mint); font-size: 13px; font-weight: 600; color: #1c1917; margin: 0 0 18px; }
.mlsimport-elementor-steps__badge-dot { width: 7px; height: 7px; border-radius: 50%; background: #1f8a5b; }
.mlsimport-elementor-steps__p { font-size: 15.5px; color: var(--mlsimport-elementor-muted); line-height: 1.6; margin-top: 16px; }
.mlsimport-elementor-steps__badge + .mlsimport-elementor-steps__p { margin-top: 0; }
.mlsimport-elementor-steps__note { display: flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--mlsimport-elementor-soft); font-size: 12.5px; font-family: var(--mlsimport-elementor-font-mono); }
.mlsimport-elementor-steps__card { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-lg); padding: 12px 32px; }
.mlsimport-elementor-steps__row { display: flex; gap: 18px; align-items: flex-start; padding: 18px 0; }
.mlsimport-elementor-steps__row + .mlsimport-elementor-steps__row { border-top: 1px solid var(--mlsimport-elementor-border); }
.mlsimport-elementor-steps__n { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: var(--mlsimport-elementor-accent-soft); color: var(--mlsimport-elementor-accent); display: inline-flex; align-items: center; justify-content: center; font-family: var(--mlsimport-elementor-font-mono); font-size: 13px; font-weight: 600; }
.mlsimport-elementor-steps__title { display: block; font-size: 16px; font-weight: 600; margin-bottom: 3px; color: var(--mlsimport-elementor-text); }
.mlsimport-elementor-steps__body { display: block; font-size: 14px; color: var(--mlsimport-elementor-muted); line-height: 1.5; }

/* ── Step cards + browser mockup ──────────────────────────────────────────── */
.mlsimport-elementor-dcards__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; align-items: center; }
.mlsimport-elementor-dcards__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mlsimport-elementor-dcards__cards--full { grid-template-columns: repeat(4, 1fr); }
.mlsimport-elementor-dcard { background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-lg); min-height: 180px; padding: 24px 22px; }
.mlsimport-elementor-dcard__step { font-family: var(--mlsimport-elementor-font-mono); font-size: 12px; color: var(--mlsimport-elementor-soft); font-weight: 500; letter-spacing: .04em; margin-bottom: 22px; }
.mlsimport-elementor-dcard__title { font-size: 18px; font-weight: 600; line-height: 1.2; color: var(--mlsimport-elementor-text); margin-bottom: 8px; font-family: var(--mlsimport-elementor-font-heading); letter-spacing: var(--mlsimport-elementor-tracking); }
.mlsimport-elementor-dcard__body { color: var(--mlsimport-elementor-muted); font-size: 13.5px; line-height: 1.5; }
.mlsimport-elementor-mock { border-radius: 18px; overflow: hidden; min-width: 0; box-shadow: 0 24px 60px -20px rgba(0,0,0,.18), 0 4px 16px rgba(0,0,0,.06); background: #fff; border: 1px solid rgba(0,0,0,.06); }
.mlsimport-elementor-mock__tb { display: flex; align-items: center; gap: 8px; padding: 11px 14px; background: #f4f1ec; border-bottom: 1px solid rgba(0,0,0,.06); }
.mlsimport-elementor-mock__dot { width: 11px; height: 11px; border-radius: 50%; }
.mlsimport-elementor-mock__dot--r { background: #ed6a5e; }
.mlsimport-elementor-mock__dot--y { background: #f5bf4f; }
.mlsimport-elementor-mock__dot--g { background: #62c554; }
.mlsimport-elementor-mock__url { margin-left: 12px; padding: 5px 12px; background: #fff; border-radius: 6px; font-size: 12px; color: #8a8275; font-family: var(--mlsimport-elementor-font-mono); flex: 1; min-width: 0; max-width: 320px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mlsimport-elementor-mock__ph { height: 300px; display: flex; align-items: center; justify-content: center; color: rgba(0,0,0,.4); font-family: var(--mlsimport-elementor-font-mono); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; background: repeating-linear-gradient(135deg, rgba(0,0,0,.04) 0 8px, rgba(0,0,0,.07) 8px 16px), var(--mlsimport-elementor-mock-bg, var(--mlsimport-elementor-sky)); }
.mlsimport-elementor-dcards__note { display: flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--mlsimport-elementor-muted); font-size: 13.5px; }

/* ── Pricing block ────────────────────────────────────────────────────────── */
.mlsimport-elementor-price__card { max-width: 1176px; margin: 0 auto; background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-xl); overflow: hidden; display: grid; grid-template-columns: 1fr 1.1fr; box-shadow: 0 24px 60px -28px rgba(0,0,0,.15); }
.mlsimport-elementor-price__left { background: var(--mlsimport-elementor-mint); display: flex; flex-direction: column; gap: 18px; position: relative; overflow: hidden; color: #1c1917; padding: 44px 40px; }
.mlsimport-elementor-price__left::before { content: ""; position: absolute; top: -80px; right: -80px; width: 220px; height: 220px; border-radius: 50%; background: var(--mlsimport-elementor-butter); opacity: .5; }
.mlsimport-elementor-price__left > * { position: relative; }
.mlsimport-elementor-price__badge { display: inline-flex; width: fit-content; align-items: center; gap: 8px; padding: 5px 12px; background: rgba(28,25,23,.85); color: #fbf7ee; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mlsimport-elementor-price__badge-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.mlsimport-elementor-price__pricerow { display: flex; align-items: baseline; gap: 8px; }
.mlsimport-elementor-price__price { font-family: var(--mlsimport-elementor-font-heading); font-size: 84px; font-weight: var(--mlsimport-elementor-display-weight); line-height: 1; letter-spacing: var(--mlsimport-elementor-tracking); color: #1c1917; }
.mlsimport-elementor-price__per { font-size: 18px; color: rgba(28,25,23,.6); }
.mlsimport-elementor-price__billed { font-size: 13px; color: rgba(28,25,23,.6); }
.mlsimport-elementor-price__cta { justify-content: center; width: 100%; }
.mlsimport-elementor-price__link { text-align: center; }
.mlsimport-elementor-price__link a { font-size: 13.5px; color: rgba(28,25,23,.7); border-bottom: 1px solid rgba(28,25,23,.2); padding-bottom: 2px; }
.mlsimport-elementor-price__right { display: flex; flex-direction: column; gap: 14px; padding: 44px 40px; }
/* Flex column already spaces via gap — keep the card heading tight. */
.mlsimport-elementor-price__right .mlsimport-elementor-h2 { margin-bottom: 0; }
.mlsimport-elementor-price__feats { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; }
.mlsimport-elementor-price__feat { display: flex; align-items: flex-start; gap: 12px; }
.mlsimport-elementor-price__feat-ic { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: var(--mlsimport-elementor-accent-soft); color: var(--mlsimport-elementor-accent); display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.mlsimport-elementor-price__feat-t { font-size: 15px; line-height: 1.45; color: var(--mlsimport-elementor-text); }

/* ── Contact card ─────────────────────────────────────────────────────────── */
.mlsimport-elementor-contact__card { max-width: 1176px; margin: 0 auto; background: var(--mlsimport-elementor-surface-2); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-xl); display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 48px; align-items: center; padding: 48px 44px; }
.mlsimport-elementor-contact__p { font-size: 15px; color: var(--mlsimport-elementor-muted); line-height: 1.6; margin-top: 14px; }
.mlsimport-elementor-contact__rows { display: flex; flex-direction: column; }
.mlsimport-elementor-contact__row { display: flex; gap: 18px; align-items: flex-start; padding: 18px 0; }
.mlsimport-elementor-contact__row + .mlsimport-elementor-contact__row { border-top: 1px solid var(--mlsimport-elementor-border); }
.mlsimport-elementor-contact__row-ic { flex: 0 0 auto; width: 38px; height: 38px; border-radius: var(--mlsimport-elementor-radius-sm); background: var(--mlsimport-elementor-accent-soft); color: var(--mlsimport-elementor-accent); display: flex; align-items: center; justify-content: center; }
.mlsimport-elementor-contact__row-l { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mlsimport-elementor-soft); margin-bottom: 5px; }
.mlsimport-elementor-contact__row-v { font-size: 15.5px; color: var(--mlsimport-elementor-text); line-height: 1.5; }
.mlsimport-elementor-contact__row-v a { color: var(--mlsimport-elementor-accent); }

/* ── FAQ ──────────────────────────────────────────────────────────────────── */
.mlsimport-elementor-faq__grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 64px; align-items: flex-start; }
.mlsimport-elementor-faq__side { position: sticky; top: 96px; }
.mlsimport-elementor-faq__title { font-size: 44px; line-height: 1.1; font-weight: var(--mlsimport-elementor-display-weight); }
.mlsimport-elementor-faq__sidelead { color: var(--mlsimport-elementor-muted); font-size: 16px; margin-top: 16px; }
.mlsimport-elementor-faq__sidelead a { color: var(--mlsimport-elementor-accent); border-bottom: 1px solid currentColor; }
details.mlsimport-elementor-faq__item { border-bottom: 1px solid var(--mlsimport-elementor-border); padding: 22px 0; }
details.mlsimport-elementor-faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; font-size: 19px; font-weight: 500; color: var(--mlsimport-elementor-text); }
details.mlsimport-elementor-faq__item summary::-webkit-details-marker { display: none; }
details.mlsimport-elementor-faq__item summary::after { content: ""; width: 14px; height: 14px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' d='M3 5l4 4 4-4'/></svg>"); background-repeat: no-repeat; transition: transform .2s; flex: 0 0 auto; margin-left: 16px; }
details.mlsimport-elementor-faq__item[open] summary::after { transform: rotate(180deg); }
.mlsimport-elementor-faq__answer { margin-top: 12px; color: var(--mlsimport-elementor-muted); font-size: 16px; line-height: 1.6; max-width: 720px; }
.mlsimport-elementor-faq__answer a { color: var(--mlsimport-elementor-accent); text-decoration: underline; }

/* ── Prose ────────────────────────────────────────────────────────────────── */
.mlsimport-elementor-prose__cols { column-gap: 40px; }
.mlsimport-elementor-prose__cols--2 { column-count: 2; }
.mlsimport-elementor-prose__cols .mlsimport-elementor-para { break-inside: avoid; }
/* Lead paragraphs flowed into head columns: top-align both columns, space with bottom margins. */
.mlsimport-elementor-head__leadcols { margin-top: 16px; }
.mlsimport-elementor-head__leadcols .mlsimport-elementor-lead { break-inside: avoid; margin-top: 0; margin-bottom: 14px; }
/* Single-paragraph long leads must break mid-paragraph to fill both columns. */
.mlsimport-elementor-head__leadcols--flow .mlsimport-elementor-lead { break-inside: auto; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .mlsimport-elementor-hero__grid, .mlsimport-elementor-facts__grid, .mlsimport-elementor-fcta__card,
  .mlsimport-elementor-steps__grid, .mlsimport-elementor-dcards__grid, .mlsimport-elementor-price__card,
  .mlsimport-elementor-contact__card, .mlsimport-elementor-faq__grid { grid-template-columns: 1fr; }
  .mlsimport-elementor-scards, .mlsimport-elementor-tiers, .mlsimport-elementor-cov__stats,
  .mlsimport-elementor-icards--3, .mlsimport-elementor-dcards__cards--full { grid-template-columns: repeat(2, 1fr); }
  .mlsimport-elementor-icards, .mlsimport-elementor-cov__cols, .mlsimport-elementor-dcards__cards { grid-template-columns: 1fr; }
  .mlsimport-elementor-h2 { font-size: 34px; }
  .mlsimport-elementor-hero__title { font-size: 40px; }
  .mlsimport-elementor-faq__grid { gap: 32px; }
  .mlsimport-elementor-faq__side { position: static; }
  .mlsimport-elementor-prose__cols--2 { column-count: 1; }
}
@media (max-width: 640px) {
  .mlsimport-elementor-scards, .mlsimport-elementor-tiers, .mlsimport-elementor-cov__stats,
  .mlsimport-elementor-icards--3, .mlsimport-elementor-dcards__cards--full { grid-template-columns: 1fr; }
}

/* Card titles are h3 elements (2026-07-22): restore the per-card margins that
   the generic `.mlsimport-elementor-sec h3 { margin: 0 }` reset would strip. */
.mlsimport-elementor-sec h3.mlsimport-elementor-icard__title { margin: 0 0 6px; }
.mlsimport-elementor-sec h3.mlsimport-elementor-dcard__title { margin: 0 0 8px; }
/* Footnote / mock-note lines may carry inline source links — make them visible. */
.mlsimport-elementor-foot a, .mlsimport-elementor-dcards__note a { color: var(--mlsimport-elementor-accent); text-decoration: underline; text-underline-offset: 2px; }

/* Media rows — alternating text/image feature rows (VER 1.1.4). */
.mlsimport-elementor-mrows { display: flex; flex-direction: column; gap: 18px; }
.mlsimport-elementor-mrow { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(28px, 4vw, 60px); align-items: center; background: var(--mlsimport-elementor-surface); border: 1px solid var(--mlsimport-elementor-border); border-radius: var(--mlsimport-elementor-radius-xl); padding: clamp(22px, 3vw, 40px); }
.mlsimport-elementor-mrow--flip .mlsimport-elementor-mrow__media { order: -1; }
.mlsimport-elementor-mrow__title { font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--mlsimport-elementor-text); }
.mlsimport-elementor-sec h3.mlsimport-elementor-mrow__title { margin: 0 0 4px; }
.mlsimport-elementor-mrow__media img { display: block; width: 100%; height: 280px; object-fit: cover; border-radius: var(--mlsimport-elementor-radius-md); }
.mlsimport-elementor-mrow__ph { height: 280px; display: flex; align-items: center; justify-content: center; border-radius: var(--mlsimport-elementor-radius-md); color: rgba(0,0,0,.4); font-family: var(--mlsimport-elementor-font-mono); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.35) 0 8px, rgba(255,255,255,.12) 8px 16px); }
@media (max-width: 900px) {
  .mlsimport-elementor-mrow { grid-template-columns: 1fr; }
  .mlsimport-elementor-mrow__media { order: -1; }
  .mlsimport-elementor-mrow__media img, .mlsimport-elementor-mrow__ph { height: 200px; }
}

/* Paragraph rhythm: consecutive body paragraphs must read as paragraphs, not
   one glued block (user feedback 2026-07-22 on facts/steps intro). */
.mlsimport-elementor-sec p.mlsimport-elementor-para { margin: 18px 0 0; }
.mlsimport-elementor-sec .mlsimport-elementor-steps__p { color: var(--mlsimport-elementor-muted); font-size: 16.5px; line-height: 1.65; margin: 18px 0 0; }

/* Every body control renders blank-line-separated <p>s (VER 1.1.5) — spacing
   between consecutive paragraphs of the same block. */
.mlsimport-elementor-bp { margin: 0; }
.mlsimport-elementor-bp + .mlsimport-elementor-bp { margin-top: 10px; }
p.mlsimport-elementor-scard__body, p.mlsimport-elementor-icard__body, p.mlsimport-elementor-steps__body { margin: 0; }
p.mlsimport-elementor-scard__body + p.mlsimport-elementor-scard__body,
p.mlsimport-elementor-icard__body + p.mlsimport-elementor-icard__body,
p.mlsimport-elementor-steps__body + p.mlsimport-elementor-steps__body { margin-top: 9px; }
p.mlsimport-elementor-hero__sub + p.mlsimport-elementor-hero__sub { margin-top: 10px; }
