/*
 * ═══════════════════════════════════════════════════════════════
 *  Civik — Global Mobile Styles
 *  This file is the single source of truth for all mobile/
 *  responsive CSS across every page on civik.com.
 *
 *  DO NOT remove this file or its <link> tags when editing
 *  individual pages. Future page edits should NEVER need to
 *  touch this file unless adding genuinely new mobile rules.
 *
 *  Sections:
 *    1. Base (overflow protection)
 *    2. Nav + Footer  (shared chrome)
 *    3. Home page     (index.html)
 *    4. Feed page     (feed.html)
 *    5. Entry page    (entry.html)
 *    6. Cities page   (cities-page.jsx)
 *    7. About page    (about-page.jsx)
 *    8. Pricing page  (pricing-page.jsx)
 *    9. Weekly page   (weekly-page.jsx)
 * ═══════════════════════════════════════════════════════════════
 */

/* ── 1. Base ──────────────────────────────────────────────────── */
html, body {
  overflow-x: hidden;
}

/* ── 2. Nav + Footer ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .cv-nav-inner { padding: 14px 20px !important; }
  .cv-nav-center { display: none !important; }
  .cv-nav-right  { display: none !important; }
  .cv-nav-signin { display: none !important; }
  .cv-nav-getpro { display: none !important; }
  .cv-nav-hamburger { display: flex !important; align-items: center; justify-content: center; }
  .cv-nav-mobile { background: #1a1a1a; border-top: 1px solid rgba(255,255,255,0.08); }
  .cv-nav-mobile a {
    display: block; padding: 14px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 15px; font-weight: 500;
    color: rgba(255,255,255,0.85); text-decoration: none;
  }
  .cv-nav-mobile-cta {
    display: block; margin: 16px 20px 20px;
    background: #B52D2D; color: #fff !important; padding: 12px 18px; border-radius: 8px;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 14px; font-weight: 600; text-align: center; text-decoration: none;
    border-bottom: none !important;
  }
  .cv-nav-mobile-menu {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 200;
    background: #141414; display: flex; flex-direction: column;
    padding: 24px 24px 40px; gap: 0; overflow-y: auto;
  }
  .cv-nav-mobile-menu a {
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 22px; font-weight: 600; color: rgba(255,255,255,0.88);
    text-decoration: none; padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    display: block;
  }

  .cv-footer-inner { padding: 48px 20px 32px !important; }
  .cv-footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .cv-footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
}

/* ── 3. Home page ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .cv-hero-grid {
    grid-template-columns: 1fr !important;
    padding: 64px 20px 72px !important;
    gap: 0 !important;
  }
  .cv-hero-ticker { display: none !important; }
  .cv-hero-h1 { font-size: 36px !important; line-height: 1.1 !important; }
  .cv-hero-ctas { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .cv-hero-ctas a { text-align: center; justify-content: center; }
  .cv-hero-foot { margin-top: 40px !important; gap: 16px !important; }
  .cv-stats-grid { grid-template-columns: repeat(2, 1fr) !important; padding: 36px 20px !important; gap: 0 !important; }
  .cv-stats-grid > div { padding: 24px 20px !important; border-left: none !important; border-bottom: 1px solid #E0DDD8 !important; }
  .cv-stats-grid > div:nth-child(even) { border-left: 1px solid #E0DDD8 !important; }
  .cv-stats-inner { padding: 40px 20px !important; }
  .cv-section-inner { padding: 64px 20px 56px !important; }
  .cv-section-header { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }
  .cv-feed-preview-inner { padding: 64px 20px 56px !important; }
  .cv-feed-preview-header { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .cv-feed-preview-cards { grid-template-columns: 1fr !important; }
  .cv-pro-grid { grid-template-columns: 1fr !important; padding: 64px 20px 72px !important; gap: 40px !important; }
  .cv-pro-mockup { display: none !important; }
}

/* ── 4. Feed page ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .cv-masthead-inner {
    padding: 40px 20px 40px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
  }
  .cv-masthead-stats { gap: 20px !important; }
  .cv-filter-grid {
    grid-template-columns: 1fr !important;
    padding: 14px 16px !important;
  }
  .cv-filter-bar-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 12px 16px !important;
  }
  .cv-filter-bar-inner > div:first-child {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  .cv-filter-bar-inner > select {
    flex: 1 1 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    min-width: 0 !important;
  }
  .cv-filter-bar-inner > div:last-child {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  .cv-filter-chips { padding: 0 16px 14px !important; }
  .cv-feed-area { padding: 24px 16px 60px !important; }
  .cv-feed-section { padding: 24px 16px 64px !important; }
  .cv-cards-grid { grid-template-columns: 1fr !important; }
  .cv-list-row {
    grid-template-columns: 6px 1fr auto !important;
    padding: 14px 16px !important;
    gap: 10px !important;
  }
  .cv-list-row > span:nth-child(2) { display: none !important; }
  .cv-list-row > span:nth-child(3) { display: none !important; }
  .cv-list-row > div:nth-child(5) { display: none !important; }
  .cv-list-row > div:nth-child(6) { display: none !important; }
}

/* ── 5. Entry page ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .cv-entry-cols {
    grid-template-columns: 1fr !important;
    padding: 20px 20px 56px !important;
    gap: 24px !important;
  }
  .cv-right-rail { position: static !important; order: -1; }
  .cv-related-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
  .cv-entry-cols { padding: 14px 14px 48px !important; }
  .ep-prose { font-size: 16px !important; }
  .ep-prose p:first-of-type::first-letter { font-size: 58px !important; }
}

/* ── 6. Cities page ───────────────────────────────────────────── */
@media (max-width: 768px) {
  .cv-cities-hero-inner { padding: 48px 20px 56px !important; }
  .cv-cities-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .cv-cities-grid-single { grid-template-columns: 1fr !important; }
  .cv-cities-region-bar { padding: 12px 16px !important; }
  .cv-coverage-grid { grid-template-columns: 1fr !important; gap: 32px !important; padding: 40px 20px !important; }
}

/* ── 7. About page ────────────────────────────────────────────── */
@media (max-width: 768px) {
  .cv-about-two-col { grid-template-columns: 1fr !important; gap: 40px !important; }
  .cv-about-principles { grid-template-columns: 1fr !important; gap: 24px !important; }
  .cv-about-stats-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .cv-about-stats-grid > div { border-left: none !important; border-bottom: 1px solid #EAE5DF !important; padding: 20px 16px !important; }
  .cv-about-closing-grid { grid-template-columns: 1fr !important; gap: 32px !important; padding: 40px 20px 80px !important; }
  .cv-about-closing-inner { grid-template-columns: 1fr !important; gap: 32px !important; padding: 40px 24px !important; }
  .cv-about-rvp-card { grid-template-columns: 40px 1fr !important; }
  .cv-about-rvp-card > a { display: none !important; }
}

/* ── 8. Pricing page ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .cv-pricing-card { grid-template-columns: 1fr !important; }
  .cv-pricing-card-divider { display: none !important; }
  .cv-pricing-included { grid-template-columns: 1fr !important; }
  .cv-pricing-audiences { grid-template-columns: 1fr !important; }
}

/* ── 9. Weekly page ───────────────────────────────────────────── */
@media (max-width: 768px) {
  .cv-weekly-subscribe-grid { grid-template-columns: 1fr !important; gap: 40px !important; padding: 64px 20px !important; }
  .cv-weekly-numbers-card { grid-template-columns: 1fr !important; gap: 16px !important; }
  .cv-weekly-numbers-card > div:last-child { border-left: none !important; border-top: 1px solid #EAE5DF !important; padding-left: 0 !important; padding-top: 16px !important; }
  .cv-weekly-themes-grid { grid-template-columns: 1fr !important; }
  .cv-weekly-archive-row { grid-template-columns: auto 1fr auto !important; gap: 12px !important; }
  .cv-weekly-archive-row > div:nth-child(2) { display: none !important; }
  .cv-weekly-watchnext { grid-template-columns: 1fr !important; gap: 12px !important; }
}
