/*
 Theme Name: P2id-Child-Themes
 Description: Thème enfant Divi P2ID — navigation responsive et styles Divi
 Author: P2ID
 Template: Divi
 Version: 1.5.0
 Text Domain: divi-child
*/
#main-header.et-fixed-header { box-shadow: none !important; }
#logo { margin: 10px; max-height: 100%; }
.et-cart-info, #et-top-navigation .et-cart-info { display:none !important; }
/* ===== FORMULAIRES WPFORMS ===== */
.wpforms-form button[type="submit"] {
    background: #a6a614 !important;
    border-color: #a6a614 !important;
    color: #fff !important;
    transition: background .3s ease-in-out;
}
.wpforms-form button[type="submit"]:hover {
    background: #a6a614 !important;
    border-color: #a6a614 !important;
}

/* ===== GRANDE BARRE DANS LE CONTENU (INCHANGEE) ===== */








/* ===== PETITE BARRE DU MENU PRINCIPAL ===== */





/* Loupe dessinee en CSS, sans remplacer le formulaire existant. */


/* Le bouton micro et les resultats sont styles dans p2id-search.css. */

/* ===== FILTRE METIER BEROCKET ===== */
.filtre-metier { max-width: 620px; margin: 0 auto 45px; }
.filtre-metier label,
.filtre-metier .berocket_aapf_widget-title,
.filtre-metier .berocket_aapf_widget-title_div {
    display: block;
    margin-bottom: 10px !important;
    color: #36454f !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.3;
}
.filtre-metier select {
    width: 100% !important;
    height: 54px !important;
    padding: 0 20px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #36454f !important;
    font-size: 16px !important;
    font-family: inherit !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.08) !important;
    cursor: pointer;
    outline: none !important;
    appearance: auto;
    -webkit-appearance: auto;
    transition: all .3s ease;
}
.filtre-metier select:hover,
.filtre-metier select:focus {
    border-color: #36454f !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.12) !important;
}

/* ===== ADAPTATIONS MOBILE DIVI ===== */
@media  (max-width: 980px) {
    .et_non_fixed_nav.et_transparent_nav #main-header,
    .et_non_fixed_nav.et_transparent_nav #top-header,
    .et_fixed_nav #main-header,
    .et_fixed_nav #top-header { position: fixed; }
    #main-header, .et-l--header #main-header { background-color: #d3d800 !important; }
    #logo {
        min-height: 0 !important;
        max-height: 90% !important;
        margin: 5px;
    }
    
}
@media  (max-width: 768px) {
    
    
    .filtre-metier { max-width: 100%; margin-bottom: 30px; }
    .filtre-metier select { height: 52px !important; font-size: 15px !important; }
}


/* -------- En-tete ordinateur : une seule ligne et un axe commun -------- */
@media  (min-width: 981px) {
  /* Annule le padding de navigation Divi, pas seulement sa position visuelle. */
  #main-header .et_menu_container {
    display:flex !important; align-items:center !important;
    justify-content:space-between; gap:clamp(12px, 1.6vw, 28px);
    width:94%; max-width:1920px; min-height:100px;
    height:auto !important; padding:8px 0; box-sizing:border-box;
    overflow:visible;
  }
  #main-header .et_menu_container::after { display:none; }
  #main-header .logo_container {
    position:static !important; display:flex !important; align-items:center;
    width:auto !important; height:auto !important; flex:0 0 auto;
    margin:0 !important; transform:none !important;
  }
  #main-header .logo_container .logo_helper { display:none; }
  #main-header .logo_container > a { display:block; line-height:0; }
  #main-header #logo {
    display:block; width:clamp(180px, 15vw, 230px) !important;
    height:auto !important; min-height:0 !important;
    max-width:100% !important; max-height:94px !important;
    object-fit:contain; object-position:left center;
    margin:0 !important; transform:none !important;
  }
  #main-header #et-top-navigation {
    float:none !important; display:flex !important; align-items:center !important;
    flex:0 1 auto; min-width:0; height:auto !important;
    padding:0 !important; margin:0 !important; transform:none !important;
    top:auto !important; position:static;
  }
  #main-header #top-menu-nav { float:none; padding:0; margin:0; }
  #main-header #top-menu-nav > #top-menu {
    display:flex !important; align-items:center !important; flex-wrap:nowrap;
    gap:clamp(10px, 1.05vw, 20px); float:none;
    padding:0 !important; margin:0 !important; white-space:nowrap;
  }
  #main-header #top-menu > li {
    display:flex !important; align-items:center !important; flex:0 0 auto;
    float:none !important; position:relative; line-height:1;
    padding:0 !important; margin:0 !important;
  }
  /* Le bas des liens ne porte plus le padding qui abaissait les boutons. */
  #main-header #top-menu > li > a {
    display:inline-flex !important; align-items:center !important;
    min-height:38px; height:38px; box-sizing:border-box;
    padding:0 !important; margin:0 !important; line-height:1.2 !important;
  }
  #main-header #top-menu > li.menu-item-has-children > a { padding-right:18px !important; }
  #main-header #top-menu > li.menu-item-has-children > a::after {
    top:50% !important; right:0; transform:translateY(-50%); line-height:1;
  }
  #main-header #top-menu > li > ul.sub-menu { top:100%; }
  #main-header #top-menu > li.p2id-menu-phone > a.p2id-phone-pill {
    display:inline-flex !important; align-items:center; justify-content:center; gap:7px;
    height:38px; min-height:38px; padding:0 12px !important;
    border-radius:999px; background:#36454f; color:#fff !important;
    font-size:12px !important; font-weight:600; line-height:1 !important;
    white-space:nowrap; box-shadow:0 4px 10px rgba(0,0,0,.12);
  }
  #main-header #top-menu .p2id-phone-pill svg { width:16px; height:16px; flex:none; }
  
  
  
  #main-header.et-fixed-header .et_menu_container { min-height:80px; padding:6px 0; }
  #main-header.et-fixed-header #logo { width:185px !important; max-height:68px !important; }
  #top-header #et-info-phone { display:none !important; }
  #main-header .p2id-mobile-actions { display:none !important; }
}
@media  (min-width: 981px) and (max-width: 1180px) {
  #main-header .et_menu_container { width:96%; gap:12px; }
  #main-header #logo, #main-header.et-fixed-header #logo { width:160px !important; max-height:82px !important; }
  #main-header #top-menu-nav > #top-menu { gap:8px; }
  #main-header #top-menu > li > a:not(.p2id-phone-pill) { font-size:13px !important; }
  #main-header #top-menu > li.p2id-menu-phone > a.p2id-phone-pill { padding:0 8px !important; font-size:11px !important; }
  
}
/* -------- Menu mobile -------- */
@media  (max-width: 980px) {
  #top-header { display:none !important; }
  #main-header, .et-l--header #main-header { background-color:#d3d800 !important; }
  #main-header { top:0 !important; }
  #main-header .et_menu_container { position:relative; min-height:88px; }
  #main-header .logo_container { width:calc(100% - 155px) !important; height:100% !important; z-index:2; }
  #main-header #logo, #main-header.et-fixed-header #logo {
    width:auto !important; max-width:100% !important; max-height:76px !important;
    height:auto !important; min-height:0 !important; margin:0 !important; object-fit:contain;
  }
  #main-header .et_mobile_nav_menu { margin-top:0; }
  #main-header .mobile_menu_bar { position:absolute; top:50%; right:0; transform:translateY(-50%); padding-bottom:0 !important; z-index:5; }
  #main-header .mobile_menu_bar:before { color:#000000 !important; font-size:34px !important; }
  #main-header .p2id-mobile-actions { position:absolute; top:50%; right:47px; transform:translateY(-50%); display:flex; align-items:center; gap:3px; z-index:4; }
  #main-header .p2id-mobile-action { display:inline-flex; justify-content:center; align-items:center; width:42px; height:44px; color:#000000; }
  #main-header .p2id-mobile-action svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.9; }
  #main-header .p2id-mobile-action:focus-visible, #main-header .p2id-mobile-close:focus-visible { outline:2px solid #000000; outline-offset:3px; }
  #main-header .p2id-menu-phone, #main-header .p2id-menu-search { display:none !important; }
  #main-header .et_mobile_menu {
    top:calc(100% + 9px); background:#d3d800 !important; border-top:0 !important;
    padding:58px 22px 16px !important; border-radius:24px; overflow-y:auto !important;
    max-height:min(78vh,680px); box-shadow:0 20px 35px rgba(0,0,0,.20);
  }
  #main-header .et_mobile_menu > li { border-bottom:1px solid rgba(0,0,0,.18); }
  #main-header .et_mobile_menu > li:last-child { border-bottom:0; }
  #main-header .et_mobile_menu li a {
    display:flex !important; align-items:center; gap:15px; padding:17px 10px !important;
    min-height:60px; border-bottom:0 !important; background:transparent !important;
    font-size:18px !important; font-weight:600 !important; color:#000000 !important; opacity:1 !important;
  }
  #main-header .p2id-mobile-menu-icon { width:26px; height:26px; flex:0 0 26px; color:#000000; display:inline-flex; align-items:center; justify-content:center; }
  #main-header .p2id-mobile-menu-icon svg { display:block; width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.9; }
  #main-header .et_mobile_menu .sub-menu { background:transparent !important; }
  #main-header .et_mobile_menu .sub-menu a { font-size:16px !important; font-weight:500 !important; padding:11px 8px 11px 24px !important; }
  #main-header .et_mobile_menu > li.p2id-mobile-close-item { position:absolute; right:16px; top:10px; border:0 !important; z-index:20; }
  #main-header .p2id-mobile-close { width:42px; height:42px; padding:10px; border:0; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.45); color:#000000; cursor:pointer; }
  #main-header .p2id-mobile-close svg { width:22px; height:22px; }
  .et_mobile_menu { max-height:83vh; }
  .et_fixed_nav #main-header, .et_fixed_nav #top-header { position:fixed; }
}
@media  (max-width: 380px) {
  #main-header .logo_container { width:calc(100% - 142px) !important; }
  #main-header .p2id-mobile-actions { right:42px; gap:0; }
  #main-header .p2id-mobile-action { width:37px; }
}
/* -------- Page de recherche dédiée -------- */








/* P2ID v1.4.1 : ne jamais afficher le bouton fermer quand le menu est ferme */
@media  (max-width:980px) {
  #main-header .et_mobile_menu { position:absolute !important; background-color:#d3d800 !important; }
  #main-header .et_mobile_menu > li.p2id-mobile-close-item { display:block !important; }
  #main-header .et_mobile_menu > li.p2id-mobile-close-item .p2id-mobile-close { display:flex !important; }
  #main-header .et_mobile_menu > li > a .p2id-mobile-menu-icon { display:inline-flex !important; }
}

/* -------- Accueil : photo uniquement en vue Telephone (0 a 767 px) -------- */
/* Les deux classes ne concernent que le Hero de l'export accueil fourni. */
/* Les regles "hors Builder" laissent Divi montrer ses modules desactives
   dans l'editeur. La page publique, elle, ne les affiche jamais. */
body:not(.et-fb) .p2id-home-phone-image { display:none !important; }
@media  (max-width: 767px) {
  body:not(.et-fb) .p2id-home-phone-image { display:block !important; }
  .p2id-home-phone-image.et_pb_row {
    width:100% !important; max-width:100% !important;
    margin:0 !important; padding:0 !important;
  }
  .p2id-home-phone-image > .et_pb_column { margin:0 !important; padding:0 !important; }
  .p2id-home-phone-image .et_pb_image { margin:0 !important; }
  .p2id-home-phone-image .et_pb_image_wrap { display:block; }
  .p2id-home-phone-image img { display:block; width:100%; height:auto; object-fit:contain; }
  body:not(.et-fb) .p2id-home-hero-original-image { display:none !important; }
  body:not(.et-fb) .p2id-home-hero,
  body:not(.et-fb) .p2id-home-hero > .et_pb_row {
    animation:none !important; transform:none !important; opacity:1 !important;
  }
}
@media  (max-width: 980px) {
  #main-header .et_mobile_menu li a,
  #main-header .et_mobile_menu li .p2id-mobile-menu-icon,
  #main-header .p2id-mobile-close,
  #main-header .p2id-mobile-action,
  #main-header .mobile_menu_bar::before { color:#000000 !important; }
  #main-header .p2id-mobile-menu-icon svg,
  #main-header .p2id-mobile-close svg,
  #main-header .p2id-mobile-action svg { stroke:currentColor !important; }
}


/* ================================================================
   P2ID 1.4.7 - REPERE DE NAVIGATION ACTIF
   Fond de l'en-tete vert citron : liens noirs, indicateur anthracite.
   Cible uniquement les vrais liens de navigation (pas tel/recherche).
   Les fleches de sous-menu Divi utilisent deja ::after : ne pas les ecraser.
   ================================================================ */
@media  (min-width: 981px) {
  #main-header #top-menu > li:not(.p2id-menu-phone):not(.p2id-menu-search) > a {
    color: #111111 !important;
    position: relative;
    font-weight: 600;
    opacity: 1 !important;
    transition: color .2s ease, box-shadow .2s ease;
  }
  #main-header #top-menu > li:not(.menu-item-has-children):not(.p2id-menu-phone):not(.p2id-menu-search) > a:hover,
  #main-header #top-menu > li:not(.menu-item-has-children):not(.p2id-menu-phone):not(.p2id-menu-search) > a:focus-visible {
    box-shadow: inset 0 -2px 0 rgba(17,17,17,.55);
  }
  #main-header #top-menu > li.current-menu-item:not(.p2id-menu-phone):not(.p2id-menu-search) > a,
  #main-header #top-menu > li.current_page_item:not(.p2id-menu-phone):not(.p2id-menu-search) > a,
  #main-header #top-menu > li.current-menu-ancestor:not(.p2id-menu-phone):not(.p2id-menu-search) > a,
  #main-header #top-menu > li.current-page-ancestor:not(.p2id-menu-phone):not(.p2id-menu-search) > a {
    color: #111111 !important;
    font-weight: 800 !important;
    box-shadow: inset 0 -3px 0 #36454f;
  }
  #main-header #top-menu > li:not(.p2id-menu-phone):not(.p2id-menu-search) > a:focus-visible {
    outline: 2px solid #36454f;
    outline-offset: 4px;
    border-radius: 2px;
  }
}
@media  (max-width: 980px) {
  #main-header .et_mobile_menu li.current-menu-item > a,
  #main-header .et_mobile_menu li.current_page_item > a,
  #main-header .et_mobile_menu li.current-menu-ancestor > a,
  #main-header .et_mobile_menu li.current-page-ancestor > a {
    background: rgba(255,255,255,.32) !important;
    color: #000000 !important;
    font-weight: 800 !important;
    border-radius: 12px;
box-shadow: none !important;
	}
  #main-header .et_mobile_menu li a:focus-visible {
    outline: 2px solid #36454f;
    outline-offset: -2px;
    border-radius: 12px;
  }
}



/* ================================================================
   P2ID - WOOCOMMERCE : FICHES PRODUITS SANS BARRE LATERALE
   Concerne uniquement les fiches produits individuelles.
   ================================================================ */

/* Masquer la barre laterale */
body.single-product #sidebar {
    display: none !important;
}

/* Supprimer le trait vertical de separation Divi */
body.single-product #main-content .container:before {
    display: none !important;
}

/* Utiliser toute la largeur disponible pour le produit */
@media  (min-width: 981px) {
    body.single-product #left-area {
        width: 100% !important;
        padding-right: 0 !important;
        float: none !important;
    }
}


/*
 * P2ID — Typographie commune des pages SEO locales
 * Version 1.0 — 02/11/2026
 *
 * INSTALLATION UNIQUE
 * WordPress > Divi > Options du theme > General > CSS personnalise.
 * Ajouter tout ce fichier a la FIN du CSS existant, puis enregistrer.
 * Ne pas ajouter de balises <style>. Conserver le CSS deja present.
 * Vider ensuite les caches Divi et les caches de page utilises sur le site.
 *
 * CIBLE
 * Sections Divi portant la classe p2id-seo-local, deja presente dans les
 * 187 pages fournies par P2ID SEO 1.2.0 et dans le modele Imprimerie Redon
 * consulte. S'applique aussi aux futures pages utilisant cette classe.
 * Montserrat doit rester chargee par la configuration de polices du site.
 *
 * Les !important prennent le dessus sur le bloc CSS embarque dans chaque
 * page, meme lorsque ce bloc est imprime plus tard dans le document.
 * Aucun contenu ni reglage de colonnes, dimensions, marges, couleurs ou
 * images n'est reecrit. Les retours a la ligne et la hauteur des textes
 * peuvent evoluer avec leur nouvelle taille.
 *
 * Verification effectuee sur les fichiers du generateur ; rendu WordPress
 * a controler apres installation sur ordinateur, tablette et telephone.
 * Pour annuler : supprimer uniquement ce bloc, puis vider les caches.
 */

/* Corps de texte : y compris les cartes, etapes et reponses de FAQ. */
.p2id-seo-local.et_pb_section,
.p2id-seo-local.et_pb_section .et_pb_text,
.p2id-seo-local.et_pb_section .et_pb_code,
.p2id-seo-local.et_pb_section p,
.p2id-seo-local.et_pb_section li {
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Famille commune aux elements ayant leurs propres styles. */
.p2id-seo-local.et_pb_section h1,
.p2id-seo-local.et_pb_section h2,
.p2id-seo-local.et_pb_section h3,
.p2id-seo-local.et_pb_section .p2id-faq summary,
.p2id-seo-local.et_pb_section .p2id-eyebrow,
.p2id-seo-local.et_pb_section .p2id-number,
.p2id-seo-local.et_pb_section .p2id-btn {
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
}

/* Titres : les mots longs peuvent revenir a la ligne sur petit ecran. */
.p2id-seo-local.et_pb_section h1,
.p2id-seo-local.et_pb_section h2,
.p2id-seo-local.et_pb_section h3,
.p2id-seo-local.et_pb_section .p2id-faq summary {
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
}

.p2id-seo-local.et_pb_section h1 {
  font-size: 60px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

.p2id-seo-local.et_pb_section h2 {
  font-size: 42px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.p2id-seo-local.et_pb_section h3,
.p2id-seo-local.et_pb_section .p2id-faq summary {
  font-size: 22px !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

/* Introduction. */
.p2id-seo-local.et_pb_section .p2id-kicker {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
}

/* Surtitres et numeros des etapes. */
.p2id-seo-local.et_pb_section .p2id-eyebrow {
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

.p2id-seo-local.et_pb_section .p2id-number {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

/* Boutons de devis et d'appel. */
.p2id-seo-local.et_pb_section .p2id-btn {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Tablette : seuil Divi de 980 px inclus. */
@media (max-width: 980px) {
  .p2id-seo-local.et_pb_section h1 {
    font-size: 48px !important;
  }
  .p2id-seo-local.et_pb_section h2 {
    font-size: 34px !important;
  }
  .p2id-seo-local.et_pb_section h3,
  .p2id-seo-local.et_pb_section .p2id-faq summary,
  .p2id-seo-local.et_pb_section .p2id-number {
    font-size: 21px !important;
  }
  .p2id-seo-local.et_pb_section .p2id-kicker {
    font-size: 20px !important;
    line-height: 1.75 !important;
  }
  .p2id-seo-local.et_pb_section .p2id-eyebrow {
    font-size: 14px !important;
    letter-spacing: 2px !important;
  }
  .p2id-seo-local.et_pb_section .p2id-btn {
    font-size: 18px !important;
    letter-spacing: 1px !important;
  }
}

/* Telephone : seuil Divi de 767 px inclus. */
@media (max-width: 767px) {
  .p2id-seo-local.et_pb_section h1 {
    font-size: 36px !important;
  }
  .p2id-seo-local.et_pb_section h2 {
    font-size: 28px !important;
  }
  .p2id-seo-local.et_pb_section h3,
  .p2id-seo-local.et_pb_section .p2id-faq summary,
  .p2id-seo-local.et_pb_section .p2id-number {
    font-size: 20px !important;
  }
  .p2id-seo-local.et_pb_section .p2id-kicker {
    font-size: 18px !important;
    line-height: 1.7 !important;
  }
  .p2id-seo-local.et_pb_section .p2id-eyebrow {
    font-size: 12px !important;
    letter-spacing: 1px !important;
  }
  .p2id-seo-local.et_pb_section .p2id-btn {
    font-size: 16px !important;
    letter-spacing: 0 !important;
  }
}

/* FIN — P2ID SEO : typographie commune. */



/* P2ID - Réseaux sociaux barre inférieure */
#footer-bottom .p2id-footer-social {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-left: 8px;
  vertical-align: middle;
  white-space: nowrap;
}

#footer-bottom .p2id-footer-social a {
  display: inline-block !important;
  flex: 0 0 22px;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  filter: brightness(0) invert(1);
  transition: filter 0.2s ease;
}

#footer-bottom .p2id-facebook {
  background-image: url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/icons/facebook.svg");
}

#footer-bottom .p2id-instagram {
  background-image: url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/icons/instagram.svg");
}

#footer-bottom .p2id-footer-social a:hover {
  filter: brightness(0) saturate(100%) invert(79%) sepia(62%) saturate(668%) hue-rotate(11deg) brightness(102%);
}
