/* Store Locator Layout Styles */

.store-locator-wrapper {
   width: 100%;
   height: 80vh;
   min-height: 600px;
   max-height: 900px;
}

.store-locator-container {
   display: flex;
   width: 100%;
   height: 100%;
}

/* Sidebar Styles */
.store-locator-sidebar {
   width: 30%;
   height: 100%;
   overflow-y: auto;
   background: #f8f9fa;
   border-right: 1px solid #dee2e6;
}

.sidebar-content {
   padding: 2rem;
}

.sidebar-content .title h1 {
   font-size: 1.75rem;
   margin-bottom: 1rem;
   color: #001E3A;
}

.sidebar-content .text {
   margin-bottom: 1.5rem;
}

.sidebar-content .text p {
   font-size: 0.95rem;
   color: #4d5e6a;
   line-height: 1.5;
}

/* Map Container */
.store-locator-map {
   width: 70%;
   height: 100%;
   position: relative;
}

.store-locator-map #wpsl-result-list,
.store-locator-map #wpsl-gmap {
   height: 100% !important;
}

/* Store Results List */
.store-results-list {
   margin-top: 2rem;
}

.store-results-list .title_result {
   margin-bottom: 1rem;
   font-weight: 600;
}

#wpsl-stores-ul {
   max-height: calc(80vh - 450px);
   overflow-y: auto;
   padding-right: 0.5rem;
}

/* Store List Items */
#wpsl-stores-ul > div {
   margin-bottom: 1rem;
   padding: 1rem;
   background: #fff;
   border-radius: 8px;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   cursor: pointer;
   transition: all 0.3s ease;
}

#wpsl-stores-ul > div:hover {
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
   transform: translateY(-2px);
}

/* Search Form Styles */
.box_search {
   margin-bottom: 1rem;
}

.box_search .btn {
   width: 100%;
   margin-top: 0.5rem;
}

/* Location Button */
.my_location_sidebar {
   margin-top: 1rem;
}

.my_location_sidebar .btn {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.5rem;
   padding: 0.75rem 1rem;
   background: transparent;
   border: 1px solid #4d5e6a;
   color: #4d5e6a;
   border-radius: 4px;
   cursor: pointer;
   transition: all 0.3s ease;
   font-size: 0.9rem;
}

.my_location_sidebar .btn:hover {
   background: #4d5e6a;
   color: #fff;
}

.my_location_sidebar .btn:hover svg path {
   fill: #fff;
}

/* Custom Scrollbar */
.store-locator-sidebar::-webkit-scrollbar,
#wpsl-stores-ul::-webkit-scrollbar {
   width: 8px;
}

.store-locator-sidebar::-webkit-scrollbar-track,
#wpsl-stores-ul::-webkit-scrollbar-track {
   background: #f1f1f1;
   border-radius: 4px;
}

.store-locator-sidebar::-webkit-scrollbar-thumb,
#wpsl-stores-ul::-webkit-scrollbar-thumb {
   background: #888;
   border-radius: 4px;
}

.store-locator-sidebar::-webkit-scrollbar-thumb:hover,
#wpsl-stores-ul::-webkit-scrollbar-thumb:hover {
   background: #555;
}

/* Mobile Responsive */
@media (max-width: 991px) {
   .store-locator-wrapper {
      height: auto;
      min-height: 100vh;
   }

   .store-locator-container {
      flex-direction: column;
   }

   .store-locator-sidebar,
   .store-locator-map {
      width: 100%;
      height: auto;
   }

   .store-locator-sidebar {
      min-height: auto;
      max-height: 60vh;
   }

   .store-locator-map {
      min-height: 500px;
      height: 60vh;
   }

   #wpsl-stores-ul {
      max-height: 300px;
   }
}

@media (max-width: 768px) {
   .sidebar-content {
      padding: 1.5rem;
   }

   .sidebar-content .title h1 {
      font-size: 1.5rem;
   }

   .store-locator-map {
      min-height: 400px;
   }
}
