/* service-area-map.css */

/* Style the map container */
#map {
    height: 500px;
    width: 100%;
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Style for the search box */

#service-map-finder {
    position: relative;
    display: flex;
    flex-direction: column;
  }
  
  #service-map {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 0;
    left: 0;
    top: 0;
    order: 3;
  } 
  .service-search-form {
    width: 500px;
    order: 1;
    z-index: 1;
    background-color: #FFF;
    border-bottom: 5px solid #DDD;
    padding: 40px 24px;
    border-top: 1px solid #DDD;
  }
  .service-search-form h2 {
    line-height: 110%;
    font-size: 32px;
    margin: 0 0 16px;
  }
  #zip-code-search {
    padding: 8px;
    width: 100%;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 0;
  }

  #search-btn {
    padding: 8px 16px;
    font-size: 16px;
    border-radius: 0;
    cursor: pointer;
    width: 100%;
    box-shadow: none;
    border: none;
  }
  #location-list {
    width: 500px;
    order: 2;
    z-index: 1;
    background-color: #FFF;
    overflow-y: scroll;
    height: 500px;
  }

  .location-list-item {
    display: none; /* Hide the list initially */
    padding: 24px;
    border-bottom: 1px solid #DDD;
    background-color: #f9f9f9;
    flex-direction: column;
    gap: 16px;
  }
  .location-item {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .location-item .loc-details {
     align-items: flex-start;
  }
  .loc-details {
    display: flex;
    gap: 16px;
    position: relative;
    padding-left: 32px;
  }
  .loc-details svg {
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0;
    top: 0px;
  }
  .location-name.loc-details {
    padding: 0;
  }
  .location-name.loc-details h3 {
    font-weight: 600;
    font-size: 28px;
  }
  #location-btn {
    text-align: right;
    background-color: transparent;
    border: none;
    margin-top: 8px;
  }
  .location-distance-container {
    position: absolute;
    right: 0;
    top: 0;
  }
  .distance-svg {
    width: 24px;
    height: 24px;
    margin: 0 auto;
    text-align: center;
  }
  .distance-svg svg {
    position: relative;
  }
/* InfoWindow Content */
.gm-style-iw {
    max-width: 300px;
}

.gm-style-iw .gm-style-iw-c {
    padding: 10px;
    font-size: 14px;
}

.gm-style-iw a {
    text-decoration: none;
}

.gm-style-iw a:hover {
    text-decoration: none;
}
.gm-style-iw-d .loc-details {
    font-size: 16px;
    font-weight: normal;
  }
  .gm-style-iw-d .location-links.loc-details a {
    font-size: 14px;
    padding: 12px 24px;
    color: #FFF;
  }
/* Adjust the layout of the info window */
.gm-style-iw-chr {
    position: absolute;
    right: 0;
    top: 0;
  }
.gm-style-iw .gm-style-iw-d .location-item {
    border: none;
    background: transparent;
  }
/* Responsive Styles */
@media (max-width: 1199px) {
    .service-search-form, #location-list {
        width: 400px;
    }
    .location-links.loc-details a {
        padding: 12px 24px;
    }
    .location-address.loc-details strong {
        display: block;
        width: 100%;
    }
    .location-address.loc-details {
        display: block;
      }
}
@media (max-width: 1024px) {
    .service-search-form {
        width: 100%;
        padding: 24px;
      }

      #location-list {
        order: 3;
        width: 100%;
        height: auto;
      }
      #service-map {
        height: 400px;
        order: 2;
        position: relative;
      }
}

@media (max-width: 414px) {
    .location-links.loc-details {
        display: contents;
      }   
}
