/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/*.background_img_rond::before {
    content: "";
    position: absolute;
    top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
    
   
    width: 350px;
    height: 350px;
    
    
    border: 30px solid #F6A857; 
    border-radius: 50%;
    
    /* Placement derrière l'image 
    z-index: 0;
    pointer-events: none;
    animation: respiration 6s ease-in-out infinite;
}


.background_img_rond img {
    position: relative;
    z-index: 3;
}


@keyframes respiration {
    0%, 100% {
        /
        transform: translate(-50%, -50%) scale(1);
    }
    50% {
        
        transform: translate(-50%, -50%) scale(1.1);
    }
}
*/

.accordeon_faq .e-n-accordion-item {
    box-shadow: 0 8px 94px #0839410d;
    border-radius: 8px;
    margin-bottom: 20px;
    border: none;
    transition: all 0.3s ease;
}

.accordeon_faq .e-n-accordion-item-title {
    box-shadow: none !important;
    background-color: transparent !important;
}

.accordeon_faq .e-n-accordion-item[open] {
    border: none;
}

:target::before {
  content: "";
  display: block;
  height: 75px; 
  margin-top: -100px;
  visibility: hidden;
  pointer-events: none;
}

#form_demande_tarif label{
    font-weight: 600;
    color : #ffffff !important;
}

.elementor-field-option label{
    font-weight: 400 !important;
}

.elementor-message-success{
    margin-top: 20px !important;
    color : #ffffff !important;
    text-align: center !important;
}

/* 1. Centrer le conteneur global des champs */
#form_demande_tarif .elementor-form-fields-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centre horizontalement les colonnes */
}

/* 2. Forcer chaque groupe de champ à se centrer lui-même */
#form_demande_tarif .elementor-field-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Centre le label et l'input */
    text-align: center !important;
    float: none !important; /* Annule le décalage du col-40 */
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important; /* On remet tout à 100% pour un alignement parfait */
    max-width: 800px; /* Optionnel : empêche le formulaire d'être trop large sur PC */
}

/* 3. Centrer spécifiquement le texte des labels */
#form_demande_tarif .elementor-field-label {
    width: 100%;
    text-align: center !important;
}

/* 4. Centrer le texte à l'intérieur de l'input email */
#form_demande_tarif .elementor-field-textual {
    text-align: center !important;
}

/* 5. Centrer les boutons radio (Beauraing / Bièvre) */
#form_demande_tarif .elementor-field-subgroup {
    justify-content: center !important;
}

#form_rdv button{
    margin-top: 12px !important;
}

/* 1. Centrer les titres (Labels) */
#form_rdv .elementor-field-group > label {
    text-align: center;
    width: 100%;
}

/* 2. Centrer le groupe de boutons radio */
#form_rdv .elementor-field-subgroup.elementor-subgroup-inline {
    display: flex;
    justify-content: center; /* Aligne horizontalement au centre */
    flex-wrap: wrap;         /* Permet de passer à la ligne sur mobile */
    gap: 15px;               /* Espace entre les options */
}

/* 3. Centrer les boutons "Précédent", "Suivant" et "Prendre RDV" */
#form_rdv .e-form__buttons__wrapper {
    justify-content: center !important;
}

/* 4. Optionnel : Centrer les indicateurs d'étapes en haut */
#form_rdv .e-form__indicators {
    justify-content: center;
}

.fleche_droite_bleu {
    position: relative;
    overflow: visible; /* Important pour que la pointe dépasse si besoin */
}

.fleche_droite_bleu::after {
    content: "";
    position: absolute;
    top: 0;
    right: -20px; /* Largeur de la pointe */
    width: 0;
    height: 0;
    border-top: 142px solid transparent;
    border-bottom: 142px solid transparent;
    border-left: 20px solid #005AA6; /* Remplacez par votre code couleur orange exact */
    z-index: 1;
}

.fleche_droite_orange {
    position: relative;
    overflow: visible; /* Important pour que la pointe dépasse si besoin */
}

.fleche_droite_orange::after {
    content: "";
    position: absolute;
    top: 0;
    right: -20px; /* Largeur de la pointe */
    width: 0;
    height: 0;
    border-top: 142px solid transparent;
    border-bottom: 142px solid transparent;
    border-left: 20px solid #F6A857; /* Remplacez par votre code couleur orange exact */
    z-index: 1;
}

.fleche_gauche_orange {
    position: relative;
    overflow: visible; /* Important pour que la pointe dépasse si besoin */
}

.fleche_gauche_orange::after {
    content: "";
    position: absolute;
    top: 0;
    left: -20px; /* Largeur de la pointe */
    width: 0;
    height: 0;
    border-top: 142px solid transparent;
    border-bottom: 142px solid transparent;
    border-right: 20px solid #F6A857; /* Remplacez par votre code couleur orange exact */
    z-index: 1;
}

.fleche_gauche_bleu {
    position: relative;
    overflow: visible; /* Important pour que la pointe dépasse si besoin */
}

.fleche_gauche_bleu::after {
    content: "";
    position: absolute;
    top: 0;
    left: -20px; /* Largeur de la pointe */
    width: 0;
    height: 0;
    border-top: 142px solid transparent;
    border-bottom: 142px solid transparent;
    border-right: 20px solid #005AA6; /* Remplacez par votre code couleur orange exact */
    z-index: 1;
}

#sib-form button{
    color : #ffffff !important;
    border-radius: 10px 10px 10px 10px;
    background-color: #F6A857;
    margin-top: 12px !important;
    min-height: 47px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
}

#sib-form button:hover{
   transform: scale(1.1);
}

.sib-form{
    text-align: center;
    background-color: #005aa6;
    border-radius: 10px;
    width : 728px;
    padding : 0px !important;
}

#sib-container{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    background-color: transparent !important;
    padding : 5px 0px 20px 0px !important;
}


.entry__field {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 300px !important;
  border-width: 0px 0px 0px 0px !important;
  border-radius: 10px 10px 10px 10px !important;
  color: #005AA6 !important;
  min-height: 40px !important;
  padding: 5px 14px !important;
}

.entry__field input {
  width: 100% !important; /* Ou une largeur fixe comme 300px */
  max-width: 300px !important;   
  box-sizing: border-box !important;
  padding : 0px !important;
}

.email_label_tarif{
    text-align: center !important;
    color : #ffffff !important;
    font-weight: 600 !important;
    font-family: var( --e-global-typography-text-font-family ), Sans-serif !important;
    padding-bottom: 10px !important;
}

.email_label_tarif::after{
    color: red;
    content: "*";
    padding-inline-start: .2em;
}

#email{
    text-align: center !important;
}

#sticky_rdv {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    will-change: transform;
    position: fixed;
    bottom: 0;
    /* On ajoute une marge interne en bas égale à la taille de la barre système */
    padding-bottom: env(safe-area-inset-bottom);
    background-color: #F6A857;
    width: 100%;
}

.result-box{
    display: none !important;
}

.page-id-894 .grecaptcha-badge { 
    width: 70px !important; 
    overflow: hidden !important; 
    transition: all 0.3s ease !important; 
    left: 4px !important; /* Déplace le badge vers la gauche */
    right: auto !important; /* Annule la position par défaut à droite */
}

.page-id-894 .grecaptcha-badge:hover { 
    width: 256px !important; 
}

.entry__error{
    color : #F6A857 !important;
    background-color: transparent !important;
    border : none !important;
}

.sib-form-message-panel{
    border-radius: 10px !important;
    margin-top: 20px !important;
    background-color: #F6A857 !important;
    color: #ffffff !important;
    font-weight: 500 !important;
    border: none !important;
}

@media (max-width: 767px) {
    .sib-form, .sib-form-container{
    width : 325px !important;
}

    .ha-step-arrow{
        display: none !important;
    }

    .grecaptcha-badge{ 
    visibility: hidden !important;
}
}

