/* Overrides added when the site moved off Squarespace. */

/* The shop isn't used (services are booked via /appointments), so hide the cart icon. */
.header-actions-action--cart,
.header-menu-cart { display: none !important; }

/* Native replacements for Squarespace's video player */
.local-video-bg { overflow: hidden; }
.local-video-bg video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.local-native-video { display: block; width: 100%; height: auto; }

/* Full-length video loading behind the short clip until it takes over (see site.js) */
.embed-block-wrapper { position: relative; }
.local-video-full:not(.is-active) { opacity: 0; pointer-events: none; }
.local-native-video.local-video-full:not(.is-active) { position: absolute; inset: 0; }

/* Keyless Google Maps embed */
.sqs-block-map .sqs-block-content { height: 100%; }
.local-map { display: block; width: 100%; height: 100%; border: 0; filter: grayscale(1); }

.local-form-error { margin-top: 1em; color: #b00020; }

/* Blog post previous/next links: the template squeezes both long titles side by side on phones,
   so they overlap (also on the old Squarespace site). Stack them instead. */
@media (max-width: 767px) {
  #itemPagination.item-pagination--prev-next { flex-direction: column; gap: 24px; }
  #itemPagination .item-pagination-link { max-width: 100%; width: 100%; align-items: center; }
  #itemPagination .item-pagination-link--next { justify-content: flex-end; }
  #itemPagination .pagination-title-wrapper { min-width: 0; }
  #itemPagination .item-pagination-title { font-size: 20px; line-height: 1.25; overflow-wrap: anywhere; }
}
