/*
 Theme Name:   WPResidence Child Theme
 Theme URI:    https://themeforest.net/item/wp-residence-real-estate-wordpress-theme/7896392
 Description:  WPResidence child theme
 Author:       WpEstate
 Author URI:   http://wpestate.org
 Template:     wpresidence
 Version:      5.4.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Contact page : carte d'infos visible sur tablette et mobile.
   Le parent place le bloc avec margin-left:-550px et le masque sous 576px ;
   .wpestate_full_map_shortcode .contact_map_container (spécificité 0,2,0)
   bat la règle responsive .contact_map_container (0,1,0). On réaligne en
   gardant la même spécificité et en englobant les deux sélecteurs. */
@media screen and (max-width: 1200px) {
    .contact_map_container,
    .wpestate_full_map_shortcode .contact_map_container {
        left: 30px;
        right: auto;
        margin-left: 0;
        width: 350px;
        max-width: calc(100% - 60px);
    }
}

/* Mobile (≤580px) : on sort le bloc du flux absolu pour l'empiler
   AU-DESSUS de la carte, plutôt que de le superposer.
   - wrapper : height auto pour qu'il englobe bloc + carte
   - googleMap : hauteur dédiée (Leaflet réinitialise sa taille)
   - bloc : position relative, prend la pleine largeur
   - z-index 1001 pour passer devant les contrôles Leaflet (z-index 1000) */
@media screen and (max-width: 580px) {
    #gmap_wrapper.contact_map {
        height: auto !important;
    }
    #gmap_wrapper.contact_map > #googleMap {
        height: 400px !important;
        min-height: 400px;
    }
    #gmap_wrapper > .contact_map_container,
    .contact_map_container,
    .wpestate_full_map_shortcode .contact_map_container {
        display: block;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        margin: 0 !important;
        width: auto !important;
        max-width: none !important;
        padding: 25px 20px !important;
        box-shadow: none !important;
        z-index: 1001 !important;
    }
}

/* Widget Elementor "Full Map" : neutralise les largeurs/marges custom
   héritées de l'éditeur (ex. width:initial, margin-left négatif sur mobile)
   qui sortent la carte du viewport et masquent le bloc d'infos. */
@media screen and (max-width: 1200px) {
    .elementor-widget-Wpresidence_Full_Map.elementor-widget__width-initial,
    .elementor-widget-Wpresidence_Full_Map {
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor-widget-Wpresidence_Full_Map > .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    .elementor-widget-Wpresidence_Full_Map #gmap_wrapper,
    .elementor-widget-Wpresidence_Full_Map #googleMap {
        width: 100% !important;
        max-width: 100% !important;
    }
}
