/* M3: content-only mobile fixes. Load after the existing stylesheet layers. */
@media (max-width: 1100px) {
  main :is(.grid-2, .grid-3, .split-section),
  main :is(.grid-2, .grid-3, .split-section) > * {
    min-width: 0;
  }

  main .grid-2,
  main .split-section,
  main .grid-3:has(> .card) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main :is(.grid-2, .grid-3, .split-section) > * {
    overflow-wrap: anywhere;
  }

  /* Emergency wrapping only inside content cards/splits; normal word-break stays. */
  /* !important narrowly overrides language-polish.css's main heading rule. */
  html:not(:lang(zh)) main :is(.grid-2, .grid-3) > .card > :is(h2, h3),
  html:not(:lang(zh)) main .split-section > div > h2 {
    overflow-wrap: anywhere !important;
  }

  html:lang(ja) main .section > .container > h2 {
    overflow-wrap: anywhere !important;
  }

  main .grid-2 > .btn,
  main .article + p > .btn,
  main .split-section .btn,
  main .card .btn {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  main .guide-review-date {
    min-width: 0;
    max-width: 100%;
    flex-shrink: 1;
  }

  main .guide-review-date > * {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 767px) {
  main .grid-2,
  main .split-section,
  main .grid-3:has(> .card) {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  main .guide-review-date {
    flex-wrap: wrap;
  }
}
