/* Targeted additions only. Existing theme typography, spacing, and colours remain in control. */
.location-photo-wrap.mrmt-photo-slider {
  position: relative;
  overflow: hidden;
}

.location-photo-wrap.mrmt-photo-slider img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.location-photo-wrap.mrmt-photo-slider .mrmt-location-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 450ms ease;
}

/* Keep people and room details in frame within the existing wide blog-card crop. */
.blog-carousel.mrmt-enabled .post-art img:not(.logo-fallback) {
  object-position: center 18% !important;
}

/* The theme already gives the testimonial footer a divider; suppress its duplicate. */
#testimonials .testimonial-quote::after {
  display: none !important;
}

/* Keep the website's major section headings on one consistent responsive scale. */
body #main section h2 {
  font-size: clamp(42px, 3vw, 58px) !important;
  line-height: 1.02 !important;
}

@media (min-width: 1200px) {
  body #main #blog .section-head h2,
  .mobile-massage-v188-copy p {
    white-space: nowrap !important;
  }
}

@media (max-width: 760px) {
  body #main section h2 {
    font-size: 38px !important;
  }
}

.location-photo-wrap.mrmt-photo-slider .mrmt-location-slide.is-active {
  position: relative;
  opacity: 1;
}

.blog-carousel.mrmt-enabled .blog-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.blog-carousel.mrmt-enabled .blog-viewport::-webkit-scrollbar {
  display: none;
}

.blog-carousel.mrmt-enabled .blog-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: var(--blog-gap, 24px);
  transform: none !important;
  width: max-content;
}

.blog-carousel.mrmt-enabled .blog-carousel-card {
  flex: 0 0 min(560px, calc((100vw - 120px) / 2));
  width: min(560px, calc((100vw - 120px) / 2));
  scroll-snap-align: start;
}

.blog-carousel.mrmt-enabled .blog-controls {
  display: flex !important;
}

@media (max-width: 760px) {
  .blog-carousel.mrmt-enabled .blog-carousel-card {
    flex-basis: min(86vw, 460px);
    width: min(86vw, 460px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .location-photo-wrap.mrmt-photo-slider .mrmt-location-slide {
    transition: none;
  }

  .blog-carousel.mrmt-enabled .blog-viewport {
    scroll-behavior: auto;
  }
}
