@media (max-width: 760px) {
  :root {
    --card-padding: 16px;
  }

  .page-heading {
    padding: 18px;
    align-items: stretch;
    border-radius: 16px;
  }

  .page-heading h1 {
    font-size: 1.7rem;
  }

  .page-heading .lead {
    font-size: var(--font-size-sm);
  }

  .page-heading .heading-actions {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .page-heading .heading-actions > button,
  .page-heading > .compact-select,
  .page-heading > form,
  .page-heading > form > button {
    width: 100%;
  }

  .places-list,
  .accommodations-list,
  .documents-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .accommodation-card,
  .transport-card {
    min-height: 0;
    padding: var(--card-padding);
  }

  .booking-card-heading {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
  }

  .booking-card-icon {
    width: 44px;
    height: 44px;
  }

  .planning-card-heading.has-icon {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
  }

  .planning-card-icon {
    width: 44px;
    height: 44px;
  }

  .planning-tabs,
  .planning-filters {
    width: 100%;
    border-radius: var(--control-radius);
  }

  .planning-tabs button,
  .planning-filters button {
    flex: 1 0 auto;
  }

  .field input,
  .field select,
  .compact-select select,
  .member-controls select,
  .field textarea {
    font-size: 16px;
  }

  .notification-entry p,
  .notification-entry small {
    font-size: var(--font-size-sm);
  }
}
