/** Shopify CDN: Minification failed

Line 13:11 Unexpected "{"
Line 13:20 Expected ":"
Line 13:27 Unexpected "{"

**/
/* Hotspot Comparison Section Stylesheet */
.m-hotspot-comparison-section {
  position: relative;
}

#m-custom-{{ section.id }} {
  --section-padding-top: 50px;
  --section-padding-bottom: 50px;
}

.m-hotspot-comparison {
  display: block;
  width: 100%;
}

.m-hotspot-comparison__grid {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

@media (min-width: 768px) {
  .m-hotspot-comparison__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    align-items: center;
  }
}

/* Main Media & Hotspots Wrapper */
.m-hotspot-comparison__main-media-wrapper {
  position: relative;
  width: 100%;
  border-radius: var(--m-blocks-radius, 12px);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.m-hotspot-comparison__media-aspect {
  position: relative;
  width: 100%;
  padding-top: calc(100% / var(--aspect-ratio, 1.5));
}

@media (max-width: 767px) {
  .m-hotspot-comparison__media-aspect {
    padding-top: calc(100% / var(--aspect-ratio-mobile, var(--aspect-ratio, 1)));
  }
}

.m-hotspot-comparison__media-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.m-hotspot-comparison__media-inner img,
.m-hotspot-comparison__media-inner svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hotspot Elements */
.m-hotspot-comparison__hotspot {
  position: absolute;
  left: var(--pos-x, 50%);
  top: var(--pos-y, 50%);
  width: var(--hotspot-size, 36px);
  height: var(--hotspot-size, 36px);
  transform: translate(-50%, -50%);
  z-index: 10;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 767px) {
  .m-hotspot-comparison__hotspot {
    left: var(--pos-x-mobile, var(--pos-x, 50%));
    top: var(--pos-y-mobile, var(--pos-y, 50%));
  }
}

/* Hotspot Shape Styles */
.m-hotspot-comparison__hotspot--circle {
  border-radius: 50%;
}

.m-hotspot-comparison__hotspot--rounded {
  border-radius: 8px;
}

.m-hotspot-comparison__hotspot--square {
  border-radius: 4px;
}

/* Hotspot Inner Target & Pulse */
.m-hotspot-comparison__pin {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

/* Sleek Dot Marker Styling */
.m-hotspot-comparison__dot {
  width: 12px;
  height: 12px;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
  position: relative;
  z-index: 2;
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.m-hotspot-comparison__hotspot:hover .m-hotspot-comparison__dot,
.m-hotspot-comparison__hotspot.is-active .m-hotspot-comparison__dot {
  transform: scale(1.35);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.9), 0 0 0 2px rgba(255, 255, 255, 0.5);
}

/* Pulse animation for idle hotspots */
.m-hotspot-comparison__hotspot--pulse .m-hotspot-comparison__pin::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  opacity: 0.4;
  animation: hotspotPulse 2s infinite ease-in-out;
  pointer-events: none;
}

@keyframes hotspotPulse {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.4);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

/* Dark / Black Overlay Effect on Hotspot Area when Hovered / Active */
.m-hotspot-comparison__hotspot-dark-overlay {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: var(--hotspot-overlay-bg, rgba(0, 0, 0, 0.7));
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
  z-index: 1;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8), 0 8px 24px rgba(0, 0, 0, 0.35);
}

.m-hotspot-comparison__label {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
}

/* Active & Hover States */
.m-hotspot-comparison__hotspot:hover .m-hotspot-comparison__hotspot-dark-overlay,
.m-hotspot-comparison__hotspot.is-active .m-hotspot-comparison__hotspot-dark-overlay {
  opacity: var(--hotspot-overlay-opacity, 0.85);
  transform: scale(1.08);
}

.m-hotspot-comparison__hotspot.is-active {
  z-index: 20;
}

/* Right Comparison Media Container */
.m-hotspot-comparison__comparison-wrapper {
  position: relative;
  width: 100%;
  border-radius: var(--m-blocks-radius, 12px);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.m-hotspot-comparison__comparison-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--switch-speed, 0.4s) ease, visibility var(--switch-speed, 0.4s) ease;
  z-index: 1;
}

.m-hotspot-comparison__comparison-item.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.m-hotspot-comparison__comparison-item img,
.m-hotspot-comparison__comparison-item svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Optional Caption Overlay on Comparison Card */
.m-hotspot-comparison__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.25rem;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  color: #ffffff;
  z-index: 3;
  pointer-events: none;
}

.m-hotspot-comparison__caption-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  color: #ffffff;
}

.m-hotspot-comparison__caption-desc {
  font-size: 0.875rem;
  margin: 0;
  opacity: 0.9;
  line-height: 1.4;
}
