/* PromoFast — Global mobile responsiveness (≤639px) */

@media (max-width: 639px) {
  html,
  body.pf-home-root,
  body.pf-auth-root {
    overflow-x: hidden;
    max-width: 100vw;
  }

  .pf-app,
  main {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* ─── 93% primary content width ─── */
  .pf-plat-wrap,
  .pf-rc-wrap,
  .pf-rc-body,
  .pf-rc-action-row,
  .pf-mc-layout,
  .pf-pr-wrap,
  .pf-hm-wrap,
  .pf-plans-wrap,
  .pf-co-wrap,
  .pf-wh-wrap,
  .pf-pay-wrap,
  .pflf-main,
  .pflf-section__inner,
  .pflf-form-wrap,
  .pf-cd-header__layout,
  .pf-cd-body,
  .pf-team-stats,
  .pf-page__form-area,
  .pf-page__showcase {
    width: var(--pf-mobile-content-width);
    max-width: var(--pf-mobile-content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }

  .pf-mc {
    padding-left: 0;
    padding-right: 0;
  }

  .pf-plat-hero,
  .pf-rc-hero,
  .pf-plans-hero {
    padding-left: 0;
    padding-right: 0;
  }

  /* ─── Statistics grids ─── */
  .pf-plat-grid--stats,
  .pf-plat-grid--stats-3,
  .pf-mc-stats,
  .pf-rc-commission-banner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .pf-plat-stat strong,
  .pf-mc-stat__val,
  .pf-rc-commission-stat strong {
    font-size: 1rem;
  }

  .pf-plat-stat span,
  .pf-mc-stat__lbl {
    font-size: 0.58rem;
  }

  /* ─── Campaign / opportunity cards (unified) ─── */
  .pf-opp-grid,
  .pf-hm-campaigns__grid,
  .pf-hm-opps__grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    width: 100%;
  }

  .pf-opp-card,
  .pf-hm-card {
    width: 100%;
    max-width: 100%;
    margin: 0;
    min-width: 0;
    padding: 1rem 1.05rem;
    border-radius: var(--pf-r-md);
    box-shadow: 0 2px 16px rgba(11, 16, 32, 0.07);
  }

  .pf-opp-card:hover,
  .pf-hm-card:hover {
    transform: none;
  }

  .pf-opp-card--video {
    padding: 0;
  }

  .pf-opp-card--video .pf-opp-card__body {
    padding: 1rem 1.05rem;
  }

  .pf-opp-card__title,
  .pf-hm-card__title {
    font-size: 1rem;
  }

  .pf-opp-card__desc,
  .pf-hm-card__desc {
    font-size: 0.78rem;
    line-height: 1.4;
  }

  .pf-opp-card__btn,
  .pf-hm-card__btn {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    min-height: 2.75rem;
    font-size: 0.82rem;
  }

  .pf-opp-tabs {
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.85rem;
  }

  .pf-opp-tab {
    font-size: 0.72rem;
    padding: 0.48rem 0.75rem;
  }

  /* ─── Joined campaigns / reward cards ─── */
  .pf-mc-card,
  .pf-rc-share-card,
  .pf-rc-wallet-card,
  .pf-rc-live-alerts-wrap,
  .pf-rc-panel,
  .pf-pr-panel,
  .pf-plans-card {
    max-width: 100%;
    min-width: 0;
  }

  .pf-rc-action-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .pf-rc-opp-showcase__grid,
  .pf-team-grow__grid {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  /* ─── Campaign detail ─── */
  .pf-cd-header {
    overflow-x: hidden;
  }

  .pf-cd-header__layout {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .pf-cd-body {
    padding-bottom: 1.5rem;
  }

  .pf-cd-header__title {
    font-size: 1.12rem;
    line-height: 1.3;
  }

  .pf-cd-header__desc {
    font-size: 0.8rem;
  }

  .pf-cd-header__reward {
    white-space: normal;
    flex-wrap: wrap;
    max-width: 100%;
  }

  .pf-cd-mcta__inner {
    width: var(--pf-mobile-content-width);
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }

  .pf-cd-section__title {
    font-size: 1.05rem;
  }

  .pf-lv-tasks,
  .pf-lv-standards,
  .pf-lv-benefits__grid {
    max-width: 100%;
  }

  /* ─── Tables (scroll inside container only) ─── */
  .admin-table-wrapper,
  .users-table-scroll,
  .pf-mc-activity__scroll,
  .pf-rc-activity-scroll,
  .pf-pr-activity-scroll,
  .pf-wh-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ─── Forms ─── */
  .pf-auth-form,
  .pf-lf-form,
  .pf-co-form,
  .pf-pr-rows,
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    max-width: 100%;
  }

  .pf-auth-form__row--split,
  .pf-co-form__row--split {
    grid-template-columns: 1fr;
  }

  /* ─── Dialogs → bottom sheets where appropriate ─── */
  .pf-plans-confirm-modal,
  .pf-mentor-modal,
  .pf-crop-modal {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0;
  }

  .pf-plans-confirm-modal__dialog,
  .pf-mentor-modal__dialog,
  .pf-crop-modal__dialog {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-radius: var(--pf-r-lg) var(--pf-r-lg) 0 0;
    max-height: min(92vh, 640px);
    overflow-y: auto;
  }

  .pf-referral-lock-sheet__panel {
    width: 100%;
    max-width: 100%;
    border-radius: var(--pf-r-lg) var(--pf-r-lg) 0 0;
  }

  .pf-cd-join-dialog--sheet,
  .pf-cd-my-leads-dialog--sheet {
    width: 100%;
    max-width: 100%;
    border-radius: var(--pf-r-lg) var(--pf-r-lg) 0 0;
    max-height: min(92vh, 720px);
  }

  /* ─── Typography ─── */
  .pf-plat-hero__title,
  .pf-rc-hero__title,
  .pf-mc-head__title,
  .pf-plans-hero__title {
    font-size: clamp(1.35rem, 5.5vw, 1.85rem);
  }

  .pf-plat-hero__sub,
  .pf-rc-hero__sub,
  .pf-mc-head__sub {
    font-size: 0.84rem;
  }

  /* ─── Buttons ─── */
  .pf-team-cta,
  .pf-rc-wallet-card__withdraw,
  .pf-rc-wallet-card__checkin,
  .pf-co-submit,
  .pf-pay-btn {
    width: 100%;
    max-width: 100%;
  }

  /* ─── Images / media ─── */
  .pf-opp-card__media,
  .pf-hm-card__shine,
  img,
  svg {
    max-width: 100%;
    height: auto;
  }

  .pf-opp-card__media-icon svg {
    height: auto;
  }
}
