.map_section {
    width: 100%;
    padding: 0 !important;
    overflow: hidden;

    & > .container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
    }

    & .map_wrapper {
        position: relative;
        width: 100%;
        height: 55rem;

        @media (max-width: 991px) {
            height: 70rem;
        }

        & #map {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: none;
        }

        & .map_overlay {
            position: absolute;
            bottom: 4rem;
            left: 4rem;
            z-index: 10;
            background: rgba(26, 31, 23, 0.92);
            backdrop-filter: blur(6px);
            padding: 3.5rem 4rem;
            max-width: 38rem;
            border-left: 4px solid var(--primary);

            @media (max-width: 767px) {
                left: 2rem;
                right: 2rem;
                bottom: 2rem;
                max-width: none;
                padding: 2.5rem;
            }

            & h2, & h3 {
                font-weight: 700;
                color: var(--white);
                margin: 0 0 1.2rem;
                line-height: 1.2;

                @media (max-width: 991px) {
                    font-size: 2.4rem;
                }
            }

            & p {
                color: rgba(255, 255, 255, 0.75);
                line-height: 1.2;
                margin: 0 0 2rem;

                &:last-of-type {
                    margin-bottom: 0;
                }
            }

            & a {
                display: inline-flex;
                align-items: center;
                gap: 0.6rem;
                margin-top: 2rem;
                font-size: 1.4rem;
                font-weight: 600;
                color: var(--white);
                background: var(--primary);
                border-radius: 5rem;
                padding: 1rem 2.4rem;
                text-decoration: none;
                transition: opacity 0.3s ease;

                &:hover {
                    opacity: 0.85;
                }
            }
        }

        & .info-window {
            padding: 0.5rem;
            min-width: 20rem;

            & .main_header {
                font-size: 1.6rem;
                font-weight: 700;
                margin: 0 0 0.8rem;
                color: #1a1f17;
            }

            & p {
                font-size: 1.3rem;
                margin: 0 0 0.4rem;
                color: #444;
            }

            & a {
                display: inline-block;
                margin-top: 0.8rem;
                font-size: 1.3rem;
                font-weight: 600;
                color: var(--primary);
                text-decoration: underline;
            }
        }
    }
}
