#office-locator {
    display: flex;
    flex-direction: row;
    align-items: initial;
    align-self: auto;
    flex-basis: auto;
    flex-grow: 1;
    flex-shrink: 1;
    flex-wrap: initial;
    justify-content: initial;
    height: 100%;
    margin: 0 auto;
    width: 100%;
    gap: 24px;
}

.office-locator-list-container {
    display: flex;
    flex-direction: column;
    width: 45%;
    height: 700px;
    flex: 0 1 auto;
    overflow-y: auto;
}

.map-container {
    display: flex;
    flex-direction: column;
    width: 60%;
    flex: 0 1 auto;
}

.map-container #map{
    height: 700px;
    border-radius: 16px;
}

.city-selector{
    background-color: #E8EBED;
    padding: 24px;
    border-radius: 16px;
    margin-bottom: 24px;
}

.city-selector label{
    color: #0F0F0F;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.city-selector select {
    color: #0F0F0F;
    background-color: #FAFAFA;
    border-radius: 16px;
    padding: 13px 13px 13px 13px;
}

.office-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.office-card{
    background-color: #FFC857;
    color: #0F0F0F;
    border-radius: 16px;
    padding: 24px;
}

.office-card-inner{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
}

.office-card-inner .office-image{
    width: 33% !important;
    border-radius: 8px !important;
}

.office-card-inner .office-info .office-title{
    font-family: "DM Serif Text", Sans-serif !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 26px !important;
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
}

.office-card-inner .office-info p{
    margin-bottom: 0.5rem !important;
}

.office-card-inner .office-info .office-link {
    background-color: #002564;
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 360px;
    margin-top: 0.5rem;
    transition: all .3s ease;
}

.office-card-inner .office-info .office-link:hover{
    background-color: #2A5EB9;
}

#map .leaflet-attribution-flag { display: none !important; }

@media (max-width: 768px) {
    #office-locator  {
        display: flex;
        flex-direction: column;
    }
  
    .office-locator-list-container,
    .map-container {
        width: 100%;
    }

    .office-locator-list-container{
        height: auto;
    }

    .map-container {
        height: 400px;
    }

    .office-list{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .office-list {
        grid-template-columns: 1fr;
    }
}

/* Cibler la croix de fermeture du InfoWindow */
.gm-style-iw-d {
    padding: 0 !important;
}

/* Positionner la croix de fermeture */
.gm-style-iw button.gm-ui-hover-effect {
    position: absolute !important;
    top: -10px !important;
    right: -10px !important;
    z-index: 1000;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 0 0 0 8px;
    box-shadow: none;
}