<turbo-stream action="replace" target="modal"><template>

<turbo-frame id="modal">
  <div
    data-controller="modal"
    data-modal-target="outer"
    
    data-action="keyup@document->modal#handleKeyup"
    class="fixed z-20 inset-0 overflow-y-auto"
    aria-labelledby="modal-title"
    role="dialog"
    aria-modal="true"
    style="margin-top: 30px"
  >
    <div class="flex items-start justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0">
      <div
        data-action="click->modal#close"
        data-modal-target="wrapper"
        data-transition-enter="ease-out duration-300"
        data-transition-enter-start="opacity-0"
        data-transition-enter-end="opacity-100"
        data-transition-leave="ease-in duration-200"
        data-transition-leave-start="opacity-100"
        data-transition-leave-end="opacity-0"
        class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity"
        aria-hidden="true"
      >
      </div>

      <!-- This element is to trick the browser into centering the modal contents. -->
      <span class="align-middle h-screen" aria-hidden="true">&#8203;</span>

      <div
        data-modal-target="body"
        data-transition-enter="ease-out duration-300"
        data-transition-enter-start="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
        data-transition-enter-end="opacity-100 translate-y-0 sm:scale-100"
        data-transition-leave="ease-in duration-200"
        data-transition-leave-start="opacity-100 translate-y-0 sm:scale-100"
        data-transition-leave-end="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
        class="inline-block bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:align-top  sm:p-6 sm:my-[10vh] md:my-0  sm:w-full sm:max-w-[70rem]"
      >
        <div>

          <turbo-frame id="modal-body">
            <div class="px-8 py-8 !p-0">
              
 <div data-controller="slider">
   <div class="swiper" data-slider-target="container" style="max-height: 73vh;">
     <div class="swiper-wrapper mb-4">
         <div class="swiper-slide flex justify-center cursor-pointer">
           <img class="!object-cover md:h-[600px] sm:h-full mx-auto" loading="lazy" src="https://www.ibicasa.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NTg3MDAsInB1ciI6ImJsb2JfaWQifX0=--10bf8c078385a1eba261b8795df36f1d35c78ca4/watermarked_house-cala-moli-cala-vadella-cve608.jpg?locale=de" />
           <div class="swiper-lazy-preloader"></div>
         </div>
     </div>
     <div class="swiper-button-prev" data-slider-target="prev"></div>
     <div class="swiper-button-next" data-slider-target="next"></div>
     <div class="swiper-pagination"></div>
   </div>

   <div thumbsSlider="" class="swiper" data-slider-target="containerr">
     <div class="swiper-wrapper">
         <div class="swiper-slide flex justify-center !h-auto max-h-[120px] min-h-[120px]">
           <img class="opacity-40 object-contain !h-full mx-auto" src="https://www.ibicasa.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1NzcsInB1ciI6ImJsb2JfaWQifX0=--d7751bb527c91878950ce8207908d1d016428262/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fZmlsbCI6WzEwMCwxMDBdfSwicHVyIjoidmFyaWF0aW9uIn19--9a381d92c760c9cf8ff6251ab2904d7964b95202/house-cala-moli-cala-vadella-cve608.jpg?locale=de" />
         </div>
     </div>
   </div>
 </div>

            </div>
</turbo-frame>        </div>
      </div>
    </div>
  </div>
</turbo-frame>
<style>
 .swiper-slide-thumb-active img {
   opacity: 1 !important;
 }

 .swiper-slide {
   text-align: center;
   font-size: 18px;
   background: #fff;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 .swiper-thumbs {
   margin-top: 10px;
   width: 100%;
   height: 120px;
   box-sizing: border-box;
 }

.swiper-thumbs .swiper-slide img {
  border-radius: 10px; /* Rounded corners only for thumbnails */
}

 .swiper-slide img {
   display: block;
   width: 100%;
   object-fit: cover;
 }

 .swiper-container.fullscreen {
   position: fixed !important;
   top: 0;
   left: 0;
   width: 100vw !important;
   height: 100vh !important;
   background: rgba(0, 0, 0, 0.9);
   z-index: 9999;
 }

 .swiper-container.fullscreen .swiper-wrapper {
   height: 100vh;
 }

 .swiper-container.fullscreen .swiper-slide {
   display: flex;
   align-items: center;
   justify-content: center;
   background: transparent;
 }

 .swiper-container.fullscreen .swiper-slide img {
   max-width: 90%;
   max-height: 90vh;
   width: auto;
   height: auto;
   object-fit: contain;
 }

 .swiper-container.fullscreen .swiper-button-prev,
 .swiper-container.fullscreen .swiper-button-next {
   color: white;
 }

 .swiper-container.fullscreen + [thumbsSlider] {
   display: none;
 }

.fullscreen-close {
  position: fixed;
  top: 20px;
  right: 20px;
  color: #3dbab3 !important;
  cursor: pointer;
  z-index: 10000;
  font-size: 24px;
  background: rgba(0, 0, 0, 0.5);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: none; /* Hidden by default */
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.fullscreen-close:hover {
  background: rgba(0, 0, 0, 0.7);
  transform: scale(1.1);
}

 /* Pagination styles */
 .swiper-pagination {
   position: absolute;
   bottom: 10px !important;
 }

 .swiper-pagination-bullet {
   width: 8px;
   height: 8px;
   background: rgba(255, 255, 255, 0.5);
   opacity: 0.5;
 }

 .swiper-pagination-bullet-active {
   background: #ffffff;
   opacity: 1;
 }

 .swiper-container.fullscreen .swiper-pagination {
   bottom: 20px !important;
 }

  .swiper-container.fullscreen .swiper-slide img {
    border-radius: 0 !important; /* Force no rounding for fullscreen images */
  }
</style></template></turbo-stream>