$location-breakpoint-desktop: 1025px; // Includes iPad Air (820px) in mobile/stacked layout

.location-section-wrapper {
  
    padding: 3rem 1rem;
    font-family: sans-serif;

    .location-container {
        max-width: 1200px;
        margin: 0 auto;

        .location-section-header {
            text-align: center;
            color: #41448E;
            font-size: 28px;
            font-weight: 700;
            margin: 0 0 0.5rem 0;

            @media (min-width: $location-breakpoint-desktop) {
                font-size: 44px;
            }
        }

        .location-section-subheader {
            text-align: center;
            color: #000;
            font-size: 16px;
            font-weight: 400;
            margin: 0 0 20px 0;

            @media (min-width: $location-breakpoint-desktop) {
                font-size: 24px;
            }
        }

        .location-content {
            display: flex;
            flex-direction: column;
            gap: 20px;

            @media (min-width: $location-breakpoint-desktop) {
                flex-direction: row;
                gap: 80px;
                align-items: stretch;
            }

            .location-map {
                height: 400px;
                width: 100%;
                overflow: hidden;
                border: 1px solid #d0d7de;
                flex-shrink: 0;

                @media (min-width: $location-breakpoint-desktop) {
                    flex: 1 1 50%;
                    min-width: 610px;
                    aspect-ratio: 1 / 1;
                    height: auto;
                }
            }

            .location-data-container {
                flex: 1;
                min-width: 0;

                .container-fluid & {
                    padding-left: 1rem;
                    padding-right: 1rem;
                }

                @media (min-width: $location-breakpoint-desktop) {
                    flex: 1 1 50%;
                    min-width: 0;
                    min-height: 0;
                    aspect-ratio: 1 / 1;
                    overflow-y: auto;
                }

                .location-point-info {
                    display: none;
                }

                .location-places-group {
                    &.has-buble-shade .place-bullet {
                        background-color: #B0BEC5 !important;
                    }

                    .location-places-list {
                        list-style: none !important;
                        padding: 0;
                        margin: 0;
                        display: flex;
                        flex-direction: column;
                        gap: 20px;

                        .place-item {
                            list-style: none !important;
                            padding: 0;
                            margin: 0;

                            &::marker {
                                content: none;
                            }

                            &::before {
                                display: none !important;
                            }

                            display: flex;
                            align-items: center;
                            font-size: 24px;
                            color: #40458E;
                            list-style-type: none !important;
                            position: relative;
                            padding:0;

                            .place-bullet {
                                width: 20px;
                                height: 20px;
                                border-radius: 50%;
                                margin-right: 10px;
                                flex-shrink: 0;
                                display: inline-block;                                
                                background-color: #FFF;
                                box-sizing: border-box;
                            }

                            &.active .place-bullet{
                                background-color: #474b8e !important;
                                border-color: #474b8e;
                            }

                            .place-name {
                                font-weight: 600;
                                flex-grow: 1;
                                margin-right: 1rem;
                            }

                            .place-distance {
                                color: 40458E;
                                white-space: nowrap;
                                text-align: right;
                                font-weight: 400;
                                font-size: 20px;
                            }

                            
                        }
                    }
                }
            }
        }
    }

    @media (max-width: 1024px) {
        padding:0;

        .location-container {
            .location-section-header {
                text-align: center;
                font-size: 2rem;
            }

            .location-section-subheader {
                text-align: center;
                font-size: 1.1rem;
            }

            .location-content {
                .location-map {
                    height: 450px;
                    order: 1;
                    border-radius: 12px;
                }

                .location-data-container {
                    order: 2;
                    min-height: 120px;
                    flex-shrink: 0;
                }

                .location-data-container .location-places-group .location-places-list .place-item {
                    .place-name {
                        font-size: 18px;
                        font-weight: 400;
                    }

                    .place-distance {
                        font-size: 14px;
                        font-weight: 400;
                    }
                }
            }
        }
    }
}

/* Google Maps InfoWindow styles */
.gm-style {
    .gm-style-iw-d {
        padding: 0 !important;

        a {
            color: #e91e63;
            font-weight: 600;
            text-decoration: none;

            &:hover {
                color: #000;
                text-decoration: underline;
            }
        }

        strong {
            display: block !important;
        }
    }

    .gm-style-iw-chr {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        padding: 0 !important;
    }

    .gm-ui-hover-effect {
        top: 0 !important;
        right: 20px !important;
        width: 32px !important;
        height: 23px !important;
    }
    .gm-style-iw-c{
        min-width:200px !important;
    }
}
