/* Phones: every band reads as one centred column, matching the footer.
   Loaded after the band stylesheets so these win over their own phone rules at equal specificity.
   Rows that were "icon beside text" stack the icon above the text instead. */

@media (max-width: 640px) {
  /* ---------- Shared heads ---------- */

  .band__head,
  .band__head--left {
    text-align: center;
  }

  .band__title,
  .band__lede,
  .band__head--left .band__lede {
    margin-inline: auto;
  }

  /* ---------- 3 · Theme card ---------- */

  .theme-card {
    text-align: center;
  }

  .theme-card__body {
    align-items: center;
  }

  .questions__item {
    justify-content: center;
  }

  /* ---------- 4 · Who takes the stage ---------- */

  .stage__mix {
    text-align: center;
  }

  .past__summary {
    justify-content: center;
    gap: 0.75rem;
    text-align: center;
  }

  .speaker-row {
    justify-items: center;
    text-align: center;
  }

  .speaker-lead {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0.4rem;
  }

  .speaker-lead + .speaker-lead {
    margin-top: 0.85rem;
  }

  .speaker-lead__text {
    flex-direction: column;
    align-items: center;
  }

  .speaker-also {
    justify-content: center;
  }

  /* ---------- 5 · Programme ---------- */

  .track {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    justify-items: center;
    text-align: center;
  }

  .track__motif {
    grid-row: auto;
  }

  .track__title {
    grid-column: 1;
    grid-row: auto;
    margin-top: 0.75rem;
    padding-right: 0;
  }

  .track__desc {
    grid-column: 1;
    grid-row: auto;
  }

  .formats__title {
    text-align: center;
  }

  .formats__list > div {
    grid-template-columns: 1fr;
    gap: 0.3rem;
    text-align: center;
  }

  /* ---------- 6 · Compete and create ---------- */

  .programme {
    text-align: center;
  }

  .programme__deadline,
  .programme > .btn {
    justify-self: center;
  }

  /* ---------- 7 · Who's in the room ---------- */

  .room__split li {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0.75rem;
    text-align: center;
  }

  /* ---------- 8 · Reach and press ---------- */

  .band--press {
    text-align: center;
  }

  .press__figure .dot-text {
    justify-content: center;
  }

  .press__figure-label {
    margin-inline: auto;
  }

  .clipping {
    justify-items: center;
  }

  .clipping__outlet {
    display: flex;
    justify-content: center;
  }

  .clipping__logo {
    margin-inline: auto;
  }

  /* ---------- 9 · Partners ---------- */

  .academic {
    text-align: center;
  }

  .academic__list li {
    padding-left: 0;
  }

  .academic__list li::before {
    display: none;
  }
}
