@media (max-width: 640px) {
  header[style*="48px"],
  footer[style*="48px"],
  section[style*="48px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* сайт вёрстан только под десктоп: все grid-раскладки — в один столбец */
  [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  /* кроме календаря — там 7 колонок дней недели, их нельзя схлопывать */
  #calendar [style*="repeat(7"] {
    grid-template-columns: repeat(7, 1fr) !important;
  }
  /* у grid-элементов по умолчанию min-width:auto — колонка не сжимается уже её самого широкого неразрывного слова (например, заголовка), из-за чего вся секция вылезает за экран */
  [style*="grid-template-columns"] > * {
    min-width: 0 !important;
  }

  /* нерезиновые h2 (fixed px, не clamp) — слишком крупные для узкого столбца после схлопывания grid */
  h2[style*="font-size:64px"],
  h2[style*="font-size:56px"] {
    font-size: 40px !important;
  }

  nav[style*="gap:40px"] {
    flex-wrap: wrap !important;
    gap: 12px 20px !important;
    justify-content: center !important;
    font-size: 13px !important;
  }

  header {
    row-gap: 14px !important;
    justify-items: center !important;
    text-align: center !important;
  }
  /* колонка-«прилипала» слева от формы бронирования беседок не нужна в one-column раскладке */
  [style*="position:sticky"] {
    position: static !important;
  }
}
