/* =============== CSS ADDITIONNEL (Personnaliser) =============== */
/* Dernière mise à jour : 25/03/2026 — Optimisation CLS + Performance */

/* Style pour le bouton ESPACE PRO dans le menu principal */
#nav-menu-item-16610 .edgtf-item-outer {
    background: linear-gradient(to right, #e8c77c, #d4af37);
    padding: 8px 16px;
    border-radius: 4px;
    transition: all 0.3s ease;
}
#nav-menu-item-16610 .edgtf-item-text {
    color: #000 !important;
    font-weight: 600;
}

/* Styles pour le menu mobile */
.edgtf-mobile-nav {
    background-color: #f8f4e9;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 0 0 8px 8px;
    padding: 10px 0;
    max-height: 85vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #9b5d28 #f8f4e9;
    transform: translateX(0);
    transition: transform 0.3s ease;
    will-change: transform;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.edgtf-mobile-nav::-webkit-scrollbar { width: 5px; }
.edgtf-mobile-nav::-webkit-scrollbar-track { background: #f8f4e9; }
.edgtf-mobile-nav::-webkit-scrollbar-thumb { background-color: #9b5d28; border-radius: 6px; }

.edgtf-mobile-nav ul { margin: 0; padding: 0; }

.edgtf-mobile-nav ul li {
    border-bottom: 1px solid rgba(150, 110, 80, 0.15);
    margin: 0;
    transition: background-color 0.3s ease;
    /* FIX CLS : supprimé animation fadeInItems — causait des layout shifts */
}

.edgtf-mobile-nav ul li:last-child { border-bottom: none; }

/* FIX CLS : Supprimé les animation-delay nth-child
   qui provoquaient des layout shifts au chargement du menu mobile */

.edgtf-mobile-nav ul li a {
    padding: 15px 20px;
    font-size: 16px;
    font-weight: 500;
    color: #5a3921;
    transition: all 0.3s ease;
    display: block;
    position: relative;
}

.edgtf-mobile-nav ul li a:active,
.edgtf-mobile-nav ul li a:hover {
    background-color: rgba(150, 110, 80, 0.1);
    color: #9b5d28;
    padding-left: 25px;
}

.edgtf-mobile-nav ul li.current-menu-item > a {
    background-color: rgba(150, 110, 80, 0.1);
    border-left: 3px solid #9b5d28;
    padding-left: 17px;
    font-weight: 600;
}

.edgtf-mobile-nav ul li a:focus {
    outline: 2px solid #9b5d28;
    outline-offset: -2px;
}

.edgtf-mobile-nav ul li a:focus:not(:focus-visible) { outline: none; }

.edgtf-mobile-nav ul li a span {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding-left: 30px;
}

.edgtf-mobile-nav ul li a:active span {
    transform: scale(1.05);
    transition: transform 0.2s ease;
}

.edgtf-mobile-nav .sub_menu {
    background-color: #f1ece0;
    padding-left: 10px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.edgtf-mobile-nav .edgtf-opened > .sub_menu { max-height: 500px; }
.edgtf-mobile-nav .sub_menu li a { padding-left: 30px; font-size: 15px; }

.edgtf-mobile-nav .mobile_arrow {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 50px;
    line-height: 49px;
    text-align: center;
    color: #9b5d28;
    border-left: 1px solid rgba(150, 110, 80, 0.1);
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
}

.edgtf-mobile-nav .mobile_arrow:hover { background-color: rgba(150, 110, 80, 0.15); }
.edgtf-mobile-nav .mobile_arrow .fa-angle-right { display: inline-block; }
.edgtf-mobile-nav .mobile_arrow .fa-angle-down { display: none; }
.edgtf-mobile-nav .edgtf-opened > .mobile_arrow .fa-angle-right { display: none; }
.edgtf-mobile-nav .edgtf-opened > .mobile_arrow .fa-angle-down { display: inline-block; }

/* Style spécial ESPACE PRO mobile */
#mobile-menu-item-16610 > a {
    background: linear-gradient(to right, #e8c77c, #d4af37);
    color: #000 !important;
    border-radius: 4px;
    margin: 10px 15px;
    padding: 12px 15px;
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#mobile-menu-item-16610 > a:hover,
#mobile-menu-item-16610 > a:active {
    background: linear-gradient(to right, #d4af37, #c39d29);
    transform: scale(1.03);
}

#mobile-menu-item-16610 > a span { padding-left: 0; }

/* Icônes des liens de menu */
#mobile-menu-item-16267 > a span::before,
#mobile-menu-item-16298 > a span::before,
#mobile-menu-item-16646 > a span::before,
#mobile-menu-item-16455 > a span::before,
#mobile-menu-item-16647 > a span::before,
#mobile-menu-item-16610 > a span::before,
#mobile-menu-item-17018 > a span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
}

/* Menu mobile opener — pas de hover/focus background sur mobile (touch) */
  .edgtf-mobile-menu-opener a {
      display: block;
      padding: 8px 10px;
  }

  .edgtf-mobile-menu-opener a,
  .edgtf-mobile-menu-opener a:hover,
  .edgtf-mobile-menu-opener a:focus,
  .edgtf-mobile-menu-opener a:active {
      background-color: transparent !important;
      outline: none !important;
      box-shadow: none !important;
      -webkit-tap-highlight-color: transparent !important;
  }

  .edgtf-mobile-menu-opener .edgtf-mobile-opener-icon-holder {
      display: inline-block;
  }

  .edgtf-mobile-menu-opener .fa-bars { color: black; font-size: 20px; }

.edgtf-mobile-menu-opener.edgtf-mobile-menu-opened .edgtf-mobile-opener-icon-holder,
.edgtf-mobile-menu-opened .edgtf-mobile-opener-icon-holder {
    transform: rotate(90deg);
}

@media (max-width: 360px) {
    .edgtf-mobile-nav ul li a { padding: 12px 15px; font-size: 15px; }
    .edgtf-mobile-nav ul li a span { padding-left: 25px; }
    #mobile-menu-item-16610 > a { margin: 5px 10px; padding: 10px 10px; }
}

/* Autres éléments */
.edgtf-product-list-image-wrapper { border-radius: 10px; }
.edgtf-container-bottom-navigation { display: none !important; }

.elementor-element-a658474 {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 20px !important;
}

/* Bouton Boutique Cadeaux */
.edgtf-pp-button .edgtf-btn {
    background-color: #FFFFFF !important;
    color: #c7a17a !important;
    border: 1px solid #c7a17a !important;
    border-radius: 20px !important;
    padding: 6px 25px !important;
    font-weight: bold !important;
    font-size: 16px !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.2s ease !important;
    margin: -10px;
    /* FIX CLS : supprimé animation simple-pulse infinie */
}

.edgtf-pp-button .edgtf-btn .edgtf-icon-font-elegant { color: white !important; }

.edgtf-pp-button .edgtf-btn:hover {
    background-color: #c7a17a !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}


.edgtf-pp-button .edgtf-btn:hover .edgtf-btn-text,
.edgtf-pp-button .edgtf-btn:hover .edgtf-icon-font-elegant {
    color: #ffffff !important;
}

/* Picto atelier cliquable */
#picto-atelier .edgtf-iwt-custom-icon {
    position: relative;
    cursor: pointer;
}

#picto-atelier .edgtf-iwt-custom-icon::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

/*----------------*/
svg.edgtf-lighter-effect {
    visibility: hidden;
    animation: forceRevealShape 0s forwards 1s;
}

/* Fix glitch SVG — cacher le path, pas le SVG
svg.edgtf-lighter-effect path {
    opacity: 0;
    animation: revealShapePath 0.5s ease forwards 1.5s;
}

@keyframes revealShapePath {
    to { opacity: 1; }
} */


/* === MASQUER BARRE PROGRESSION SUR /COMMANDER/ === */
  body:not(.woocommerce-cart) .cj-shipping-progress {
      display: none !important;
  }

/* === MASQUER POPUP NEWSLETTER PARTOUT SAUF /notre-histoire/ === 
  body:not(.home) #cj-nl-overlay,
  body:not(.home) #cj-nl-overlay *,
  body:not(.home) #cj-nl-popup,
  body:not(.home) #cj-nl-close {
      display: none !important;
      visibility: hidden !important;
  }
*/

/* === MINI-PANIER HEADER : MASQUER LE DROPDOWN SUR MOBILE === */
  /* Sur mobile il n'y a pas de hover -> le dropdown peut rester ouvert
     ou afficher la croix de suppression de manière inattendue.
     On le cache : l'icône panier reste cliquable et mène à /panier/. */
  @media (max-width: 1024px) {
      .edgtf-shopping-cart-dropdown {
          display: none !important;
      }
  }


/* === MASQUER SÉLECTEUR QUANTITÉ BOUTIQUE SUR MOBILE === */
  /* Les +/- s'affichent en permanence sans utilité sur mobile (pas de hover).
     Le bouton "Ajouter au panier" reste accessible. */
  @media (max-width: 767px) {
      .cj-qty-wrapper {
          display: none !important;
      }
  }

  /* === BLOC DE'LONGHI MOBILE — ESPACEMENT === */
  /* Le texte "Et si vous cherchez une machine ? / De'Longhi" est trop collé
     aux blocs autour sur mobile. On force la largeur 100% et on ajoute
     des marges pour le séparer visuellement. */
  @media (max-width: 767px) {
      .elementor-element-bd1929a,
      .elementor-element-bd1929a.e-con {
          width: 100% !important;
          align-self: stretch !important;
          margin-top: 50px !important;
          margin-bottom: 32px !important;
          padding: 16px 0 !important;
          position: relative;
      }
  }


  /* === MASQUER CROIX FANTOMES DU THEME (search-close) === */
  /* Le theme cree plusieurs versions du bouton de fermeture recherche
     (header normal, sticky, mobile) qui peuvent apparaitre comme des
     croix flottantes. On masque tout car la fonction recherche
     du theme n'est pas utilisee par le site. */
  .edgtf-search-close,
  .edgtf-search-close a,
  .edgtf-search-close .icon_close {
      display: none !important;
      visibility: hidden !important;
  }

/* === MASQUER DOUBLON RESUME DE COMMANDE SUR MOBILE === */
  @media (max-width: 767px) {
      .wp-block-woocommerce-checkout-actions-block .wp-block-woocommerce-checkout-order-summary-block,
      .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block {
          display: none !important;
      }
  }