/*
  Global carousel control appearance.
  Positioning remains owned by each carousel context.
*/

.owner-carousel-btn,
.carousel-btn,
.sn-home-maps-btn,
.lb-prev,
.lb-next {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;

  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 999px !important;

  background: rgba(255,255,255,.3) !important;
  color: transparent !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-shadow: 0 2px 8px rgba(15,23,42,.1) !important;

  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;

  font-size: 0 !important;
  line-height: 0 !important;
  text-align: center !important;
  text-shadow: none !important;

  opacity: 1 !important;
  overflow: hidden !important;
  cursor: pointer;
}

.owner-carousel-btn:hover,
.owner-carousel-btn:active,
.owner-carousel-btn:focus,
.owner-carousel-btn:focus-visible,
.carousel-btn:hover,
.carousel-btn:active,
.carousel-btn:focus,
.carousel-btn:focus-visible,
.sn-home-maps-btn:hover,
.sn-home-maps-btn:active,
.sn-home-maps-btn:focus,
.sn-home-maps-btn:focus-visible,
.lb-prev:hover,
.lb-prev:active,
.lb-prev:focus,
.lb-prev:focus-visible,
.lb-next:hover,
.lb-next:active,
.lb-next:focus,
.lb-next:focus-visible {
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.3) !important;
  color: transparent !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.1) !important;
  outline: 0 !important;
  opacity: 1 !important;
}

.owner-carousel-btn svg,
.owner-carousel-btn path,
.carousel-btn svg,
.carousel-btn path {
  display: none !important;
}

.owner-carousel-btn::before,
.carousel-btn::before,
.sn-home-maps-btn::before,
.lb-prev::before,
.lb-next::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid rgba(17,24,39,.88);
  border-right: 2px solid rgba(17,24,39,.88);
  box-sizing: border-box;
  flex: 0 0 auto;
}

.owner-carousel-prev::before,
.carousel-prev::before,
.sn-home-maps-prev::before,
.lb-prev::before {
  transform: translateX(1px) rotate(-135deg);
}

.owner-carousel-next::before,
.carousel-next::before,
.sn-home-maps-next::before,
.lb-next::before {
  transform: translateX(-1px) rotate(45deg);
}

/* Lightbox control sizing — same scale as shared detail main */

@media (max-width: 767px) {
  .lb-prev,
  .lb-next {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  .lb-prev::before,
  .lb-next::before {
    width: 8px;
    height: 8px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .lb-prev,
  .lb-next {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .lb-prev::before,
  .lb-next::before {
    width: 9px;
    height: 9px;
  }
}

@media (min-width: 1024px) and (max-width: 1365px) {
  .lb-prev,
  .lb-next {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  .lb-prev::before,
  .lb-next::before {
    width: 10px;
    height: 10px;
  }
}

@media (min-width: 1366px) and (max-width: 1599px) {
  .lb-prev,
  .lb-next {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  .lb-prev::before,
  .lb-next::before {
    width: 10px;
    height: 10px;
  }
}

@media (min-width: 1600px) {
  .lb-prev,
  .lb-next {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .lb-prev::before,
  .lb-next::before {
    width: 11px;
    height: 11px;
  }
}

/* Home maps carousel control sizing */

@media (max-width: 767px) {
  .sn-home-maps-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
  }

  .sn-home-maps-btn::before {
    width: 7px;
    height: 7px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sn-home-maps-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  .sn-home-maps-btn::before {
    width: 8px;
    height: 8px;
  }
}

@media (min-width: 1024px) and (max-width: 1365px) {
  .sn-home-maps-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  .sn-home-maps-btn::before {
    width: 8px;
    height: 8px;
  }
}

@media (min-width: 1366px) and (max-width: 1599px) {
  .sn-home-maps-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .sn-home-maps-btn::before {
    width: 9px;
    height: 9px;
  }
}

@media (min-width: 1600px) {
  .sn-home-maps-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .sn-home-maps-btn::before {
    width: 9px;
    height: 9px;
  }
}
