.elementor-2551 .elementor-element.elementor-element-213301b1{--display:flex;}/* Start custom CSS *//* ==========================================================================
   Mobile IV Therapy — Blog Master CSS (shared: Phoenix + Las Vegas)
   Lives in: Elementor → Site Settings → Custom CSS (load once, site-wide)
   Namespace: mobile-iv-
   Version: v4.0 — 2026-06-01 (full rebuild)

   v4.0 changes:
   - Light grey TEXT eliminated. All readable text uses --mobile-iv-body (#1E293B).
     Old soft/mute greys are gone; greys survive only as borders/dividers/markers.
   - Single source of truth: every class used by any widget is defined here.
     Widget <style> blocks carry ONLY layout mechanics — never color/font tokens.
   - All prose + widget body text at the 18px floor (17px only at <=640px).
   ========================================================================== */

/* ---------- 1. Font import ---------- */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

/* ---------- 2. Brand tokens ---------- */
:root {
  --mobile-iv-navy:        #023059;
  --mobile-iv-navy-hover:  #034A87;
  --mobile-iv-blue:        #079DE5;
  --mobile-iv-blue-hover:  #06B3FF;
  --mobile-iv-blue-light:  rgba(7, 157, 229, 0.10);
  --mobile-iv-teal:        #0D9488;
  --mobile-iv-teal-hover:  #0F766E;
  --mobile-iv-green-btn:   #1CA54E;

  /* Text — ONE readable color. No light greys on text. */
  --mobile-iv-body:        #1E293B;

  /* Non-text greys (borders / dividers / markers ONLY — never text) */
  --mobile-iv-line:        rgba(2, 48, 89, 0.10);
  --mobile-iv-line-strong: rgba(2, 48, 89, 0.18);

  --mobile-iv-white:       #FFFFFF;
  --mobile-iv-shade:       rgba(2, 48, 89, 0.04);
  --mobile-iv-border:      rgba(2, 48, 89, 0.10);

  --mobile-iv-shadow:      0 4px 15px rgba(2, 48, 89, 0.08);
  --mobile-iv-shadow-lg:   0 8px 25px rgba(2, 48, 89, 0.12);
  --mobile-iv-radius:      16px;
  --mobile-iv-radius-sm:   8px;

  --mobile-iv-font:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mobile-iv-font-heading: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --mobile-iv-gradient:     linear-gradient(135deg, #023059 0%, #079DE5 50%, #0D9488 100%);
  --mobile-iv-gradient-bar: linear-gradient(180deg, #023059 0%, #079DE5 100%);

  --mobile-iv-lh-body:      1.6;
  --mobile-iv-space-para:   1em;
}

/* ---------- 3. Wrapper baseline ---------- */
.mobile-iv-short, .mobile-iv-faq, .mobile-iv-steps, .mobile-iv-disc,
.mobile-iv-cta, .mobile-iv-rev, .mobile-iv-reviewer,
.mobile-iv-prose-01, .mobile-iv-prose-02, .mobile-iv-prose-03 {
  font-family: var(--mobile-iv-font);
  color: var(--mobile-iv-body);
  max-width: 820px;
  margin: 64px auto 0;
}
.mobile-iv-short:first-child, .mobile-iv-faq:first-child, .mobile-iv-steps:first-child,
.mobile-iv-disc:first-child, .mobile-iv-cta:first-child, .mobile-iv-rev:first-child,
.mobile-iv-reviewer:first-child,
.mobile-iv-prose-01:first-child, .mobile-iv-prose-02:first-child, .mobile-iv-prose-03:first-child {
  margin-top: 0;
}
.mobile-iv-short *, .mobile-iv-faq *, .mobile-iv-steps *, .mobile-iv-disc *,
.mobile-iv-cta *, .mobile-iv-rev *, .mobile-iv-reviewer *,
.mobile-iv-prose-01 *, .mobile-iv-prose-02 *, .mobile-iv-prose-03 * {
  box-sizing: border-box;
}
@media (max-width: 640px) {
  .mobile-iv-short, .mobile-iv-faq, .mobile-iv-steps, .mobile-iv-disc,
  .mobile-iv-cta, .mobile-iv-rev, .mobile-iv-reviewer,
  .mobile-iv-prose-01, .mobile-iv-prose-02, .mobile-iv-prose-03 {
    margin-top: 48px;
  }
}

/* ---------- 4. Shared surface + gradient bar ---------- */
.mobile-iv-short, .mobile-iv-faq, .mobile-iv-steps, .mobile-iv-disc, .mobile-iv-reviewer {
  background: var(--mobile-iv-white);
  border: 1px solid var(--mobile-iv-border);
  border-radius: var(--mobile-iv-radius);
  box-shadow: var(--mobile-iv-shadow);
  overflow: hidden;
}
.mobile-iv-faq__bar, .mobile-iv-steps__bar, .mobile-iv-disc__bar {
  height: 4px;
  background: var(--mobile-iv-gradient);
}

/* ---------- 5. PROSE blocks ---------- */
.mobile-iv-prose-01 h2, .mobile-iv-prose-02 h2, .mobile-iv-prose-03 h2 {
  font-family: var(--mobile-iv-font-heading);
  font-size: 28px; font-weight: 800; letter-spacing: -0.03em;
  color: var(--mobile-iv-navy); line-height: 1.2;
  margin: 2em 0 0.6em; padding: 0.5em 0.85em;
  background: var(--mobile-iv-shade);
  border-left: 5px solid; border-image: var(--mobile-iv-gradient-bar) 1; border-radius: 4px;
}
.mobile-iv-prose-01 h3, .mobile-iv-prose-02 h3, .mobile-iv-prose-03 h3 {
  font-family: var(--mobile-iv-font-heading);
  font-size: 22px; font-weight: 700; letter-spacing: -0.02em;
  color: var(--mobile-iv-blue); line-height: 1.3;
  margin: 1.75em 0 0.5em; padding-left: 0.7em; border-left: 4px solid var(--mobile-iv-blue);
}
.mobile-iv-prose-01 h4, .mobile-iv-prose-02 h4, .mobile-iv-prose-03 h4 {
  font-family: var(--mobile-iv-font-heading);
  font-size: 18px; font-weight: 700; letter-spacing: 0.01em;
  color: var(--mobile-iv-teal); margin: 1.5em 0 0.4em;
}
.mobile-iv-prose-01 h2 + p, .mobile-iv-prose-02 h2 + p, .mobile-iv-prose-03 h2 + p,
.mobile-iv-prose-01 h3 + p, .mobile-iv-prose-02 h3 + p, .mobile-iv-prose-03 h3 + p,
.mobile-iv-prose-01 h4 + p, .mobile-iv-prose-02 h4 + p, .mobile-iv-prose-03 h4 + p {
  margin-top: 0;
}
.mobile-iv-prose-01 p, .mobile-iv-prose-02 p, .mobile-iv-prose-03 p,
.mobile-iv-prose-01 li, .mobile-iv-prose-02 li, .mobile-iv-prose-03 li {
  font-size: 18px; font-weight: 400; color: var(--mobile-iv-body); line-height: var(--mobile-iv-lh-body);
}
.mobile-iv-prose-01 p, .mobile-iv-prose-02 p, .mobile-iv-prose-03 p { margin: 0 0 var(--mobile-iv-space-para); }
.mobile-iv-prose-01 ul, .mobile-iv-prose-02 ul, .mobile-iv-prose-03 ul,
.mobile-iv-prose-01 ol, .mobile-iv-prose-02 ol, .mobile-iv-prose-03 ol {
  margin: 0 0 var(--mobile-iv-space-para); padding-left: 1.5em;
}
.mobile-iv-prose-01 li, .mobile-iv-prose-02 li, .mobile-iv-prose-03 li { margin-bottom: 0.5em; }
.mobile-iv-prose-01 li::marker, .mobile-iv-prose-02 li::marker, .mobile-iv-prose-03 li::marker { color: var(--mobile-iv-blue); }
.mobile-iv-prose-01 strong, .mobile-iv-prose-02 strong, .mobile-iv-prose-03 strong { font-weight: 700; color: var(--mobile-iv-navy); }
.mobile-iv-prose-01 a, .mobile-iv-prose-02 a, .mobile-iv-prose-03 a { color: var(--mobile-iv-blue); text-decoration: underline; }
.mobile-iv-prose-01 a:hover, .mobile-iv-prose-02 a:hover, .mobile-iv-prose-03 a:hover { color: var(--mobile-iv-blue-hover); }
.mobile-iv-prose-01 figure, .mobile-iv-prose-02 figure, .mobile-iv-prose-03 figure { margin: 1.5em 0; }
.mobile-iv-prose-01 img, .mobile-iv-prose-02 img, .mobile-iv-prose-03 img { max-width: 100%; height: auto; border-radius: var(--mobile-iv-radius-sm); }
@media (max-width: 640px) {
  .mobile-iv-prose-01 h2, .mobile-iv-prose-02 h2, .mobile-iv-prose-03 h2 { font-size: 24px; padding: 0.45em 0.7em; }
  .mobile-iv-prose-01 h3, .mobile-iv-prose-02 h3, .mobile-iv-prose-03 h3 { font-size: 19px; }
  .mobile-iv-prose-01 p, .mobile-iv-prose-02 p, .mobile-iv-prose-03 p,
  .mobile-iv-prose-01 li, .mobile-iv-prose-02 li, .mobile-iv-prose-03 li { font-size: 17px; }
}

/* ---------- 6. SHORT ANSWER ---------- */
.mobile-iv-short { position: relative; }
.mobile-iv-short::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--mobile-iv-gradient); }
.mobile-iv-short__inner { display: flex; align-items: flex-start; gap: 20px; padding: 28px 32px; }
.mobile-iv-short__icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; min-width: 48px; background: var(--mobile-iv-blue-light); border-radius: 12px; font-size: 22px; }
.mobile-iv-short__title { font-family: var(--mobile-iv-font-heading); font-size: 22px; font-weight: 700; color: var(--mobile-iv-navy); line-height: 1.25; letter-spacing: -0.03em; margin-bottom: 8px; }
.mobile-iv-short__text { font-size: 18px; color: var(--mobile-iv-body); line-height: 1.6; }
.mobile-iv-short__text strong { font-weight: 700; color: var(--mobile-iv-navy); }
@media (max-width: 640px) {
  .mobile-iv-short__inner { flex-direction: column; gap: 14px; padding: 24px 20px; }
  .mobile-iv-short__title { font-size: 20px; }
  .mobile-iv-short__text { font-size: 17px; }
}

/* ---------- 7. STEP PROCESS ---------- */
.mobile-iv-steps__inner { padding: 28px 32px 32px; }
.mobile-iv-steps__title { font-family: var(--mobile-iv-font-heading); font-size: 22px; font-weight: 700; color: var(--mobile-iv-navy); letter-spacing: -0.03em; margin-bottom: 24px; }
.mobile-iv-steps__list { display: flex; flex-direction: column; }
.mobile-iv-steps__item { display: flex; gap: 18px; position: relative; }
.mobile-iv-steps__item::before { content: ''; position: absolute; left: 17px; top: 36px; bottom: 0; width: 2px; background: var(--mobile-iv-line); }
.mobile-iv-steps__item:last-child::before { display: none; }
.mobile-iv-steps__number { width: 36px; height: 36px; min-width: 36px; border-radius: 50%; background: var(--mobile-iv-blue); color: #FFFFFF; font-family: var(--mobile-iv-font-heading); font-size: 15px; font-weight: 700; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; }
.mobile-iv-steps__content { flex: 1; padding-bottom: 24px; }
.mobile-iv-steps__item:last-child .mobile-iv-steps__content { padding-bottom: 0; }
.mobile-iv-steps__step-title { font-family: var(--mobile-iv-font-heading); font-size: 18px; font-weight: 700; color: var(--mobile-iv-navy); letter-spacing: -0.02em; line-height: 1.3; margin-bottom: 4px; padding-top: 6px; }
.mobile-iv-steps__step-text { font-size: 18px; color: var(--mobile-iv-body); line-height: 1.6; }
.mobile-iv-steps__time { display: inline-block; font-size: 14px; font-weight: 600; color: var(--mobile-iv-teal); background: rgba(13, 148, 136, 0.10); padding: 3px 10px; border-radius: 6px; margin-top: 6px; }
@media (max-width: 640px) {
  .mobile-iv-steps__inner { padding: 24px 20px 28px; }
  .mobile-iv-steps__title { font-size: 20px; }
  .mobile-iv-steps__item { gap: 14px; }
  .mobile-iv-steps__item::before { left: 15px; top: 32px; }
  .mobile-iv-steps__number { width: 32px; height: 32px; min-width: 32px; font-size: 14px; }
  .mobile-iv-steps__step-title { font-size: 17px; padding-top: 4px; }
  .mobile-iv-steps__step-text { font-size: 17px; }
}

/* ---------- 8. FAQ ---------- */
.mobile-iv-faq__header { padding: 24px 28px 0; }
.mobile-iv-faq__title { font-family: var(--mobile-iv-font-heading); font-size: 22px; font-weight: 700; color: var(--mobile-iv-navy); line-height: 1.25; letter-spacing: -0.03em; margin-bottom: 18px; }
.mobile-iv-faq__item { border-top: 1px solid var(--mobile-iv-border); }
.mobile-iv-faq__question { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 18px 28px; background: none; border: none; cursor: pointer; text-align: left; transition: background 0.3s ease; }
.mobile-iv-faq__question:hover { background: rgba(7, 157, 229, 0.04); }
.mobile-iv-faq__question-text { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; font-family: var(--mobile-iv-font-heading); font-size: 18px; font-weight: 600; color: var(--mobile-iv-navy); line-height: 1.4; letter-spacing: -0.02em; }
.mobile-iv-faq__chevron { flex: 0 0 auto; width: 22px; height: 22px; min-width: 22px; stroke: var(--mobile-iv-blue); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }
.mobile-iv-faq__item.active .mobile-iv-faq__chevron { transform: rotate(180deg); }
.mobile-iv-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.mobile-iv-faq__answer-inner { padding: 0 28px 22px; }
.mobile-iv-faq__answer-text { font-size: 18px; color: var(--mobile-iv-body); line-height: 1.65; }
.mobile-iv-faq__answer-text a { color: var(--mobile-iv-blue); text-decoration: underline; }
@media (max-width: 640px) {
  .mobile-iv-faq__header { padding: 22px 20px 0; }
  .mobile-iv-faq__title { font-size: 20px; }
  .mobile-iv-faq__question { padding: 16px 20px; }
  .mobile-iv-faq__answer-inner { padding: 0 20px 18px; }
  .mobile-iv-faq__question-text, .mobile-iv-faq__answer-text { font-size: 17px; }
}

/* ---------- 9. CTA ---------- */
.mobile-iv-cta { background: var(--mobile-iv-gradient); border-radius: var(--mobile-iv-radius); padding: 40px 36px; text-align: center; box-shadow: 0 12px 40px rgba(3, 4, 94, 0.25); position: relative; overflow: hidden; }
.mobile-iv-cta::before { content: ''; position: absolute; top: -40%; right: -20%; width: 280px; height: 280px; background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%); border-radius: 50%; pointer-events: none; }
.mobile-iv-cta__badge { display: inline-block; font-size: 14px; font-weight: 600; color: var(--mobile-iv-navy); background: #FFFFFF; padding: 7px 18px; border-radius: 999px; margin-bottom: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.15); position: relative; }
.mobile-iv-cta__title { font-family: var(--mobile-iv-font-heading); font-size: 26px; font-weight: 700; color: #FFFFFF; line-height: 1.2; letter-spacing: -0.03em; margin-bottom: 10px; position: relative; }
.mobile-iv-cta__sub { font-size: 18px; color: #FFFFFF; line-height: 1.5; margin: 0 auto 24px; max-width: 540px; position: relative; }
.mobile-iv-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; position: relative; }
.mobile-iv-cta__btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px; border-radius: 100px; font-family: var(--mobile-iv-font-heading); font-size: 18px; font-weight: 700; text-decoration: none; border: none; cursor: pointer; transition: transform 0.3s ease, box-shadow 0.3s ease; color: var(--mobile-iv-navy) !important; background: #FFFFFF; box-shadow: 0 4px 15px rgba(0,0,0,0.15); min-height: 44px; }
.mobile-iv-cta__btn:visited { color: var(--mobile-iv-navy) !important; }
.mobile-iv-cta__btn:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(0,0,0,0.2); color: var(--mobile-iv-navy) !important; }
.mobile-iv-cta__btn--ghost,
.mobile-iv-cta__btn--ghost:visited,
.mobile-iv-cta__btn--ghost:hover { color: #FFFFFF !important; background: rgba(255,255,255,0.12); border: 1.5px solid rgba(255,255,255,0.6); }
.mobile-iv-cta__btn svg { width: 18px; height: 18px; }
@media (max-width: 640px) {
  .mobile-iv-cta { padding: 32px 22px; }
  .mobile-iv-cta__title { font-size: 22px; }
  .mobile-iv-cta__btn { width: 100%; justify-content: center; }
}

/* ---------- 10. REVIEWED-BY byline (top) ---------- */
.mobile-iv-rev { display: flex; align-items: flex-start; gap: 14px; padding: 16px 20px; background: var(--mobile-iv-shade); border: 1px solid var(--mobile-iv-border); border-left: 4px solid var(--mobile-iv-teal); border-radius: var(--mobile-iv-radius-sm); }
.mobile-iv-rev__icon { width: 38px; height: 38px; min-width: 38px; border-radius: 50%; background: var(--mobile-iv-gradient); display: flex; align-items: center; justify-content: center; }
.mobile-iv-rev__icon svg { width: 20px; height: 20px; stroke: #FFFFFF; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mobile-iv-rev__label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--mobile-iv-navy); margin-bottom: 2px; }
.mobile-iv-rev__name { font-family: var(--mobile-iv-font-heading); font-size: 18px; font-weight: 700; color: var(--mobile-iv-navy); line-height: 1.3; }
.mobile-iv-rev__name a { color: var(--mobile-iv-navy); text-decoration: none; }
.mobile-iv-rev__name a:hover { color: var(--mobile-iv-blue); text-decoration: underline; }
.mobile-iv-rev__note { font-size: 15px; color: var(--mobile-iv-body); line-height: 1.55; margin-top: 4px; }
@media (max-width: 640px) {
  .mobile-iv-rev { padding: 14px 16px; }
  .mobile-iv-rev__name { font-size: 17px; }
}

/* ---------- 11. REVIEWER CARD (bottom) ---------- */
.mobile-iv-reviewer { display: flex; align-items: flex-start; gap: 18px; padding: 26px 30px; }
.mobile-iv-reviewer__photo { width: 64px; height: 64px; min-width: 64px; border-radius: 50%; object-fit: cover; background: var(--mobile-iv-gradient); border: 2px solid var(--mobile-iv-border); }
.mobile-iv-reviewer__label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--mobile-iv-navy); margin-bottom: 4px; }
.mobile-iv-reviewer__name { font-family: var(--mobile-iv-font-heading); font-size: 20px; font-weight: 700; color: var(--mobile-iv-navy); line-height: 1.25; letter-spacing: -0.02em; margin-bottom: 2px; }
.mobile-iv-reviewer__name a { color: var(--mobile-iv-navy); text-decoration: none; }
.mobile-iv-reviewer__name a:hover { color: var(--mobile-iv-blue); text-decoration: underline; }
.mobile-iv-reviewer__creds { font-size: 16px; font-weight: 600; color: var(--mobile-iv-teal); margin-bottom: 8px; }
.mobile-iv-reviewer__bio { font-size: 16px; color: var(--mobile-iv-body); line-height: 1.6; }
@media (max-width: 640px) {
  .mobile-iv-reviewer { padding: 22px 18px; gap: 14px; }
  .mobile-iv-reviewer__photo { width: 56px; height: 56px; min-width: 56px; }
  .mobile-iv-reviewer__name { font-size: 18px; }
}

/* ---------- 12. MEDICAL DISCLAIMER (bottom) ---------- */
.mobile-iv-disc__inner { display: flex; align-items: flex-start; gap: 14px; padding: 22px 26px; }
.mobile-iv-disc__icon { width: 36px; height: 36px; min-width: 36px; border-radius: 10px; background: var(--mobile-iv-shade); display: flex; align-items: center; justify-content: center; }
.mobile-iv-disc__icon svg { width: 18px; height: 18px; stroke: var(--mobile-iv-navy); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mobile-iv-disc__label { font-family: var(--mobile-iv-font-heading); font-size: 16px; font-weight: 700; color: var(--mobile-iv-navy); letter-spacing: -0.02em; margin-bottom: 4px; }
.mobile-iv-disc__text { font-size: 16px; color: var(--mobile-iv-body); line-height: 1.6; }
@media (max-width: 640px) {
  .mobile-iv-disc__inner { padding: 20px 18px; }
}

/* ==========================================================================
   END Master CSS v4.0
   ========================================================================== *//* End custom CSS */