/*
 Theme Name: P2id-Child-Themes
 Description: Thème enfant Divi P2ID — recherche personnalisée et navigation mobile
 Author: P2ID
 Template: Divi
 Version: 1.4.7
 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) ===== */
.p2id-search-content { max-width: 720px; margin: 0 auto; }
.p2id-search-content form {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    padding: 8px;
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
    transition: all .3s ease;
}
.p2id-search-content form:hover,
.p2id-search-content form:focus-within {
    box-shadow: 0 18px 40px rgba(0,0,0,.12);
    border-color: #36454f;
}
.p2id-search-content input[type="search"] {
    flex: 1;
    min-width: 0;
    height: 48px;
    border: none;
    background: transparent;
    padding: 0 20px;
    font-size: 16px;
    color: #36454f;
    outline: none;
}
.p2id-search-content input[type="search"]::placeholder { color: #9ca3af; }
.p2id-search-content form button[type="submit"] {
    height: 48px;
    padding: 0 24px;
    border: none;
    border-radius: 999px;
    background: #36454f;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s ease;
}
.p2id-search-content form button[type="submit"]:hover { background: #a6a614; }

/* ===== PETITE BARRE DU MENU PRINCIPAL ===== */
#top-menu .p2id-menu-search {
    margin-left: 8px !important;
    padding-right: 0 !important;
}
#top-menu .p2id-menu-search form {
    position: relative;
    margin: 0 !important;
    display: flex;
    align-items: center;
}
#top-menu .p2id-menu-search input[type="search"] {
    width: 145px !important;
    max-width: 145px !important;
    height: 38px !important;
    padding: 0 37px 0 35px !important;
    box-sizing: border-box !important;
    background: #f6f8f9 !important;
    border: 1px solid #e5e9eb !important;
    border-radius: 999px !important;
    color: #36454f !important;
    font-size: 13px !important;
    font-weight: 400;
    outline: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.10);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
#top-menu .p2id-menu-search input[type="search"]::placeholder {
    color: #9ba6ad !important;
    opacity: 1;
}
#top-menu .p2id-menu-search input[type="search"]:focus {
    background: #fff !important;
    border-color: #a6a614 !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.15);
}
/* Loupe dessinee en CSS, sans remplacer le formulaire existant. */
#top-menu .p2id-menu-search form::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 12px;
    height: 12px;
    border: 2px solid #9ba6ad;
    border-radius: 50%;
    transform: translateY(-65%);
    pointer-events: none;
    z-index: 1;
}
#top-menu .p2id-menu-search form::after {
    content: "";
    position: absolute;
    left: 24px;
    top: calc(50% + 3px);
    width: 7px;
    height: 2px;
    background: #9ba6ad;
    transform: rotate(45deg);
    pointer-events: none;
    z-index: 1;
}
/* 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;
    }
    #top-menu .p2id-menu-search { display: none !important; }
}
@media (max-width: 768px) {
    .p2id-search-content form { flex-direction: column; border-radius: 24px; padding: 16px; }
    .p2id-search-content input[type="search"],
    .p2id-search-content form button[type="submit"] { width: 100%; }
    .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 #top-menu > li.p2id-menu-search { margin:0 !important; padding:0 !important; }
  #main-header #top-menu .p2id-menu-search form {
    height:38px; margin:0 !important; padding:0 !important;
    display:flex; align-items:center;
  }
  #main-header #top-menu .p2id-menu-search input[type=search] {
    display:block; width:145px !important; max-width:145px !important;
    height:38px !important; margin:0 !important;
  }
  #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; }
  #main-header #top-menu .p2id-menu-search input[type=search] { width:125px !important; max-width:125px !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-search-page { max-width:740px; margin:0 auto 45px; padding:0 12px; }
.p2id-search-page-form { position:relative; }
.p2id-search-page-field { display:flex; align-items:center; gap:4px; padding:7px 9px 7px 12px; border:1px solid #e4e8eb; border-radius:999px; background:#f6f8f9; box-shadow:0 8px 22px rgba(0,0,0,.06); }
.p2id-search-page-field:focus-within { background:#fff; border-color:#a6a614; }
.p2id-search-page-field input[type=search] { flex:1; min-width:0; width:100%; padding:10px 6px; font-size:16px; border:0; background:transparent; color:#36454f; outline:none; }
.p2id-search-page-form .p2id-search-submit { flex:none; border:0; border-radius:999px; padding:11px 18px; font-size:14px; font-weight:600; color:white; background:#36454f; cursor:pointer; }
@media (max-width:600px) { .p2id-search-page-field { padding:5px 6px 5px 10px; } .p2id-search-page-form .p2id-search-submit { padding:11px 12px; font-size:12px; } }

/* 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:is(.current-menu-item,.current_page_item,.current-menu-ancestor,.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:is(.current-menu-item,.current_page_item,.current-menu-ancestor,.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;
    }
}
