/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://urgences-medecins-niort79.fr/Hello-Elementor-child/
 Description:  Thème enfant hérité du thème "Hello Elementor" permettant de personnaliser le thème en toute sécurité.
 Author:       Anthony Hnatow / Monsieur Site Web
 Author URI:   https://monsieursiteweb.fr
 Template:     hello-elementor
 Version:      1.0.0
 License:      GNU General Public License v3 or later
 License URI:  http://www.gnu.org/licenses/gpl-3.0.html
 Tags:         
 Text Domain:  hello-elementor-child
*/

.elementor-widget-form .elementor-message {
    color:#2F2F2F;
}

body, html {
    overflow-x: hidden!important;
}

#MSW_scroll_to_top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 48px;
    height: 48px;
    background: #231F53;
    border-radius: 50%;
    cursor: pointer;
    border:1px solid #fff;
}

#MSW_scroll_to_top::before,
#MSW_scroll_to_top::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 3px;
    background: #fff;
    transform-origin: center;
}

#MSW_scroll_to_top::before {
    transform: translate(-50%, -50%) rotate(-50deg);
    left: calc(50% - 5px);
}

#MSW_scroll_to_top::after {
    transform: translate(-50%, -50%) rotate(50deg);
    left: calc(50% + 3px);
}

#liste_ville ul {
    display:flex;
    flex-wrap:wrap;
}

#liste_ville ul li {
    width:50%;
}

#tableau_tarif {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    font-family: inherit;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    color: #2F2F2F;
    font-size:1em;
}

#tableau_tarif td {
    padding: 1rem 1.2rem;
    text-align: center;
    border: 1px solid #e2e2e2;
    vertical-align: middle;
    line-height: 1.5;
    color: #2F2F2F;
}

#tableau_tarif .titre_colonne td {
    background: linear-gradient(135deg, #1e3a5f, #234a75);
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.95rem;
    border: none;
}

#tableau_tarif .perso_tarifs_bleu {
    background: #e4eff9;
    font-weight: 600;
}

#tableau_tarif strong {
    color: #1e3a5f;
    font-size: 1.1rem;
	font-weight: 700;
}

#tableau_tarif tr:not(.titre_colonne):hover td {
    background-color: #f3f6f9;
    transition: background-color 0.2s ease;
}

#form_demande_documents h4 {
    font-weight: 600;
    color: #231F53;
    font-size: 20px;
    margin: 20px 0 0 0;
	text-transform: none;
}

#form_demande_documents .elementor-field-group-documents .elementor-field-label {
	margin:5px 0 10px 0;
}

#form_demande_documents #notice_date {
	margin: 20px 0 0 0;
}

#form_demande_documents .elementor-field-group-acceptation {
	margin:25px 0 20px 0;
}

#form_demande_documents .elementor-field-group-documents .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option {
    flex-basis: 50%;
    padding: 0 0 3px 0;
}

#form_demande_documents .elementor-field-group-field_054fc64,
#form_demande_documents .elementor-field-group-date_debut_document,
#form_demande_documents .elementor-field-group-date_fin_document {
	display:none;
}

.elementor-location-popup.elementor-685 {
	max-height: 90vh;
    overflow: auto;
}



@media (max-width: 768px) {
    #tableau_tarif,
    #tableau_tarif tbody,
    #tableau_tarif tr,
    #tableau_tarif td {
        display: block;
        width: 100%;
    }

    #tableau_tarif tr {
        margin-bottom: 1rem;
    }

    #tableau_tarif td {
        text-align: left;
        border-left: none;
        border-right: none;
    }

    #tableau_tarif .titre_colonne td {
        text-align: center;
    }
}


@media (max-width:1024px) /*Tablette*/
{
	/* Menu Elementor apparaît de la gauche sur tablette et mobile */
	body .elementor-location-header #header .elementor-menu-toggle+.elementor-nav-menu__container { position:fixed; z-index:10001; height:100vh; background-color:#231F53; width:400px!important; max-width:calc(100% - 90px); max-height: 100%; top: 0; left:-400px; transition:all 0.4s linear; transform:none; -webkit-transform:none; margin: 0; }
	body .elementor-location-header #header .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container { left:0!important; transform:none; -webkit-transform:none;  --menu-height: auto !important; }
	
	.elementor-menu-toggle .eicon-menu-bar { display:block!important; }
	.elementor-menu-toggle .eicon-close { display:none!important; }
	
	#overlay_header { position: fixed; display: block; max-width: 0px; overflow: hidden; width: 100%; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background-color: transparent; z-index: 3; transition:background-color 0.3s; }
	body .elementor-location-header #header .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container+#overlay_header { z-index:9999; background-color:rgba(0,0,0,0.5); max-width:2000px; }
	
	#container_close_menu_mobile { display: flex; justify-content: flex-end; padding: 8px 15px 30px 0; }
	#container_close_menu_mobile .elementor-menu-dropdown__close-button { position: relative; width: 40px; height: 40px; }
	#container_close_menu_mobile .elementor-menu-dropdown__close-button:before ,
	#container_close_menu_mobile .elementor-menu-dropdown__close-button:after { background: #fff; content: ""; position: absolute; height: 3px; width:24px; top:18px; left: 8px; border-radius: 1px; }
	#container_close_menu_mobile .elementor-menu-dropdown__close-button:before { transform: rotate(45deg); -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); }
	#container_close_menu_mobile .elementor-menu-dropdown__close-button:after { transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
    
    nav.elementor-nav-menu--dropdown {
        position:relative;
    }

    #menu_mobile_footer {
        position:absolute;
        bottom:30px;
        left:30px;
        display:flex;
        flex-direction:column;
        gap:20px;
        width: calc(100% - 60px);
    }
    
   #menu_mobile_footer .elementor-button {
        background-color: #F5B83D;
        color: #231F53;
        padding: 14px 20px;
        font-size: 15px;
    }
    
    #menu_mobile_footer .lien_tel {
        padding:12px 20px;
        font-size: 15px;
        text-align: center;
    }
    
}

@media (max-width:768px) {

    #menu_footer {
        
    }
    
    #menu_footer ul.elementor-nav-menu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    
    #menu_footer ul.elementor-nav-menu li a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        line-height: 1em;
        padding:10px 20px;
    }
    
    #menu_footer ul.elementor-nav-menu>li:not(:last-child):after {
        display:none;
    }
}