/* =========================================================
   MEDPREV · RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {
  .mp-choice-grid {
    grid-template-columns: 1fr;
  }

  .mp-modal {
    inset: 10px;
    border-radius: 20px;
  }

  .mp-ai-hero {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
  }

  .mp-ai-title {
    font-size: 1.45rem;
  }

  .mp-ai-visual-card {
    max-width: 360px;
    margin: 0 auto;
  }

  #mp-step-1,
  #mp-step-2,
  #mp-step-3,
  #mp-step-4,
  #mp-step-5 {
    min-height: 500px;
  }

  .mp-step-intro-overlay {
    padding-top: 42px;
  }

  .mp-step-intro-title {
    font-size: clamp(2rem, 4.4vw, 2.8rem);
  }

  #mp-step-1 .mp-step-intro-title {
    max-width: 720px;
    font-size: clamp(2.05rem, 4.6vw, 2.95rem);
  }

  #mp-step-1 .mp-step-intro-media {
    width: 420px;
    max-width: 62%;
    margin-top: 8px;
  }

  #mp-step-2 .mp-step-intro-media {
    width: 380px;
    max-width: 58%;
  }

  #mp-step-3 .mp-step-intro-media,
  #mp-step-4 .mp-step-intro-media,
  #mp-step-5 .mp-step-intro-media {
    width: 340px;
    max-width: 50%;
  }
}

@media (max-width: 767.98px) {
  .mp-progress-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .mp-progress {
    width: 100%;
  }

  .mp-pill-grid {
    gap: 10px;
  }

  .mp-pill {
    width: 100%;
    border-radius: 18px;
    justify-content: flex-start;
  }

  .mp-metrics-card-head,
  .mp-soft-box--info {
    flex-direction: row;
    align-items: flex-start;
  }
}

@media (max-width: 575.98px) {
  .mp-logo-img {
    height: 40px;
  }

  .mp-subtitle {
    font-size: 0.97rem;
  }

  .mp-modal-head {
    padding: 14px 14px 12px;
  }

  .mp-modal-body {
    padding: 16px 14px 14px;
  }

  .mp-progress {
    width: 140px;
  }

  .mp-ai-hero {
    padding: 18px;
    border-radius: 16px;
  }

  .mp-ai-title {
    font-size: 1.28rem;
  }

  .mp-ai-text {
    font-size: 0.95rem;
  }

  .mp-ai-points li {
    font-size: 0.92rem;
  }

  .mp-nav {
    flex-direction: column;
  }

  .mp-nav .btn {
    width: 100%;
  }

  #mp-step-1,
  #mp-step-2,
  #mp-step-3,
  #mp-step-4,
  #mp-step-5 {
    min-height: 320px;
  }

  .mp-step-intro-overlay {
    padding: 30px 18px 18px;
    justify-content: flex-start;
  }

  #mp-step-1 .mp-step-intro-overlay::before,
  #mp-step-2 .mp-step-intro-overlay::before,
  #mp-step-3 .mp-step-intro-overlay::before,
  #mp-step-4 .mp-step-intro-overlay::before,
  #mp-step-5 .mp-step-intro-overlay::before {
    background:
      radial-gradient(circle at 50% 68%, rgba(15, 111, 178, 0.06), transparent 24%),
      linear-gradient(180deg, rgba(255,255,255,0.97), rgba(255,255,255,0.91));
  }

  .mp-step-intro-copy {
    margin-bottom: 12px;
    padding: 0;
  }

  .mp-step-intro-title {
    max-width: 100%;
    font-size: 1.95rem;
    line-height: 1.08;
    text-align: center;
  }

  #mp-step-1 .mp-step-intro-media {
    width: 250px;
    max-width: 78%;
    margin: 0 auto;
  }

  #mp-step-2 .mp-step-intro-media {
    width: 235px;
    max-width: 76%;
  }

  #mp-step-3 .mp-step-intro-media,
  #mp-step-4 .mp-step-intro-media,
  #mp-step-5 .mp-step-intro-media {
    width: 225px;
    max-width: 74%;
  }

  .mp-step-title {
    font-size: 1.38rem;
  }

  .mp-step-title--hero {
    font-size: 1.95rem;
    line-height: 1.08;
  }

  .mp-step-sub--hero {
    font-size: 0.97rem;
  }

  .mp-choice-card {
    min-height: auto;
    padding: 15px 15px 13px;
  }

  .mp-choice-title {
    font-size: 0.98rem;
  }

  .mp-choice-desc {
    font-size: 0.92rem;
  }

  .mp-soft-box--info {
    gap: 12px;
    padding: 14px 14px;
    border-radius: 16px;
  }

  .mp-metrics-card {
    padding: 16px 14px 14px;
    border-radius: 18px;
  }

  .mp-step-loader::before {
    width: 220px;
    height: 220px;
  }

  .mp-step-loader-orb {
    width: 66px;
    height: 66px;
    margin: 0 auto 14px;
  }

  .mp-step-loader-spinner {
    width: 30px;
    height: 30px;
  }

  .mp-step-loader-text {
    font-size: 0.9rem;
  }

  .mp-step-loader-sub {
    font-size: 0.78rem;
  }
}

/* =========================================================
   STEP 6 · RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {
  .mp-step6-hero,
  .mp-step6-grid {
    grid-template-columns: 1fr;
  }

  .mp-step6-visual-card {
    min-height: 320px;
  }

  #mp-step-6 .mp-ia-img {
    width: min(100%, 220px);
  }
}

@media (max-width: 767.98px) {
  .mp-step6-copy,
  .mp-step6-points-card,
  .mp-step6-note-card,
  .mp-consent-box--final {
    border-radius: 18px;
  }

  .mp-step6-copy,
  .mp-step6-points-card,
  .mp-step6-note-card {
    padding: 18px 16px;
  }

  .mp-step6-visual-card {
    padding: 18px 16px 16px;
    min-height: 280px;
    border-radius: 18px;
  }

  #mp-step-6 .mp-ai-title {
    font-size: 1.75rem;
  }

  .mp-consent-ui {
    gap: 12px;
  }

  .mp-consent-copy strong {
    font-size: 0.95rem;
  }
}

@media (max-width: 575.98px) {
  .mp-step6-hero,
  .mp-step6-grid {
    gap: 14px;
  }

  .mp-step6-copy,
  .mp-step6-points-card,
  .mp-step6-note-card,
  .mp-consent-box--final {
    padding: 16px 14px;
    border-radius: 16px;
  }

  #mp-step-6 .mp-ai-title {
    font-size: 1.55rem;
    line-height: 1.08;
  }

  #mp-step-6 .mp-ai-text,
  .mp-step6-card-sub,
  .mp-step6-note-text,
  .mp-ai-points--card li {
    font-size: 0.93rem;
  }

  .mp-ai-points--card li {
    padding: 13px 12px 13px 44px;
    border-radius: 14px;
  }

  .mp-ai-points--card li::before {
    left: 13px;
    top: 14px;
  }

  .mp-consent-error {
    padding-left: 0;
  }
}