/* =========================================================
   10 — UTILITIES + RESPONSIVE
   PURPOSE: Small helpers and shared responsive behavior.
   RULE: Avoid adding major component styles here.
   ========================================================= */

.cpc-muted { color: var(--cpc-muted); }
.cpc-center { text-align: center; }
.cpc-hidden { display: none; }
.cpc-flow > * + * { margin-top: 1rem; }
.cpc-no-margin { margin: 0; }
.cpc-full-width { width: 100%; }

@media (max-width: 980px) {
  .cpc-site-header__inner,
  .cpc-hero__panel,
  .cpc-two-col {
    grid-template-columns: 1fr;
  }

  .cpc-nav { justify-content: flex-start; }
  .cpc-card-grid,
  .cpc-card-grid--four,
  .cpc-library-grid,
  .cpc-qa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .cpc-container,
  .cpc-wrap,
  .cpc-hero,
  .cpc-applies,
  .cpc-trust-snapshot,
  .cpc-related,
  .cpc-final-cta,
  .cpc-results-shell {
    width: min(100% - 24px, var(--cpc-wide));
  }

  .cpc-hero__panel { padding: 22px; border-radius: 22px; }
  .cpc-hero__visual { min-height: 210px; }
  .cpc-card-grid,
  .cpc-card-grid--four,
  .cpc-card-grid--two,
  .cpc-library-grid,
  .cpc-qa-grid { grid-template-columns: 1fr; }
  .cpc-searchbar { grid-template-columns: 1fr; border-radius: 22px; }
  .cpc-result-card__actions,
  .cpc-action-row,
  .cpc-hero__actions { display: grid; grid-template-columns: 1fr; }
  .cpc-btn,
  .btn { width: 100%; }
}
