/* Location Button Popup Styles */
.location-button-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.location-button-popup-overlay {
    background: rgba(0, 0, 0, 0.5);
    position:absolute;
    height:100%;
    width:100%;
 }

.location-button-popup-content {
    position: relative;
    background-image:url(/wp-content/uploads/2025/02/location-selector-back.webp);
    background-color: white;
    max-width: 700px;
    margin: 20vh auto;
    border-radius: 15px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    background-size: 700px;
    background-repeat: no-repeat;
    background-position: 257px 86%;
}


.location-selector-wrapper .location-title {
    display: flex;
        justify-content: center;
        align-items: center;
        background: var(--yellow);
        padding-top: 10px;
        padding-bottom: 10px;
        overflow: hidden;
        gap:35px;
}

.location-title img {
    width: 50px;
    padding: 10px;
}
/* Speech bubble triangle */
.location-button-popup-content::after {
    content: '';
    position: absolute;
    bottom: -50px; /* Adjust based on desired triangle size */
    left: 50%;
    transform: translateX(-50%);
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 50px solid var(--yellow); /* Match background color */
    width: 0;
    height: 0;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.1)); /* Subtle shadow to match box */
}


.location-button-popup-content > h2 {
    font-size: 40px;
    padding-top: 15px;
    padding-bottom: 0px;
    margin-bottom: 0px;
    text-align: center;
    margin-bottom: -25px;
}

.location-selector-wrapper {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    background:linear-gradient(to top, #FFC847 0%, #ffffff00 93%, white 110%);
    border-radius: 15px;
    overflow:hidden;
    padding-bottom:15px;
    gap:7px;
}


.location-info .img-wrap {
    display:flex;
    position: relative;
    width:100%;
}

.location-selector-right .location-info  .img-wrap {
    justify-content: flex-end;
}

.location-title > div {
    display: flex;
    flex-direction: column;
    gap: 0px;
    justify-content: center;
    align-items: center;
}



.location-info .img-wrap img {
    /* max-width:290px; */
}
.location-info .img-wrap:after {
    content:'';
    width:100%;
    height:100%;
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    background:linear-gradient(to top, #FFC847 0%, #ffffff00 50%);
}
.location-selector-left,
.location-selector-right,
.location-selector-center {
    flex: 1;
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.location-selector-center {
    border-bottom: 20px solid var(--yellow);
}

.location-selector-left:hover,
.location-selector-right:hover,
.location-selector-center:hover {
    transform: scale(1.05);
    transform-origin: center bottom;
}

.location-info {
    text-align: center;
    flex-grow: 1;
    position: relative;
    z-index: 2;
    display:flex;
    flex-direction: column;
}

.location-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
    opacity: 0.2;
    transition: opacity 0.3s ease;
}

.location-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.1));
}

.location-selector-left:hover .location-image,
.location-selector-right:hover .location-image {
    opacity: 0.3;
}

.location-info h3 {
    font-family: 'veneer', sans-serif;
    font-size: 3rem;
    margin: 0;
    color: black;
    text-shadow: 1px 1px 0 rgba(255,255,255,0.5);
}

.location-info p {
    font-family: thirsty-script;
    text-align: center;
    margin: 0px;
    color: #1a237e;
    font-size: 1.1rem;
    text-shadow: 1px 1px 0 rgba(255,255,255,0.5);
}

.arrow-left,
.arrow-right {
    font-size: 2rem;
    color: #1a237e;
    position: relative;
    z-index: 2;
    text-shadow: 1px 1px 0 rgba(255,255,255,0.5);
    position:absolute;
}

.location-selector-compass {
    flex-shrink: 0;
    position: absolute;
    z-index: 3;
    max-width: 90px;
    width: 100%;
    pointer-events: none;
    /* display: flex; */
    justify-content: center;
    align-items: center;
    bottom: 0px;
    top: auto;
    align-self: self-end;
    background-color:var(--yellow);
    left: 0;
    right: 0;
    margin: auto;
    bottom:-50px;
    align-items: center;
    justify-content: center;
    display: flex;
    border-radius: 100%;
    padding: 10px;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.close-popup {
    position: absolute;
    top: 10px;
    right: 1rem;
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: #1a237e;
    z-index: 3;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

.close-popup:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {

    .location-selector-wrapper {
        background: linear-gradient(to top, #FFC847 0%, #ffffff00 125%, white 101%);
    }

    .location-button-popup-content {
        margin: 10vh auto;
        padding: 1rem;
        max-width: 90%;
    }

    .location-selector-wrapper {
        flex-direction: column;
    }

    .location-selector-compass {
        transform: rotate(90deg);
    }

    .location-info h3 {
        font-size: 1.5rem;
    }

    .location-info p {
        font-size: 1rem;
    }

    .above-fold .location-force-rosemount:hover {
        background:unset !Important
    }
    .above-fold .location-force-maple-grove:hover {
        background:unset !Important
    }
}

/* Add body class when popup is open to prevent scrolling */
body.popup-open {
    overflow: hidden;
}

.left-hover .needle {
    transform: rotate(-70deg);
}

.right-hover .needle {
    transform: rotate(70deg);
}
.needle {
    transform-origin: center;
    transition: .3s;
}

.cls-1-home {
    transition: transform .4s, fill .6s;
}





/* Mobile Responsive Styles */
@media (max-width: 768px) {

    .location-info {
        flex-direction:row;
    }

    .location-button-popup-content {
        margin: 10vh auto;
        width: 90%;
        max-width: none;
        background-position: center 50%;
        background-size: cover;
    }

    .location-button-popup-content > h2 {
        font-size: 32px;
        padding: 15px 0 10px;
        margin: 0;
    }

    .location-selector-wrapper {
        flex-direction: column;
        gap: 5px;
    }

    .location-selector-compass {
   display:none;
    }

    .location-selector-left, 
    .location-selector-right {
        width: 100%;
        max-width: 100%;
    }

    .location-title {
        flex-direction: row !important;
        width: 100%;
    }

    .location-selector-center {
        border-bottom:unset;
    }

    .location-info {
        width: 100%;
    }

    .location-info .img-wrap img {
        height: auto;
        width: 100%;
        object-fit: scale-down;
    }

    .location-title img {
        width: 40px;
        padding: 5px;
    }

    .location-info h3 {
        font-size: 40px;
    }

    .location-info p {
        font-size: 17px;
    }

    /* Fix triangle position */
    .location-button-popup-content::after {
        bottom: -30px;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 30px solid white;
    }

    /* Adjust layout for stacked locations */
    .location-selector-left,
    .location-selector-right {
        flex-direction: column;
        align-items: center;
    }

    /* Ensure images are properly constrained */
    .location-info .img-wrap {
        width: 70%;
        overflow: hidden;
        height: 130px;
    }

    /* Adjust location title for better spacing */
    .location-title > div {
        padding: 0 10px;
    }

    /* Close button adjustments */
    .close-popup {
        top: 5px;
        right: 5px;
    }
}
