/* Small-screen usability refinements shared by the standalone page and WordPress theme. */
html, body { max-width: 100%; overflow-x: clip; }

main, footer, .site-header, .section-shell, .calculator-section, .birth-banner { max-width: 100%; }

.week-label { flex-wrap: wrap; }
.stat-row { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
@media (max-width: 760px) {
  html { scroll-padding-top: 1rem; }

  .site-header {
    height: auto;
    min-height: 4.25rem;
    padding: .85rem 1.25rem .55rem;
    flex-wrap: wrap;
    gap: .4rem .75rem;
  }

  .site-header nav {
    display: flex;
    order: 3;
    width: 100%;
    gap: 1.1rem;
    overflow-x: auto;
    padding: .45rem 0 .2rem;
    scrollbar-width: thin;
  }

  .site-header nav a { flex: 0 0 auto; font-size: .875rem; }
  .icon-button { width: 2.75rem; height: 2.75rem; }

  .hero { min-height: auto; }
  .hero h1 { font-size: clamp(2.8rem, 13vw, 3.7rem); }
  .hero-text { font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-wrap: wrap; }

  .button { min-height: 2.75rem; justify-content: center; }
  .date-form input { min-height: 3rem; font-size: 1rem; }
  .form-note { font-size: .75rem; }
  .calc-heading h2 { font-size: 1.85rem; }
  .result-ready h3 { font-size: 1.8rem; }
  .stat-row { gap: .4rem; }
  .stat-row b { font-size: .85rem; }
  .stat-row span { font-size: .62rem; }

  .week-picker-wrap { gap: .25rem; }
  .week-nav { min-width: 2.75rem; min-height: 2.75rem; }
  .week-picker { scroll-snap-type: x proximity; }
  .week-picker button { flex: 0 0 2.5rem; height: 2.5rem; scroll-snap-align: start; font-size: .78rem; }
  .week-content h3 { font-size: 1.75rem; }
  .week-label { gap: .35rem; font-size: .64rem; }
  .week-label i { width: .7rem; }
  .week-content > p { font-size: .95rem; }
  .bookmark { width: 2.75rem; height: 2.75rem; }
  .care-item { min-height: auto; padding: 1.25rem; }
  .care-item p { font-size: .875rem; }

  .toolkit-grid article { padding: 1.35rem; }
  .toolkit-grid p { font-size: .9rem; }
  .expand-button { min-height: 2.75rem; text-align: left; }

  .condition-card { padding: 1.35rem; }
  .condition-card h3 { font-size: 1.6rem; }
  .condition-card > p { font-size: .95rem; }
  .condition-actions { padding: 1rem; }
  .condition-actions li, .condition-card a { font-size: .875rem; }
  .urgent-care h3 { font-size: 1.35rem; }
  .urgent-care p:not(.eyebrow) { font-size: .875rem; }

  .postpartum-tabs button { flex: 0 0 auto; min-height: 2.75rem; font-size: .875rem; }
  .panel-content > p { font-size: .95rem; }
  .panel-content li { font-size: .875rem; padding: .6rem 0; }
  .library-card { height: auto; min-height: 11rem; }
  .library-card p { font-size: .875rem; }

  footer { padding-top: 2rem; }
  footer p { font-size: .75rem; line-height: 1.5; }
}
