/* Responsive */
@media (max-width: 767px) {
  .custom-add-to-cart {
    width: 100%;
  }

    .products.facetwp-template {
        clear: both;
    }


.w-10 {
    width: 30% !important;
}

.qty-btn {
  width: 28px;
}
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  width: 95%;
  margin: 15px auto;
  font-size: 14px;
}
.main-navbar.is-sticky .subheader {
  display: none;
}
.accordion {

}
  .home .home-icons {
    position: static !important;
  }
  .custom-add-to-cart .single_add_to_cart_button {
    flex: 1;
    justify-content: center;
  }
  .floating-add-to-cart .container {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  .btn-floating-addtocart {
    width: 100%;
    justify-content: center;
  }
  .summary {
    position: static;
    top: auto;
  }

  .floating-add-to-cart {
    width: 80%;
    margin-left: -40%;
            font-size: .85rem;
        line-height: 1;
  }
  #floating-product-image {
    display: none;
  }
  .btn-floating-addtocart {
    padding: 5px 26px 5px 44px;
  }
  .single-product .col-md-6 {
    margin-top: 15px;
  }
  .woo-variation-swatches .wvs-style-rounded.variable-items-wrapper[data-attribute_name="attribute_pa_conditionnement"] .variable-item:not(.radio-variable-item) .variable-item-span {
    font-size: .85rem;
  }
.woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
        content: attr(data-title) !important;
        font-weight: 700;
        float: left;
        float: none;
        text-align: left;
        display: block;
    }
.woocommerce ul#shipping_method li {
text-align: left
}
.woocommerce ul#shipping_method {
margin-top: 10px;
}
.sticky-top {
  position: static !important;
}



    #productTabs,
    #productTabsContent {
        display: none;
    }
.badge-format.bg-white {
  text-align: center;
}
.alignright,
.alignleft {
  float : none !important;
  margin: 0 !important;
}
.wp-caption {
  margin: auto !important;
  max-width: 100%;
}

/* --- Accordion style (mobile) --- */

#productAccordion .accordion-item {
    border: 1px solid #e1e1e1;
    border-radius: 6px;
    margin-bottom: 10px;
    overflow: hidden;
}

/* Bouton header */
#productAccordion .accordion-button {
    background: #fff;
    font-weight: 600;
    padding: 1rem 1.2rem;
    box-shadow: none !important;
    position: relative;
}

/* Supprime effet bleu Bootstrap */
#productAccordion .accordion-button:focus {
    box-shadow: none !important;
}

/* Flèche Bootstrap Icons */
#productAccordion .accordion-button::after {
    content: "\f282"; /* bi-chevron-down */
    font-family: "bootstrap-icons";
    font-size: 1.1rem;

    display: inline-block;
    margin-left: auto;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

/* Quand collapsed → flèche tournée */
#productAccordion .accordion-button.collapsed::after {
    transform: rotate(-90deg); /* flèche vers la gauche */
}

/* Body */
#productAccordion .accordion-body {
    background: #fafafa;
    padding: 1rem 1.2rem;
    font-size: 0.95rem;
    color: #444;
}



}


/* Desktop : afficher tabs, cacher accordion */
@media (min-width: 768px) {
    #productAccordionContainer {
        display: none;
    }
    .products.facetwp-template {
        clear: both;
    }

}

/* Catalogue mobile: cartes compactes, régulières et actions alignées. */
@media (max-width: 767.98px) {
  .products .product-card > a,
  .topvente-swiper .product-card > a,
  .one-defy-related-products .product-card > a {
    display: flex !important;
    height: 100%;
    flex-direction: column;
  }

  .products .product-card .product-info,
  .topvente-swiper .product-card .product-info,
  .one-defy-related-products .product-card .product-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .products .product-card .product-title,
  .topvente-swiper .product-card .product-title,
  .one-defy-related-products .product-card .product-title {
    min-height: 2.5em;
    margin-bottom: .45rem !important;
    font-size: .92rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .product-card .product-conditionnements {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .25rem;
    margin-bottom: .5rem !important;
  }

  .product-card .product-conditionnements .badge {
    max-width: 100%;
    margin: 0 !important;
    padding: .32rem .48rem;
    white-space: normal;
    font-size: .68rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .product-card .badge-format {
    max-width: 78%;
    padding: .35rem .5rem !important;
    font-size: .68rem !important;
    line-height: 1.15;
  }

  .product-card .product-bottom {
    width: 100%;
    align-items: center !important;
    gap: .35rem;
    margin-top: auto !important;
    padding-top: .5rem;
  }

  .product-card .product-price {
    display: flex !important;
    width: auto !important;
    min-width: 0;
    flex: 1 1 auto;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .1rem .2rem;
    margin: 0 !important;
    text-align: left;
    font-size: .88rem;
    line-height: 1.2;
  }

  .product-card .product-price > span:not(.small) {
    white-space: nowrap;
  }

  .product-card .add-to-cart {
    display: inline-flex;
    width: 46px;
    min-width: 46px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin-left: 0 !important;
  }

  .category-complement-card .category-complement-inner,
  .category-complement-card .category-complement-inner > a {
    aspect-ratio: 1 / 1;
  }

  .category-complement-card img {
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }

  .category-complement-card .btn {
    max-width: calc(100% - 1rem);
    margin-bottom: .75rem !important;
    padding: .45rem .7rem;
    font-size: .75rem;
    line-height: 1.15;
  }
}

