/* Basic loading spinner */
.location-spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-left-color: #000;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

#location-loading {
    text-align: center;
    padding: 20px;
    display: none;
}
/* Container for sidebar and map */
.location-map-container {
    display: flex;
    width: 100%;
    height: 755px;
}

/* Sidebar styling */
.location-sidebar {
    width: 30%;
    padding: 0 20px 0 0;
    height: inherit;
}

/* Map container */
.location-map {
    width: 70%;
}

/* Search box with clear button */
.search-box {
    position: relative;
    margin-bottom: 20px;
}

.search-box input[type="text"] {
    width: 100%;
    color: #5F5F68;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
    border-radius: 8px;
    border: 1px solid #E3E3E3;
    padding: 13px 16px;
    padding-left: 48px;
    height: 50px;
    box-shadow: none !important;
}

.search-box:before{
    position: absolute;
    left: 16px;
    top: 15px;
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><g clip-path="url(%23clip0_1617_49698)"><path d="M19.375 19.375L13.5 14" stroke="%230E0E34" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.125 15.625C12.2671 15.625 15.625 12.2671 15.625 8.125C15.625 3.98286 12.2671 0.625 8.125 0.625C3.98286 0.625 0.625 3.98286 0.625 8.125C0.625 12.2671 3.98286 15.625 8.125 15.625Z" stroke="%230E0E34" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/></g><defs><clipPath id="clip0_1617_49698"><rect width="20" height="20" fill="white"/></clipPath></defs></svg>');
}

/* Clear (x) button */
.clear-btn {
    position: absolute;
    right: 10px;
    top: 25%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #aaa;
    font-size: 40px;
    display: none;
}

/* Show clear button when input has text */
.search-box input[type="text"]:not(:placeholder-shown) + .clear-btn {
    display: block;
}

/* Filter options styling */
.filter-options {
    margin-bottom: 20px;
    margin-top: 15px;
    display: flex;
    gap: 15px;
}

.filter-options label {
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
    color: #333;
}

.filter-options input[type="checkbox"] {
    margin-right: 8px;
    transform: scale(1.2);
    vertical-align: middle;
}

/* Location list styling */
.location-list {
}

.location-item h3 {
    color: #0E0E34;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 26px */
    letter-spacing: -0.4px;
    margin-bottom: 8px;
}

.location-item p {
    margin: 10px 0;
    color: #0E0E34;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: -0.14px;
}

.location-item p:last-child{
    margin-bottom: 0px;
}

.location-item a[href^="tel:"] {
    color: #2C6ADE;
}

.detail-loc {
    color: #0E0E34;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 18px */
    letter-spacing: -0.12px;
}

.detail-loc strong{
    color: #0E0E34;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 19.5px */
    letter-spacing: -0.13px;
}

.detail-loc p{
    padding: 12px 0;
    margin: 0;
    border-bottom: solid 1px #E3E3E3;
}

.detail-loc p:last-child{
    border: none;
}

/* Get directions link */
.get-directions,
.link-direction .get-direction {
    width: auto;
    display: inline-block;
    text-align: center;
    font-size: 16px;
    line-height: 1.375;
    padding: 9px 24px;
    font-weight: 500;
    letter-spacing: -0.01em;
    vertical-align: middle;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.35sease;
    position: relative;
    overflow: hidden;
    color: #fff;
    border: none;
    z-index: 0;
    transition: all 0.4s ease-in-out;
}

.get-directions:before,
.link-direction .get-direction:before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    background: linear-gradient(95.25deg, #0056b8 0.63%, #1ea5fd 99.38%);
    transition: right 0.4s ease-in-out;
}

.get-directions:hover,
.link-direction .get-direction:hover {
    opacity: 1;
    text-decoration: none;
    color:#fff;
}

.get-directions:hover::before,
.link-direction .get-direction:hover::before{
    right: -50%;
}

.location-sidebar .location-list-wrapper{
    direction: rtl;
    height: calc(750px - 137px);
    overflow: auto;
    margin-top: 15px;
    padding-left: 8px;
}

/* Scrollbar styling for sidebar */
.location-sidebar .location-list-wrapper::-webkit-scrollbar {
    width: 4px;
}

.location-sidebar .location-list-wrapper::-webkit-scrollbar-thumb {
    background-color: #2C6ADE;
    border-radius: 10px;
}

.location-sidebar .location-lis-wrappert::-webkit-scrollbar-track {
    background-color: #f9f9f9;
}

.location-sidebar .location-list > *{
    direction: ltr;
}

.location-list .location-item{
    border-radius: 8px;
    border: 1px solid #E3E3E3;
    background: #FFF;
    padding: 16px;
    margin-bottom: 12px;
}

.loc-map-info-box {
    width: 327px;
    max-width: 100%;
    background: white;
    border-radius: 8px;
    box-shadow: none;
    padding: 20px;
    padding-left: 8px;
}

.popup-content {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.popup-loc-title {
    color: #0E0E34;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 26px */
    letter-spacing: -0.4px;
    margin-bottom: 8px;
}

.popup-loc-address {
    color: #0E0E34;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
    letter-spacing: -0.16px;
    border-bottom: solid 1px #E3E3E3;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.loc-map-info-box .popup-phone{
    margin-bottom: 12px;
}

.loc-map-info-box .popup-phone .phone-link {
    color: #2C6ADE;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 19.6px */
    letter-spacing: -0.14px;
    display: flex;
    align-items: center;
    grid-gap: 10px;
}

.loc-map-info-box .popup-phone .phone-link:before{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M19.95 21C17.8667 21 15.8043 20.55 13.763 19.65C11.7217 18.75 9.86733 17.4667 8.2 15.8C6.53267 14.1333 5.24933 12.2833 4.35 10.25C3.45067 8.21667 3.00067 6.15 3 4.05V3H8.9L9.825 8.025L6.975 10.9C7.34167 11.55 7.75 12.1667 8.2 12.75C8.65 13.3333 9.13333 13.875 9.65 14.375C10.1333 14.8583 10.6627 15.321 11.238 15.763C11.8133 16.205 12.434 16.6173 13.1 17L16 14.1L21 15.125V21H19.95Z" fill="%232C6ADE"/></svg>');
    height: 24px;
}

.link-direction .get-direction{
    width: 100%;
}

.location-map .gm-style-iw-chr{
    position: absolute;
    right: 0;
    top: 0;
}

.location-map .gm-style .gm-style-iw-c{
    border-radius: 8px;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.10);
}

.location-map  .gm-style-iw-d{
    overflow: auto !important;
}

@media (max-width:800px){
    .location-map-container{
        flex-direction: column;
        height: auto;
    }

    .location-sidebar{
        width: 100%;
        padding-right: 0;
    }

    .location-map{
        width: calc(100% + 24px);
        height: 655px;
        margin-top: 36px;
        border-radius: 8px;
        overflow: hidden;
        margin-left: -12px;
        margin-right: -12px;
    }
}