/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.10.1756310129
Updated: 2025-08-27 17:55:29

*/



/* pour le footer et les lien politique et cgu */

nav[aria-label="Liens légaux"] {
  text-align: center; /* optionnel, pour centrer les liens */
}

nav[aria-label="Liens légaux"] a {
  text-decoration: none;
  color: #333; /* couleur texte, change selon ton site */
  margin: 0 5px;
}

@media (max-width: 544px) {
  nav[aria-label="Liens légaux"] {
    display: flex;
    flex-direction: column; /* met les liens l’un sous l’autre */
    align-items: center;   /* centre horizontalement */
  }

  nav[aria-label="Liens légaux"] span {
    display: none; /* masque le tiret sur mobile */
  }

  nav[aria-label="Liens légaux"] a {
    margin: 5px 0; /* espace vertical entre les liens */
  }
}



/* champs beige formulaire de contact*/
/* Champs Nom, Email et Message */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form textarea {
    background-color: #F2F2F7; /* couleur rose/violette */
    color: #000000; /* couleur du texte à l'intérieur */
    border: 1px solid #ccc; /* bordure optionnelle */
}

/* Optionnel : bordure différente au focus */
.wpforms-form input:focus,
.wpforms-form textarea:focus {
    border-color: #018F8C; /* bordure turquoise quand actif */
    outline: none;
}

/* Tous les champs du formulaire WPForms */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form textarea {
    width: 100%;       /* prend toute la largeur du conteneur */
    max-width: 100%;   /* évite que certains champs soient plus petits */
    box-sizing: border-box; /* inclut padding et bordure dans la largeur */
}

.wpforms-form .wpforms-submit-container {
    text-align: right; /* aligne le bouton à droite */
}







/* header fixe transparent devient blanc au scroll  mais reste flotant sur tablette et mobile*/
.main-header-bar {
  background-color: transparent;
  transition: background-color .25s ease, box-shadow .25s ease;
}

@media (min-width: 921px) {
  .main-header-bar.fixed-desktop {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
  }
  .main-header-bar.fixed-desktop.scrolled {
    background-color: #ffffff;
    box-shadow: 0 3px 14px rgba(0,0,0,0.08);
  }
}

@media (max-width: 921px) {
  .main-header-bar {
    position: relative !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }
}


/*------------------------------------------------------*/
/* ============================
   FORMULAIRE CONTACT WPForms #2337 (page Contact)
   ============================ */

/* Champs texte, email et message */
#wpforms-form-2337 input[type="text"],
#wpforms-form-2337 input[type="email"],
#wpforms-form-2337 textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    display: block;

    background-color: #F2F2F7;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px;
    font-size: 16px;
    color: #000;
    margin-bottom: 15px;
}

/* Focus */
#wpforms-form-2337 input[type="text"]:focus,
#wpforms-form-2337 input[type="email"]:focus,
#wpforms-form-2337 textarea:focus {
    border-color: #018F8C;
    outline: none;
    box-shadow: 0 0 4px rgba(1, 143, 140, 0.3);
}

/* Labels */
#wpforms-form-2337 label.wpforms-field-label {
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
    display: inline-block;
}

/* Checkbox RGPD */
#wpforms-form-2337 .wpforms-field-gdpr-checkbox ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#wpforms-form-2337 .wpforms-field-gdpr-checkbox li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
}

#wpforms-form-2337 .wpforms-field-gdpr-checkbox input[type="checkbox"] {
    width: auto !important;
    height: auto !important;
    margin: 0;
}

/* Lien dans le texte RGPD */
#wpforms-form-2337 .wpforms-field-gdpr-checkbox label a {
    color: #333 !important;
    text-decoration: underline;
}
#wpforms-form-2337 .wpforms-field-gdpr-checkbox label a:hover {
    color: #018F8C !important;
}

/* Bouton */
#wpforms-form-2337 .wpforms-submit-container {
    text-align: right;
}

#wpforms-form-2337 button[type="submit"] {
    background-color: #E6007E;
    color: #fff;
    border: none;
    padding: 12px 24px;
    font-size: 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color .3s ease;
}

#wpforms-form-2337 button[type="submit"]:hover {
    background-color: #c00065;
}


/* ============================
   FORMULAIRE FOOTER WPForms #3141
   (on garde tes règles d’origine)
   ============================ */

/* Masquer le formulaire footer uniquement sur la page Contact */
.page-id-1318 #wpforms-form-3141 {
    display: none !important;
}

/* Footer : formulaire pleine largeur */
#wpforms-form-3141,
#wpforms-form-3141 .wpforms-field-container,
#wpforms-form-3141 input,
#wpforms-form-3141 textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Champs du footer */
#wpforms-form-3141 input,
#wpforms-form-3141 textarea {
    margin-right: 10px;
    background-color: #FFFFFF;
    border: 1px solid #ccc;
    padding: 8px;
    border-radius: 4px;
}

/*------------------------------------------------------*/


/* inverser les bouton de la home page sur mobile */
@media (max-width: 544px) {
  .swap-buttons-mobile {
    display: flex !important;
    flex-direction: column !important; /* reste empilé comme d'origine */
    gap: 8px; /* espace entre boutons (ajuste si besoin) */
  }

  /* Inversion : on applique order aux enfants directs du conteneur */
  .swap-buttons-mobile > .elementor-element-0289630 {
    order: 2 !important; /* bouton secondaire passe après */
  }
  .swap-buttons-mobile > .elementor-element-b16ba99 {
    order: 1 !important; /* bouton primaire passe avant */
  }

  /* Au cas où Elementor change les classes, version alternative par data-id */
  .swap-buttons-mobile > [data-id="0289630"] { order: 2 !important; }
  .swap-buttons-mobile > [data-id="b16ba99"],
  .swap-buttons-mobile > [data-id="b16ba99"] { order: 1 !important; }
}



/* Empêche le scroll horizontal sur tout le site */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}



/* Menu burger Astra : supprimer le fond, cadre et padding */
.ast-builder-layout-element .menu-toggle.main-header-menu-toggle {
    background: none !important;       /* supprime la couleur de fond */
    border: none !important;           /* supprime la bordure */
    padding: 0 !important;             /* supprime le padding */
    width: auto !important;            /* ajuste la largeur au contenu */
    height: auto !important;           /* ajuste la hauteur au contenu */
    box-shadow: none !important;       /* supprime toute ombre */
}




/* ordre de ma grille homepage sur mobile */ /* Mobile : 767px et moins */ @media (max-width: 544px) {
  /* Parent flex vertical */
  .elementor-element.elementor-element-6e65c7f.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  /* Les enfants prennent toute la largeur */
  .elementor-element.elementor-element-6e65c7f.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded .e-con-inner > .elementor-element {
    width: 100% !important;
  }

  /* Ordre personnalisé des blocs */
  #bloc-1 { order: 1; }
  #bloc-2 { order: 2; }
  #bloc-3 { order: 3; }
  #bloc-4 { order: 4; }
  #bloc-5 { order: 5; }
  #bloc-6 { order: 6; }
  #bloc-7 { order: 7; }
  #bloc-8 { order: 8; }
  #bloc-9 { order: 9; }
}





/* ordre de ma grille services sur mobile */ /* Mobile : 767px et moins */
@media (max-width: 544px) {
  /* rendre le parent un flex vertical */
  .elementor-element[data-id="61e83c0"] {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* forcer les enfants directs à prendre toute la largeur */
  .elementor-element[data-id="61e83c0"] > .elementor-element {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ordre souhaité  */
  #bloc-1 { order: 1 !important; }
  #bloc-2 { order: 2 !important; }
  #bloc-3 { order: 3 !important; }
  #bloc-4 { order: 4 !important; }

  /* sécurité : images et widgets ne dépassent pas */
  .elementor-element[data-id="61e83c0"] img,
  .elementor-element[data-id="61e83c0"] .elementor-widget-container {
    max-width: 100% !important;
    width: 100% !important;
  }
}















/* formulaire du footer */
/* Case + texte RGPD bien alignés sur une ligne */ 
#wpforms-3141 #wpforms-3141-field_6 li {display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;white-space:normal!important;} 

/* Case à cocher visible */ 
#wpforms-3141 #wpforms-3141-field_6 input[type="checkbox"] {display:inline-block!important;margin:0!important;width:auto!important;height:auto!important;} 

/* Texte RGPD */ 
#wpforms-3141 #wpforms-3141-field_6 label.wpforms-field-label-inline {display:inline-block!important;margin:0!important;line-height:1.4!important;color:#333333!important;white-space:normal!important;} 

/* Lien dans le texte RGPD */ 
#wpforms-3141 #wpforms-3141-field_6 label.wpforms-field-label-inline a {color:#333333!important;text-decoration:underline!important;} 
#wpforms-3141 #wpforms-3141-field_6 label.wpforms-field-label-inline a:hover,#wpforms-3141 #wpforms-3141-field_6 label.wpforms-field-label-inline a:focus {color:#333333!important;}



/* Sous-menu blanc uniquement quand le header est scrolled */
.main-header-bar.scrolled .sub-menu,
.main-header-bar.scrolled .ast-sub-menu {
    background-color: #ffffff !important;
}

/* Sous-menu transparent quand pas scrolled */
.main-header-bar:not(.scrolled) .sub-menu,
.main-header-bar:not(.scrolled) .ast-sub-menu {
    background-color: transparent !important;
}



/* Liens du sous-menu sur une seule ligne avec marge interne */
/* Sous-menu avec largeur fixe */
.main-header-menu .sub-menu,
.main-header-menu .ast-sub-menu {
    width: 250px;      /* ajuste selon ton besoin */
    box-sizing: border-box; 
}

/* Lien sur une seule ligne et plein conteneur */
.main-header-menu .sub-menu a,
.main-header-menu .ast-sub-menu a {
    white-space: nowrap;
    display: block;
    padding-right: 10px;  /* espace interne à droite du lien */
}



/* widget 2 dans le footer */

footer h3 {
  font-family: 'Lobster Two', cursive !important;
}




/* Croix de fermeture Calendly au-dessus du header sticky */
.calendly-popup-close {
    z-index: 99999 !important; /* au-dessus de tout */
    position: fixed !important; /* la croix reste fixe par rapport à l'écran */
    top: 60px !important;       /* ajustable selon la hauteur du header */
    right: 10px !important;     /* ajustable selon ton besoin */
    width: 40px;                 /* largeur de la croix */
    height: 40px;                /* hauteur de la croix */
    cursor: pointer;             /* curseur pointeur */
}





/* Bouton header pleine largeur sur mobile/tablette */
@media (max-width: 921px) {
    .ast-header-button-1 .ast-builder-button-wrap {
        width: 100% !important;       /* prend toute la largeur du conteneur */
        display: block !important;     /* s'assure que le bouton est en block */
    }

    .ast-header-button-1 .ast-custom-button-link {
        width: 100% !important;       /* le lien prend toute la largeur */
        text-align: center;           /* centre le texte du bouton */
        display: block !important;    
    }

    .ast-header-button-1 .ast-custom-button {
        width: 100% !important;       /* le div interne prend toute la largeur */
        box-sizing: border-box;       /* inclut padding et bordure dans la largeur */
    }
}




/* Masquer le lien "Politique de confidentialité" dans la bannière Complianz */
.cmplz-link.privacy-statement {
    display: none !important;
}




/* Étaler le message de confirmation WPForms sur toute la page */
.wpforms-confirmation-container {
    width: 100% !important;       /* prend toute la largeur */
    max-width: 100% !important;
    padding: 20px !important;     /* espace autour du texte */
    box-sizing: border-box;
}

/* Centrer le texte ou laisser à gauche selon ton choix */
.wpforms-confirmation-container p {
    width: 100%;
    text-align: left; /* ou center */
}
/*------------------------------------------------------*/




/* Liens légaux footer en ligne */
nav[aria-label="Liens légaux"] {
    display: flex;
    flex-wrap: wrap;       /* pour que ça passe à la ligne si trop petit */
    justify-content: center; /* centre horizontalement */
    gap: 10px;             /* espace entre les liens */
    text-align: center;    /* fallback pour navigateurs anciens */
}

nav[aria-label="Liens légaux"] a {
    text-decoration: none;
    color: #333;
    white-space: nowrap;   /* empêche le retour à la ligne sur chaque lien */
}

/* Responsive : sur mobile, les liens passent en colonne */
@media (max-width: 544px) {
    nav[aria-label="Liens légaux"] {
        flex-direction: column;
        gap: 5px;
    }
}




/* cible le texte interne du bouton Elementor (si ID sur le bouton) */
#btn-primary .elementor-button-text {
  display: inline-block;            /* nécessaire pour transform */
  transition: transform 0.22s ease; /* animation douce */
  transform-origin: center;
}

#btn-primary:hover .elementor-button-text {
  transform: scale(1.12);           /* ajuste 1.12 à la valeur souhaitée */
}




/* bouton envoyé du formulaire de la page contact*/
#wpforms-form-2337 button[type="submit"] {
  border-radius: 15px;
background-color: #FF1493;
}



/* mets le menu du footer toujours en colonne */
@media (max-width: 921px) {
  .site-footer-primary-section-1,
  .site-footer-primary-section-1 .footer-widget-area,
  .site-footer-primary-section-1 .footer-bar-navigation,
  .site-footer-primary-section-1 .footer-nav-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* centre horizontalement */
    width: 100% !important;
    gap: 20px !important;
  }

  /* Menu du footer : liste verticale et centrée */
  #astra-footer-menu {
    flex-direction: column !important;
    align-items: center !important;
  }

  /* Icônes sociales */
  .site-footer-primary-section-1 .ast-footer-social-1-wrap {
    justify-content: center !important; /* centre les icônes */
    width: 100% !important;
    margin-top: 10px;
  }
}



/* changer l'ordre des boutons d'une grille sur mobile */
@media (max-width: 544px) {
  .grille-btn {
    display: flex;
    flex-direction: column; /* force l’empilement en mobile */
  }

  .grille-btn #btn1 {
    order: 2; /* bouton du bas */
  }

  .grille-btn #btn2 {
    order: 1; /* bouton du haut */
  }
}



/********************************************
 * 🌿 PAGE BLOG (page des articles)
 ********************************************/

/* 🖥️ Desktop (≥ 921px) */
.blog .site-content {
    margin-top: 140px;
}

/* 📱 Tablette (768px–920px) */
@media (max-width: 920px) and (min-width: 768px) {
    .blog .site-content {
        margin-top: 50px;
    }
}

/* 📱 Mobile (≤ 544px) */
@media (max-width: 544px) {
    .blog .site-content {
        margin-top: 0px;
    }
}



/********************************************
 * 🗂️ PAGE CATÉGORIE (archive.category)
 ********************************************/

/* 🖥️ Desktop (≥ 921px) */
.archive.category .site-content {
    margin-top: 140px;
}

/* 📱 Tablette (768px–920px) */
@media (max-width: 920px) and (min-width: 768px) {
    .archive.category .site-content {
        margin-top: 50px;
    }
}

/* 📱 Mobile (≤ 544px) */
@media (max-width: 544px) {
    .archive.category .site-content {
        margin-top: 0px;
    }
}



/********************************************
 * 📰 ARTICLE SEUL (single-post)
 ********************************************/

/* 🖥️ Desktop (≥ 921px) */
.single-post .site-content {
    margin-top: 10px;
}

/* 📱 Tablette (768px–920px) */
@media (max-width: 920px) and (min-width: 768px) {
    .single-post .site-content {
        margin-top: 50px;
    }
}

/* 📱 Mobile (≤ 544px) */
@media (max-width: 544px) {
    .single-post .site-content {
        margin-top: 0px;
    }
}









/*======================*/

/* avis google */


/* Texte caché pour lecteurs d'écran */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* Curseur et focus pour lire la suite */
.ti-read-more {
    cursor: pointer;
    background: none;
    border: none;
    color: #1a73e8;
    font: inherit;
}
.ti-read-more:focus {
    outline: 2px solid #1a73e8;
    outline-offset: 2px;
}

/* Transition pour expansion */
.ti-content {
    overflow: hidden;
    transition: max-height 0.3s ease;
}



/*FIN avis google*/

/*========================*/











/*ameliorer les performance mobile en transformant temporairement le H1 en police système*/
h1 {
  font-family: "Lora", serif;
}




