/* ============================================
   ARC MOBILE — global overrides
   Applies on top of all page styles
   Target: screens ≤ 768px / ≤ 480px
   ============================================ */

@media (max-width: 768px) {

  /* ---- NAV ---- */
  nav {
    padding: 0 16px !important;
    height: 56px !important;
  }
  .nav-back { font-size: 12px !important; }
  .nav-brand { font-size: 16px !important; }
  .nav-links { display: none !important; }
  .nav-right { gap: 8px !important; }
  .nav-cta { padding: 7px 14px !important; font-size: 12px !important; }
  .nav-contact { display: none !important; }

  /* ---- PILLAR BAR ---- */
  #arc-pillar-bar { top: 56px !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  #arc-pillar-bar .apb-inner { min-width: max-content; }
  #arc-pillar-bar .apb-pill { padding: 12px 14px !important; gap: 6px !important; flex: none !important; }
  #arc-pillar-bar .apb-label { font-size: 12px !important; }
  #arc-pillar-bar .apb-sub { display: none !important; }
  #arc-pillar-bar .apb-icon { font-size: 16px !important; }

  /* ---- FEEDBACK STRIP ---- */
  #arc-feedback-strip { padding: 10px 16px !important; }
  #arc-feedback-strip .afs-inner { flex-wrap: wrap; gap: 8px !important; }
  #arc-feedback-strip .afs-input-wrap { width: 100%; }
  #arc-feedback-strip .afs-input { width: 100% !important; }
  #arc-feedback-strip .afs-name-input { width: 100% !important; }
  #arc-feedback-strip .afs-submit { width: 100%; text-align: center; }

  /* ---- GLOBAL SECTION PADDING ---- */
  .section, [class*="section"] { padding-left: 5% !important; padding-right: 5% !important; }
  .wrap, .inner, .content-wrap { padding: 0 !important; }

  /* ---- HERO / BANNER ---- */
  .hero, .hero-inner, .hero-banner, [class*="hero"] {
    padding: 40px 5% 48px !important;
    text-align: center !important;
  }
  .hero h1, .hero-title, [class*="hero"] h1 {
    font-size: clamp(1.8rem, 7vw, 2.6rem) !important;
    line-height: 1.1 !important;
  }
  .hero-sub, .hero-lead, [class*="hero"] p {
    font-size: .9rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .hero-actions, .hero-btns, .hero-cta-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .hero-actions a, .hero-btns a {
    text-align: center !important;
    justify-content: center !important;
  }
  /* Hide hero crest/image on very small screens */
  .hero-crest { display: none !important; }

  /* ---- GRID RESET — collapse ALL multi-col grids ---- */
  /* Menu grids */
  .menu-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  /* Card grids */
  .card-grid, .cards-grid, .pillars-grid, .members-grid,
  .who-grid, .power-grid, .what-grid, .comm-grid,
  .sp-grid, .offer-grid, .group-grid,
  [class*="grid"]:not(.menu-grid) {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  /* Truth/split layouts */
  .truth-grid, .split-grid, .two-col, .layout-split,
  [class*="two-col"], [class*="split"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  /* Stats/commitment rows */
  .commitment-stat, .stats-row, .stat-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  /* ---- NOTICE BOARD ---- */
  .nb-layout { grid-template-columns: 1fr !important; }
  .nb-sidebar { display: none !important; }
  .nb-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .nb-tab { flex: none !important; padding: 8px 14px !important; font-size: .75rem !important; }

  /* ---- COMMUNITY PAGES ---- */
  .community-header, .comm-header { padding: 40px 5% 48px !important; }
  .community-strip, .comm-strip { flex-wrap: wrap; gap: 8px !important; }
  .community-badge { font-size: .7rem !important; }

  /* ---- SP DIRECTORY ---- */
  .sp-filter-bar { flex-wrap: wrap !important; gap: 8px !important; }
  .sp-filter-bar select, .sp-filter-bar input { width: 100% !important; }
  .sp-card { padding: 16px !important; }
  .sp-card-top { flex-direction: column !important; gap: 12px !important; }
  .sp-card-avatar { align-self: center !important; }
  #resultsCount { font-size: .8rem !important; }

  /* ---- EVENTS ---- */
  .event-card { flex-direction: column !important; }
  .event-date-block { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.1) !important; padding: 12px 20px !important; display: flex; gap: 12px; align-items: center; }
  .event-body { padding: 16px 20px !important; }

  /* ---- GROUPS ---- */
  .group-card { min-width: 0 !important; }
  .groups-grid { grid-template-columns: 1fr !important; }

  /* ---- OFFERS ---- */
  .offer-card, .offer-item { flex-direction: column !important; }
  .offer-logo { width: 48px !important; height: 48px !important; }

  /* ---- FORMS ---- */
  .form-row, .form-grid { grid-template-columns: 1fr !important; }
  input, select, textarea { font-size: 16px !important; } /* prevent iOS zoom */

  /* ---- PASSION PERMIT ---- */
  .permit-grid, .type-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .permit-tile { padding: 14px 10px !important; }

  /* ---- MILLIONAIRES CLUB ---- */
  .what-grid { grid-template-columns: 1fr !important; }
  .pillars-grid { grid-template-columns: 1fr !important; }

  /* ---- AFFILIATES ---- */
  .earnings-table, .earnings-row { font-size: .82rem !important; }

  /* ---- FOOTER ---- */
  footer { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; padding: 24px 5% !important; }
  .footer-links { flex-wrap: wrap; gap: 12px !important; }

  /* ---- CTA BANDS ---- */
  .cta-band, .cta-actions { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
  .cta-band a, .cta-actions a { text-align: center !important; justify-content: center !important; }

  /* ---- DARK CARDS IN MC ---- */
  .dark-card, .what-card, .power-card { padding: 18px 16px !important; }

  /* ---- INLINE GRIDS (style="display:grid...") ---- */
  /* Can't target directly — handled per-page below */

}

@media (max-width: 480px) {

  /* Tighten further on phones */
  .menu-grid { grid-template-columns: 1fr !important; }
  .permit-grid, .type-grid { grid-template-columns: 1fr !important; }
  .commitment-stat { grid-template-columns: 1fr !important; }
  .hero h1, .hero-title { font-size: clamp(1.6rem, 8vw, 2.2rem) !important; }
  .section-title, [class*="section-title"] { font-size: clamp(1.4rem, 6vw, 2rem) !important; }

  /* Community pages menu grid — single col on phones */
  .menu-grid { grid-template-columns: 1fr !important; }

  /* SP directory card */
  .sp-badges { flex-wrap: wrap !important; gap: 4px !important; }

  /* Notice board tabs scroll */
  .nb-tabs { gap: 4px !important; }

}
