/* 
Theme Name: Template Equileve Child
Template: template-equileve
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 */

/* Sticky header caché par défaut */
.sticky_header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    /* IMPORTANT iOS: fond translucide obligatoire */
    background: rgba(255, 255, 255, 0.25);
    -webkit-backdrop-filter: blur(5px) saturate(180%);
    backdrop-filter: blur(5px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  }

    /* Visible après scroll */
    body.is-scrolled .sticky_header{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
      }
    
      .admin-bar .sticky_header{
        top: 32px;
      }
    
/* Bloc de carousel partenaire afin d'avoir un dégradé et une transition fluide */
    /* Conteneur logos */
#partner {
  position: relative;
  overflow: hidden;
    pointer-events: none;
}

/* Fade gauche */
#partner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 160px; /* largeur du dégradé */
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to right, #ffffff 0%, rgba(255,255,255,0) 100%);
}
/* Fade droite */
#partner::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 160px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to left, #ffffff 0%, rgba(255,255,255,0) 100%);
}
      #partner .swiper-wrapper{
        -webkit-transition-timing-function: linear !important;
        transition-timing-function: linear !important; 
      }


      #partner .swiper-slide{
        height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      
      /* Image : jamais coupée */
      #partner .swiper-slide img{
        height: 80px;      /* hauteur fixe */
        width: auto;        /* largeur automatique */
        object-fit: contain;
        display: block;
      }

/* Enlever le box shadow sur les champs des formulaires Elementor */
.elementor-field-group .elementor-field-textual:focus {
        box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0%) !important;
    }
      
/* Enlever padding dans les messages de notification Cart WooCommerce */
    .e-wc-message-notice .woocommerce-message {
      line-height: 42px;
  }

  .woocommerce-message:focus,
.woocommerce-error:focus,
.woocommerce-info:focus {
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-message:focus-visible {
  outline: none !important;
}




/* Elementor Pro - WooCommerce Cart: masquer colonnes Prix + Sous-total */
.elementor-widget-woocommerce-cart th.product-price,
.elementor-widget-woocommerce-cart td.product-price,
.elementor-widget-woocommerce-cart th.product-subtotal,
.elementor-widget-woocommerce-cart td.product-subtotal {
  display: none !important;
}

/* Ligne sous-total dans le tableau des totaux */
.cart-subtotal {
  display: none !important;
}

/* Ligne total dans le tableau des totaux */
.order-total {
  display: none !important;
}

th.product-total {
  display: none;
}

/* Le conteneur Elementor du widget image devient une fenêtre */
.zoom-crop {
  overflow: hidden;
}

.carrousel-loop {
  cursor: grab;
}
.carrousel-loop:active {
  cursor: grabbing;
}

#carrousel-images img {
  transition: transform 0.3s ease, cursor 0.3s ease;
  cursor: grab;
}

#carrousel-images img:hover {
  transform: scale(1.02); /* agrandissement */
  cursor: grabbing;       /* curseur en mode drag */
}

.woocommerce-notices-wrapper {
  max-width: var(--content-width);
  margin: 0 auto;
}





/* Input quantité – Widget Cart Elementor */
.elementor-widget-woocommerce-cart .woocommerce .input-text.qty {
  border-style: solid;
  border-width: 1px;
  border-color: var(--e-global-color-50138b2);
  border-radius: 6px;

  padding: 10px 12px;
  min-height: 42px;

  background: #ffffff;
  color: inherit;

  /* Conserver les flèches */
  -webkit-appearance: auto;
  appearance: auto;

  width: 90px;
  text-align: center;

  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Hover */
.elementor-widget-woocommerce-cart .woocommerce .input-text.qty:hover {
  border-color: var(--e-global-color-text);
}

/* Focus */
.elementor-widget-woocommerce-cart .woocommerce .input-text.qty:focus {
  border-color: var(--e-global-color-text);
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

/* Forcer affichage des flèches (Chrome / Edge / Safari) */
.elementor-widget-woocommerce-cart .woocommerce .input-text.qty::-webkit-inner-spin-button,
.elementor-widget-woocommerce-cart .woocommerce .input-text.qty::-webkit-outer-spin-button {
  opacity: 1;
  height: auto;
}

/* Firefox */
@-moz-document url-prefix() {
  .elementor-widget-woocommerce-cart .woocommerce .input-text.qty {
      -moz-appearance: number-input;
      appearance: auto;
  }
}

/* Supprimer totalement l’outline navigateur */
.elementor-widget-woocommerce-cart .woocommerce .input-text.qty:focus,
.elementor-widget-woocommerce-cart .woocommerce .input-text.qty:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Corrige le décalage Nom (devis + livraison) en tablette/mobile */
@media (max-width: 1024px){
  /* Les 2 colonnes Woo passent en pleine largeur */
  .woocommerce-checkout form .form-row-first,
  .woocommerce-checkout form .form-row-last,
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #shipping_first_name_field {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    grid-column: 1 / -1 !important; /* si Elementor utilise une grille */
  }

  /* Input Prénom en pleine largeur */
  .woocommerce-checkout #billing_first_name,
  .woocommerce-checkout #shipping_first_name,
  .woocommerce-checkout #billing_first_name_field .woocommerce-input-wrapper,
  .woocommerce-checkout #shipping_first_name_field .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

.equileve-timeline__text a {
 color: var(--e-global-color-primary);
}

.equileve-timeline__text a:hover {
  color: var(--e-global-color-4e418d1);
}