@media (max-width: 74.9375rem) {
  .vhc-booking-bar__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vhc-booking-bar__title { grid-column: 1 / -1; }
}

@media (max-width: 61.9375rem) {
  .vhc-grid--4, .vhc-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vhc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vhc-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vhc-logo--desktop { display: none; }
  .vhc-logo--mobile { display: block; }
  .vhc-post-grid .et_pb_ajax_pagination_container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 45rem) {
  :root { --vhc-gutter: 1.5rem; }
  .vhc-section { padding-block: var(--vhc-space-7); }
  .vhc-grid--2, .vhc-grid--3, .vhc-split, .vhc-profile, .vhc-footer__grid { grid-template-columns: 1fr; }
  .vhc-split--reverse .vhc-split__media { order: initial; }
  .vhc-booking-bar { margin-top: -1.5rem; }
  .vhc-booking-bar__grid, .vhc-form__grid { grid-template-columns: 1fr; }
  .vhc-form__field--full { grid-column: auto; }
  .vhc-mosaic { grid-auto-rows: auto; }
  .vhc-mosaic__item, .vhc-mosaic__item--featured, .vhc-mosaic__item--wide { grid-column: auto; grid-row: auto; min-height: 20rem; }
  .vhc-service-card__overlay { position: absolute; inset: auto 0 0; }
  .vhc-service-card__description { opacity: 1; }
  .vhc-topbar__inner, .vhc-topbar__links { justify-content: center; }
  .vhc-header__inner { min-height: 4.75rem; flex-wrap: wrap; padding-block: var(--vhc-space-3); }
  .vhc-nav { order: 3; width: 100%; justify-content: center; gap: var(--vhc-space-2) var(--vhc-space-4); }
  .vhc-post-grid .et_pb_ajax_pagination_container { grid-template-columns: 1fr; }
}

@media (max-width: 30rem) {
  .vhc-grid--4, .vhc-trust-grid { grid-template-columns: 1fr; }
  .vhc-button, .et_pb_button.vhc-button { width: 100%; }
  .vhc-hero__actions, .vhc-cta__actions { display: grid; }
  .vhc-filter { justify-content: stretch; }
  .vhc-filter__button { flex: 1 1 calc(50% - var(--vhc-space-2)); }
  .vhc-search-form, .search-form { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .vhc-button:hover { transform: none; }
}

@media (forced-colors: active) {
  .vhc-button, .vhc-filter__button, .vhc-form :where(input, textarea, select) { border: 1px solid ButtonText; }
}
