/* Mobile + tablet polish (29 Oct 2026). Loaded site-wide, last. */

/* --- readability: footer (all pages) --- */
.cc-footer a { color: #fff; }
.cc-footer ul a { opacity: .92; }
.cc-footer h4 { font-size: .82rem; }
.cc-insight__tag, .cc-hw-card__tier { font-size: .78rem; }
.cc-px__logos-label, .cc-sol-showcase__caption { color: #5b44e6; }

/* --- chapters never wider than the screen --- */
.cc-px__chapters, .cc-px__ch, .cc-px__body, .cc-px__lead { min-width: 0; max-width: 100%; }
.cc-px__table { max-width: 100%; }
.cc-px h2 { overflow-wrap: anywhere; }

/* --- Internet "built around" steps: stronger text on the gradient pills --- */
.cc-ic-built__pill p { color: #fff !important; font-weight: 600; text-shadow: 0 1px 0 rgba(0,0,0,.25); }

@media (max-width: 1024px) {
  /* section rhythm */
  main .cc-section { padding-top: 64px; padding-bottom: 64px; }
  main .cc-container { padding-left: 20px; padding-right: 20px; }
  main h2 { text-wrap: balance; }
  /* hub groups and grids drop to 2 columns on tablet */
  .cc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  /* type scale */
  html { -webkit-text-size-adjust: 100%; }
  main .cc-eyebrow { font-size: .8rem !important; }
  main h2 { font-size: clamp(1.7rem, 7vw, 2rem) !important; line-height: 1.12; }
  main h3 { font-size: 1.15rem; }
  main p, main li { font-size: 1rem; line-height: 1.6; }
  .cc-hero__title { font-size: clamp(2rem, 9vw, 2.5rem) !important; }
  .cc-hw-card__series { font-size: .85rem; }
  .cc-hub-group__label { font-size: .8rem; }

  /* single column grids, even gaps */
  .cc-grid--3, .cc-grid--2, .cc-grid--4 { grid-template-columns: 1fr !important; gap: 16px; }
  main .cc-section { padding-top: 52px; padding-bottom: 52px; }
  main .cc-container { padding-left: 18px; padding-right: 18px; }

  /* cards: a little less padding so text gets the width */
  .single-cc_solution main .cc-sol-feat-card, .cc-px__ch, .cc-px__sub, .cc-px__points li { padding: 20px 18px; }
  .cc-px__ch { gap: 14px; border-radius: 18px; box-shadow: 4px 4px 0 var(--cc-black); }
  .cc-px__head h2 { font-size: 1.35rem !important; }
  .cc-px__logos-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cc-px__logo { padding: 10px 6px 8px; }
  .cc-px__logo small { font-size: .68rem; }

  /* problem section: picture under the list, not squeezed */
  .cc-sol-problem__body, .cc-sol-problem__body:has(.cc-sol-problem__media) { grid-template-columns: 1fr !important; }
  .cc-sol-problem__media { order: 2; }

  /* before/after stacked with clear gap */
  .single-cc_solution .cc-sol-ba { grid-template-columns: 1fr !important; gap: 18px; }

  /* mid CTA: image under copy, buttons full width */
  .cc-sol-midcta, .cc-sol-midcta--img, .cc-sol-intro-split { grid-template-columns: 1fr !important; }
  .cc-sol-midcta__media, .cc-sol-intro-split__media { order: 2; margin-top: 8px; }

  /* testimonials & insights: horizontal swipe instead of a very long stack */
  .single-cc_solution .cc-section:has(.cc-insight) .cc-grid,
  .single-cc_solution .cc-section:has(.cc-testimonial) .cc-grid {
    display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 4px 18px 14px; margin: 0 -18px; scrollbar-width: none;
  }
  .single-cc_solution .cc-section:has(.cc-insight) .cc-grid > *,
  .single-cc_solution .cc-section:has(.cc-testimonial) .cc-grid > * { flex: 0 0 82%; scroll-snap-align: start; }
  .single-cc_solution .cc-section:has(.cc-insight) .cc-grid::-webkit-scrollbar,
  .single-cc_solution .cc-section:has(.cc-testimonial) .cc-grid::-webkit-scrollbar { display: none; }

  /* bottom CTA band stacks cleanly */
  .cc-cta-band { flex-direction: column; align-items: stretch; text-align: left; gap: 18px; padding: 26px 20px; }
  .cc-cta-band__actions { flex-direction: column; width: 100%; }
  .cc-cta-band__actions .cc-btn, .cc-footer__cta-actions .cc-btn { width: 100%; justify-content: center; white-space: nowrap; }
  .cc-footer__cta-inner { flex-direction: column; align-items: stretch; gap: 16px; }
  .cc-footer__cta-actions { display: flex; flex-direction: column; gap: 10px; }

  /* footer: bigger tap targets, no orphan social icon */
  .cc-footer ul a, .cc-footer__bottom a, .cc-footer__prefs-link { display: inline-flex; align-items: center; min-height: 44px; }
  .cc-footer__social { flex-wrap: nowrap; gap: 10px; }
  .cc-newsletter-form__row input { min-height: 46px; font-size: 16px; }
  .cc-newsletter-form__submit { width: 46px; height: 46px; }
  .cc-footer__bottom { flex-direction: column; align-items: flex-start; gap: 4px; }

  /* forms: 16px inputs stop iOS zooming in */
  input, select, textarea { font-size: 16px !important; }

  /* modals (device pop-ups) fit the screen */
  .cc-modal__dialog, .cc-hw-modal__dialog { width: calc(100vw - 24px) !important; max-height: calc(100vh - 40px); overflow-y: auto; }
}

@media (max-width: 380px) {
  main .cc-container { padding-left: 14px; padding-right: 14px; }
  .cc-hero__ctas { flex-direction: column; }
  .cc-px__logos-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* pass 2 */
main .cc-eyebrow, .cc-insight__tag, .cc-hw-card__tier { font-size: .82rem !important; }
.cc-mm__pill { color: #fff !important; background: #0b7a35 !important; font-size: .75rem !important; }
.cc-book__type-meta { color: #4a35d6; }
@media (max-width: 1024px) {
  .cc-footer ul a, .cc-footer__bottom a, .cc-footer__prefs-link, .cc-logo { display: inline-flex; align-items: center; min-height: 44px; }
  .cc-newsletter-form__row input { min-height: 46px; font-size: 16px; }
  .cc-newsletter-form__submit { width: 46px; height: 46px; }
}

/* pass 3 (screenshot review) */
@media (max-width: 760px) {
  .cc-hero--full-light::before { background: rgba(76,56,209,.82) !important; }
  .cc-hero--full-dark::before { background: rgba(255,255,255,.8) !important; }
  .cc-header .cc-container { padding-left: 18px; padding-right: 18px; }
  .cc-hw-card p, .cc-hw-card__series { color: #2a2d32 !important; font-size: .9rem; hyphens: none; overflow-wrap: normal; word-break: keep-all; }
  .cc-hw-card__more { font-size: 1rem; min-height: 44px; display: inline-flex; align-items: center; }
  .cc-logo small, .cc-logo__tag { font-size: .62rem; }
}

/* pass 4 (review) */
@media (max-width: 760px) {
  /* swipe rows: show a peek + dots-style hint */
  .single-cc_solution .cc-section:has(.cc-insight) .cc-grid > *,
  .single-cc_solution .cc-section:has(.cc-testimonial) .cc-grid > * { flex-basis: 84%; }
  .single-cc_solution .cc-section:has(.cc-insight) .cc-container::after,
  .single-cc_solution .cc-section:has(.cc-testimonial) .cc-container::after { content: "Swipe for more →"; display: block; margin-top: 6px; font-size: .82rem; font-weight: 700; color: #4a35d6; }
  .cc-testimonial__quote::before { display: inline; margin-right: 4px; }
  /* footer bottom block */
  .cc-footer__bottom, .cc-footer__contact { align-items: flex-start !important; text-align: left; }
  .cc-footer__contact { display: flex; flex-direction: column; gap: 0; padding-left: 0 !important; margin-left: 0 !important; }
  .cc-footer__contact a { margin-left: 0 !important; }
  .cc-footer__bottom p { text-wrap: balance; }
  .cc-footer__newsletter-copy { color: #fff; opacity: .92; }
  .cc-newsletter-form__row input::placeholder { color: #6a6d73; }
  .cc-footer__newsletter { padding-bottom: 8px; }
  .cc-px__logos--wa .cc-px__logos-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.cc-px__logos-label, .cc-mm small { font-size: .78rem !important; }

@media (max-width: 380px) { .cc-burger { min-width: 44px; min-height: 44px; } }
