.elementor-2565 .elementor-element.elementor-element-64c8ddbc{--display:flex;}/* Start custom CSS *//* ==========================================================================
   Mobile IV Therapy — Blog Widget CSS (per-page)
   PASTE INTO: Elementor → (this blog) → Advanced → Page Settings → Custom CSS
   NOT global. One paste per blog page.
   Namespace: mobile-iv-  ·  Version: v5.0 — 2026-06-01

   ARCHITECTURE (per-page Elementor scope):
   - Elementor owns: text COLOR, FONTS, body width, and ALL outer left/right
     margin + padding. This file does NOT set those.
   - Outer widget wrappers carry NO left/right margin, NO max-width, NO auto
     centering. They fill the Elementor column edge to edge. Vertical rhythm
     (space between blocks) is the only outer margin used.
   - Internal padding lives on inner elements / card bodies only.
   - Literal hex appears ONLY on decorative, non-inherited bits (gradient bar,
     white-on-gradient CTA text, chevron stroke, number badges). Everything
     that is normal reading text inherits Elementor's body color.
   - No :root tokens, no @import, no font-family on text — Elementor handles them.
   - 18px floor on widget body text (17px only at <=640px).
   ========================================================================== */

/* ---------- Shared box-sizing + vertical rhythm (NO left/right margin) ---------- */
.mobile-iv-short, .mobile-iv-faq, .mobile-iv-steps, .mobile-iv-disc,
.mobile-iv-cta, .mobile-iv-rev, .mobile-iv-reviewer {
  width: 100%;
  margin: 0 0 32px;
  overflow: hidden;
  overflow-wrap: break-word;
}
.mobile-iv-short *, .mobile-iv-faq *, .mobile-iv-steps *, .mobile-iv-disc *,
.mobile-iv-cta *, .mobile-iv-rev *, .mobile-iv-reviewer * {
  box-sizing: border-box;
  max-width: 100%;
}

/* ---------- Shared card surface + gradient bar ---------- */
.mobile-iv-short, .mobile-iv-steps, .mobile-iv-disc, .mobile-iv-reviewer {
  background: #FFFFFF;
  border: 1px solid rgba(2, 48, 89, 0.10);
  border-radius: 16px;
  box-shadow: 0 4px 15px rgba(2, 48, 89, 0.08);
}
.mobile-iv-steps__bar, .mobile-iv-disc__bar {
  height: 4px;
  background: linear-gradient(135deg, #023059 0%, #079DE5 50%, #0D9488 100%);
}

/* ========================================================================
   PROSE BLOCKS  (decorative accents only; Elementor owns text color + fonts)
   No outer L/R margin. Headings get accent bars; body inherits Elementor.
   ======================================================================== */
.mobile-iv-prose-01, .mobile-iv-prose-02, .mobile-iv-prose-03 {
  width: 100%;
  margin: 0 0 32px;
  overflow-wrap: break-word;
}
.mobile-iv-prose-01 *, .mobile-iv-prose-02 *, .mobile-iv-prose-03 * {
  box-sizing: border-box;
  max-width: 100%;
}
.mobile-iv-prose-01 h2, .mobile-iv-prose-02 h2, .mobile-iv-prose-03 h2 {
  font-size: 28px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.2;
  margin: 2em 0 0.6em; padding: 0.5em 0.85em;
  background: rgba(2, 48, 89, 0.04);
  border-left: 5px solid #079DE5;
  border-radius: 4px;
}
.mobile-iv-prose-01 h3, .mobile-iv-prose-02 h3, .mobile-iv-prose-03 h3 {
  font-size: 22px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3;
  color: #079DE5;
  margin: 1.75em 0 0.5em; padding-left: 0.7em;
  border-left: 4px solid #079DE5;
}
.mobile-iv-prose-01 h4, .mobile-iv-prose-02 h4, .mobile-iv-prose-03 h4 {
  font-size: 18px; font-weight: 700; letter-spacing: 0.01em;
  color: #0D9488;
  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; line-height: 1.6;
}
.mobile-iv-prose-01 p, .mobile-iv-prose-02 p, .mobile-iv-prose-03 p { margin: 0 0 1em; }
.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 1em; 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: #079DE5; }
.mobile-iv-prose-01 a, .mobile-iv-prose-02 a, .mobile-iv-prose-03 a { color: #079DE5 !important; text-decoration: underline; }
.mobile-iv-prose-01 a:hover, .mobile-iv-prose-02 a:hover, .mobile-iv-prose-03 a:hover { color: #06B3FF !important; }
.mobile-iv-prose-01 a:visited, .mobile-iv-prose-02 a:visited, .mobile-iv-prose-03 a:visited { color: #079DE5 !important; }
.mobile-iv-prose-01 strong, .mobile-iv-prose-02 strong, .mobile-iv-prose-03 strong { font-weight: 700; }
.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: 8px; }
@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; }
}

/* ========================================================================
   SHORT ANSWER
   ======================================================================== */
.mobile-iv-short { position: relative; }
.mobile-iv-short::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(135deg, #023059 0%, #079DE5 50%, #0D9488 100%);
}
.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: rgba(7, 157, 229, 0.10); border-radius: 12px; font-size: 22px;
}
.mobile-iv-short__title { font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -0.03em; margin-bottom: 8px; }
.mobile-iv-short__text { font-size: 18px; line-height: 1.6; }
.mobile-iv-short__text strong { font-weight: 700; }
@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; }
}

/* ========================================================================
   STEP PROCESS
   ======================================================================== */
.mobile-iv-steps__inner { padding: 28px 32px 32px; }
.mobile-iv-steps__title { font-size: 22px; font-weight: 700; 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: rgba(2, 48, 89, 0.12); }
.mobile-iv-steps__item:last-child::before { display: none; }
.mobile-iv-steps__number {
  width: 36px; height: 36px; min-width: 36px; border-radius: 50%;
  background: #079DE5; color: #FFFFFF;
  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 1 auto; min-width: 0; padding-bottom: 24px; }
.mobile-iv-steps__item:last-child .mobile-iv-steps__content { padding-bottom: 0; }
.mobile-iv-steps__step-title { font-size: 18px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; margin-bottom: 4px; padding-top: 6px; }
.mobile-iv-steps__step-text { font-size: 18px; line-height: 1.6; }
.mobile-iv-steps__time {
  display: inline-block; font-size: 14px; font-weight: 600;
  color: #0D9488; 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; }
}

/* ========================================================================
   FAQ  — card-per-item accordion (rebuilt from scratch)
   Wrapper is transparent; each item is its own rounded card.
   ======================================================================== */
.mobile-iv-faq { width: 100%; margin: 0 0 32px; overflow-wrap: break-word; }
.mobile-iv-faq * { box-sizing: border-box; max-width: 100%; }

.mobile-iv-faq__title {
  font-size: 26px; font-weight: 800; line-height: 1.2; letter-spacing: -0.03em;
  margin: 0 0 20px; padding: 0;
}

/* Each Q&A is a standalone card */
.mobile-iv-faq__item {
  background: #FFFFFF;
  border: 1px solid rgba(2, 48, 89, 0.10);
  border-radius: 14px;
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(2, 48, 89, 0.05);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.mobile-iv-faq__item:last-child { margin-bottom: 0; }
.mobile-iv-faq__item:hover { border-color: rgba(7, 157, 229, 0.45); box-shadow: 0 6px 18px rgba(2, 48, 89, 0.09); }
.mobile-iv-faq__item.active { border-color: #079DE5; box-shadow: 0 8px 22px rgba(7, 157, 229, 0.15); }

/* Question row — BLOCK layout (not flex). Chevron is absolutely positioned,
   so it never participates in text width. Text wraps inside right padding that
   reserves the chevron's space. This cannot overflow regardless of Elementor's
   flex/grid nesting. */
.mobile-iv-faq__question {
  display: block;
  position: relative;
  width: 100%;
  padding: 20px 60px 20px 22px;   /* right padding reserves chevron space */
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer; text-align: left;
  white-space: normal !important;  /* override theme button{white-space:nowrap} */
  -webkit-appearance: none; appearance: none;
  transition: background 0.25s ease;
}
/* theme reset: keep our button transparent in every interaction state so the
   theme's button background/border (magenta) can never repaint over the text */
.mobile-iv-faq__question:hover,
.mobile-iv-faq__question:focus,
.mobile-iv-faq__question:active {
  background: none !important;
  border: none !important;
  color: inherit !important;
  outline: none;
  box-shadow: none !important;
}
.mobile-iv-faq__item.active .mobile-iv-faq__question { background: rgba(7, 157, 229, 0.04) !important; }
.mobile-iv-faq__question-text {
  display: block;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: -0.01em;
  color: #023059 !important;
}

/* Circular chevron — absolutely positioned, out of text flow entirely */
.mobile-iv-faq__chevron-wrap {
  position: absolute;
  top: 50%; right: 18px;
  transform: translateY(-50%);
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(7, 157, 229, 0.10);
  display: flex; align-items: center; justify-content: center;
  transition: background 0.25s ease;
}
.mobile-iv-faq__item.active .mobile-iv-faq__chevron-wrap { background: #079DE5; }
.mobile-iv-faq__chevron {
  width: 16px; height: 16px;
  stroke: #079DE5; fill: none; stroke-width: 3;
  stroke-linecap: round; stroke-linejoin: round;
  transition: transform 0.3s ease, stroke 0.25s ease;
}
.mobile-iv-faq__item.active .mobile-iv-faq__chevron { transform: rotate(180deg); stroke: #FFFFFF; }

/* Answer — display toggle (no fragile max-height pixel measurement) */
.mobile-iv-faq__answer { display: none; }
.mobile-iv-faq__item.active .mobile-iv-faq__answer { display: block; }
.mobile-iv-faq__answer-inner {
  padding: 18px 22px 22px;
  margin: 0 22px;
  border-top: 1px solid rgba(2, 48, 89, 0.10);
}
.mobile-iv-faq__answer-text { font-size: 18px; line-height: 1.7; color: #1E293B; }
.mobile-iv-faq__answer-text a { color: #079DE5 !important; text-decoration: underline; }
.mobile-iv-faq__answer-text a:hover { color: #06B3FF !important; }
.mobile-iv-faq__answer-text a:visited { color: #079DE5 !important; }

@media (max-width: 640px) {
  .mobile-iv-faq__title { font-size: 22px; margin-bottom: 16px; }
  .mobile-iv-faq__question { padding: 16px 54px 16px 18px; }
  .mobile-iv-faq__chevron-wrap { width: 30px; height: 30px; right: 15px; }
  .mobile-iv-faq__answer-inner { padding: 16px 18px 18px; margin: 0 18px; }
  .mobile-iv-faq__question-text, .mobile-iv-faq__answer-text { font-size: 17px; }
}

/* ========================================================================
   CTA  (gradient bg → white text is intentional literal hex)
   ======================================================================== */
.mobile-iv-cta {
  background: linear-gradient(135deg, #023059 0%, #079DE5 50%, #0D9488 100%);
  border-radius: 16px;
  padding: 40px 28px;
  text-align: center;
  box-shadow: 0 12px 40px rgba(3, 4, 94, 0.25);
  position: relative;
}
.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: #023059; 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-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 28px; border-radius: 100px;
  font-size: 18px; font-weight: 700; text-decoration: none;
  border: none; cursor: pointer; transition: transform 0.3s ease, box-shadow 0.3s ease;
  color: #023059 !important; background: #FFFFFF;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15); min-height: 44px;
}
.mobile-iv-cta__btn:visited { color: #023059 !important; }
.mobile-iv-cta__btn:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(0,0,0,0.2); color: #023059 !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 20px; }
  .mobile-iv-cta__title { font-size: 22px; }
  .mobile-iv-cta__btn { width: 100%; justify-content: center; }
}

/* ========================================================================
   REVIEWED-BY byline (top)
   ======================================================================== */
.mobile-iv-rev {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 16px 20px;
  background: rgba(2, 48, 89, 0.04);
  border: 1px solid rgba(2, 48, 89, 0.10);
  border-left: 4px solid #0D9488;
  border-radius: 8px;
}
.mobile-iv-rev__icon {
  width: 38px; height: 38px; min-width: 38px; border-radius: 50%;
  background: linear-gradient(135deg, #023059 0%, #079DE5 50%, #0D9488 100%);
  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; margin-bottom: 2px; }
.mobile-iv-rev__name { font-size: 18px; font-weight: 700; line-height: 1.3; }
.mobile-iv-rev__name a { color: #023059 !important; text-decoration: none; }
.mobile-iv-rev__name a:hover { color: #079DE5 !important; text-decoration: underline; }
.mobile-iv-rev__name a:visited { color: #023059 !important; }
.mobile-iv-rev__note { font-size: 15px; line-height: 1.55; margin-top: 4px; }
@media (max-width: 640px) {
  .mobile-iv-rev { padding: 14px 16px; }
  .mobile-iv-rev__name { font-size: 17px; }
}

/* ========================================================================
   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: linear-gradient(135deg, #023059 0%, #079DE5 50%, #0D9488 100%);
  border: 2px solid rgba(2, 48, 89, 0.10);
}
.mobile-iv-reviewer__label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 4px; }
.mobile-iv-reviewer__name { font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -0.02em; margin-bottom: 2px; }
.mobile-iv-reviewer__name a { color: #023059 !important; text-decoration: none; }
.mobile-iv-reviewer__name a:hover { color: #079DE5 !important; text-decoration: underline; }
.mobile-iv-reviewer__name a:visited { color: #023059 !important; }
.mobile-iv-reviewer__creds { font-size: 16px; font-weight: 600; color: #0D9488; margin-bottom: 8px; }
.mobile-iv-reviewer__bio { font-size: 16px; 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; }
}

/* ========================================================================
   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: rgba(2, 48, 89, 0.04);
  display: flex; align-items: center; justify-content: center;
}
.mobile-iv-disc__icon svg { width: 18px; height: 18px; stroke: #023059; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mobile-iv-disc__label { font-size: 16px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 4px; }
.mobile-iv-disc__text { font-size: 16px; line-height: 1.6; }
@media (max-width: 640px) {
  .mobile-iv-disc__inner { padding: 20px 18px; }
}

/* ========================================================================
   END Widget CSS v5.0 (per-page)
   ======================================================================== *//* End custom CSS */