/* PDP Section Floorplan */
.pdp-floorplan .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor2)); }
.pdp-virtual-tour-controls { opacity: 0; visibility: hidden; width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-top-swiper:hover .pdp-virtual-tour-controls { opacity: 1; visibility: visible; }
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-next,
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-prev { width: 3.125rem; height: 3.125rem; position: absolute; top: 50%; background: hsla(var(--white), 75%); border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor2)); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-next { right: 0.625rem; }
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-prev { left: 0.625rem; }
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-next:hover,
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-prev:hover { background: hsl(var(--siteColor2)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-next:focus,
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-next:after,
.pdp-virtual-tour-controls .pdp-virtual-tour-top-btn-prev:after { font-size: 1.875rem; }
.pdp-virtual-tour-top-swiper .pdp-virtual-tour-top-pagination.swiper-pagination-bullets { display: none; position: absolute; top: auto; right: auto; bottom: 1.25rem !important; left: 50% !important; z-index: 1; transform: translateX(-50%) !important; }
.pdp-virtual-tour-top-pagination .swiper-pagination-bullet { opacity: 0.5; margin: 0.5rem; background: hsl(var(--white)); }
.pdp-virtual-tour-top-pagination .swiper-pagination-bullet:hover { opacity: 1; background: hsla(var(--siteColor2), 0.75); }
.pdp-virtual-tour-top-pagination .swiper-pagination-bullet-active, .pdp-virtual-tour-controls .swiper-pagination-bullet-active:hover { opacity: 1; background: hsl(var(--white)); }
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .pdp-virtual-tour-controls { opacity: 1; visibility: visible; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .pdp-virtual-tour-controls { opacity: 1; visibility: visible; }
}

/* Photo Gallery Images */
.pdp-virtual-tour-top-swiper  { width: 100%; position: relative; border-radius: var(--borderRadius); }
.pdp-virtual-tour-top-swiper .pdp-virtual-tour-img-wrap { width: 100%; position: relative; padding-bottom: 56.25%; overflow: hidden; background: var(--placeholderBG);; border-radius: var(--borderRadius); }
.pdp-virtual-tour-top-swiper .gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.pdp-virtual-tour-top-swiper .gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 2; }

/* Photo Gallery Thumbnails */
.pdp-virtual-tour-thumb-controls { opacity: 0; visibility: hidden; width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-thumbs-swiper:hover .pdp-virtual-tour-thumb-controls { opacity: 1; visibility: visible; }
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-next,
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-prev { width: 2.1875rem; height: 2.1875rem; position: absolute; top: 0.3125rem; background: hsla(var(--white), 75%); border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor2)); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-next { right: 0.625rem; }
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-prev { left: 0.625rem; }
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-next:hover,
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-prev:hover { background: hsl(var(--siteColor2)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-next:focus,
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-next:after,
.pdp-virtual-tour-thumb-controls .pdp-virtual-tour-thumbs-btn-prev:after { font-size: 1.25rem; }
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .pdp-virtual-tour-thumb-controls { opacity: 1; visibility: visible; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .pdp-virtual-tour-thumb-controls { opacity: 1; visibility: visible; }
}

/* Photo Gallery Thumbnail Images */
.pdp-virtual-tour-thumbs-swiper  { width: 100%; position: relative; margin-top: 0.625rem !important; }
.pdp-virtual-tour-thumbs-swiper .pdp-virtual-tour-img-wrap { position: relative; padding-bottom: 56.25%; overflow: hidden; background: var(--placeholderBG);; border-radius: var(--borderRadius); }
.pdp-virtual-tour-thumbs-swiper .gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.pdp-virtual-tour-thumbs-swiper .gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.pdp-virtual-tour-top-swiper .swiper-caption { position: absolute; bottom: 0; left: 0; z-index: 3; padding: 0.5rem; background-color: hsla(var(--black), 50%); font-size: 1rem; line-height: 1.25; color: hsl(var(--white)); }
.pdp-virtual-tour-top-swiper .swiper-caption p:only-child,
.pdp-virtual-tour-top-swiper .swiper-caption p:last-child { margin-bottom: 0; }

/* PDP Modal Floorplan */
.pdp-virtual-tour-modal-floorplan .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor2)); }
.pdp-virtual-tour-modal-controls { opacity: 0; visibility: hidden; width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-modal-top-swiper:hover .pdp-virtual-tour-modal-controls { opacity: 1; visibility: visible; }
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-next,
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-prev { width: 3.125rem; height: 3.125rem; position: absolute; top: 50%; background: hsla(var(--white), 75%); border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor2)); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-next { right: 0.625rem; }
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-prev { left: 0.625rem; }
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-next:hover,
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-prev:hover { background: hsl(var(--siteColor2)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-next:focus,
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-next:after,
.pdp-virtual-tour-modal-controls .pdp-virtual-tour-modal-top-btn-prev:after { font-size: 1.875rem; }
.pdp-virtual-tour-modal-top-swiper .pdp-virtual-tour-modal-top-pagination.swiper-pagination-bullets { position: absolute; top: auto; right: auto; bottom: 1.25rem !important; left: 50% !important; z-index: 1; transform: translateX(-50%) !important; }
.pdp-virtual-tour-modal-top-pagination .swiper-pagination-bullet { opacity: 0.5; margin: 0.5rem; background: hsl(var(--white)); }
.pdp-virtual-tour-modal-top-pagination .swiper-pagination-bullet:hover { opacity: 1; background: hsla(var(--siteColor2), 0.75); }
.pdp-virtual-tour-modal-top-pagination .swiper-pagination-bullet-active, .pdp-virtual-tour-modal-controls .swiper-pagination-bullet-active:hover { opacity: 1; background: hsl(var(--white)); }
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .pdp-virtual-tour-modal-controls { opacity: 1; visibility: visible; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .pdp-virtual-tour-modal-controls { opacity: 1; visibility: visible; }
}

/* Photo Gallery Images */
.pdp-virtual-tour-modal-top-swiper  { width: 100%; position: relative; border-radius: var(--borderRadius); }
.pdp-virtual-tour-modal-top-swiper .pdp-virtual-tour-modal-img-wrap { width: 100%; position: relative; padding-bottom: 56.25%; overflow: hidden; background: var(--placeholderBG);; border-radius: var(--borderRadius); }
.pdp-virtual-tour-modal-top-swiper .gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.pdp-virtual-tour-modal-top-swiper .gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 2; }

/* Photo Gallery Thumbnails */
.pdp-virtual-tour-modal-thumb-controls { opacity: 0; visibility: hidden; width: 100%; margin: auto; position: absolute; top: 50%; right: 0; left: 0; z-index: 2; transform: translate(0,-50%); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-modal-thumbs-swiper:hover .pdp-virtual-tour-modal-thumb-controls { opacity: 1; visibility: visible; }
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-next,
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-prev { width: 2.1875rem; height: 2.1875rem; position: absolute; top: 0.3125rem; background: hsla(var(--white), 75%); border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor2)); transition: all 0.4s ease-in-out; }
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-next { right: 0.625rem; }
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-prev { left: 0.625rem; }
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-next:hover,
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-prev:hover { background: hsl(var(--siteColor2)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-next:focus,
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-next:after,
.pdp-virtual-tour-modal-thumb-controls .pdp-virtual-tour-modal-thumbs-btn-prev:after { font-size: 1.25rem; }
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .pdp-virtual-tour-modal-thumb-controls { opacity: 1; visibility: visible; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .pdp-virtual-tour-modal-thumb-controls { opacity: 1; visibility: visible; }
}

/* Photo Gallery Thumbnail Images */
.pdp-virtual-tour-modal-thumbs-swiper  { width: 100%; position: relative; margin-top: 0.625rem !important; }
.pdp-virtual-tour-modal-thumbs-swiper .pdp-virtual-tour-modal-img-wrap { position: relative; padding-bottom: 56.25%; overflow: hidden; background: var(--placeholderBG);; border-radius: var(--borderRadius); }
.pdp-virtual-tour-modal-thumbs-swiper .gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.pdp-virtual-tour-modal-thumbs-swiper .gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }