/* ============================================================
   Carousel Navigation — Standardized Arrow Buttons
   Fixes jumping bug by using transform instead of position changes
   ============================================================ */

/* Universal carousel arrow base styles (override existing) */
.sha-embla__nav,
.sha-carousel-with-nav .sha-embla__nav,
#sha-ct-browser .sha-embla__nav,
#sha-ct-bs-browser .sha-embla__nav,
#sha-floors-browser .sha-embla__nav,
#sha-embla-cabinets-finish .sha-embla__nav,
#sha-embla-cabinets-island .sha-embla__nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 40 !important;
  pointer-events: auto !important;
  width: 32px !important;
  height: 52px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #22303c !important;
  font-size: 20px !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

/* Hover state — NO position change, only visual feedback */
.sha-embla__nav:hover,
.sha-carousel-with-nav .sha-embla__nav:hover,
#sha-ct-browser .sha-embla__nav:hover,
#sha-ct-bs-browser .sha-embla__nav:hover,
#sha-floors-browser .sha-embla__nav:hover,
#sha-embla-cabinets-finish .sha-embla__nav:hover,
#sha-embla-cabinets-island .sha-embla__nav:hover {
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16) !important;
  /* FIX: No transform change on hover — prevents jumping */
}

/* Active state — NO scale to prevent mobile tap jumping */
.sha-embla__nav:active,
.sha-carousel-with-nav .sha-embla__nav:active,
#sha-ct-browser .sha-embla__nav:active,
#sha-ct-bs-browser .sha-embla__nav:active,
#sha-floors-browser .sha-embla__nav:active,
#sha-embla-cabinets-finish .sha-embla__nav:active,
#sha-embla-cabinets-island .sha-embla__nav:active {
  background: rgba(255, 255, 255, 1) !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.10) !important;
  /* FIX: Keep transform at translateY(-50%) only — no scale to prevent jumping */
}

/* Left arrow positioning */
.sha-embla__nav--prev,
.sha-carousel-with-nav .sha-embla__nav--prev,
#sha-ct-browser .sha-embla__nav--prev,
#sha-ct-bs-browser .sha-embla__nav--prev,
#sha-floors-browser .sha-embla__nav--prev {
  left: 8px !important;
}

/* Right arrow positioning */
.sha-embla__nav--next,
.sha-carousel-with-nav .sha-embla__nav--next,
#sha-ct-browser .sha-embla__nav--next,
#sha-ct-bs-browser .sha-embla__nav--next,
#sha-floors-browser .sha-embla__nav--next {
  right: 8px !important;
}

/* Icon sizing */
.sha-embla__nav i {
  font-size: inherit !important;
  line-height: 1 !important;
}

/* Disabled state */
.sha-embla__nav:disabled,
.sha-embla__nav[disabled] {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Desktop larger arrows for better mouse precision */
@media (min-width: 768px) {
  .sha-embla__nav,
  .sha-carousel-with-nav .sha-embla__nav,
  #sha-ct-browser .sha-embla__nav,
  #sha-ct-bs-browser .sha-embla__nav,
  #sha-floors-browser .sha-embla__nav,
  #sha-embla-cabinets-finish .sha-embla__nav,
  #sha-embla-cabinets-island .sha-embla__nav {
    width: 36px !important;
    height: 56px !important;
    font-size: 22px !important;
  }

  .sha-embla__nav--prev,
  .sha-carousel-with-nav .sha-embla__nav--prev {
    left: 12px !important;
  }

  .sha-embla__nav--next,
  .sha-carousel-with-nav .sha-embla__nav--next {
    right: 12px !important;
  }
}

/* Focus states for accessibility */
.sha-embla__nav:focus-visible {
  outline: 2px solid rgba(47, 109, 57, 0.42) !important;
  outline-offset: 2px !important;
}

/* Desktop adjustments */
@media (min-width: 768px) {
  .sha-embla__nav,
  .sha-carousel-with-nav .sha-embla__nav,
  #sha-ct-browser .sha-embla__nav,
  #sha-ct-bs-browser .sha-embla__nav,
  #sha-floors-browser .sha-embla__nav {
    width: 36px !important;
    height: 56px !important;
    font-size: 22px !important;
  }

  .sha-embla__nav--prev,
  .sha-carousel-with-nav .sha-embla__nav--prev,
  #sha-ct-browser .sha-embla__nav--prev,
  #sha-ct-bs-browser .sha-embla__nav--prev,
  #sha-floors-browser .sha-embla__nav--prev {
    left: 12px !important;
  }

  .sha-embla__nav--next,
  .sha-carousel-with-nav .sha-embla__nav--next,
  #sha-ct-browser .sha-embla__nav--next,
  #sha-ct-bs-browser .sha-embla__nav--next,
  #sha-floors-browser .sha-embla__nav--next {
    right: 12px !important;
  }
}

/* Focus visible for accessibility */
.sha-embla__nav:focus-visible {
  outline: 2px solid #2f6d39 !important;
  outline-offset: 2px !important;
}
