@charset "UTF-8";
/*
+---------------------------------------------------------------+
| Colors                                                        |
+---------------------------------------------------------------+
*/
/*
+---------------------------------------------------------------+
| Fonts                                                         |
+---------------------------------------------------------------+
*/
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");
@font-face {
  font-family: "Catenary Stamp";
  src: url("../fonts/Catenary-Stamp.ttf") format("truetype"); }

@font-face {
  font-family: "Lie to Me";
  src: url("../fonts/Lie-to-Me.ttf") format("truetype"), url("../fonts/Lie-to-Me.otf") format("otf"); }

/*
+---------------------------------------------------------------+
| Global                                                        |
+---------------------------------------------------------------+
*/
html {
  font-size: 16px;
  font-family: "Lato", sans-serif; }

body {
  color: #602f10 !important;
  margin-top: 100px;
  width: 100%;
  background-color: white;
  overflow-x: hidden;
  font-family: "Lato", sans-serif; }
  body a {
    color: #64b928; }

img {
  max-width: 100%;
  max-height: 100%; }

h1,
.h1 {
  font-family: "Catenary Stamp"; }

h2,
.h2 {
  margin-bottom: 80px;
  font-family: "Catenary Stamp";
  font-size: 2rem;
  text-transform: uppercase; }

#wrapper {
  padding: 0;
  background-color: transparent; }

body#index main section {
  padding: 100px 0; }

@media (max-width: 992px) {
  section:not(#main) {
    padding: 20px 0; } }

@media (max-width: 1199px) {
  body {
    margin-top: 50px; }
  #adtm_menu ul#menu {
    padding: 50px; } }

.thm-trap {
  position: relative;
  color: white; }
  .thm-trap::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 105%;
    top: 0;
    left: 0;
    border-radius: 20px;
    background-color: #602f10;
    transform: perspective(200px) rotateX(-5deg);
    backface-visibility: hidden; }
  .thm-trap .outline {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-2deg); }
    .thm-trap .outline::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      border: 1px solid #64b928;
      border-radius: 20px;
      background-color: transparent;
      transform: perspective(200px) rotateX(-5deg);
      backface-visibility: hidden; }

.container-xl {
  width: 100%;
  padding: 0 30px;
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 1600px) {
  .container-xl {
    max-width: 1500px; } }

@media (min-width: 1920px) {
  .container-xl {
    max-width: 1700px; } }

.carousel {
  margin: 0; }

.thm-link {
  color: #602f10;
  transition: all 0.3s linear; }
  .thm-link:hover {
    color: #64b928; }

.lower {
  text-transform: lowercase; }

.shifted-border {
  position: relative; }
  .shifted-border::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 1px solid #602f10;
    border-radius: 4px;
    transform: rotate(-2deg); }

/*
+---------------------------------------------------------------+
| Buttons                                                       |
+---------------------------------------------------------------+
*/
.btn {
  position: relative;
  padding: 0.5rem 2rem;
  border: none;
  border-radius: 50px;
  background-color: #64b928;
  color: white;
  transition: all 0.3s linear;
  text-transform: uppercase;
  box-shadow: none; }

.btn:hover {
  color: white; }

.btn-primary:hover {
  background-color: #64b928;
  filter: brightness(120%); }

.btn-large {
  padding: 1.2rem 3rem;
  font-size: 1.2rem; }

.btn.shake::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid #602f10;
  border-radius: 50px;
  transform: rotate(-4deg);
  transition: all 0.3s linear; }

.btn.shake:hover {
  transform: scale(1.05);
  box-shadow: 0px 0px 12px #64b928; }
  .btn.shake:hover::after {
    transform: rotate(0deg); }

.featured-products .owl-carousel .owl-nav button {
  width: 60px;
  height: 60px;
  background-color: transparent;
  background-image: url("../img/icones/cercle.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.25s; }
  .featured-products .owl-carousel .owl-nav button:hover {
    border: none;
    background-color: transparent;
    background-image: url("../img/icones/cercle.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: scale(1.2); }
  .featured-products .owl-carousel .owl-nav button span {
    font-size: 1.8rem; }

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  max-height: 150px;
  z-index: 3; }
  #header .header-nav {
    margin: 0;
    border: none;
    background-color: #f3e4b9; }
    #header .header-nav .block-social ul {
      justify-content: center; }
    #header .header-nav .mobile-menu > div {
      display: inline-block; }
    #header .header-nav .mobile-menu #_mobile_cart,
    #header .header-nav .mobile-menu #_mobile_user_info {
      margin: 0 !important; }
    #header .header-nav .mobile-menu #menu-icon {
      margin-right: 0 !important; }
    #header .header-nav .blockcart {
      background-color: transparent;
      padding: 0;
      display: flex;
      align-items: center; }
      #header .header-nav .blockcart .header {
        position: relative; }
        #header .header-nav .blockcart .header img {
          max-width: 100px;
          max-height: 100px;
          position: relative;
          z-index: 2; }
        #header .header-nav .blockcart .header a {
          width: 100%;
          height: 100%;
          display: inline-block; }
  #header .header-top {
    padding: 0;
    background-color: #fff4d6; }
    #header .header-top .logo {
      position: absolute;
      overflow: visible;
      top: -40px;
      left: 0px;
      z-index: 100;
      max-width: none;
      max-height: none;
      width: 100%; }
    #header .header-top .menu {
      margin: 0; }
  #header .logo {
    z-index: 100;
    position: absolute;
    overflow: visible;
    max-width: none;
    max-height: none;
    top: 5px;
    width: 100%; }
  #header .main-menu {
    user-select: none; }
    #header .main-menu .cms-category {
      cursor: pointer; }

.header .cart-products-count {
  position: absolute;
  display: inline-block;
  bottom: -1px;
  left: 1px;
  color: white;
  background: #64b928;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  line-height: 20px; }

#header #search_widget {
  background-image: url("../img/icones/border.svg");
  background-size: 95% 70%;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: fit-content;
  padding: 0 2%; }

.search-widget form {
  min-height: 50px;
  width: 100%; }
  .search-widget form input[type="text"] {
    outline: none;
    background: transparent !important;
    padding: 10px 45px 10px 15px; }
    .search-widget form input[type="text"]:checked {
      border: none; }
  .search-widget form img {
    max-width: 78%;
    max-height: 78%; }
  .search-widget form button[type="submit"] {
    right: 5px;
    top: 5px; }

.right-nav {
  display: flex;
  align-items: center; }

#header .right-nav .user-info {
  display: flex;
  align-items: center;
  margin-left: 25px;
  margin-top: 0 !important; }
  #header .right-nav .user-info img {
    max-width: 100px;
    max-height: 100px;
    margin: 0;
    position: relative;
    z-index: 2; }
  #header .right-nav .user-info a {
    width: 100%;
    height: 100%;
    display: inline-block; }

.mobile-menu .user-info img {
  max-width: 100px;
  max-height: 100px; }

/*
+---------------------------------------------------------------+
| Top menu                                                      |
+---------------------------------------------------------------+
*/
.top-menu {
  display: inline-block;
  width: 100%; }
  .top-menu[data-depth="0"] > li {
    display: inline-block;
    padding: 1rem 2%; }
    .top-menu[data-depth="0"] > li:hover {
      background-color: white; }
      .top-menu[data-depth="0"] > li:hover > a {
        color: #64b928; }
  .top-menu a {
    margin: 0;
    padding: 0;
    font-size: 0.8rem;
    font-weight: 700;
    color: #602f10;
    text-transform: uppercase;
    transition: all 0.3s linear; }
  .top-menu .sub-menu {
    position: absolute;
    width: 100%;
    left: 15px;
    top: 100%;
    background-color: white;
    display: flex;
    flex-direction: column;
    z-index: 2;
    box-shadow: 2px 6px 6px 2px rgba(0, 0, 0, 0.1); }

.dropdown-item {
  color: #602f10 !important; }
  .dropdown-item:hover, .dropdown-item:focus, .dropdown-item:active {
    color: #64b928 !important; }

@media (max-width: 992px) {
  .top-menu .sub-menu {
    padding: 0;
    left: 0;
    width: 100vw;
    z-index: 18;
    display: flex;
    flex-direction: column; }
    .top-menu .sub-menu .top-menu {
      display: flex;
      flex-direction: column; } }

.block-social ul li,
.social-sharing ul li {
  background-color: transparent;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.3rem, 1.5rem, 2.7rem;
  box-shadow: none; }

.block-social ul .facebook,
.social-sharing ul .facebook {
  background-image: url("../img/icones/social_border.svg"), url("../css/3935e107ea61866e60d7946dc6a962f1.svg"), url("../img/icones/social_background.svg");
  /* 3935e107ea61866e60d7946dc6a962f1 */ }

.block-social ul .instagram,
.social-sharing ul .instagram {
  background-image: url("../img/icones/social_border.svg"), url("../css/0266b05265f317a7409560b751cd61e8.svg"), url("../img/icones/social_background.svg"); }

.block-social ul .twitter,
.social-sharing ul .twitter {
  background-image: url("../img/icones/social_border.svg"), url("../css/a67175d1ea11389d9107bd8c08f9d7d7.svg"), url("../img/icones/social_background.svg"); }

.block-social ul .pinterest,
.social-sharing ul .pinterest {
  background-image: url("../img/icones/social_border.svg"), url("../css/afb2ed6d67613a724a420a39b4fe5b0d.svg"), url("../img/icones/social_background.svg"); }

.block-social ul .linkedin,
.social-sharing ul .linkedin {
  background-image: url("../img/icones/social_border.svg"), url("../css/c135a20aa76cea4876a24bf50c7c821d.svg"), url("../img/icones/social_background.svg"); }

.block-social ul .googleplus,
.social-sharing ul .googleplus {
  background-image: url("../img/icones/social_border.svg"), url("../css/36bff72dcba3098b4b70b482b22c29ab.svg"), url("../img/icones/social_background.svg"); }

.block-social ul .youtube,
.social-sharing ul .youtube {
  background-image: url("../img/icones/social_border.svg"), url("../css/22c0528acb6d9cd5bf4c8f96381bc05c.svg"), url("../img/icones/social_background.svg"); }

.logout {
  color: #64b928; }

#mobile_top_menu_wrapper {
  max-height: 90vh;
  overflow: hidden scroll; }
  #mobile_top_menu_wrapper .top-menu li {
    width: 100%; }

/*
+---------------------------------------------------------------+
| Breadcrumb                                                    |
+---------------------------------------------------------------+
*/
.breadcrumb {
  padding: 1.2rem 0;
  margin-bottom: 20px; }
  .breadcrumb ol,
  .breadcrumb ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .breadcrumb li {
    display: inline-block;
    margin-right: 12px;
    color: #64b928; }
  .breadcrumb ol li:not(:last-child)::after,
  .breadcrumb ul li:not(:last-child)::after {
    content: ">";
    margin-left: 12px; }
  .breadcrumb a {
    color: grey;
    text-decoration: underline; }
  .breadcrumb[data-depth="1"] {
    display: none; }

/*
+---------------------------------------------------------------+
| HOMEPAGE HERO - LES INFUTHÉS
| SEO / CRO / RESPONSIVE
+---------------------------------------------------------------+
*/

#carousel {
  position: relative;

  width: 100%;
  min-height: 540px;
  height: auto;

  margin: 0;

  overflow: hidden;

  background-color: #fffcf5;
  background-image: url("../img/background/header_background.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
}


/* =========================================================
   CAROUSEL
   ========================================================= */

#carousel .carousel-inner,
#carousel .carousel-item {
  min-height: 540px;
}


/* =========================================================
   STRUCTURE DU HERO
   ========================================================= */

#carousel .home-hero {
  display: grid;

  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(360px, 0.95fr);

  align-items: center;

  gap: clamp(40px, 5vw, 80px);

  min-height: 540px;

  padding: 58px 0 82px;
}


/* =========================================================
   CONTENU
   ========================================================= */

#carousel .home-hero__content {
  position: relative;

  z-index: 2;

  width: 100%;
  max-width: 690px;
}


/* Petite promesse au-dessus du H1 */

#carousel .home-hero__eyebrow {
  margin: 0 0 16px;

  color: #64b928;

  font-family: "Lato", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;

  letter-spacing: 0.5px;

  text-transform: uppercase;
}


/* =========================================================
   TITRE
   ========================================================= */

#carousel .home-hero__title {
  margin: 0 0 24px;

  color: #602f10;

  font-family: "Catenary Stamp", "Lato", sans-serif;

  font-size: clamp(2rem, 2.7vw, 2.75rem);
  line-height: 1.22;
  font-weight: 400;

  text-transform: uppercase;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

#carousel .home-hero__description {
  max-width: 650px;

  margin: 0 0 30px;

  color: #8b6245;

  font-family: "Lato", sans-serif;
  font-size: 17px;
  line-height: 1.65;
}


#carousel .home-hero__description p {
  margin: 0;
}


/* =========================================================
   CTA
   ========================================================= */

#carousel .home-hero__actions {
  display: flex;

  align-items: center;

  gap: 24px;

  flex-wrap: wrap;
}


/* CTA principal */

#carousel .home-hero__primary {
  margin: 0;

  white-space: nowrap;
}


/* CTA secondaire */

#carousel .home-hero__secondary {
  position: relative;

  display: inline-flex;

  align-items: center;

  gap: 7px;

  padding: 7px 2px;

  color: #602f10;

  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;

  text-decoration: none;

  transition:
    color 0.2s ease,
    transform 0.2s ease;
}


#carousel .home-hero__secondary::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 2px;

  width: 100%;
  height: 1px;

  background-color: rgba(96, 47, 16, 0.4);

  transition: background-color 0.2s ease;
}


#carousel .home-hero__secondary:hover,
#carousel .home-hero__secondary:focus {
  color: #64b928;

  text-decoration: none;

  transform: translateY(-1px);
}


#carousel .home-hero__secondary:hover::after,
#carousel .home-hero__secondary:focus::after {
  background-color: #64b928;
}


/* =========================================================
   VISUEL
   ========================================================= */

#carousel .home-hero__visual {
  position: relative;

  display: flex;

  align-items: center;
  justify-content: center;

  width: 100%;

  margin: 0;
}


#carousel .home-hero__visual img {
  display: block;

  width: 100%;
  max-width: 560px;
  height: auto;

  margin: 0 auto;

  object-fit: contain;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media screen and (max-width: 991px) {

  #carousel {
    min-height: 0;

    background-size: cover;
  }


  #carousel .carousel-inner,
  #carousel .carousel-item {
    min-height: 0;
  }


  #carousel .home-hero {
    grid-template-columns: 1fr;

    gap: 28px;

    min-height: 0;

    padding: 46px 20px 72px;

    text-align: center;
  }


  #carousel .home-hero__content {
    max-width: 700px;

    margin: 0 auto;
  }


  #carousel .home-hero__eyebrow {
    margin-bottom: 13px;

    font-size: 13px;
  }


  #carousel .home-hero__title {
    margin-bottom: 20px;

    font-size: clamp(1.9rem, 5vw, 2.4rem);
  }


  #carousel .home-hero__description {
    max-width: 620px;

    margin-right: auto;
    margin-bottom: 26px;
    margin-left: auto;

    font-size: 16px;
  }


  #carousel .home-hero__actions {
    justify-content: center;
  }


  #carousel .home-hero__visual {
    max-width: 390px;

    margin: 0 auto;
  }


  #carousel .home-hero__visual img {
    max-width: 390px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  #carousel .home-hero {
    gap: 22px;

    padding: 34px 10px 58px;
  }


  #carousel .home-hero__eyebrow {
    margin-bottom: 11px;

    font-size: 11px;
    line-height: 1.45;

    letter-spacing: 0.3px;
  }


  #carousel .home-hero__title {
    margin-bottom: 17px;

    font-size: 1.85rem;
    line-height: 1.2;
  }


  #carousel .home-hero__description {
    margin-bottom: 23px;

    font-size: 15px;
    line-height: 1.55;
  }


  #carousel .home-hero__actions {
    flex-direction: column;

    gap: 14px;
  }


  #carousel .home-hero__primary {
    width: auto;

    max-width: 100%;

    padding: 12px 25px;

    font-size: 15px;
  }


  #carousel .home-hero__secondary {
    font-size: 14px;
  }


  #carousel .home-hero__visual {
    max-width: 300px;
  }


  #carousel .home-hero__visual img {
    max-width: 300px;
  }

}


/* =========================================================
   PETITS MOBILES
   ========================================================= */

@media screen and (max-width: 420px) {

  #carousel .home-hero {
    padding-top: 28px;
    padding-bottom: 52px;
  }


  #carousel .home-hero__title {
    font-size: 1.65rem;
  }


  #carousel .home-hero__description {
    font-size: 14px;
  }


  #carousel .home-hero__visual,
  #carousel .home-hero__visual img {
    max-width: 255px;
  }

}

/*
+---------------------------------------------------------------+
| homepage                                                      |
+---------------------------------------------------------------+
*/
#block-reassurance {
  background-image: url("../img/background/bandeau_background.png");
  background-color: #fffcf5;
  min-height: 358px;
  display: flex;
  align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left;
  margin-top: 0;
  position: relative;
  overflow: hidden; }
  #block-reassurance:before, #block-reassurance:after {
    content: "";
    position: absolute;
    width: 374px;
    height: 224px;
    opacity: 0.8; }
  #block-reassurance:before {
    background-image: url("../img/decors/reassurance_before.png");
    left: -120px;
    bottom: 5%; }
  #block-reassurance:after {
    background-image: url("../img/decors/reassurance_after.png");
    right: -280px;
    bottom: 0; }

.block-reassurance-item .h6 {
  font-size: 1.25rem;
  font-weight: 700; }

.bloghome,
.new-products,
.featured-products {
  background-color: #fffcf5; }

/*
+---------------------------------------------------------------+
| Cart                                                          |
+---------------------------------------------------------------+
*/
.cart-grid .cart-container {
  background-color: #fffcf5;
  border: none;
  box-shadow: none; }
  .cart-grid .cart-container .cart-overview ul li .product-line-info a {
    color: #602f10; }

.cart-grid-right {
  background-color: #f3e4b9;
  border-radius: 4px; }
  .cart-grid-right .cart-summary {
    background-color: transparent; }
    .cart-grid-right .cart-summary .cart-detailed-totals .block-promo {
      position: relative; }
      .cart-grid-right .cart-summary .cart-detailed-totals .block-promo .promo-input {
        border: none; }
      .cart-grid-right .cart-summary .cart-detailed-totals .block-promo .promo-input + button {
        border: none;
        margin-left: 5px; }
      .cart-grid-right .cart-summary .cart-detailed-totals .block-promo:hover a {
        color: #64b928; }
    .cart-grid-right .cart-summary .cart-detailed-totals .cart-summary-totals .cart-summary-line {
      background-color: transparent; }

.product-line-grid-body .product-line-info a.label {
  font-size: 1.2rem;
  font-weight: 700; }

.product-line-grid-body .product-line-info span {
  color: #c49f77; }

.product-line-actions .price .product-price {
  font-size: 1.2rem; }

.product-actions .product-prices .product-price .product-unit-price {
  color: #64b928 !important; }

.product-line-grid div .product-price .current-price .price {
  font-size: 1.2rem; }

.product-line-grid div .product-price .current-price .unit-price-cart {
  font-size: 0.8rem; }

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle,
.btn-primary.focus,
.btn-primary:focus {
  background-color: none !important;
  border: none !important;
  box-shadow: none !important; }

.cart-container .product-line-header {
  color: white;
  background-color: #602f10;
  padding: 15px;
  border-radius: 25px;
  position: relative; }
  .cart-container .product-line-header::before {
    content: "";
    width: 101%;
    height: 100%;
    top: -0.5%;
    left: -0.5%;
    position: absolute;
    border-radius: 30px;
    border: 2px solid #64b928; }

.card-block h4 span.label {
  color: gray; }

.product-line-actions .input-group input.form-control {
  background-color: transparent;
  border: none;
  text-align: center; }

.cart-grid .cart-grid-body a.label {
  color: #602f10;
  font-weight: 700; }
  .cart-grid .cart-grid-body a.label:hover {
    color: #64b928 !important; }

#checkout {
  background-color: transparent;
  box-shadow: none;
  border: none; }
  #checkout section.checkout-step .address-item.selected {
    border: 3px solid #602f10 !important; }
  #checkout .custom-radio input[type="radio"]:checked + span {
    background-color: #602f10; }

#content-hook_order_confirmation .card-block a {
  color: #64b928; }

/*
+---------------------------------------------------------------+
| Module : ps_shoppingcart                                      |
+---------------------------------------------------------------+
*/
#blockcart-modal {
  color: #602f10; }
  #blockcart-modal .cart-products-count,
  #blockcart-modal .modal-title,
  #blockcart-modal .cart-content,
  #blockcart-modal .product-price {
    color: #602f10; }
  #blockcart-modal .modal-title {
    font-size: 1.625rem;
    font-weight: bold; }
  #blockcart-modal .cart-content {
    padding: 2.5rem;
    background-color: #f3e4b9; }
  #blockcart-modal .product-name {
    font-size: 1.125rem;
    font-weight: 700; }

/*
+---------------------------------------------------------------+
| Module : ps_socialfollow                                      |
+---------------------------------------------------------------+
*/
.block-social ul {
  margin: 0; }

/*
+---------------------------------------------------------------+
| Module : newproducts                                          |
+---------------------------------------------------------------+
*/
.new-products .section-title,
.featured-products .section-title {
  position: relative;
  display: inline-block;
  margin: auto;
  margin-bottom: 80px; }
  .new-products .section-title::before,
  .featured-products .section-title::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 70px;
    height: 62px;
    top: -46px;
    right: 8px;
    background: no-repeat url("../img/insectes/fourmi.svg");
    background-size: contain; }

/*
+---------------------------------------------------------------+
| Module : ps_customtext                                        |
+---------------------------------------------------------------+
*/
#custom-text {
  margin: 0;
  background-color: white;
  background-image: url("../img/background/valeurs_background.png");
  background-position: center;
  background-repeat: no-repeat; }

@media (max-width: 991px) {
  #custom-text {
    background-image: none; } }

/*
+---------------------------------------------------------------+
| Module : everpsblog                                           |
+---------------------------------------------------------------+
*/
.bloghome .article::before {
  content: "";
  position: relative;
  display: block;
  width: 50%;
  height: 23px;
  margin: auto;
  height: 30px;
  bottom: 20px;
  background-image: url("../img/decors/devider.png");
  background-position: center;
  background-repeat: no-repeat; }

.bloghome .section-title {
  position: relative;
  display: inline-block;
  margin: auto;
  margin-bottom: 80px; }

.bloghome .section-title::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 75px;
  height: 40px;
  top: -26px;
  left: 3px;
  background: no-repeat url("../img/insectes/cigale.svg");
  background-size: contain; }

.bloghome .article-img {
  overflow: hidden; }
  .bloghome .article-img img {
    transition: all 0.5s ease-in-out; }

.bloghome .article-title {
  color: #602f10; }

.bloghome .article-date {
  font-family: "Lie to Me";
  color: #64b928;
  text-transform: capitalize; }

.bloghome .article-content {
  color: #c49f77; }

.bloghome .everpsblog a:hover .article-img img {
  transform: scale(1.2) rotate(2deg); }

.everpsblog {
  transform: scale(0.9); }

.id_custom {
  transform: scale(1.1); }
  .id_custom .everpsblog_miniature {
    position: relative;
    background-color: #fff4d6;
    border-radius: 4px;
    margin-top: 5px;
    padding: 10px; }
    .id_custom .everpsblog_miniature::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      border: 1px solid #602f10;
      border-radius: 4px;
      transform: rotate(-1deg); }

.postcontent .shifted-border-blog {
  position: relative; }
  .postcontent .shifted-border-blog::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 2px solid #602f10;
    border-radius: 4px;
    transform: rotate(-1deg); }

.postcontent blockquote {
  position: relative;
  background-color: #f2f2f2;
  border-radius: 4px;
  padding: 15px; }
  .postcontent blockquote::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 2px solid #64b928;
    border-radius: 4px;
    transform: rotate(-1deg); }

/*
+---------------------------------------------------------------+
| Module : csoft_instagramfeeds                                 |
+---------------------------------------------------------------+
*/
#csinstagramfeed h2 {
  margin-bottom: 20px;
  font-size: 2rem; }

#csinstagramfeed .brand {
  font-family: "Lie to Me";
  font-size: 4rem;
  color: #64b928; }

#csinstagramfeed .row {
  margin: 0 -0.5rem; }

#csinstagramfeed .img-responsive {
  width: 100%;
  height: auto;
  border-radius: 4px; }

/* =========================================================
   MODULE : NEWSLETTER LES INFUTHÉS
   VERSION HARMONISÉE - TOUTES LES PAGES
   Accueil + catégories + autres pages où le module est affiché
   ========================================================= */

/* Conteneur du module */
.block_newsletter.infuthes-newsletter {
  position: relative;
  width: 100%;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
  color: #602f10;
  background: transparent;
  text-align: center;
}

/* Carte */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-content {
  position: relative;
  z-index: 1;
  isolation: isolate;
  width: 100%;
  margin: 0 auto;
  padding: 38px 46px 32px;
  background-color: #fff4d6;
  border: 2px solid #64b928;
  border-radius: 22px;
  box-sizing: border-box;
  box-shadow: 0 7px 20px rgba(96, 47, 16, 0.06);
  overflow: visible !important;
}

/* Contour marron décalé */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-content::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  border: 2px solid #602f10;
  border-radius: 22px;
  background: transparent;
  transform: translate(3px, 3px) rotate(-1deg);
  transform-origin: center;
  box-sizing: border-box;
  pointer-events: none;
}

/* Titre */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-title {
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
  color: #602f10;
  font-family: "Catenary Stamp", "Lato", sans-serif;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase;
}

/* Introduction */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-text {
  position: relative;
  z-index: 2;
  max-width: 670px;
  margin: 0 auto 25px;
  color: #8b6245;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

/* Formulaire */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-form {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: transparent !important;
  background-image: none !important;
}

/* Champ + bouton */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-fields {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  padding: 4px;
  background-color: #ffffff;
  border: 2px solid #602f10;
  border-radius: 50px;
  box-sizing: border-box;
  overflow: visible;
}

.block_newsletter.infuthes-newsletter .infuthes-newsletter-fields .input-wrapper {
  flex: 1;
  width: auto !important;
  margin: 0;
  padding: 0;
}

.block_newsletter.infuthes-newsletter .infuthes-newsletter-fields input[type="email"] {
  display: block;
  width: 100% !important;
  height: 48px;
  margin: 0;
  padding: 0 20px;
  color: #602f10 !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 50px 0 0 50px;
  outline: none !important;
  box-shadow: none !important;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  box-sizing: border-box;
}

.block_newsletter.infuthes-newsletter .infuthes-newsletter-fields input[type="email"]::placeholder {
  color: #b18160;
  opacity: 1;
}

/* Bouton */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-submit {
  position: relative;
  z-index: 3;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  height: 48px;
  margin: 0;
  padding: 0 22px;
  color: #ffffff !important;
  background: #64b928 !important;
  background-color: #64b928 !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}

/* Contour du bouton si l'élément accepte les pseudo-éléments */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-submit::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  border: 2px solid #602f10;
  border-radius: 50px;
  background: transparent;
  transform: translate(3px, 2px) rotate(-3deg);
  box-sizing: border-box;
  pointer-events: none;
}

.block_newsletter.infuthes-newsletter .infuthes-newsletter-submit:hover,
.block_newsletter.infuthes-newsletter .infuthes-newsletter-submit:focus {
  color: #ffffff !important;
  background: #70c832 !important;
  background-color: #70c832 !important;
  filter: none !important;
  transform: translateY(-1px);
}

/* Conditions / RGPD */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-conditions,
.block_newsletter.infuthes-newsletter .infuthes-newsletter-gdpr {
  position: relative;
  z-index: 2;
  max-width: 620px;
  margin: 13px auto 0;
  color: #8b6245;
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
}

.block_newsletter.infuthes-newsletter .infuthes-newsletter-gdpr label {
  color: #8b6245;
  font-size: 12px;
  line-height: 1.45;
}

.block_newsletter.infuthes-newsletter .infuthes-newsletter-gdpr a,
.block_newsletter.infuthes-newsletter .infuthes-newsletter-conditions a {
  color: #602f10 !important;
  text-decoration: underline;
}

.block_newsletter.infuthes-newsletter .infuthes-newsletter-gdpr .custom-checkbox input[type="checkbox"] + span {
  border: 2px solid #602f10;
}

/* Désinscription */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-reassurance {
  position: relative;
  z-index: 2;
  margin: 16px 0 0;
  color: #9b7a62;
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

/* Messages succès / erreur */
.block_newsletter.infuthes-newsletter .infuthes-newsletter-message {
  position: relative;
  z-index: 2;
  max-width: 620px;
  margin: 15px auto 0;
  border-radius: 10px;
  font-size: 14px;
  text-align: center;
}

/* Tablette */
@media screen and (max-width: 991px) {
  .block_newsletter.infuthes-newsletter .infuthes-newsletter-content {
    padding: 32px 30px 28px;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-title {
    font-size: 27px;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-text {
    font-size: 15px;
  }
}

/* Mobile */
@media screen and (max-width: 767px) {
  .block_newsletter.infuthes-newsletter .infuthes-newsletter-content {
    padding: 27px 18px 25px;
    border-radius: 18px;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-content::after {
    border-radius: 18px;
    transform: translate(3px, 3px) rotate(-0.7deg);
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-title {
    margin-bottom: 10px;
    font-size: 23px;
    line-height: 1.25;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-text {
    max-width: 430px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.45;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-fields {
    display: flex;
    flex-direction: column;
    max-width: 430px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-fields .input-wrapper {
    width: 100% !important;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-fields input[type="email"] {
    width: 100% !important;
    height: 48px;
    margin-bottom: 13px;
    padding: 0 18px;
    background-color: #ffffff !important;
    border: 2px solid #602f10 !important;
    border-radius: 50px;
    text-align: left;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-submit {
    width: 100%;
    min-width: 0;
    height: 48px;
    background: #64b928 !important;
    background-color: #64b928 !important;
    border-radius: 50px !important;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-submit::after {
    transform: translate(3px, 2px) rotate(-2deg);
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-conditions,
  .block_newsletter.infuthes-newsletter .infuthes-newsletter-gdpr {
    max-width: 430px;
    font-size: 11.5px;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-reassurance {
    margin-top: 13px;
    font-size: 11.5px;
  }
}

/* Très petits écrans */
@media screen and (max-width: 420px) {
  .block_newsletter.infuthes-newsletter .infuthes-newsletter-content {
    padding: 24px 14px 22px;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-title {
    font-size: 21px;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-text {
    font-size: 13.5px;
  }

  .block_newsletter.infuthes-newsletter .infuthes-newsletter-content::after {
    transform: translate(2px, 2px) rotate(-0.55deg);
  }
}

/*
+---------------------------------------------------------------+
| Module : productcomments                                      |
+---------------------------------------------------------------+
*/
#product-comments-list-header {
  flex-direction: column;
  padding: 0; }

.product-comment-list-item:not(#empty-product-comment) {
  padding: 15px 30px;
  background-color: #fff4d6;
  border-radius: 4px;
  color: #602f10;
  position: relative; }
  .product-comment-list-item:not(#empty-product-comment) .comment-content h4 {
    color: #602f10; }
  .product-comment-list-item:not(#empty-product-comment) .comment-infos {
    min-height: 50px;
    color: #602f10; }
  .product-comment-list-item:not(#empty-product-comment) .initiales {
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    z-index: 4;
    width: 4rem;
    height: 4rem;
    top: -10%;
    left: -3%;
    position: absolute;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 3.3rem, 3.7rem;
    box-shadow: none;
    background-image: url("../img/icones/social_border.svg"), url("../img/icones/social_background.svg"); }

section#main #products .active_filters ul li.filter-block {
  background: #fffcf5 !important;
  border-radius: 5px; }

section#main #products .active_filters p.h6 {
  color: #602f10; }

/*
+---------------------------------------------------------------+
| Miniature product                                             |
+---------------------------------------------------------------+
*/
.product-miniature {
  background-color: white;
  box-shadow: 0 0 5px lightgrey; }
  .product-miniature .thumbnail img {
    width: 100%; }
  .product-miniature .product-title {
    height: 50px;
    margin: 1rem 0;
    text-align: center; }
  .product-miniature .product-title,
  .product-miniature .product-title a {
    color: #602f10;
    font-size: 1.2rem;
    font-weight: 700; }
  .product-miniature .product-resume {
    height: 50px;
    margin-bottom: 2rem; }
  .product-miniature .quick-view {
    position: absolute;
    right: 0;
    bottom: 0px; }
  .product-miniature .card-body {
    padding: 0 1.25rem; }
  .product-miniature .variant-links div p {
    margin-bottom: 0 !important;
    font-size: 12px;
    color: #602f10; }

.product-thumb .title-container {
  position: relative;
  display: block;
  width: 80%;
  margin: auto;
  font-size: 1rem;
  color: white;
  transform: translateY(-40%); }

.product-thumb .thm-trap::before {
  z-index: -1;
  border-radius: 8px;
  transform: perspective(200px) rotateX(-15deg);
  backface-visibility: hidden;
  transform-origin: top; }

.product-thumb .thm-trap .outline::after {
  border-radius: 8px;
  transform: perspective(50px) rotateX(-5deg);
  backface-visibility: hidden; }

.product-thumb .product-title {
  position: relative;
  margin: 0;
  font-size: 1rem;
  color: white; }

.thumb.selected {
  border: 2px solid #64b928; }

.product-variants .input-color {
  width: 100%;
  height: 100%;
  z-index: 2;
  cursor: pointer; }
  .product-variants .input-color:checked + .color-container, .product-variants .input-color:hover + .color-container {
    border-color: #64b928; }

.product-variants .color-container {
  padding: 0.25rem;
  border: 2px solid transparent; }
  .product-variants .color-container > span {
    display: block;
    margin: auto; }

.product-variants .color {
  position: relative;
  width: 40px;
  height: 40px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }

.product-variants .evername {
  color: #602f10;
  font-size: 0.8rem; }

.product-variants label {
  margin-bottom: 0; }

.product-variants ul li.input-container label {
  text-align: center; }

.product-container .scroll-box-arrows {
  display: none; }

.product-price .current-price {
  color: #602f10;
  font-size: 2rem;
  font-weight: 700; }

.page-content .product-flags .product-flag {
  background-color: #64b928; }

.product-cover {
  position: relative;
  z-index: 2; }
  .product-cover img {
    border-radius: 4px;
    position: relative;
    z-index: 2; }
  .product-cover div.layer {
    z-index: 4;
    position: absolute; }
  .product-cover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid #602f10;
    border-radius: 4px;
    transform: rotate(2deg);
    transition: all 0.3s linear;
    z-index: 3; }
  .product-cover::after {
    content: "";
    position: absolute;
    top: -5%;
    left: -5%;
    width: 110%;
    height: 110%;
    z-index: 1;
    background-image: url("../img/decors/traces.svg");
    background-size: 100% 100%; }

.product-description {
  color: #c49f77; }
  .product-description h4 {
    font-family: "Catenary Stamp";
    color: #64b928; }
  .product-description p {
    margin-bottom: 3rem; }
  .product-description ul {
    list-style: none !important;
    display: flex;
    flex-direction: column; }
    .product-description ul li {
      position: relative;
      margin: auto;
      text-align: justify;
      margin-bottom: 8px; }
      .product-description ul li::before {
        display: inline-block;
        position: absolute;
        content: "";
        width: 15px;
        height: 15px;
        left: -25px;
        margin-top: 5px;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url(../img/icones/bulle.svg); }
  .product-description ol {
    list-style: none !important;
    display: flex;
    flex-direction: column; }
    .product-description ol li {
      position: relative;
      margin: auto;
      text-align: justify;
      margin-bottom: 8px; }
      .product-description ol li::before {
        display: inline-block;
        position: absolute;
        content: "";
        width: 25px;
        height: 25px;
        left: -20px;
        margin-top: 5px;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url(../img/icones/fleur.svg); }
  .product-description .variant-links {
    margin: 20px 0;
    display: flex;
    justify-content: space-around;
    width: 100%; }
    .product-description .variant-links a {
      height: 40px;
      width: 40px;
      display: inline-block;
      background-size: contain;
      position: relative; }
      .product-description .variant-links a:hover::before {
        content: "";
        position: absolute;
        top: 5%;
        left: -50%;
        width: 200%;
        height: 100%;
        z-index: 1;
        background-image: url("../img/icones/hover_variant.svg");
        background-size: 100% 100%; }
  .product-description blockquote {
    background-image: url(../img/background/background_conclusion.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    width: 140%;
    margin-left: -20%;
    padding: 25px; }

.product-features {
  text-align: center;
  background-image: url(../img/background/background_caracteristique.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  padding: 40px 0; }
  .product-features ul {
    display: flex;
    flex-direction: column; }
    .product-features ul li.value {
      position: relative;
      margin: auto; }
      .product-features ul li.value::before {
        display: inline-block;
        position: absolute;
        content: "";
        width: 15px;
        height: 15px;
        left: -25px;
        margin-top: 5px;
        background-image: url(../img/icones/bulle.svg);
        background-repeat: no-repeat;
        background-size: cover; }

.control-label {
  color: #64b928;
  font-family: "Catenary Stamp";
  display: block; }

.product-prices .tax-shipping-delivery-label {
  display: inline;
  font-size: 0.5rem; }

.qty {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center; }
  .qty input {
    width: 60px !important;
    z-index: 5 !important; }
  .qty #quantity_wanted {
    background-color: transparent;
    text-align: center;
    border: none;
    color: #602f10;
    font-size: 1.2rem;
    font-weight: 700; }
  .qty .input-group-btn-vertical {
    position: absolute;
    left: -100%;
    width: 300%;
    height: 100%;
    padding: 0 6px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    z-index: 3; }
  .qty .btn-touchspin {
    background-color: #64b928;
    border-radius: 50%;
    border: 2px solid #602f10;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.2rem;
    font-weight: 700; }
    .qty .btn-touchspin i {
      display: none; }
  .qty .bootstrap-touchspin-down::before {
    content: "-"; }
  .qty .bootstrap-touchspin-up::before {
    content: "+"; }

.add {
  margin-left: 10%; }

.tabs {
  background-image: url(../img/background/background_description.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  text-align: center;
  border-radius: 20px;
  padding: 25px 15%;
  box-shadow: none; }
  .tabs .product-description {
    color: #602f10; }

@media (max-width: 992px) {
  .product-miniature .product-description h3 {
    margin: 0;
    height: auto; }
  .product-miniature .product-description .product-price-and-shipping {
    display: flex;
    flex-direction: column; }
    .product-miniature .product-description .product-price-and-shipping form {
      justify-content: center;
      display: flex; }
    .product-miniature .product-description .product-price-and-shipping button.add-to-cart,
    .product-miniature .product-description .product-price-and-shipping button.quick-view {
      display: block;
      float: none;
      bottom: 0; }
  .product-actions .product-quantity {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
  .product {
    padding-right: 5px;
    padding-left: 5px; }
    .product .product-miniature .card-body {
      padding: 0 0.25rem; }
      .product .product-miniature .card-body h2 {
        margin: 0; }
      .product .product-miniature .card-body .variant-links,
      .product .product-miniature .card-body form {
        display: none; }
      .product .product-miniature .card-body .variant-links p {
        margin-bottom: 0; } }

.product-thumb .thumbnail {
  position: relative;
  padding: 25px 0 0 25px;
  margin: 0 10px; }
  .product-thumb .thumbnail:before {
    content: "";
    position: absolute;
    width: 60%;
    height: 70%;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-image: url("../img/cadres/cadre_blanc.png"); }
  .product-thumb .thumbnail.blanc:before {
    background-image: url("../img/cadres/cadre_blanc.png"); }
  .product-thumb .thumbnail.bleu:before {
    background-image: url("../img/cadres/cadre_bleu.png"); }
  .product-thumb .thumbnail.jaune:before {
    background-image: url("../img/cadres/cadre_jaune.png"); }
  .product-thumb .thumbnail.noir:before {
    background-image: url("../img/cadres/cadre_noir.png"); }
  .product-thumb .thumbnail.orange:before {
    background-image: url("../img/cadres/cadre_orange.png"); }
  .product-thumb .thumbnail.rouge:before {
    background-image: url("../img/cadres/cadre_rouge.png"); }
  .product-thumb .thumbnail.vert-fonce:before {
    background-image: url("../img/cadres/cadre_vert-fonce.png"); }
  .product-thumb .thumbnail.vert:before {
    background-image: url("../img/cadres/cadre_vert.png"); }
  .product-thumb .thumbnail.violet:before {
    background-image: url("../img/cadres/cadre_violet.png"); }
  .product-thumb .thumbnail img {
    position: relative; }

/*
+---------------------------------------------------------------+
| Listing                                                       |
+---------------------------------------------------------------+
*/
.block-category,
.page-header {
  padding: 70px 0;
  background-color: #fffcf5;
  box-shadow: none;
  border: none; }
  .block-category > div,
.page-header > div {
  position: relative;
  display: flex;
  align-items: center;}
.block-category .lettrine,
  .page-header .lettrine {
    position: absolute;
    left: 20px; }
  .block-category h1,
  .page-header h1 {
    color: #602f10;
    text-transform: uppercase;
    margin: 0 50px;
    text-align: center; }
    .block-category h1::after,
    .page-header h1::after {
      content: "";
      position: absolute;
      width: 40px;
      height: 40px;
      top: 8px;
      right: -10px;
      background-image: url("../img/icones/after_h1.svg");
      background-repeat: no-repeat;
      background-size: 40px; }
    .block-category h1::before,
    .page-header h1::before {
      content: "";
      position: absolute;
      width: 40px;
      height: 40px;
      top: 8px;
      left: -10px;
      background-image: url("../img/icones/before_h1.svg");
      background-repeat: no-repeat;
      background-size: 40px; }
  .block-category .card-block h1::before, .block-category .card-block h1::after,
  .page-header .card-block h1::before,
  .page-header .card-block h1::after {
    top: 28px; }
  .block-category img,
  .page-header img {
    height: 100px;
    max-width: none;
    max-height: none; }
  .block-category .inverse,
  .page-header .inverse {
    transform: scale(-1, 1); }

.sort-by-row {
  padding: 10px;
  background-image: url("../img/icones/border.svg");
  background-size: 100% 100%;
  background-repeat: no-repeat; }

.product-miniature .product-title a {
  color: #602f10;
  font-size: 0.875rem;
  text-decoration: none;
  text-align: center;
  font-weight: 400; }

.product-list-reviews {
  position: inherit; }

.product-miniature {
  position: relative; }
  .product-miniature .product-price-and-shipping {
    padding-bottom: 20px; }
  .product-miniature .add-to-cart,
  .product-miniature .quick-view {
    width: 60px;
    height: 60px;
    padding: 0px;
    background-color: transparent;
    background-image: url("../img/icones/cercle.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    outline: none; }
    .product-miniature .add-to-cart i,
    .product-miniature .quick-view i {
      margin: 0; }
    .product-miniature .add-to-cart:disabled,
    .product-miniature .quick-view:disabled {
      cursor: not-allowed;
      opacity: 0.7;
      filter: grayscale(100%); }

.pagination {
  float: right; }

.pagination .page-list {
  background-color: transparent;
  box-shadow: none; }
  .pagination .page-list a:not(.previous):not(.next) {
    margin: 0 10px; }
  .pagination .page-list .current a {
    color: #64b928;
    font-size: 1rem; }

.sort-by-row .products-sort-order {
  border: none; }
  .sort-by-row .products-sort-order .btn-unstyle .material-icons {
    color: #64b928; }

ul.page-list li a.next,
ul.page-list li a.previous {
  border-radius: 50%;
  color: white;
  background-color: #64b928;
  height: 2.5rem;
  width: 2.5rem; }

.product-line-grid button.btn-touchspin {
  padding: 0px;
  border: none;
  background-color: transparent;
  background-image: url("../img/icones/cercle.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }
  .product-line-grid button.btn-touchspin .material-icons {
    border: none;
    background-color: transparent; }

@media (max-width: 991px) {
  .block-category img,
  .page-header img {
    display: none; } }

/*
+---------------------------------------------------------------+
| Quick view                                                    |
+---------------------------------------------------------------+
*/
.quickview .modal-content {
  background-color: #fffcf5; }

/*
+---------------------------------------------------------------+
| Footer                                                        |
+---------------------------------------------------------------+
*/
footer#footer {
  padding-top: 200px;
  background-color: #f3e4b9;
  padding-bottom: 50px; }
  footer#footer a {
    color: #602f10 !important; }

/* =========================================================
   FOOTER - LIVRAISON DPD + ENGAGEMENTS
   VERSION FINALE
   ========================================================= */

footer#footer .footer-trust {
  display: flex;
  flex-direction: column;
  color: #602f10;
}


/* TITRES */
footer#footer .footer-trust-title {
  margin: 0 0 14px;

  color: #602f10;

  font-family: "Lato", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;

  text-align: left;
}


/* =========================================================
   LIVRAISON DPD
   ========================================================= */

footer#footer .footer-delivery {
  width: 100%;
  margin: 0 0 28px;
}

footer#footer .footer-delivery-logo-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;

  width: 100%;
}

footer#footer .footer-delivery-logo {
  display: block;

  width: 105px;
  max-width: 100%;
  height: auto;

  margin: 0;

  object-fit: contain;
}


/* =========================================================
   ENGAGEMENTS
   ========================================================= */

footer#footer .footer-engagements {
  width: 100%;
}

footer#footer .footer-engagement-logos {
  display: grid !important;

  grid-template-columns: repeat(2, 82px) !important;

  gap: 15px 14px !important;

  width: auto !important;

  justify-content: start !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;
}

footer#footer .footer-engagement-logo {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: 82px !important;
  height: 65px !important;

  margin: 0 !important;
  padding: 3px !important;

  box-sizing: border-box;
}

footer#footer .footer-engagement-logo img {
  display: block !important;

  width: auto !important;
  max-width: 78px !important;

  height: auto !important;
  max-height: 58px !important;

  margin: 0 auto !important;

  object-fit: contain !important;
}


/* =========================================================
   TABLETTE / MOBILE
   ========================================================= */

@media screen and (max-width: 991px) {

  footer#footer .footer-trust {
    margin-top: 30px;

    align-items: center;

    text-align: center;
  }

  footer#footer .footer-trust-title {
    text-align: center;
  }

  footer#footer .footer-delivery-logo-wrapper {
    justify-content: center;
  }

  footer#footer .footer-delivery-logo {
    width: 105px;

    margin: 0 auto;
  }

  footer#footer .footer-engagement-logos {
    grid-template-columns: repeat(2, 90px) !important;

    justify-content: center !important;

    gap: 14px !important;
  }

  footer#footer .footer-engagement-logo {
    width: 90px !important;
    height: 68px !important;
  }

}


/* =========================================================
   PETITS MOBILES
   ========================================================= */

@media screen and (max-width: 420px) {

  footer#footer .footer-trust-title {
    font-size: 17px;
  }

  footer#footer .footer-delivery-logo {
    width: 95px;
  }

  footer#footer .footer-engagement-logos {
    grid-template-columns: repeat(2, 82px) !important;
  }

  footer#footer .footer-engagement-logo {
    width: 82px !important;
    height: 62px !important;
  }

  footer#footer .footer-engagement-logo img {
    max-width: 74px !important;
    max-height: 54px !important;
  }

}

/*
+---------------------------------------------------------------+
| Modal                                                         |
+---------------------------------------------------------------+
*/
.modal h2 {
  margin-bottom: 20px; }

.modal h6.product-name {
  color: #602f10 !important; }

.modal div.modal-body div.cart-content p.product-total {
  background-color: transparent !important; }

.modal .modal-body a.link {
  color: #64b928;
  cursor: pointer; }

.free-shipping-progressbar .progress {
  height: 40px;
  border-radius: 20px;
  border: 2px solid #602f10;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
  margin-top: 15px; }
  .free-shipping-progressbar .progress .progress-bar {
    transform: scale(0.98, 0.9);
    border-radius: 20px;
    background-color: #64b928; }

/*
+---------------------------------------------------------------+
| Aditional product                                             |
+---------------------------------------------------------------+
*/
.product-accessories .h5 {
  font-family: "Catenary Stamp";
  color: #602f10;
  text-align: center;
  font-size: 1.8rem; }

/*
+---------------------------------------------------------------+
| Contact                                                       |
+---------------------------------------------------------------+
*/
section.contact-form h3 {
  text-align: center;
  font-family: "Catenary Stamp";
  color: #602f10; }

section.contact-form input,
section.contact-form select,
section.contact-form textarea {
  border: none; }
  section.contact-form input:focus, section.contact-form input:active,
  section.contact-form select:focus,
  section.contact-form select:active,
  section.contact-form textarea:focus,
  section.contact-form textarea:active {
    outline-color: #602f10; }

.contact-form form .form-fields #captcha-box > div {
  float: none; }

.contact-rich {
  background-color: #fffcf5;
  color: #602f10; }
  .contact-rich h4 {
    font-size: 1.8rem;
    text-align: center; }
  .contact-rich .row > :first-child {
    border-right: 1px solid #f3e4b9; }
  .contact-rich .block .data {
    font-size: 1.6rem; }
    .contact-rich .block .data a {
      color: #602f10; }
      .contact-rich .block .data a:hover {
        color: #64b928; }

@media (max-width: 992px) {
  .contact-rich .row > :first-child {
    border-right: none;
    border-bottom: 1px solid #f3e4b9;
    margin-bottom: 10px;
    padding-bottom: 10px; } }

/*
+---------------------------------------------------------------+
| Users pages                                                   |
+---------------------------------------------------------------+
*/
.login-form a,
.no-account a,
.register-form a {
  color: #64b928; }

.form-group {
  display: flex; }

.page-authentication {
  background-color: #fffcf5; }
  .page-authentication .custom-radio span {
    background-color: #64b928; }
  .page-authentication #content {
    max-width: 1200px;
    background-color: transparent;
    box-shadow: none;
    border: none; }
  .page-authentication .form-group input.form-control {
    background-color: transparent; }
    .page-authentication .form-group input.form-control:focus {
      border: none !important;
      outline-color: #64b928 !important; }
  .page-authentication a,
  .page-authentication a i {
    color: #64b928; }

.page-my-account #content .links a:hover i {
  color: #64b928; }

#password .card {
  box-shadow: none;
  border: none; }

#contact .contact-form {
  padding: 10px 0 0 0 !important; }

.forgotten-password .form-fields .center-email-fields {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 500px; }
  .forgotten-password .form-fields .center-email-fields label {
    width: 100%;
    text-align: left; }
  .forgotten-password .form-fields .center-email-fields div.email {
    margin: 20px 0; }
    .forgotten-password .form-fields .center-email-fields div.email input {
      background: none;
      color: #602f10;
      border-radius: 4px; }
      .forgotten-password .form-fields .center-email-fields div.email input:focus {
        border: 2px solid #602f10;
        outline: none; }

/*
+---------------------------------------------------------------+
| Checkout                                                      |
+---------------------------------------------------------------+
*/
body#checkout .cart-grid-body .checkout-step {
  background-color: #fffcf5;
  color: #602f10; }
  body#checkout .cart-grid-body .checkout-step .form-control:focus,
  body#checkout .cart-grid-body .checkout-step .input-group.focus {
    outline: 0.1875rem solid #602f10;
    border-color: #602f10; }

body#checkout .cart-grid-body,
body#checkout .cart-grid-right {
  margin-top: 20px; }

body#checkout .cart-grid-right {
  background-color: transparent; }
  body#checkout .cart-grid-right .card {
    background-color: #fffcf5; }
    body#checkout .cart-grid-right .card .card-block .cart-summary-products a {
      color: #64b928; }
    body#checkout .cart-grid-right .card .card-block .cart-summary-products .collapse .product-price {
      color: #602f10; }

.block-promo .promo-input + button {
  margin-left: 20px; }

/*
+---------------------------------------------------------------+
| Valeurs                                                       |
+---------------------------------------------------------------+
*/
#valeurs div img {
  margin: auto; }

#valeurs h6,
#valeurs p {
  text-align: center;
  width: 100%; }

#valeurs h6 {
  color: #64b928;
  font-size: 1.3rem; }

#valeurs p {
  color: #c49f77;
  font-size: 1.1rem; }

#valeurs .message {
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center; }
  #valeurs .message p {
    margin-top: 50px;
    font-size: 2rem;
    z-index: 2; }
    #valeurs .message p span {
      color: #64b928; }
  div #valeurs .message::before {
    content: "";
    background-image: url("../img/background/bacground_message.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    width: 100vw;
    left: 0;
    height: 400px; }

/*
+---------------------------------------------------------------+
| Histoire                                                      |
+---------------------------------------------------------------+
*/
#histoire {
  overflow: hidden; }
  #histoire .message {
    margin: 50px 0;
    height: 400px; }
    #histoire .message h3 {
      text-align: center;
      color: #64b928;
      margin: 40px 0; }
    div #histoire .message::before {
      content: "";
      background-image: url("../img/background/bandeau_background.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100% 100%;
      position: absolute;
      width: 100vw;
      left: 0;
      height: 400px; }
    #histoire .message div img {
      height: auto;
      max-height: 150px;
      max-width: 15%; }

@media (max-width: 992px) {
  #histoire .message div img {
    max-width: 20%; } }

@media (max-width: 576px) {
  #histoire .message div img {
    max-width: 25%; } }

.btn-primary.disabled,
.btn-primary:disabled {
  background-color: #64b928;
  filter: grayscale(100%); }

/*
+---------------------------------------------------------------+
| Filtre catalog                                                |
+---------------------------------------------------------------+
*/
#left-column #search_filters .ui-slider .ui-slider-handle {
  width: 20px;
  height: 20px;
  border-radius: 50%; }

#left-column #search_filters .ui-slider-range {
  background-color: #64b928; }

#left-column #search_filters .custom-checkbox input + span {
  border: 2px solid #c4c4c4;
  border-radius: 2px; }

#left-column #search_filters .custom-checkbox input:checked ~ span {
  background-color: #64b928; }
  #left-column #search_filters .custom-checkbox input:checked ~ span i {
    color: white; }

#left-column #search_filters section.facet {
  padding: 25px 10px; }
  #left-column #search_filters section.facet a {
    color: #602f10; }
  #left-column #search_filters section.facet .h6 {
    color: #64b928; }

#left-column #search_filters section.facet .tags li {
  display: inline-block;
  width: auto;
  margin-left: 5px; }
  #left-column #search_filters section.facet .tags li a {
    width: auto;
    margin: 0; }

#left-column #search_filters section.facet .tags .custom-checkbox {
  display: none; }

#left-column #search_filters section.facet .tags .magnitude {
  display: none; }

#left-column #search_filters section.facet .tags .facet-label {
  display: flex;
  justify-content: center; }
  #left-column #search_filters section.facet .tags .facet-label:before {
    content: "#"; }

#search_filters,
#search_filters_brands,
#search_filters_suppliers {
  box-shadow: none;
  background-color: transparent;
  background-image: url("../img/background/background_filtre.svg");
  background-size: 100% 100%;
  min-height: 400px; }

/*
+---------------------------------------------------------------+
| Blog                                                          |
+---------------------------------------------------------------+
*/
#module-everpsblog-blog article.everpsblog {
  text-align: center;
  border: none; }
  #module-everpsblog-blog article.everpsblog span.article-date {
    color: #64b928; }
  #module-everpsblog-blog article.everpsblog h3.article-content {
    text-align: center; }
    #module-everpsblog-blog article.everpsblog h3.article-content a {
      color: #602f10; }

/*
+---------------------------------------------------------------+
| Tableau réduction                                             |
+---------------------------------------------------------------+
*/
table.table {
  border: none; }
  table.table thead th {
    color: #602f10;
    background-color: transparent;
    border: none; }
  table.table tbody tr th,
  table.table tbody tr td {
    background-color: transparent;
    color: #602f10;
    border: none; }
  table.table tbody tr:hover {
    background-color: #fffcf5; }

.table-striped tbody tr:nth-of-type(odd) {
  background-color: transparent; }

/*
+---------------------------------------------------------------+
| Map colissimo                                                 |
+---------------------------------------------------------------+
*/
.leaflet-tile-container,
.leaflet-layer,
.leaflet-tile-pane,
.leaflet-map-pane {
  height: 100%; }

/*
+---------------------------------------------------------------+
| Texte                                                         |
+---------------------------------------------------------------+
*/
#product-description-short,
.product-line-grid-right .product-price,
.card-block h4 span.label,
.cart-summary-line .label,
.cart-summary-line .value,
body#checkout section.checkout-step .add-address a,
body#checkout a:hover,
section.checkout-step.-reachable.-complete h1 .step-edit,
.page-my-account #content .links a span.link-item,
.page-my-account #content .links a span.link-item .material-icons,
#product-availability,
.social-sharing,
.product-description .product-price-and-shipping,
.pagination a,
.contact-rich .block .data,
.contact-rich h4 {
  color: #602f10; }

.block-promo .promo-code-button.cancel-promo {
  color: #64b928; }

.everpsblogcontent {
  color: #c49f77; }

.btn-info:hover {
  background-color: #602f10; }

.debug {
  position: fixed;
  width: 100vw;
  background-color: red;
  z-index: 50; }

/*
+---------------------------------------------------------------+
| F****** Certishopping module                                  |
+---------------------------------------------------------------+
*/
.modal.in .modal-dialog {
  position: relative;
  max-width: 600px;
  background: none;
  overflow: visible; }


/* =========================================================
   ACCUEIL - COFFRETS À OFFRIR OU À S'OFFRIR
   Version élégante - contour marron décalé + animation douce
   Desktop + mobile
   ========================================================= */


/* =========================================================
   CONTENEUR
   ========================================================= */

body#index .home-coffret-card .title-container {
  position: relative;
  z-index: 2;
  isolation: isolate;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 88%;
  min-height: 90px;

  margin: 0 auto;
  padding: 14px 18px !important;

  background: transparent;

  overflow: visible;

  transform: translateY(-30%);
  transform-origin: center;

  transition:
    transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.28s ease;
}


/* =========================================================
   FOND VERT
   ========================================================= */

body#index .home-coffret-card .thm-trap::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  z-index: 0;

  background-color: #64b928;

  border-radius: 16px;

  /* Signature Les Infuthés : légère inclinaison au repos. */
  transform: rotate(-0.8deg);
  transform-origin: center;

  box-shadow: 0 5px 14px rgba(96, 47, 16, 0.14);

  backface-visibility: hidden;

  transition:
    background-color 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}


/* =========================================================
   CONTOUR MARRON DÉCALÉ
   ========================================================= */

body#index .home-coffret-card .thm-trap .outline {
  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  z-index: 1;

  transform: none;

  pointer-events: none;
}


body#index .home-coffret-card .thm-trap .outline::after {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  border: 2px solid #602f10;
  border-radius: 16px;

  background: transparent;

  box-sizing: border-box;

  /* Contour volontairement décalé et légèrement opposé au fond. */
  transform:
    translate(4px, 3px)
    rotate(1.4deg);

  transform-origin: center;

  backface-visibility: hidden;

  transition:
    transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}


/* =========================================================
   TITRE
   ========================================================= */

body#index .home-coffret-card .product-title {
  position: relative;
  z-index: 3;

  display: block;

  width: 100%;

  margin: 0;
  padding: 0 4px;

  color: #ffffff !important;

  font-family: "Lato", sans-serif;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;

  letter-spacing: 0.1px;

  text-align: center;
}


body#index .home-coffret-card .product-title a {
  color: #ffffff !important;

  text-decoration: none !important;
}


/* =========================================================
   SOUS-TITRE
   ========================================================= */

body#index .home-coffret-card .home-coffret-subtitle {
  position: relative;
  z-index: 3;

  display: block;

  width: 100%;

  margin: 6px 0 0;
  padding: 0 4px;

  color: #ffffff !important;

  font-family: "Lato", sans-serif;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;

  text-align: center;

  opacity: 0.95;
}


/* =========================================================
   LIEN
   ========================================================= */

body#index .home-coffret-card > a {
  text-decoration: none !important;
}


/* =========================================================
   ANIMATION ÉLÉGANTE - SOURIS / TRACKPAD
   Même principe que le bouton "TROUVER MON INFUSION",
   mais avec un mouvement légèrement plus discret.
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

  body#index .home-coffret-card:hover .title-container {
    transform:
      translateY(-30%)
      scale(1.035);
  }


  body#index .home-coffret-card:hover .thm-trap::before {
    background-color: #64b928;

    box-shadow:
      0 0 12px rgba(100, 185, 40, 0.48),
      0 7px 18px rgba(96, 47, 16, 0.12);

    transform: rotate(0deg);
  }


  body#index .home-coffret-card:hover
  .thm-trap .outline::after {
    transform:
      translate(0, 0)
      rotate(0deg);
  }

}


/* Même retour visuel au clavier. */
body#index .home-coffret-card:focus-within .title-container {
  transform:
    translateY(-30%)
    scale(1.035);
}

body#index .home-coffret-card:focus-within .thm-trap::before {
  box-shadow:
    0 0 12px rgba(100, 185, 40, 0.48),
    0 7px 18px rgba(96, 47, 16, 0.12);

  transform: rotate(0deg);
}

body#index .home-coffret-card:focus-within
.thm-trap .outline::after {
  transform:
    translate(0, 0)
    rotate(0deg);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  body#index .home-coffret-card .title-container {
    width: 92%;
    min-height: 82px;

    margin: 0 auto;

    padding: 12px 10px 13px !important;

    transform: translateY(-24%);
  }


  body#index .home-coffret-card .thm-trap::before {
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    border-radius: 14px;

    transform: rotate(-0.45deg) !important;

    box-shadow: 0 4px 11px rgba(96, 47, 16, 0.14);
  }


  body#index .home-coffret-card .thm-trap .outline {
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    transform: none !important;
  }


  body#index .home-coffret-card
  .thm-trap .outline::after {
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    border: 2px solid #602f10;
    border-radius: 14px;

    transform:
      translate(3px, 2px)
      rotate(1deg) !important;
  }


  body#index .home-coffret-card .product-title {
    width: 100%;

    margin: 0;
    padding: 0 3px;

    font-size: 16px;
    line-height: 1.25;
    font-weight: 700;

    text-align: center;
  }


  body#index .home-coffret-card
  .home-coffret-subtitle {
    width: 100%;

    margin: 5px 0 0;
    padding: 0 3px;

    font-size: 12px;
    line-height: 1.3;

    text-align: center;
  }

  /* Pas d'effet de grossissement persistant sur écran tactile. */
  body#index .home-coffret-card:focus-within .title-container {
    transform: translateY(-24%);
  }

  body#index .home-coffret-card:focus-within .thm-trap::before {
    transform: rotate(-0.45deg) !important;
    box-shadow: 0 4px 11px rgba(96, 47, 16, 0.14);
  }

  body#index .home-coffret-card:focus-within
  .thm-trap .outline::after {
    transform:
      translate(3px, 2px)
      rotate(1deg) !important;
  }

}


/* =========================================================
   TRÈS PETITS ÉCRANS
   ========================================================= */

@media screen and (max-width: 420px) {

  body#index .home-coffret-card .title-container {
    width: 94%;
    min-height: 80px;

    padding: 11px 8px 12px !important;
  }


  body#index .home-coffret-card .thm-trap::before {
    transform: rotate(-0.35deg) !important;
  }


  body#index .home-coffret-card
  .thm-trap .outline::after {
    transform:
      translate(2px, 2px)
      rotate(0.8deg) !important;
  }


  body#index .home-coffret-card .product-title {
    font-size: 15px;
    line-height: 1.25;
  }


  body#index .home-coffret-card
  .home-coffret-subtitle {
    font-size: 11.5px;
    line-height: 1.25;
  }

}


/* Réduit les animations pour les visiteurs qui le demandent. */
@media (prefers-reduced-motion: reduce) {

  body#index .home-coffret-card .title-container,
  body#index .home-coffret-card .thm-trap::before,
  body#index .home-coffret-card .thm-trap .outline::after {
    transition: none !important;
  }

}

/* =========================================================
   ACCUEIL - BOUTON BLOG
   "DÉCOUVRIR TOUS NOS CONSEILS"
   Fond vert + contour marron décalé
   ========================================================= */

body#index section.bloghome .btn.btn-info {
  position: relative;
  z-index: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 12px 28px;

  color: #ffffff !important;

  background: #64b928 !important;
  background-color: #64b928 !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 50px !important;

  box-shadow: none !important;

  font-family: "Lato", sans-serif;
  font-weight: 600;

  text-decoration: none !important;

  overflow: visible;

  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}


/* Contour marron incliné et décalé */
body#index section.bloghome .btn.btn-info::after {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  border: 2px solid #602f10;
  border-radius: 50px;

  background: transparent;

  transform:
    translate(3px, 2px)
    rotate(-3deg);

  box-sizing: border-box;

  pointer-events: none;
}


/* Survol */
body#index section.bloghome .btn.btn-info:hover,
body#index section.bloghome .btn.btn-info:focus {
  color: #ffffff !important;

  background: #70c832 !important;
  background-color: #70c832 !important;

  transform: translateY(-1px);

  text-decoration: none !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  body#index section.bloghome .btn.btn-info {
    padding: 11px 24px;

    font-size: 14px;
    line-height: 1.2;
  }


  body#index section.bloghome .btn.btn-info::after {
    transform:
      translate(3px, 2px)
      rotate(-2deg);
  }

}
/* =========================================================
   FOOTER - BESOIN D'AIDE / CONTACT
   ========================================================= */

footer#footer .footer-contact-content {
  color: #602f10;
}

footer#footer .footer-contact-content .block-contact-title {
  margin: 0 0 20px;

  color: #602f10;

  font-family: "Lato", sans-serif;
  font-size: 1.75rem;
  line-height: 1.2;
  font-weight: 400;
}


/* Téléphone */
footer#footer .footer-contact-phone {
  display: flex;
  align-items: center;

  margin-bottom: 12px;
}

footer#footer .footer-contact-phone img {
  width: 26px;
  height: 26px;

  margin-right: 9px;

  object-fit: contain;
}

footer#footer .footer-contact-phone a {
  color: #602f10 !important;

  font-size: 16px;

  text-decoration: none !important;
}


/* Contact */
footer#footer .footer-contact-link {
  margin-bottom: 16px;
}

footer#footer .footer-contact-link a {
  color: #602f10 !important;

  font-size: 15px;
  font-weight: 600;

  text-decoration: underline;
  text-underline-offset: 3px;
}

footer#footer .footer-contact-link a:hover {
  color: #64b928 !important;
}


/* Réseaux sociaux */
footer#footer .footer-social {
  margin: 0;
}

footer#footer .footer-social ul {
  display: flex;
  align-items: center;

  margin: 0;
  padding: 0;

  gap: 8px;
}


/* E-mail éventuel */
footer#footer .footer-contact-email {
  margin-top: 15px;
}

footer#footer .footer-contact-email a {
  color: #602f10 !important;

  font-size: 14px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  footer#footer .footer-contact-content {
    margin-top: 28px;

    text-align: center;
  }

  footer#footer .footer-contact-content .block-contact-title {
    margin-bottom: 16px;

    font-size: 1.5rem;
  }

  footer#footer .footer-contact-phone {
    justify-content: center;
  }

  footer#footer .footer-social ul {
    justify-content: center;
  }

}

/* =========================================================
   FOOTER - CERTISHOPPING GOLD
   ========================================================= */

footer#footer .footer-copyright {
  margin-top: 8px;
  color: #602f10;
  font-size: 14px;
}

footer#footer .footer-certishopping-gold {
  width: 100%;
  max-width: 190px;

  margin: 20px 0 0;

  display: flex;
  justify-content: flex-start;
  align-items: center;
}


/* TABLETTE / MOBILE */
@media screen and (max-width: 991px) {

  footer#footer .footer-certishopping-gold {
    max-width: 180px;

    margin: 20px auto 0;

    justify-content: center;
  }

}
/* =========================================================
   FOOTER MOBILE - VERSION FINALE LES INFUTHÉS
   ========================================================= */

@media screen and (max-width: 767px) {

  /* =======================================================
     FOOTER GLOBAL
     ======================================================= */

  footer#footer {
    padding-top: 38px !important;
    padding-bottom: 95px !important;

    text-align: center !important;
  }

  footer#footer .container-xl {
    width: 100% !important;

    padding-left: 18px !important;
    padding-right: 18px !important;
  }


  /* =======================================================
     LOGO LES INFUTHÉS
     ======================================================= */

  footer#footer .logo_footer {
    width: 100% !important;

    margin: 0 auto 14px !important;

    text-align: center !important;
  }

  footer#footer .logo_footer a {
    display: inline-block !important;
  }

  footer#footer .logo_footer img {
    display: block !important;

    width: 215px !important;
    max-width: 82vw !important;
    height: auto !important;

    margin: 0 auto !important;
  }


  /* =======================================================
     COPYRIGHT
     ======================================================= */

  footer#footer .footer-copyright {
    margin: 0 auto 12px !important;

    font-size: 13px !important;
    line-height: 1.3 !important;

    text-align: center !important;
  }

  footer#footer .footer-copyright a {
    text-decoration: none !important;
  }


  /* =======================================================
     CERTISHOPPING GOLD
     ======================================================= */

  footer#footer .footer-certishopping-gold {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 170px !important;
    max-width: 170px !important;

    margin: 12px auto 25px !important;
  }

  footer#footer .footer-certishopping-gold
  [certishopping-badge-certification] {
    display: block !important;

    width: 170px !important;
    max-width: 170px !important;

    margin: 0 auto !important;
  }


  /* =======================================================
     ZONE CENTRALE DU FOOTER
     ======================================================= */

  footer#footer .col-lg-8 {
    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 100% !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }


  /* =======================================================
     ACCORDÉONS
     NOS INFUSIONS & THÉS / LES INFUTHÉS
     ======================================================= */

  footer#footer .links .title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    max-width: 300px !important;

    min-height: 56px !important;

    margin: 0 auto !important;
    padding: 12px 12px !important;

    border-bottom: 1px solid rgba(96, 47, 16, 0.12) !important;

    box-sizing: border-box !important;

    text-align: left !important;
  }

  footer#footer .links .title .h3 {
    margin: 0 !important;

    color: #602f10 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;

    white-space: nowrap !important;

    text-align: left !important;
  }

  footer#footer .links .title .float-xs-right {
    margin-left: auto !important;
  }

  footer#footer .links .title .collapse-icons {
    color: #602f10 !important;
  }


  /* Liens quand l'accordéon est ouvert */
  footer#footer .links ul.collapse,
  footer#footer .links ul.collapsing {
    max-width: 300px !important;

    margin: 0 auto !important;
    padding: 10px 12px 14px !important;

    text-align: left !important;
  }

  footer#footer .links ul li {
    margin: 0 !important;
    padding: 4px 0 !important;

    line-height: 1.35 !important;
  }

  footer#footer .links ul li a {
    font-size: 14px !important;
  }


  /* =======================================================
     BESOIN D'AIDE
     ======================================================= */

  footer#footer .footer-contact-content {
    width: 100% !important;
    max-width: 330px !important;

    margin: 30px auto 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }

  footer#footer
  .footer-contact-content
  .block-contact-title {
    margin: 0 0 17px !important;

    color: #602f10 !important;

    font-size: 25px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;

    text-align: center !important;
  }


  /* Téléphone */
  footer#footer .footer-contact-phone {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 auto 15px !important;
  }

  footer#footer .footer-contact-phone img {
    width: 27px !important;
    height: 27px !important;

    margin: 0 9px 0 0 !important;
  }

  footer#footer .footer-contact-phone a {
    font-size: 17px !important;

    text-decoration: none !important;
  }


  /* Nous contacter */
  footer#footer .footer-contact-link {
    margin: 0 auto 19px !important;
  }

  footer#footer .footer-contact-link a {
    font-size: 15px !important;
    font-weight: 600 !important;

    text-underline-offset: 3px !important;
  }


  /* =======================================================
     RÉSEAUX SOCIAUX
     ======================================================= */

  footer#footer .footer-social {
    margin: 0 auto !important;
  }

  footer#footer .footer-social ul {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 15px !important;

    margin: 0 auto !important;
    padding: 0 !important;
  }


  /* =======================================================
     RÉTRACTATION
     ======================================================= */

  footer#footer .pswithdrawal-footer {
    width: 100% !important;

    margin: 22px auto 0 !important;

    text-align: center !important;
  }

  footer#footer .pswithdrawal-footer-link {
    font-size: 15px !important;
    font-weight: 600 !important;

    text-underline-offset: 3px !important;
  }


  /* =======================================================
     LIVRAISON DPD
     ======================================================= */

  footer#footer .footer-trust {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 320px !important;

    margin: 40px auto 0 !important;

    padding: 0 !important;

    text-align: center !important;
  }

  footer#footer .footer-trust-title {
    margin: 0 0 14px !important;

    color: #602f10 !important;

    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;

    text-align: center !important;
  }

  footer#footer .footer-delivery {
    width: 100% !important;

    margin: 0 0 32px !important;
  }

  footer#footer .footer-delivery-logo-wrapper {
    display: flex !important;

    justify-content: center !important;
    align-items: center !important;
  }

  footer#footer .footer-delivery-logo {
    width: 90px !important;
    max-width: 90px !important;
    height: auto !important;

    margin: 0 auto !important;
  }


  /* =======================================================
     NOS ENGAGEMENTS
     ======================================================= */

  footer#footer .footer-engagements {
    width: 100% !important;
  }

  footer#footer .footer-engagement-logos {
    display: grid !important;

    grid-template-columns: repeat(2, 95px) !important;

    justify-content: center !important;
    align-items: center !important;

    gap: 16px !important;

    width: 100% !important;
    max-width: 230px !important;

    margin: 0 auto !important;
    padding: 0 !important;
  }

  footer#footer .footer-engagement-logo {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 95px !important;
    height: 72px !important;

    margin: 0 !important;
    padding: 4px !important;

    box-sizing: border-box !important;
  }

  footer#footer .footer-engagement-logo img {
    display: block !important;

    width: auto !important;
    max-width: 88px !important;

    height: auto !important;
    max-height: 64px !important;

    margin: 0 auto !important;

    object-fit: contain !important;
  }

}


/* =========================================================
   TRÈS PETITS MOBILES
   ========================================================= */

@media screen and (max-width: 380px) {

  footer#footer {
    padding-top: 32px !important;
  }

  footer#footer .logo_footer img {
    width: 195px !important;
  }

  footer#footer .footer-certishopping-gold,
  footer#footer .footer-certishopping-gold
  [certishopping-badge-certification] {
    width: 155px !important;
    max-width: 155px !important;
  }

  footer#footer .links .title {
    max-width: 280px !important;
  }

  footer#footer .links .title .h3 {
    font-size: 20px !important;
  }

  footer#footer
  .footer-contact-content
  .block-contact-title {
    font-size: 23px !important;
  }

  footer#footer .footer-engagement-logos {
    grid-template-columns: repeat(2, 86px) !important;

    gap: 12px !important;
  }

  footer#footer .footer-engagement-logo {
    width: 86px !important;
    height: 66px !important;
  }

  footer#footer .footer-engagement-logo img {
    max-width: 80px !important;
    max-height: 58px !important;
  }

}

/* =========================================================
   DESCRIPTIONS DES CATÉGORIES - LES INFUTHÉS
   VERSION UNIFIÉE
   PC + TABLETTE + MOBILE
   ========================================================= */


/* =========================================================
   CONTENEUR
   ========================================================= */

body#category .block-category #category-description {
  display: block !important;

  width: calc(100% - 50px) !important;
  max-width: 1050px !important;

  min-width: 0 !important;

  margin: 28px auto 0 !important;
  padding: 30px 42px !important;

  color: #4b4035 !important;

  background-color: #fbf7ed !important;

  border: 1px solid #eadfc9 !important;
  border-radius: 12px !important;

  box-sizing: border-box !important;

  float: none !important;

  overflow: visible !important;

  left: auto !important;
  right: auto !important;

  transform: none !important;
}


/* =========================================================
   CONTENU INTERMÉDIAIRE ÉVENTUEL
   PrestaShop peut encapsuler le HTML dans un div
   ========================================================= */

body#category
.block-category
#category-description
> div {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}


/* =========================================================
   TITRES
   ========================================================= */

body#category
.block-category
#category-description h2 {
  display: block !important;

  width: 100% !important;
  max-width: 780px !important;

  margin: 0 auto 18px !important;
  padding: 0 !important;

  color: #58a85c !important;

  font-family:
    "Catenary Stamp",
    "Lato",
    sans-serif !important;

  font-size: 25px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;

  text-align: center !important;

  text-transform: uppercase !important;

  transform: none !important;
}


/* =========================================================
   PARAGRAPHES
   ========================================================= */

body#category
.block-category
#category-description p {
  display: block !important;

  width: 100% !important;
  max-width: 900px !important;

  min-width: 0 !important;

  margin: 0 auto !important;
  padding: 0 !important;

  color: #4b4035 !important;

  font-family: "Lato", sans-serif !important;

  font-size: 16px !important;
  line-height: 1.7 !important;

  text-align: center !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;

  box-sizing: border-box !important;
}


/* Espacement entre plusieurs paragraphes */

body#category
.block-category
#category-description p + p {
  margin-top: 16px !important;
}


/* =========================================================
   TEXTE IMPORTANT / LIENS
   ========================================================= */

body#category
.block-category
#category-description strong {
  color: #602f10 !important;

  font-weight: 700 !important;
}


body#category
.block-category
#category-description a {
  color: #58a85c !important;

  font-weight: 600;

  text-decoration: none;
}


body#category
.block-category
#category-description a:hover,
body#category
.block-category
#category-description a:focus {
  color: #602f10 !important;

  text-decoration: underline;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media screen and (max-width: 991px) {

  body#category .block-category {
    width: 100% !important;

    padding-top: 38px !important;
    padding-bottom: 30px !important;

    box-sizing: border-box !important;
  }


  body#category .block-category > div {
    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    flex-wrap: wrap !important;

    justify-content: center !important;

    box-sizing: border-box !important;
  }


  body#category
  .block-category
  #category-description {
    width: calc(100% - 30px) !important;
    max-width: 760px !important;

    margin: 22px auto 0 !important;

    padding: 27px 28px !important;
  }


  body#category
  .block-category
  #category-description h2 {
    margin-bottom: 17px !important;

    font-size: 23px !important;
  }


  body#category
  .block-category
  #category-description p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 576px) {

  body#category .block-category {
    padding-top: 28px !important;
    padding-bottom: 25px !important;
  }


  body#category
  .block-category
  #category-description {
    width: calc(100% - 20px) !important;
    max-width: none !important;

    margin: 18px auto 0 !important;

    padding: 22px 17px !important;

    border-radius: 10px !important;
  }


  body#category
  .block-category
  #category-description h2 {
    margin-bottom: 15px !important;

    font-size: 21px !important;
    line-height: 1.3 !important;
  }


  body#category
  .block-category
  #category-description p {
    font-size: 14.5px !important;
    line-height: 1.65 !important;

    text-align: left !important;
  }


  body#category
  .block-category
  #category-description p + p {
    margin-top: 15px !important;
  }

}


/* =========================================================
   PETITS MOBILES
   ========================================================= */

@media screen and (max-width: 420px) {

  body#category
  .block-category
  #category-description {
    width: calc(100% - 16px) !important;

    padding: 20px 14px !important;
  }


  body#category
  .block-category
  #category-description h2 {
    font-size: 19px !important;
  }


  body#category
  .block-category
  #category-description p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

}

/* =========================================================
   ACCUEIL - TROUVEZ VOTRE INFUSION
   GRILLE 8 UNIVERS - VERSION ÉLÉGANTE
   ========================================================= */

body#index .infuthes-home-categories {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}


/* Titre du bloc */
body#index .infuthes-cat-heading {
  margin-bottom: 30px;
  text-align: center;
}


/* =========================================================
   GRILLE DES CATÉGORIES
   ========================================================= */

body#index .infuthes-cat-grid {
  display: grid !important;

  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

  gap: 22px !important;

  width: 100%;

  margin: 0 auto;
}


/* =========================================================
   CARTES
   Contour marron aligné - sans décalage
   ========================================================= */

body#index .infuthes-cat-card {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;

  min-width: 0;
  height: 100%;

  color: #602f10;

  background-color: #fbf7ed;

  border: 1.5px solid #8b4d2e;
  border-radius: 14px;

  overflow: hidden;

  text-decoration: none !important;

  box-sizing: border-box;

  transition:
    transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}


/* =========================================================
   SURVOL ÉLÉGANT - SOURIS / TRACKPAD
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

  body#index .infuthes-cat-card:hover {
    transform: translateY(-3px);

    border-color: #602f10;

    box-shadow: 0 8px 20px rgba(96, 47, 16, 0.10);
  }

}


/* Navigation clavier */
body#index .infuthes-cat-card:focus-visible {
  outline: 2px solid rgba(100, 185, 40, 0.65);
  outline-offset: 3px;

  transform: translateY(-3px);

  border-color: #602f10;

  box-shadow: 0 8px 20px rgba(96, 47, 16, 0.10);
}


/* =========================================================
   IMAGES
   ========================================================= */

body#index .infuthes-cat-img {
  display: block;

  width: 100%;
  height: auto;

  aspect-ratio: 4 / 3;

  object-fit: cover;

  margin: 0;

  border-radius: 13px 13px 0 0;
}


/* =========================================================
   CONTENU
   ========================================================= */

body#index .infuthes-cat-content {
  display: flex;

  flex: 1;

  flex-direction: column;
  align-items: center;

  padding: 15px 12px 16px;

  text-align: center;
}


body#index .infuthes-cat-title {
  margin-bottom: 7px;

  color: #602f10;

  font-family: "Lato", sans-serif;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
}


body#index .infuthes-cat-text {
  flex: 1;

  margin-bottom: 10px;

  color: #b18160;

  font-family: "Lato", sans-serif;
  font-size: 13px;
  line-height: 1.4;
}


body#index .infuthes-cat-link {
  color: #64b928;

  font-family: "Lato", sans-serif;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 700;
}


/* =========================================================
   TABLETTE - 2 CARTES PAR LIGNE
   ========================================================= */

@media screen and (max-width: 991px) {

  body#index .infuthes-home-categories {
    max-width: 760px;

    padding-left: 20px;
    padding-right: 20px;
  }


  body#index .infuthes-cat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 576px) {

  body#index .infuthes-home-categories {
    padding-left: 14px;
    padding-right: 14px;
  }


  body#index .infuthes-cat-heading {
    margin-bottom: 24px;
  }


  body#index .infuthes-cat-grid {
    grid-template-columns: 1fr !important;

    gap: 17px !important;
  }


  body#index .infuthes-cat-card {
    width: 100%;
    max-width: 430px;

    margin: 0 auto;
  }


  body#index .infuthes-cat-content {
    padding: 14px 13px 15px;
  }


  body#index .infuthes-cat-title {
    font-size: 17px;
  }


  body#index .infuthes-cat-text {
    font-size: 13px;
  }

}


/* Réduit les animations pour les visiteurs qui le demandent. */
@media (prefers-reduced-motion: reduce) {

  body#index .infuthes-cat-card {
    transition: none !important;
  }

}


/* =========================================================
   ACCUEIL - MEILLEURES VENTES : FORMATS + CTA
   UX clarifiée : les formats sont des liens vers la fiche
   et le bouton vert ouvre le choix de format en aperçu rapide.
   UNIQUEMENT le bloc ps_bestsellers.
   ========================================================= */

body#index .infuthes-bestsellers .infuthes-bestsellers-formats {
  display: block !important;
  width: 100%;
  margin: 16px 0 14px;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-formats__label {
  margin: 0 0 9px !important;
  color: #602f10;
  font-family: "Lato", sans-serif;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
  text-align: center;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-formats__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-format {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100% !important;
  height: auto !important;
  min-height: 104px;

  padding: 9px 6px 8px;

  color: #602f10 !important;
  background: #fbf7ed !important;
  background-color: #fbf7ed !important;
  background-image: none !important;

  border: 1px solid rgba(96, 47, 16, 0.24);
  border-radius: 12px;

  box-sizing: border-box;
  text-align: center;
  text-decoration: none !important;

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

/* Neutralise l'ancien halo SVG prévu pour les petits pictogrammes. */
body#index .infuthes-bestsellers .infuthes-bestsellers-format::before,
body#index .infuthes-bestsellers .infuthes-bestsellers-format:hover::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-format__icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 46px;
  height: 46px;

  margin: 0 auto 6px;

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  border-radius: 8px;
  overflow: hidden;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-format__icon img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-format__name {
  display: block;
  min-height: 30px;
  color: #602f10;
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 500;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-format__link {
  display: block;
  margin-top: 4px;
  color: #64b928;
  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
}

@media (hover: hover) and (pointer: fine) {
  body#index .infuthes-bestsellers .infuthes-bestsellers-format:hover {
    transform: translateY(-2px);
    border-color: #64b928;
    box-shadow: 0 5px 12px rgba(96, 47, 16, 0.10);
  }
}

body#index .infuthes-bestsellers .infuthes-bestsellers-format:focus-visible {
  outline: 2px solid rgba(100, 185, 40, 0.75);
  outline-offset: 2px;
  border-color: #64b928;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-action {
  width: 100%;
  margin: 14px 0 4px;
  text-align: center;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-cta {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  width: auto !important;
  min-width: 176px;
  height: auto !important;

  margin: 0 auto !important;
  padding: 10px 18px !important;

  color: #ffffff !important;
  background: #64b928 !important;
  background-color: #64b928 !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 50px !important;

  box-shadow: none !important;

  font-family: "Lato", sans-serif;
  font-size: 13px !important;
  line-height: 1.2;
  font-weight: 700;

  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;

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

@media (hover: hover) and (pointer: fine) {
  body#index .infuthes-bestsellers .infuthes-bestsellers-cta:hover {
    color: #ffffff !important;
    background: #70c832 !important;
    background-color: #70c832 !important;
    transform: translateY(-1px);
    box-shadow: 0 0 10px rgba(100, 185, 40, 0.35) !important;
  }
}

body#index .infuthes-bestsellers .infuthes-bestsellers-cta:focus-visible {
  outline: 2px solid rgba(100, 185, 40, 0.75);
  outline-offset: 3px;
}

/*
 * Sur téléphone, les cartes sont déjà affichées sur 2 colonnes.
 * On évite donc deux mini-boutons de format trop serrés : le CTA
 * "Choisir mon format" suffit et ouvre l'aperçu rapide.
 */
@media screen and (max-width: 767px) {
  body#index .infuthes-bestsellers .infuthes-bestsellers-formats {
    display: none !important;
  }

  body#index .infuthes-bestsellers .infuthes-bestsellers-action {
    margin-top: 10px;
  }

  body#index .infuthes-bestsellers .infuthes-bestsellers-cta {
    min-width: 0;
    width: 100% !important;
    max-width: 170px;
    padding: 9px 11px !important;
    font-size: 12px !important;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  body#index .infuthes-bestsellers .infuthes-bestsellers-format,
  body#index .infuthes-bestsellers .infuthes-bestsellers-cta {
    transition: none !important;
  }
}


/* =========================================================
   MEILLEURES VENTES - BOUTONS SIGNATURE LES INFUTHES
   Contour marron décalé au repos, aligné au survol.
   Le contour est porté par un wrapper dédié pour éviter les
   conflits avec les styles natifs des boutons PrestaShop.
   ========================================================= */

body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  overflow: visible !important;
  vertical-align: middle;
}

body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;

  border: 2px solid #602f10;
  border-radius: 50px;
  background: transparent;
  box-sizing: border-box;
  pointer-events: none;

  transform: translate(4px, 3px) rotate(-3deg);
  transform-origin: center;

  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell .infuthes-bestsellers-cta {
  position: relative !important;
  z-index: 1;
  border: 0 !important;
  overflow: visible !important;
}

@media (hover: hover) and (pointer: fine) {
  body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell:hover::after {
    transform: translate(0, 0) rotate(0deg);
  }

  body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell:hover .infuthes-bestsellers-cta {
    transform: none !important;
    background: #70c832 !important;
    background-color: #70c832 !important;
    box-shadow: 0 0 12px rgba(100, 185, 40, 0.45) !important;
  }
}

body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell:focus-within::after {
  transform: translate(0, 0) rotate(0deg);
}

@media screen and (max-width: 767px) {
  body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell {
    width: 100%;
    max-width: 170px;
  }

  body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell .infuthes-bestsellers-cta {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell::after,
  body#index .infuthes-bestsellers .infuthes-bestsellers-cta-shell .infuthes-bestsellers-cta {
    transition: none !important;
  }
}

/* =========================================================
   CATÉGORIES - CARTES PRODUITS
   Composant indépendant des Meilleures ventes.
   Objectif : même UX, sans conflit avec l'ancien bouton rond du thème.
   ========================================================= */

/* ---------- Choix des formats ---------- */

body#category .infuthes-category-formats {
  display: block !important;
  width: 100% !important;
  max-width: 100%;
  margin: 14px auto 13px !important;
  padding: 0 !important;
  box-sizing: border-box;
}

body#category .infuthes-category-formats__label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 0 !important;

  color: #602f10 !important;

  font-family: "Lato", sans-serif;
  font-size: 12.5px;
  line-height: 1.3;
  font-weight: 600;

  text-align: center !important;
}

body#category .infuthes-category-formats__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;

  width: 100% !important;
  max-width: 100%;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box;
}

body#category .infuthes-category-format {
  position: relative;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 101px;

  margin: 0 !important;
  padding: 8px 4px 7px !important;

  color: #602f10 !important;

  background: #fbf7ed !important;
  background-color: #fbf7ed !important;
  background-image: none !important;

  border: 1px solid rgba(96, 47, 16, 0.24) !important;
  border-radius: 11px !important;

  box-sizing: border-box !important;

  text-align: center !important;
  text-decoration: none !important;

  overflow: hidden;

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

/* Neutralise tout ancien pseudo-élément de variante du thème. */
body#category .infuthes-category-format::before,
body#category .infuthes-category-format::after,
body#category .infuthes-category-format:hover::before,
body#category .infuthes-category-format:hover::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

body#category .infuthes-category-format__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 42px;

  width: 42px !important;
  height: 42px !important;

  margin: 0 auto 5px !important;
  padding: 0 !important;

  background: transparent !important;
  background-image: none !important;

  border: 0 !important;

  overflow: hidden;
}

body#category .infuthes-category-format__icon img {
  display: block !important;

  width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  max-height: 42px !important;

  margin: 0 !important;

  object-fit: contain !important;
}

body#category .infuthes-category-format__swatch {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 7px;
}

body#category .infuthes-category-format__name {
  display: block !important;

  width: 100%;
  min-height: 28px;

  margin: 0 !important;
  padding: 0 2px !important;

  color: #602f10 !important;

  font-family: "Lato", sans-serif;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 500;

  text-align: center !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body#category .infuthes-category-format__link {
  display: block !important;

  margin: 4px 0 0 !important;
  padding: 0 !important;

  color: #64b928 !important;

  font-family: "Lato", sans-serif;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  font-weight: 700;

  text-align: center !important;
}

@media (hover: hover) and (pointer: fine) {
  body#category .infuthes-category-format:hover {
    transform: translateY(-2px);

    border-color: #64b928 !important;

    box-shadow: 0 5px 12px rgba(96, 47, 16, 0.10);
  }
}

body#category .infuthes-category-format:focus-visible {
  outline: 2px solid rgba(100, 185, 40, 0.75);
  outline-offset: 2px;

  border-color: #64b928 !important;
}


/* ---------- Zone d'action sous le prix ---------- */

body#category .infuthes-category-action {
  display: block !important;

  width: 100% !important;

  margin: 14px 0 4px !important;
  padding: 0 !important;

  text-align: center !important;
}

body#category .infuthes-category-cart-form {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
}


/* ---------- CTA vert : neutralisation complète du bouton rond historique ---------- */

body#category .product-miniature .infuthes-category-cta {
  position: relative !important;

  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  top: auto !important;

  float: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 158px !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 34px !important;

  margin: 0 !important;
  padding: 9px 14px !important;

  color: #ffffff !important;

  background: #64b928 !important;
  background-color: #64b928 !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 50px !important;

  outline: none !important;
  box-shadow: none !important;
  filter: none !important;

  font-family: "Lato", sans-serif !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;

  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;

  white-space: nowrap !important;

  cursor: pointer;

  overflow: visible !important;

  transition:
    background-color 0.28s ease,
    box-shadow 0.28s ease;
}


/* ---------- Contour marron signature ---------- */

body#category .infuthes-category-cta-shell {
  position: relative;
  z-index: 1;

  display: inline-block !important;

  width: auto;
  max-width: 100%;

  margin: 0 auto !important;
  padding: 0 !important;

  vertical-align: middle;

  overflow: visible !important;
  isolation: isolate;
}

body#category .infuthes-category-cta-shell::after {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  z-index: 2;

  border: 2px solid #602f10;
  border-radius: 50px;

  background: transparent;

  box-sizing: border-box;

  pointer-events: none;

  transform: translate(4px, 3px) rotate(-3deg);
  transform-origin: center;

  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (hover: hover) and (pointer: fine) {
  body#category .infuthes-category-cta-shell:hover::after {
    transform: translate(0, 0) rotate(0deg);
  }

  body#category .infuthes-category-cta-shell:hover .infuthes-category-cta {
    background: #70c832 !important;
    background-color: #70c832 !important;

    box-shadow: 0 0 12px rgba(100, 185, 40, 0.45) !important;
  }
}

body#category .infuthes-category-cta-shell:focus-within::after {
  transform: translate(0, 0) rotate(0deg);
}

body#category .infuthes-category-cta:focus-visible {
  outline: 2px solid rgba(100, 185, 40, 0.75) !important;
  outline-offset: 3px !important;
}


/* ---------- Mobile ---------- */

@media screen and (max-width: 767px) {
  /*
   * Deux cartes de formats deviennent trop étroites sur les miniatures
   * affichées en 2 colonnes. Le CTA ouvre déjà l'aperçu rapide.
   */
  body#category .infuthes-category-formats {
    display: none !important;
  }

  body#category .infuthes-category-action {
    margin-top: 10px !important;
  }

  body#category .infuthes-category-cta-shell {
    width: 100%;
    max-width: 158px;
  }

  body#category .product-miniature .infuthes-category-cta {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    padding: 9px 10px !important;

    font-size: 11px !important;

    white-space: normal !important;
  }

  /* Annule la règle historique qui masque tous les formulaires des miniatures. */
  body#category .product-miniature .infuthes-category-cart-form {
    display: flex !important;
  }
}


/* ---------- Réduction des animations ---------- */

@media (prefers-reduced-motion: reduce) {
  body#category .infuthes-category-format,
  body#category .infuthes-category-cta,
  body#category .infuthes-category-cta-shell::after {
    transition: none !important;
  }
}

/* =========================================================
   CATÉGORIES - 3 PRODUITS PAR LIGNE SUR DESKTOP
   ========================================================= */

@media screen and (min-width: 992px) {

  body#category #products .products > .product {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }

}

/* =========================================================
   MOBILE - RESUME DES FORMATS PRODUIT
   Affiche une ligne compacte sous la description, avant le prix.
   Desktop/tablette : masque.
   Mobile : affiche les 2 premiers formats disponibles.
   ========================================================= */

.infuthes-mobile-formats-summary {
  display: none;
}

@media screen and (max-width: 767px) {
  body#index .infuthes-bestsellers .infuthes-mobile-formats-summary,
  body#category .infuthes-mobile-formats-summary {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 3px 6px;

    width: 100%;

    margin: 4px 0 9px !important;
    padding: 0 6px;

    color: #8b6245;

    font-family: "Lato", sans-serif;
    font-size: 11.5px;
    line-height: 1.35;
    font-weight: 500;

    text-align: center;

    box-sizing: border-box;
  }

  body#index .infuthes-bestsellers .infuthes-mobile-formats-summary__item,
  body#category .infuthes-mobile-formats-summary__item {
    color: #8b6245;
  }

  body#index .infuthes-bestsellers .infuthes-mobile-formats-summary__sep,
  body#category .infuthes-mobile-formats-summary__sep {
    color: #64b928;
    font-weight: 700;
  }
}

/* =========================================================
   QUICK VIEW - LES INFUTHÉS - VERSION ACTIVE
   Images et prix des déclinaisons + sélection de format
   ========================================================= */

.quickview.infuthes-quickview-v12 {
  padding-right: 0 !important;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-dialog {
  width: calc(100% - 32px);
  max-width: 800px;
  margin: 22px auto;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-content {
  position: relative;

  max-height: calc(100vh - 44px);
  max-height: calc(100dvh - 44px);

  color: #602f10;

  background: #fffcf5 !important;
  background-color: #fffcf5 !important;

  /* Contour marron fixe de la grande carte remis. */
  border: 2px solid #8a4d25 !important;
  border-radius: 24px !important;

  box-shadow:
    5px 5px 0 rgba(100, 185, 40, 0.22),
    0 16px 42px rgba(96, 47, 16, 0.14) !important;

  overflow-y: auto;
  overflow-x: hidden;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-body {
  padding: 31px 36px 29px;
}


/* ---------- Croix ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 30;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 46px;
  height: 46px;

  margin: 0;
  padding: 0;

  color: #8a4d25 !important;
  background: #fff6dc !important;

  border: 2px solid #8a4d25 !important;
  border-radius: 50% !important;

  opacity: 1 !important;
  box-shadow: 2px 2px 0 rgba(100, 185, 40, 0.28);

  cursor: pointer;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-close .material-icons {
  margin: 0;
  font-size: 25px;
  line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
  .quickview.infuthes-quickview-v12 .infuthes-qv-close:hover {
    color: #ffffff !important;
    background: #64b928 !important;
  }
}


/* ---------- Entête ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-heading {
  max-width: 660px;
  margin: 0 auto 22px;
  padding: 0 54px;
  text-align: center;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 10px;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-title {
  margin: 0 !important;

  color: #602f10 !important;

  font-family: "Catenary Stamp", "Lato", sans-serif !important;
  font-size: 2rem !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;

  text-transform: uppercase;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-mark {
  position: relative;
  flex: 0 0 29px;
  width: 29px;
  height: 21px;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-mark::before {
  content: "";

  position: absolute;
  top: 2px;
  left: 1px;

  display: block;

  width: 22px;
  height: 3px;

  background: #8a4d25;
  border-radius: 10px;

  transform: rotate(-8deg);

  box-shadow: 0 7px 0 #8a4d25, 0 14px 0 #8a4d25;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-mark--right {
  transform: scaleX(-1);
}

.quickview.infuthes-quickview-v12 .infuthes-qv-product-name {
  margin: 0 0 8px !important;

  color: #8a4d25;

  font-family: "Lato", sans-serif;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-shortdesc {
  max-width: 600px;
  margin: 0 auto;

  color: #8b6245;

  font-family: "Lato", sans-serif;
  font-size: 14px;
  line-height: 1.48;

  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-shortdesc p {
  margin: 0 !important;
}


/* ---------- Contrôles natifs masqués ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-native-variants {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  margin: -1px !important;
  padding: 0 !important;

  overflow: hidden !important;

  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;

  white-space: nowrap !important;

  border: 0 !important;
}


/* ---------- Formats ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-formats {
  width: 100%;
  max-width: 620px;

  margin: 0 auto 20px;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-format-grid {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 18px;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-format-card {
  position: relative;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;

  min-width: 0;
  min-height: 260px;

  margin: 0;
  padding: 16px 14px 15px;

  color: #602f10 !important;

  background: #fbf7ed !important;
  background-color: #fbf7ed !important;
  background-image: none !important;

  border: 1px solid rgba(138, 77, 37, 0.32) !important;
  border-radius: 18px !important;

  box-shadow: none !important;

  text-align: center;
  cursor: pointer;

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-format-card.is-selected {
  background: #fffaf0 !important;
  border: 2px solid #75d32d !important;
  box-shadow: 0 8px 18px rgba(96, 47, 16, 0.08) !important;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-format-card.is-selected::after {
  content: "✓";

  position: absolute;
  top: 10px;
  right: 11px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 27px;
  height: 27px;

  color: #ffffff;
  background: #75d32d;

  border-radius: 50%;

  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
  .quickview.infuthes-quickview-v12 .infuthes-qv-format-card:hover {
    transform: translateY(-2px);
    border-color: #75d32d !important;
    box-shadow: 0 8px 20px rgba(96, 47, 16, 0.09) !important;
  }
}


/* ---------- Vraie image de déclinaison ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-format-image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 135px;

  margin: 0 auto 10px;

  overflow: hidden;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-format-image {
  display: block;

  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 130px;

  margin: 0 auto;

  object-fit: contain;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-loader {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 5px;

  min-width: 80px;
  min-height: 80px;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-loader span {
  width: 7px;
  height: 7px;

  background: #d8ad7a;

  border-radius: 50%;

  animation: infuthesV12Dots 1s infinite ease-in-out;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-loader span:nth-child(2) {
  animation-delay: 0.12s;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-loader span:nth-child(3) {
  animation-delay: 0.24s;
}

@keyframes infuthesV12Dots {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: 0.45;
  }

  30% {
    transform: translateY(-5px);
    opacity: 1;
  }
}


/* ---------- Libellé / prix ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-format-name {
  display: block;

  min-height: 39px;

  margin: 0 0 8px;

  color: #602f10;

  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-format-price {
  display: block;

  min-height: 31px;

  color: #602f10;

  font-family: "Lato", sans-serif;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-format-tax {
  display: block;

  margin-top: 2px;

  color: #9b7a62;

  font-family: "Lato", sans-serif;
  font-size: 10px;
  line-height: 1.2;

  text-transform: uppercase;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-data-error {
  color: #b18160;
  font-size: 12px;
  font-weight: 600;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-image-error {
  max-width: 110px;
  line-height: 1.3;
}


/* ---------- Quantité + CTA ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-buy {
  width: 100%;
  max-width: 430px;

  margin: 0 auto 20px;
}

.quickview.infuthes-quickview-v12 .product-actions .product-quantity {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;

  width: 100% !important;

  margin: 0 !important;
}

.quickview.infuthes-quickview-v12 .product-actions .qty {
  width: 150px !important;

  margin: 0 auto 16px !important;
}

.quickview.infuthes-quickview-v12 .product-actions .add {
  width: 100% !important;

  margin: 0 !important;

  text-align: center;
}

.quickview.infuthes-quickview-v12 .product-actions .add .add-to-cart {
  position: relative !important;

  z-index: 1;

  width: 100% !important;
  max-width: 360px !important;

  min-height: 50px;

  margin: 0 auto !important;
  padding: 12px 22px !important;

  color: #ffffff !important;

  background: #64cc22 !important;
  background-color: #64cc22 !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 50px !important;

  box-shadow: none !important;

  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;

  overflow: visible !important;

  transition:
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.quickview.infuthes-quickview-v12 .product-actions .add .add-to-cart::after {
  content: "";

  position: absolute;
  inset: 0;

  z-index: -1;

  border: 2px solid #8a4d25;
  border-radius: 50px;

  pointer-events: none;

  transform: translate(5px, 4px) rotate(-2deg);

  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (hover: hover) and (pointer: fine) {
  .quickview.infuthes-quickview-v12 .product-actions .add .add-to-cart:hover {
    background: #70c832 !important;
    background-color: #70c832 !important;
    box-shadow: 0 0 12px rgba(100, 185, 40, 0.35) !important;
  }

  .quickview.infuthes-quickview-v12 .product-actions .add .add-to-cart:hover::after {
    transform: translate(0, 0) rotate(0deg);
  }
}


/* ---------- Fiche complète ---------- */

.quickview.infuthes-quickview-v12 .infuthes-qv-full-link {
  display: block;

  width: max-content;
  max-width: 100%;

  margin: 0 auto;

  color: #64b928 !important;

  font-family: "Lato", sans-serif;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;

  text-align: center;
  text-decoration: none !important;
}

.quickview.infuthes-quickview-v12 .infuthes-qv-full-link:hover {
  color: #602f10 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  .quickview.infuthes-quickview-v12 .infuthes-qv-dialog {
    width: calc(100% - 14px);

    margin: 7px auto;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-content {
    max-height: calc(100vh - 14px);
    max-height: calc(100dvh - 14px);

    border-radius: 18px !important;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-body {
    padding: 23px 11px 22px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-close {
    top: 9px;
    right: 9px;

    width: 40px;
    height: 40px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-heading {
    margin-bottom: 17px;

    padding: 0 38px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-title-row {
    gap: 7px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-title {
    font-size: 1.48rem !important;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-mark {
    flex-basis: 18px;

    width: 18px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-mark::before {
    width: 17px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-product-name {
    font-size: 18px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-shortdesc {
    font-size: 12.5px;
    line-height: 1.42;

    -webkit-line-clamp: 4;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-format-grid {
    gap: 8px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-format-card {
    min-height: 220px;

    padding: 11px 5px 11px;

    border-radius: 15px !important;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-format-image-wrap {
    height: 103px;

    margin-bottom: 7px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-format-image {
    max-height: 100px;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-format-name {
    min-height: 36px;

    margin-bottom: 6px;

    font-size: 12px;
    line-height: 1.25;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-format-price {
    min-height: 27px;

    font-size: 17px;
  }

  .quickview.infuthes-quickview-v12 .product-actions .qty {
    margin-bottom: 13px !important;
  }

  .quickview.infuthes-quickview-v12 .product-actions .add .add-to-cart {
    min-height: 48px;

    padding: 11px 14px !important;

    font-size: 15px !important;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-full-link {
    font-size: 13px;
  }

}


@media (prefers-reduced-motion: reduce) {

  .quickview.infuthes-quickview-v12 .infuthes-qv-format-card,
  .quickview.infuthes-quickview-v12 .product-actions .add .add-to-cart,
  .quickview.infuthes-quickview-v12 .product-actions .add .add-to-cart::after,
  .quickview.infuthes-quickview-v12 .infuthes-qv-close {
    transition: none !important;
  }

  .quickview.infuthes-quickview-v12 .infuthes-qv-loader span {
    animation: none !important;
  }

}

/* =========================================================
   MODALE AJOUT PANIER - LES INFUTHÉS - VERSION ACTIVE
   ========================================================= */

#blockcart-modal.infuthes-cart-modal .modal-dialog {
  width: calc(100% - 40px) !important;
  max-width: 1080px !important;
  margin: 22px auto !important;
}

#blockcart-modal.infuthes-cart-modal .modal-content {
  color: #602f10;
  background: #fffcf5 !important;
  border: 2px solid #602f10 !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 46px rgba(96, 47, 16, 0.16) !important;
  overflow: hidden;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 66px;
  padding: 15px 70px 13px;
  background: #fffaf0;
  border-bottom: 1px solid rgba(96, 47, 16, 0.10);
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__title {
  margin: 0 !important;
  padding: 0 !important;
  color: #602f10 !important;
  font-family: "Lato", sans-serif;
  font-size: 23px !important;
  line-height: 1.3;
  font-weight: 600;
  text-align: center;
}

#blockcart-modal.infuthes-cart-modal .infuthes-modal-close {
  position: absolute;
  top: 11px;
  right: 14px;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  color: #602f10 !important;
  background: #ffffff !important;
  border: 1px solid rgba(96, 47, 16, 0.30) !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

#blockcart-modal.infuthes-cart-modal .infuthes-modal-close .material-icons {
  margin: 0;
  font-size: 22px;
  line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
  #blockcart-modal.infuthes-cart-modal .infuthes-modal-close:hover {
    color: #ffffff !important;
    background: #64b928 !important;
    border-color: #64b928 !important;
  }
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__body {
  padding: 30px 34px 14px;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__added {
  padding-right: 26px;
  justify-content: flex-start !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-added-product {
  align-items: center;
  min-height: 0 !important;
  padding: 16px 18px !important;
  background: rgba(255, 252, 245, 0.45) !important;
  border: 1.5px solid #602f10 !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-added-product__media {
  display: flex;
  align-items: center;
  justify-content: center;
}

#blockcart-modal.infuthes-cart-modal .infuthes-added-product__image {
  display: block;
  width: auto !important;
  max-width: 190px !important;
  height: auto !important;
  max-height: 190px !important;
  margin: 0 auto;
  object-fit: contain;
}

#blockcart-modal.infuthes-cart-modal .infuthes-added-product__name {
  margin: 0 0 7px !important;
  color: #602f10 !important;
  font-size: 18px !important;
  line-height: 1.3;
  font-weight: 700;
}

#blockcart-modal.infuthes-cart-modal .infuthes-added-product__price {
  margin: 0 0 12px !important;
  color: #602f10 !important;
  font-size: 18px;
  font-weight: 700;
}

#blockcart-modal.infuthes-cart-modal .infuthes-added-product__content > span,
#blockcart-modal.infuthes-cart-modal .infuthes-added-product__quantity {
  color: #8b4d2e;
  font-size: 14px;
  line-height: 1.45;
}

#blockcart-modal.infuthes-cart-modal .infuthes-added-product__content strong {
  color: #602f10;
  font-weight: 700;
}

#blockcart-modal.infuthes-cart-modal .infuthes-continue-shopping {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  margin: 6px 0 0 !important;
  padding: 7px 0;
  color: #64b928 !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  cursor: pointer;
}

#blockcart-modal.infuthes-cart-modal .infuthes-continue-shopping:hover {
  color: #602f10 !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__summary {
  display: flex;
  padding-left: 26px;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-summary-card {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 470px;
  margin: auto;
  padding: 28px 30px 27px;
  background: #f3e4b9 !important;
  border-radius: 16px;
  box-sizing: border-box;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-summary-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1.5px solid #8a4d25;
  border-radius: 16px;
  pointer-events: none;
  transform: translate(4px, 4px) rotate(-1deg);
}

#blockcart-modal.infuthes-cart-modal .cart-products-count {
  margin: 0 0 18px !important;
  color: #602f10 !important;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
}

#blockcart-modal.infuthes-cart-modal .infuthes-summary-line,
#blockcart-modal.infuthes-cart-modal .infuthes-cart-summary-card > p:not(.cart-products-count) {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin: 0;
  padding: 8px 0;
  color: #602f10;
  font-size: 14px;
  line-height: 1.35;
}

#blockcart-modal.infuthes-cart-modal .infuthes-summary-line .label,
#blockcart-modal.infuthes-cart-modal .infuthes-summary-line .value,
#blockcart-modal.infuthes-cart-modal .infuthes-cart-summary-card > p span {
  color: #602f10 !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-summary-line .value {
  margin-left: auto;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

#blockcart-modal.infuthes-cart-modal .infuthes-summary-line--total {
  margin-top: 7px !important;
  padding-top: 15px !important;
  border-top: 1px solid rgba(96, 47, 16, 0.18);
  font-size: 16px !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-summary-line--tax {
  padding-top: 2px !important;
  font-size: 11px !important;
  opacity: .72;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-summary-card__cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 20px !important;
  text-align: center !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-view-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 220px !important;
  min-width: 220px !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 12px 24px !important;
  font-size: 15px !important;
  line-height: 1.2;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__lower {
  padding: 4px 30px 30px !important;
  background: transparent !important;
}

/* L'ancienne barre du hook reste masquée : seule celle calculée à 45 € est utilisée. */
#blockcart-modal.infuthes-cart-modal .cart-modal-footer .free-shipping-progressbar {
  display: none !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-free-shipping-progressbar {
  display: block !important;
  width: 100%;
  max-width: 570px;
  margin: 0 auto 32px !important;
  padding: 0 12px;
  color: #602f10;
  text-align: center;
  box-sizing: border-box;
}

#blockcart-modal.infuthes-cart-modal .infuthes-shipping-track {
  position: relative;
  width: 100%;
  height: 34px;
  margin: 0 auto;
  background: #ffffff;
  border: 1.5px solid #602f10;
  border-radius: 999px;
  box-sizing: border-box;
  overflow: visible;
}

#blockcart-modal.infuthes-cart-modal .infuthes-shipping-fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  background: #64b928;
  border-radius: 999px;
  transition: width .4s ease;
  z-index: 1;
}

#blockcart-modal.infuthes-cart-modal .infuthes-shipping-icon {
  position: absolute;
  top: 50%;
  width: 39px;
  height: 39px;
  transform: translate(-50%, -50%);
  object-fit: contain;
  z-index: 3;
  pointer-events: none;
  filter: drop-shadow(0 2px 3px rgba(96, 47, 16, .18));
  transition: left .4s ease;
}

#blockcart-modal.infuthes-cart-modal .infuthes-free-shipping-message {
  margin: 12px 0 0;
  color: #8b4d2e;
  font-size: 14px;
  line-height: 1.4;
}

#blockcart-modal.infuthes-cart-modal .infuthes-free-shipping-message strong {
  color: #602f10;
  font-weight: 700;
}

#blockcart-modal.infuthes-cart-modal .infuthes-free-shipping-message.is-reached {
  color: #64b928;
  font-weight: 700;
}

/* =========================================================
   VOUS AIMEREZ AUSSI - 3 CARTES DESKTOP
   ========================================================= */

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations {
  width: 100%;
  margin-top: 0;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-accessories .h5 {
  margin: 0 0 24px !important;
  color: #602f10 !important;
  font-family: "Catenary Stamp", "Lato", sans-serif;
  font-size: 28px !important;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .products > .product {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .products > .product:nth-child(n+4) {
  display: none !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  padding: 12px 12px 16px !important;
  background: #ffffff !important;
  border: 1.5px solid #602f10 !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 16px rgba(96, 47, 16, .06) !important;
  overflow: visible;
  transform: translateY(0) scale(1);
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .thumbnail img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 205px !important;
  margin: 0 auto !important;
  object-fit: contain;
  transition: transform .35s ease;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .product-title {
  height: auto !important;
  min-height: 42px;
  margin: 6px 0 8px !important;
  text-align: center;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .product-title a {
  color: #602f10 !important;
  font-family: "Catenary Stamp", "Lato", sans-serif;
  font-size: 14px !important;
  line-height: 1.3;
  font-weight: 400;
  text-decoration: none !important;
  transition: color .25s ease;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .product-resume,
#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .variant-links {
  display: none !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .product-price-and-shipping {
  margin-top: auto;
  padding: 8px 0 10px !important;
  text-align: center;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .quick-view,
#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .add-to-cart {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 165px !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 7px auto 0 !important;
  padding: 9px 15px !important;
  color: #ffffff !important;
  background: #64b928 !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1.2 !important;
  overflow: visible !important;
  isolation: isolate !important;
  z-index: 1 !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .quick-view .material-icons,
#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .add-to-cart .material-icons {
  display: none !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .quick-view::before {
  content: "CHOISIR MON FORMAT";
  position: relative !important;
  z-index: 3 !important;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 11px;
  font-weight: 700;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .add-to-cart::before {
  content: "AJOUTER AU PANIER";
  position: relative !important;
  z-index: 3 !important;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 11px;
  font-weight: 700;
}

#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .quick-view::after,
#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .add-to-cart::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2 !important;
  border: 2px solid #602f10 !important;
  border-radius: 50px;
  pointer-events: none;
  transform: translate(4px, 3px) rotate(-2.5deg) !important;
  transition: transform .25s ease;
}

@media (hover: hover) and (pointer: fine) {
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .quick-view:hover::after,
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .add-to-cart:hover::after {
    transform: translate(0, 0) rotate(0) !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature:hover {
    transform: translateY(-5px) scale(1.01);
    border-color: #602f10 !important;
    box-shadow: 0 10px 24px rgba(96, 47, 16, .14), 0 0 12px rgba(100, 185, 40, .16) !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature:hover .thumbnail img {
    transform: scale(1.045);
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature:hover .product-title a {
    color: #64b928 !important;
  }
}

@media screen and (max-width: 991px) {
  #blockcart-modal.infuthes-cart-modal .modal-dialog {
    width: calc(100% - 24px) !important;
    margin: 12px auto !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__added,
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__summary {
    padding-right: 15px;
    padding-left: 15px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .products > .product:nth-child(3) {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  #blockcart-modal.infuthes-cart-modal .modal-dialog {
    width: calc(100% - 12px) !important;
    margin: 6px auto !important;
  }

  #blockcart-modal.infuthes-cart-modal .modal-content {
    max-height: calc(100vh - 12px);
    max-height: calc(100dvh - 12px);
    border-width: 1.5px !important;
    border-radius: 14px !important;
    overflow-y: auto;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__header {
    min-height: 58px;
    padding: 12px 54px 11px 14px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__title {
    font-size: 18px !important;
    text-align: left;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-modal-close {
    top: 8px;
    right: 8px;
    width: 38px;
    height: 38px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__body {
    padding: 17px 14px 6px !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-added-product {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 12px 10px !important;
    border-radius: 12px !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-added-product__image {
    max-width: 105px !important;
    max-height: 105px !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-added-product__name,
  #blockcart-modal.infuthes-cart-modal .infuthes-added-product__price {
    font-size: 15px !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-added-product__content > span,
  #blockcart-modal.infuthes-cart-modal .infuthes-added-product__quantity {
    font-size: 12px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-continue-shopping {
    margin: 3px 0 14px !important;
    font-size: 13px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-summary-card {
    max-width: none;
    padding: 22px 20px 21px;
    border-radius: 14px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-summary-card::after {
    border-radius: 14px;
    transform: translate(3px, 3px) rotate(-.6deg);
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-view-cart {
    width: 100%;
    min-width: 0;
    padding: 11px 18px !important;
    font-size: 14px !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__lower {
    padding: 3px 14px 22px !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-free-shipping-progressbar {
    margin: 0 auto 26px !important;
    padding: 0 2px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-shipping-track {
    height: 30px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-shipping-icon {
    width: 34px;
    height: 34px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-free-shipping-message {
    font-size: 12.5px;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .products {
    grid-template-columns: 1fr !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .products > .product:nth-child(n+2) {
    display: none !important;
  }

  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature {
    max-width: 330px;
    margin: 0 auto;
    border-radius: 12px !important;
  }
}


#blockcart-modal.infuthes-cart-modal .infuthes-continue-shopping-row {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

#blockcart-modal.infuthes-cart-modal .infuthes-continue-shopping-row > .col-12 {
  padding-left: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature,
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .thumbnail img,
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .product-title a {
    transition: none !important;
    transform: none !important;
  }
}

/* =========================================================
   PAGE PANIER - LES INFUTHÉS - VERSION ACTIVE
   ========================================================= */

/* ---------- Page ---------- */

body#cart .infuthes-cart-page {
  background: #f7f5ef;
}

body#cart .infuthes-cart-container {
  max-width: 1180px !important;

  padding-top: 34px;
  padding-bottom: 48px;
}


/* ---------- Hero compact ---------- */

body#cart .infuthes-cart-hero {
  background: #fffcf5;

  border-bottom: 1px solid rgba(96, 47, 16, 0.08);
}

body#cart .infuthes-cart-hero__inner {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 34px;

  min-height: 142px;

  padding: 22px 0;
}

body#cart .infuthes-cart-hero__decor {
  display: block;

  width: auto;
  max-width: 72px;
  max-height: 82px;

  object-fit: contain;
}

body#cart .infuthes-cart-hero__title-wrap {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 14px;
}

body#cart .infuthes-cart-hero__title {
  margin: 0 !important;

  color: #602f10 !important;

  font-family: "Catenary Stamp", "Lato", sans-serif !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;

  text-transform: uppercase;
}

body#cart .infuthes-cart-hero__mark {
  position: relative;

  width: 25px;
  height: 18px;

  flex: 0 0 25px;
}

body#cart .infuthes-cart-hero__mark::before {
  content: "";

  position: absolute;

  top: 2px;
  left: 0;

  width: 20px;
  height: 3px;

  background: #8a4d25;

  border-radius: 10px;

  transform: rotate(-8deg);

  box-shadow:
    0 6px 0 #8a4d25,
    0 12px 0 #8a4d25;
}

body#cart .infuthes-cart-hero__mark--right {
  transform: scaleX(-1);
}


/* =========================================================
   LAYOUT
   ========================================================= */

body#cart .infuthes-cart-layout {
  align-items: flex-start;
}

body#cart .infuthes-cart-layout > .cart-grid-body,
body#cart .infuthes-cart-layout > .infuthes-cart-sidebar {
  min-width: 0;
}

body#cart .infuthes-cart-sidebar {
  background: transparent !important;

  border-radius: 0 !important;
}

@media screen and (min-width: 992px) {
  body#cart .infuthes-cart-sidebar {
    padding-left: 26px;
  }

  body#cart .infuthes-cart-sidebar__sticky {
    position: sticky;

    top: 105px;
  }
}


/* =========================================================
   PRODUITS
   ========================================================= */

body#cart .infuthes-cart-products-card {
  margin: 0 !important;

  background: #ffffff !important;

  border: 1.5px solid #602f10 !important;
  border-radius: 16px !important;

  box-shadow: 0 7px 24px rgba(96, 47, 16, 0.06) !important;

  overflow: hidden;
}


/* ---------- En-tête tableau ---------- */

body#cart .infuthes-cart-table-head {
  position: relative;

  margin: 0 !important;
  padding: 13px 20px !important;

  color: #ffffff !important;

  background: #602f10 !important;

  border: 0 !important;
  border-radius: 0 !important;

  font-size: 13px;
  line-height: 1.3;
  font-weight: 700;
}

body#cart .infuthes-cart-table-head::before {
  content: none !important;
}


/* ---------- Une ligne ---------- */

body#cart .infuthes-cart-product {
  position: relative;

  align-items: center;

  min-height: 138px !important;

  margin: 0 !important;
  padding: 14px 20px !important;

  background: #ffffff;

  border-bottom: 1px solid rgba(96, 47, 16, 0.10);

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease;
}

body#cart .infuthes-cart-product:last-child {
  border-bottom: 0;
}

@media (hover: hover) and (pointer: fine) {
  body#cart .infuthes-cart-product:hover {
    z-index: 1;

    background: #fffcf5;

    box-shadow: 0 7px 18px rgba(96, 47, 16, 0.08);
  }
}


/* ---------- Image ---------- */

body#cart .infuthes-cart-product__media {
  display: flex;
  align-items: center;
  justify-content: center;
}

body#cart .infuthes-cart-product__image-link {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;

  text-decoration: none !important;
}

body#cart .infuthes-cart-product__image {
  display: block;

  width: auto !important;
  max-width: 112px !important;

  height: auto !important;
  max-height: 112px !important;

  margin: 0 auto !important;

  object-fit: contain;

  transition: transform 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
  body#cart .infuthes-cart-product:hover .infuthes-cart-product__image {
    transform: scale(1.035);
  }
}


/* ---------- Nom / format ---------- */

body#cart .infuthes-cart-product__details {
  padding-right: 18px;
}

body#cart .infuthes-cart-product__title {
  margin-bottom: 10px;
}

body#cart .infuthes-cart-product__title a.label {
  color: #602f10 !important;

  font-size: 16px !important;
  line-height: 1.3;
  font-weight: 700 !important;

  text-decoration: none !important;
}

body#cart .infuthes-cart-product__title a.label:hover {
  color: #64b928 !important;
}

body#cart .infuthes-cart-product__attributes {
  display: grid;
  gap: 3px;
  margin-top: 2px;
}

body#cart .infuthes-cart-product__attributes .product-line-info {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 0 !important;
  color: #8b4d2e;
  font-size: 12.5px;
  line-height: 1.35;
}

body#cart .infuthes-cart-product__attributes .label {
  color: #b18160 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

body#cart .infuthes-cart-product__attributes .value {
  color: #602f10 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}


/* ---------- Prix unitaire ---------- */

body#cart .infuthes-cart-product__unit-price {
  display: flex;
  align-items: center;

  min-height: 80px;
}

body#cart .infuthes-cart-product__unit-price .product-price {
  margin: 0 !important;
}

body#cart .infuthes-cart-product__unit-price .current-price .price {
  color: #602f10 !important;

  font-size: 16px !important;
  font-weight: 700;
}

body#cart .infuthes-cart-product__unit-price .regular-price {
  color: #9b7a62;

  font-size: 12px;
}


/* ---------- Quantité ---------- */

body#cart .infuthes-cart-product__qty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  overflow: visible !important;
}

body#cart .infuthes-cart-product__qty .bootstrap-touchspin {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 38px 46px 38px !important;
  grid-template-rows: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 122px !important;
  height: 38px !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body#cart .infuthes-cart-product__qty .input-group-btn-vertical {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: contents !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

body#cart .infuthes-cart-product__qty .js-cart-line-product-quantity {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 46px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #602f10 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 15px !important;
  line-height: 38px !important;
  font-weight: 700 !important;
  text-align: center !important;
  z-index: 1 !important;
  -moz-appearance: textfield;
}

body#cart .infuthes-cart-product__qty .js-cart-line-product-quantity::-webkit-inner-spin-button,
body#cart .infuthes-cart-product__qty .js-cart-line-product-quantity::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

body#cart .infuthes-cart-product__qty button.btn-touchspin {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  background: #64b928 !important;
  background-color: #64b928 !important;
  background-image: none !important;
  border: 1.5px solid #602f10 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  font-size: 0 !important;
  overflow: hidden !important;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body#cart .infuthes-cart-product__qty .bootstrap-touchspin-down {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body#cart .infuthes-cart-product__qty .bootstrap-touchspin-up {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

body#cart .infuthes-cart-product__qty button.btn-touchspin .material-icons {
  display: none !important;
}

body#cart .infuthes-cart-product__qty .bootstrap-touchspin-down::before,
body#cart .infuthes-cart-product__qty .bootstrap-touchspin-up::before {
  display: block !important;
  color: #ffffff !important;
  font-family: "Lato", sans-serif !important;
  font-size: 19px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

body#cart .infuthes-cart-product__qty .bootstrap-touchspin-down::before { content: "−" !important; }
body#cart .infuthes-cart-product__qty .bootstrap-touchspin-up::before { content: "+" !important; }

@media (hover: hover) and (pointer: fine) {
  body#cart .infuthes-cart-product__qty button.btn-touchspin:hover {
    transform: scale(1.07);
    background: #70c832 !important;
    background-color: #70c832 !important;
    box-shadow: 0 0 9px rgba(100, 185, 40, .28) !important;
  }
}


/* ---------- Total + suppression ---------- */

body#cart .infuthes-cart-product__total {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  min-height: 80px;

  text-align: center;
}

body#cart .infuthes-cart-product__line-total {
  display: block;
  margin-bottom: 11px;
  color: #602f10 !important;
  font-size: 17px !important;
  line-height: 1.2;
  font-weight: 700 !important;
}

body#cart .infuthes-cart-product__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 4px;

  color: #b4553b !important;

  font-size: 11.5px;
  line-height: 1.2;
  font-weight: 600;

  text-decoration: none !important;
}

body#cart .infuthes-cart-product__remove .material-icons {
  margin: 0;

  font-size: 17px;
}

body#cart .infuthes-cart-product__remove:hover {
  color: #602f10 !important;
}


/* ---------- Continuer mes achats ---------- */

body#cart .infuthes-cart-continue {
  display: inline-flex;
  align-items: center;

  gap: 4px;

  margin: 12px 0 0 !important;

  color: #64b928 !important;

  font-size: 13px;
  line-height: 1.3;
  font-weight: 700;

  text-decoration: none !important;
}

body#cart .infuthes-cart-continue .material-icons {
  margin: 0;

  font-size: 19px;
}

body#cart .infuthes-cart-continue:hover {
  color: #602f10 !important;
}


/* =========================================================
   RÉCAPITULATIF STICKY
   ========================================================= */

body#cart .infuthes-cart-summary-card {
  position: relative;
  isolation: isolate;

  width: 100%;

  padding: 28px 27px 26px;

  background: #f3e4b9;

  border-radius: 16px;
}

body#cart .infuthes-cart-summary-card::after {
  content: "";

  position: absolute;

  inset: 0;

  z-index: -1;

  border: 1.5px solid #602f10;
  border-radius: 16px;

  pointer-events: none;

  transform: translate(4px, 4px) rotate(-0.7deg);
}

body#cart .infuthes-cart-summary-card .cart-summary {
  background: transparent !important;
}


/* ---------- Titre ---------- */

body#cart .infuthes-cart-totals__head {
  padding: 0 0 18px !important;
}

body#cart .infuthes-cart-totals__head h2 {
  margin: 0 0 4px !important;

  color: #602f10 !important;

  font-family: "Catenary Stamp", "Lato", sans-serif;
  font-size: 25px !important;
  line-height: 1.2;
  font-weight: 400;

  text-transform: uppercase;
}

body#cart .infuthes-cart-totals__head p {
  margin: 0 !important;

  color: #8b6245;

  font-size: 12px;
}


/* ---------- Sous-totaux ---------- */

body#cart .infuthes-cart-totals__subtotals {
  padding: 0 0 15px !important;
}

body#cart .infuthes-cart-totals__line,
body#cart .infuthes-cart-summary-totals__line,
body#cart .infuthes-cart-summary-totals__tax {
  display: flex;
  align-items: baseline;
  justify-content: space-between;

  gap: 16px;

  width: 100%;

  margin: 0 !important;
  padding: 7px 0 !important;

  background: transparent !important;

  color: #602f10;

  font-size: 13px;
  line-height: 1.35;
}

body#cart .infuthes-cart-totals__line .label,
body#cart .infuthes-cart-totals__line .value,
body#cart .infuthes-cart-summary-totals__line .label,
body#cart .infuthes-cart-summary-totals__line .value {
  color: #602f10 !important;
}

body#cart .infuthes-cart-totals__line .value,
body#cart .infuthes-cart-summary-totals__line .value {
  font-weight: 700;

  text-align: right;
}

body#cart .infuthes-cart-totals__shipping-detail {
  display: none;
}


/* =========================================================
   BARRE LIVRAISON 45 €
   ========================================================= */

body#cart .infuthes-cart-shipping-progress {
  padding: 17px 0 20px;

  border-top: 1px solid rgba(96, 47, 16, 0.16);
  border-bottom: 1px solid rgba(96, 47, 16, 0.16);
}

body#cart .infuthes-cart-shipping-progress__track {
  position: relative;

  width: 100%;
  height: 28px;

  background: #ffffff;

  border: 1.5px solid #602f10;
  border-radius: 999px;

  overflow: visible;
}

body#cart .infuthes-cart-shipping-progress__fill {
  position: absolute;

  top: 0;
  bottom: 0;
  left: 0;

  background: #64b928;

  border-radius: 999px;

  transition: width 0.35s ease;
}

body#cart .infuthes-cart-shipping-progress__icon {
  position: absolute;

  top: 50%;

  width: 38px;
  height: 38px;

  transform: translate(-50%, -50%);

  object-fit: contain;

  z-index: 2;

  transition: left 0.35s ease;
}

body#cart .infuthes-cart-shipping-progress__message {
  margin: 11px 0 0 !important;

  color: #8b4d2e;

  font-size: 11.5px;
  line-height: 1.4;

  text-align: center;
}

body#cart .infuthes-cart-shipping-progress__message strong {
  color: #602f10;

  font-weight: 700;
}

body#cart .infuthes-cart-shipping-progress__message.is-reached {
  color: #64b928;

  font-weight: 700;
}


/* ---------- Grand total ---------- */

body#cart .infuthes-cart-summary-totals {
  padding: 17px 0 0 !important;
}

body#cart .infuthes-cart-summary-totals__line--grand {
  margin-top: 3px !important;
  padding-top: 14px !important;

  border-top: 1px solid rgba(96, 47, 16, 0.16);

  font-size: 17px;
}

body#cart .infuthes-cart-summary-totals__line--grand .label,
body#cart .infuthes-cart-summary-totals__line--grand .value {
  font-weight: 700;
}

body#cart .infuthes-cart-summary-totals__tax {
  padding-top: 2px !important;

  color: #9b7a62;

  font-size: 10px;
}

body#cart .infuthes-cart-summary-totals__tax .label,
body#cart .infuthes-cart-summary-totals__tax .value {
  color: #9b7a62 !important;
}


/* ---------- Promo ---------- */

body#cart .infuthes-cart-summary-card .block-promo {
  margin-top: 15px;

  padding-top: 13px;

  border-top: 1px solid rgba(96, 47, 16, 0.14);
}

body#cart .infuthes-cart-summary-card .promo-code-button {
  color: #64b928 !important;

  font-size: 12px;
  font-weight: 700;
}


/* ---------- CTA commande ---------- */

body#cart .infuthes-cart-actions {
  padding: 19px 0 0 !important;

  text-align: center;
}

body#cart .infuthes-checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 100%;

  min-height: 48px;

  padding: 12px 18px !important;

  font-size: 14px !important;
  line-height: 1.25;
  font-weight: 700;

  text-align: center;

  white-space: normal;
}

body#cart .infuthes-checkout-button::after,
body#cart .btn.shake::after {
  pointer-events: none !important;
}

/* PayPal / Express Checkout : ne cibler que le conteneur visuel réel. */
body#cart .infuthes-express-checkout {
  position: relative !important;
  z-index: 20 !important;

  width: 100% !important;

  margin: 14px auto 0 !important;
  padding: 0 !important;

  text-align: center !important;

  overflow: visible !important;
}

/* Les balises injectées par le module ne doivent jamais devenir visibles. */
body#cart .infuthes-express-checkout script,
body#cart .infuthes-express-checkout style {
  display: none !important;
}

body#cart
.infuthes-express-checkout
[data-container-express-checkout] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;

  margin: 10px auto !important;
}

body#cart
.infuthes-express-checkout
[data-container-express-checkout] > * {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* =========================================================
   RÉASSURANCE
   ========================================================= */

body#cart .infuthes-cart-reassurance {
  display: grid;

  gap: 12px;

  margin-top: 22px;
  padding: 18px;

  background: #ffffff;

  border: 1px solid rgba(96, 47, 16, 0.15);
  border-radius: 14px;

  box-shadow: 0 5px 16px rgba(96, 47, 16, 0.04);
}

body#cart .infuthes-cart-reassurance__item {
  display: grid;

  grid-template-columns: 40px minmax(0, 1fr);

  align-items: center;

  gap: 11px;
}

body#cart .infuthes-cart-reassurance__item img {
  display: block;

  width: 36px;
  height: 36px;

  object-fit: contain;
}

body#cart .infuthes-cart-reassurance__item strong,
body#cart .infuthes-cart-reassurance__item span {
  display: block;
}

body#cart .infuthes-cart-reassurance__item strong {
  margin-bottom: 2px;

  color: #602f10;

  font-size: 12.5px;
  line-height: 1.3;
}

body#cart .infuthes-cart-reassurance__item span {
  color: #8b6245;

  font-size: 10.5px;
  line-height: 1.35;
}

body#cart .infuthes-cart-payment-logos {
  display: flex;
  align-items: center;
  justify-content: center;

  flex-wrap: wrap;

  gap: 11px;

  padding-top: 9px;

  border-top: 1px solid rgba(96, 47, 16, 0.10);
}

body#cart .infuthes-cart-payment-logos img {
  width: 34px;
  height: 27px;

  object-fit: contain;
}


/* ---------- Cross-selling ---------- */

body#cart .infuthes-cart-cross-selling {
  margin-top: 38px;
}


/* ---------- Newsletter retirée du panier ---------- */

body#cart .block_newsletter.infuthes-newsletter {
  display: none !important;
}


/* =========================================================
   TABLETTE / MOBILE
   ========================================================= */

@media screen and (max-width: 991px) {

  body#cart .infuthes-cart-container {
    padding-top: 24px;
  }

  body#cart .infuthes-cart-sidebar {
    margin-top: 28px;
  }

  body#cart .infuthes-cart-sidebar__sticky {
    position: static;
  }

  body#cart .infuthes-cart-summary-card {
    max-width: 620px;

    margin: 0 auto;
  }

  body#cart .infuthes-cart-reassurance {
    max-width: 620px;

    margin-right: auto;
    margin-left: auto;
  }

}


@media screen and (max-width: 767px) {

  body#cart .infuthes-cart-hero__inner {
    min-height: 96px;

    gap: 9px;

    padding: 17px 0;
  }

  body#cart .infuthes-cart-hero__decor {
    display: none;
  }

  body#cart .infuthes-cart-hero__title {
    font-size: 27px !important;
  }

  body#cart .infuthes-cart-hero__mark {
    width: 20px;

    flex-basis: 20px;
  }

  body#cart .infuthes-cart-hero__mark::before {
    width: 17px;
  }

  body#cart .infuthes-cart-container {
    padding-top: 18px;
    padding-bottom: 32px;
  }


  /* En-tête tableau inutile sur mobile. */
  body#cart .infuthes-cart-table-head {
    display: none;
  }


  /* Carte produit mobile. */
  body#cart .infuthes-cart-product {
    display: grid !important;

    grid-template-columns: 90px minmax(0, 1fr) minmax(78px, auto);

    gap: 10px 12px;

    min-height: 0 !important;

    padding: 13px 12px !important;
  }

  body#cart .infuthes-cart-product > [class*="col-"] {
    width: auto !important;
    max-width: none !important;

    padding: 0 !important;

    flex: none !important;
  }

  body#cart .infuthes-cart-product__media {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  body#cart .infuthes-cart-product__details {
    grid-column: 2 / span 2;
    grid-row: 1;

    padding: 0;
  }

  body#cart .infuthes-cart-product__unit-price {
    grid-column: 2;
    grid-row: 2;

    min-height: 0;
  }

  body#cart .infuthes-cart-product__qty {
    grid-column: 3;
    grid-row: 2;

    min-height: 0;

    justify-content: flex-end;
  }

  body#cart .infuthes-cart-product__total {
    grid-column: 1 / span 3;
    grid-row: 3;

    flex-direction: row;
    justify-content: space-between;

    min-height: 0;

    padding-top: 10px !important;

    border-top: 1px solid rgba(96, 47, 16, 0.08);

    text-align: left;
  }

  body#cart .infuthes-cart-product__image {
    max-width: 82px !important;
    max-height: 94px !important;
  }

  body#cart .infuthes-cart-product__title a.label {
    font-size: 14px !important;
  }

  body#cart .infuthes-cart-product__attributes .product-line-info {
    font-size: 11.5px;
  }

  body#cart .infuthes-cart-product__unit-price .current-price .price {
    font-size: 14px !important;
  }

  body#cart .infuthes-cart-product__qty .bootstrap-touchspin {
    grid-template-columns: 32px 38px 32px !important;
    width: 102px !important;
    height: 34px !important;
  }

  body#cart .infuthes-cart-product__qty button.btn-touchspin {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }

  body#cart .infuthes-cart-product__qty .js-cart-line-product-quantity {
    width: 38px !important;
    height: 32px !important;
    font-size: 14px !important;
    line-height: 32px !important;
  }

  body#cart .infuthes-cart-product__qty .bootstrap-touchspin-down::before,
  body#cart .infuthes-cart-product__qty .bootstrap-touchspin-up::before {
    font-size: 17px !important;
  }

  body#cart .infuthes-cart-product__line-total {
    margin: 0;

    font-size: 15px;
  }

  body#cart .infuthes-cart-continue {
    margin-top: 10px !important;
  }

  body#cart .infuthes-cart-sidebar {
    margin-top: 22px;
  }

  body#cart .infuthes-cart-summary-card {
    padding: 23px 20px 22px;

    border-radius: 14px;
  }

  body#cart .infuthes-cart-summary-card::after {
    border-radius: 14px;

    transform: translate(3px, 3px) rotate(-0.5deg);
  }

  body#cart .infuthes-cart-totals__head h2 {
    font-size: 22px !important;
  }

  body#cart .infuthes-cart-reassurance {
    margin-top: 18px;
  }

  body#cart .infuthes-cart-actions {
    position: relative !important;
    z-index: 10 !important;
    overflow: visible !important;
  }

  body#cart .infuthes-checkout-button {
    position: relative !important;
    z-index: 11 !important;
  }

  body#cart .infuthes-express-checkout {
    z-index: 30 !important;

    width: 100% !important;

    margin-top: 15px !important;
  }

  body#cart
  .infuthes-express-checkout
  [data-container-express-checkout] {
    justify-content: center !important;
  }
}


/* ---------- Réduction animations ---------- */

@media (prefers-reduced-motion: reduce) {

  body#cart .infuthes-cart-product,
  body#cart .infuthes-cart-product__image,
  body#cart .infuthes-cart-product__qty button.btn-touchspin,
  body#cart .infuthes-cart-shipping-progress__fill,
  body#cart .infuthes-cart-shipping-progress__icon {
    transition: none !important;
  }

}

/* =========================================================
   CHECKOUT V2 - ADRESSES - LES INFUTHÉS
   ========================================================= */

body#checkout .infuthes-address-intro {
  display:flex; align-items:flex-start; gap:12px;
  margin:0 0 23px; padding:14px 16px;
  color:#602f10; background:#fbf5e7;
  border-left:3px solid #64b928; border-radius:8px;
}
body#checkout .infuthes-address-intro>.material-icons { color:#64b928; font-size:24px; margin-top:1px; }
body#checkout .infuthes-address-intro strong,
body#checkout .infuthes-address-intro span { display:block; }
body#checkout .infuthes-address-intro strong { font-size:14px; line-height:1.4; }
body#checkout .infuthes-address-intro span { margin-top:2px; color:#9b7a62; font-size:12px; line-height:1.4; }

body#checkout .infuthes-address-step__subtitle {
  margin:0 0 18px!important; color:#602f10!important;
  font-family:"Catenary Stamp","Lato",sans-serif;
  font-size:20px!important; font-weight:400;
}

body#checkout .infuthes-address-form .form-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:16px; row-gap:15px;
}
body#checkout .infuthes-address-field { min-width:0; }
body#checkout .infuthes-address-field .form-group { display:block!important; margin:0!important; }
body#checkout .infuthes-address-field .form-control-label {
  display:block; width:100%!important; max-width:100%!important;
  margin:0 0 6px!important; padding:0!important;
  color:#602f10!important; font-size:12.5px!important; line-height:1.35; font-weight:600;
  text-align:left!important;
}
body#checkout .infuthes-address-field .form-group>[class*="col-"] {
  width:100%!important; max-width:100%!important;
  padding-right:0!important; padding-left:0!important;
  flex:0 0 100%!important;
}
body#checkout .infuthes-address-field .form-control {
  width:100%!important; min-height:44px; padding:9px 12px!important;
  color:#602f10!important; background:#fff!important;
  border:1px solid rgba(96,47,16,.30)!important; border-radius:8px!important;
  box-shadow:none!important; font-size:14px!important;
}
body#checkout .infuthes-address-field .form-control:focus {
  border-color:#64b928!important;
  outline:2px solid rgba(100,185,40,.18)!important;
}
body#checkout .infuthes-address-field .form-control-comment,
body#checkout .infuthes-address-field .help-block {
  display:block; width:100%!important; max-width:100%!important;
  margin:5px 0 0!important; padding:0!important;
  color:#9b7a62!important; font-size:10.5px!important; line-height:1.35;
}

body#checkout .infuthes-address-field--address1,
body#checkout .infuthes-address-field--address2,
body#checkout .infuthes-address-field--state,
body#checkout .infuthes-address-field--dni { grid-column:1/-1; }

body#checkout .infuthes-pro-toggle { grid-column:1/-1; margin-top:2px; }
body#checkout .infuthes-pro-toggle__button {
  display:inline-flex; align-items:center; gap:7px;
  margin:0; padding:8px 11px;
  color:#602f10; background:transparent;
  border:1px solid rgba(96,47,16,.20); border-radius:8px;
  font-size:12px; line-height:1.25; font-weight:600;
  cursor:pointer;
}
body#checkout .infuthes-pro-toggle__button>.material-icons { margin:0; color:#64b928; font-size:18px; }
body#checkout .infuthes-pro-toggle__chevron { transition:transform .2s ease; }
body#checkout .infuthes-pro-field { display:none; }
body#checkout .infuthes-address-form.infuthes-pro-open .infuthes-pro-field { display:block; }
body#checkout .infuthes-address-form.infuthes-pro-open .infuthes-pro-toggle__chevron { transform:rotate(180deg); }

body#checkout .infuthes-use-same-address {
  display:flex; align-items:flex-start; gap:8px;
  margin:19px 0 0; padding:12px 14px;
  color:#602f10; background:#fbf5e7; border-radius:8px;
}
body#checkout .infuthes-use-same-address input[type="checkbox"] {
  width:17px; height:17px; margin:1px 0 0; accent-color:#64b928; flex:0 0 17px;
}
body#checkout .infuthes-use-same-address label {
  margin:0; color:#602f10; font-size:12.5px; line-height:1.4; cursor:pointer;
}

body#checkout .infuthes-address-form__actions,
body#checkout .infuthes-address-step__footer {
  display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:24px;
}
body#checkout .infuthes-address-continue,
body#checkout .infuthes-address-save {
  position:relative; z-index:1;
  display:inline-flex!important; align-items:center; justify-content:center;
  min-width:220px; min-height:46px;
  margin:0!important; padding:11px 27px!important;
  color:#fff!important; background:#64b928!important;
  border:0!important; border-radius:50px!important;
  box-shadow:none!important; font-size:14px!important; font-weight:700!important;
  text-transform:uppercase; overflow:visible!important;
}
body#checkout .infuthes-address-continue::after,
body#checkout .infuthes-address-save::after {
  content:""; position:absolute; inset:0; z-index:-1;
  border:1.5px solid #602f10; border-radius:50px;
  pointer-events:none; transform:translate(4px,3px) rotate(-2deg);
  transition:transform .25s ease;
}
body#checkout .infuthes-address-form__actions .cancel-address {
  color:#9b7a62!important; font-size:12px; font-weight:600; text-decoration:none!important;
}
body#checkout .infuthes-address-selector .address-item {
  border:1px solid rgba(96,47,16,.20)!important;
  border-radius:12px!important; box-shadow:none!important;
}
body#checkout .infuthes-address-selector .address-item.selected {
  border:1.5px solid #64b928!important; background:#fffaf0!important;
}
body#checkout .infuthes-add-address,
body#checkout .infuthes-different-invoice { margin:14px 0 0!important; }
body#checkout .infuthes-add-address a,
body#checkout .infuthes-different-invoice a {
  color:#64b928!important; font-size:12.5px; font-weight:700; text-decoration:none!important;
}

@media (hover:hover) and (pointer:fine) {
  body#checkout .infuthes-pro-toggle__button:hover {
    background:#fbf5e7; border-color:#64b928;
  }
  body#checkout .infuthes-address-continue:hover,
  body#checkout .infuthes-address-save:hover {
    background:#70c832!important;
    box-shadow:0 0 11px rgba(100,185,40,.28)!important;
  }
  body#checkout .infuthes-address-continue:hover::after,
  body#checkout .infuthes-address-save:hover::after {
    transform:translate(0,0) rotate(0);
  }
}

@media screen and (max-width:767px) {
  body#checkout .infuthes-address-intro { padding:12px 13px; }
  body#checkout .infuthes-address-form .form-fields {
    grid-template-columns:1fr; gap:13px;
  }
  body#checkout .infuthes-address-field,
  body#checkout .infuthes-address-field--address1,
  body#checkout .infuthes-address-field--address2 {
    grid-column:1;
  }
  body#checkout .infuthes-address-field .form-control {
    min-height:43px; font-size:16px!important;
  }
  body#checkout .infuthes-address-form__actions,
  body#checkout .infuthes-address-step__footer {
    flex-direction:column-reverse; align-items:stretch; gap:11px;
  }
  body#checkout .infuthes-address-continue,
  body#checkout .infuthes-address-save {
    width:100%; min-width:0;
  }
  body#checkout .infuthes-address-form__actions .cancel-address {
    text-align:center;
  }
}

/* =========================================================
   CHECKOUT V2.1 - CORRECTIF ADRESSES
   Toggle professionnel sans JavaScript + aide téléphone
   ========================================================= */

/* Toggle natif : fonctionne même après rafraîchissement AJAX PrestaShop. */
body#checkout .infuthes-pro-toggle__checkbox {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  margin: -1px !important;
  padding: 0 !important;

  overflow: hidden !important;

  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;

  white-space: nowrap !important;

  border: 0 !important;
}

body#checkout .infuthes-pro-toggle {
  grid-column: 1 / -1;

  display: inline-flex;
  align-items: center;

  gap: 7px;

  width: max-content;
  max-width: 100%;

  margin: 2px 0 0;
  padding: 8px 11px;

  color: #602f10;

  background: transparent;

  border: 1px solid rgba(96, 47, 16, 0.20);
  border-radius: 8px;

  font-size: 12px;
  line-height: 1.25;
  font-weight: 600;

  cursor: pointer;

  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

body#checkout .infuthes-pro-toggle > .material-icons {
  margin: 0;

  color: #64b928;

  font-size: 18px;
}

body#checkout .infuthes-pro-toggle__chevron {
  margin-left: 2px !important;

  transition: transform 0.2s ease;
}

/* Fermé par défaut. */
body#checkout .infuthes-pro-field {
  display: none !important;
}

/* Le checkbox et les champs sont frères dans .form-fields. */
body#checkout
.infuthes-pro-toggle__checkbox:checked
~ .infuthes-pro-field {
  display: block !important;
}

body#checkout
.infuthes-pro-toggle__checkbox:checked
+ .infuthes-pro-toggle
.infuthes-pro-toggle__chevron {
  transform: rotate(180deg);
}

body#checkout
.infuthes-pro-toggle__checkbox:focus-visible
+ .infuthes-pro-toggle {
  outline: 2px solid rgba(100, 185, 40, 0.35);
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  body#checkout .infuthes-pro-toggle:hover {
    background: #fbf5e7;

    border-color: #64b928;
  }
}


/* Aide sous le téléphone. */
body#checkout .infuthes-phone-help {
  width: 100%;

  margin: 5px 0 0 !important;
  padding: 0 !important;

  color: #9b7a62 !important;

  font-size: 10.5px;
  line-height: 1.35;
}


/* Neutralise les anciennes règles V2 basées sur la classe JS. */
body#checkout
.infuthes-address-form.infuthes-pro-open
.infuthes-pro-field {
  display: none !important;
}

body#checkout
.infuthes-pro-toggle__checkbox:checked
~ .infuthes-pro-field {
  display: block !important;
}

body#checkout
.infuthes-address-form.infuthes-pro-open
.infuthes-pro-toggle__chevron {
  transform: none !important;
}

body#checkout
.infuthes-pro-toggle__checkbox:checked
+ .infuthes-pro-toggle
.infuthes-pro-toggle__chevron {
  transform: rotate(180deg) !important;
}

/* Checkout — lien MODIFIER des étapes validées */
body#checkout .infuthes-checkout-step__title .step-edit,
body#checkout .infuthes-checkout-step__title .step-edit .material-icons {
  color: #64b928 !important;
  opacity: 1 !important;
}

@media (hover: hover) and (pointer: fine) {
  body#checkout .infuthes-checkout-step__title .step-edit:hover,
  body#checkout .infuthes-checkout-step__title .step-edit:hover .material-icons {
    color: #602f10 !important;
  }
}

/* =========================================================
   CHECKOUT — CORRECTIONS RÉCAPITULATIF + TÉLÉPHONE
   ========================================================= */

/* 1. Supprimer définitivement l'ancienne barre de livraison
   issue du hook displayCheckoutSummaryTop.
   On conserve uniquement notre nouvelle barre fiable à 45 €. */
body#checkout .infuthes-checkout-summary-hook {
  display: none !important;
}


/* 2. Message d'aide Téléphone en vert */
body#checkout .infuthes-phone-help {
  color: #64b928 !important;
  font-weight: 600 !important;
}

/* =========================================================
   CHECKOUT - PRODUIT RÉCAPITULATIF - DÉCLINAISON + FORMAT MARRON
   ========================================================= */

/* Format de déclinaison : marron, lisible et cohérent avec le site. */
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-attribute,
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-attribute .label,
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-attribute .value {
  color: #602f10 !important;
}

body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-attribute {
  margin-top: 3px;

  font-size: 11.5px;
  line-height: 1.35;
}

body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-attribute .label {
  font-weight: 500;
}

body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-attribute .value {
  font-weight: 700;
}


/* Miniature de la combinaison : proportions conservées. */
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-image {
  width: 54px;

  padding-right: 10px;
}

body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-image .media-object {
  display: block;

  width: 48px;
  max-width: 48px;

  height: 58px;
  max-height: 58px;

  margin: 0 auto;

  object-fit: contain;
}


/* Mobile */
@media screen and (max-width: 767px) {

  body#checkout
  .infuthes-checkout-summary
  .infuthes-checkout-product-image {
    width: 48px;

    padding-right: 8px;
  }

  body#checkout
  .infuthes-checkout-summary
  .infuthes-checkout-product-image .media-object {
    width: 42px;
    max-width: 42px;

    height: 52px;
    max-height: 52px;
  }

  body#checkout
  .infuthes-checkout-summary
  .infuthes-checkout-product-attribute {
    font-size: 11px;
  }

}

/* =========================================================
   CHECKOUT - RÉCAP PRODUITS V2 - TOTAL PAR LIGNE + ESPACEMENT + TOTAL TTC VERT
   ========================================================= */

/* 1. Petit espace entre les produits du récapitulatif. */
body#checkout
.infuthes-checkout-summary
#cart-summary-product-list
.media-list > .media {
  margin: 0 !important;
  padding: 10px 0 !important;

  border-bottom: 1px solid rgba(96, 47, 16, 0.10);
}

body#checkout
.infuthes-checkout-summary
#cart-summary-product-list
.media-list > .media:first-child {
  padding-top: 5px !important;
}

body#checkout
.infuthes-checkout-summary
#cart-summary-product-list
.media-list > .media:last-child {
  padding-bottom: 5px !important;

  border-bottom: 0;
}


/* 2. Corps produit : réserve la place du prix à droite. */
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-body {
  position: relative;

  min-height: 58px;

  padding-right: 82px;
}


/* 3. Prix total de la ligne. */
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-price {
  position: absolute;

  top: 2px;
  right: 0;

  width: 76px;

  color: #602f10;

  text-align: right;
}

body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-line-total {
  display: block;

  color: #602f10 !important;

  font-size: 13px;
  line-height: 1.25;
  font-weight: 700;
}


/* Prix unitaire, uniquement lorsqu'il y a plusieurs unités. */
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-unit-price {
  display: block;

  margin-top: 3px;

  color: #9b7a62 !important;

  font-size: 9.5px;
  line-height: 1.25;

  white-space: nowrap;
}


/* Quantité. */
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-product-quantity {
  display: block;

  margin-top: 1px;

  color: #602f10;

  font-size: 11.5px;
  line-height: 1.3;
}


/* 4. TOTAL TTC : fond vert + texte blanc + contour marron. */
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-summary__totals
.cart-total {
  margin: 10px 0 0 !important;
  padding: 12px 14px !important;

  color: #ffffff !important;

  background: #64b928 !important;
  background-color: #64b928 !important;

  border: 1.5px solid #602f10 !important;
  border-radius: 9px !important;

  box-shadow: none !important;
}

body#checkout
.infuthes-checkout-summary
.infuthes-checkout-summary__totals
.cart-total .label,
body#checkout
.infuthes-checkout-summary
.infuthes-checkout-summary__totals
.cart-total .value {
  color: #ffffff !important;

  font-weight: 700 !important;
}


/* Mobile */
@media screen and (max-width: 767px) {

  body#checkout
  .infuthes-checkout-summary
  #cart-summary-product-list
  .media-list > .media {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }

  body#checkout
  .infuthes-checkout-summary
  .infuthes-checkout-product-body {
    padding-right: 74px;
  }

  body#checkout
  .infuthes-checkout-summary
  .infuthes-checkout-product-price {
    width: 70px;
  }

  body#checkout
  .infuthes-checkout-summary
  .infuthes-checkout-product-line-total {
    font-size: 12.5px;
  }

  body#checkout
  .infuthes-checkout-summary
  .infuthes-checkout-product-unit-price {
    font-size: 9px;
  }

}

/* =========================================================
   CHECKOUT - CODE PROMO
   ========================================================= */

/* Fond de la zone promo */
body#checkout .infuthes-checkout-summary__voucher {
  margin: 0 18px 18px !important;
  padding: 16px 16px 15px !important;

  background: #fbf5e7 !important;

  border: 1px solid rgba(96, 47, 16, 0.22);
  border-radius: 12px;

  text-align: center;
}


/* Nettoyage du bloc PrestaShop */
body#checkout
.infuthes-checkout-summary__voucher
.block-promo {
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;
}


/* Titre dans le panneau ouvert */
body#checkout
.infuthes-checkout-summary__voucher
#promo-code::before {
  content: "CODE PROMO";

  display: block;

  margin: 0 0 12px;

  color: #602f10;

  font-family: "Catenary Stamp", "Lato", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 400;

  text-align: center;
  text-transform: uppercase;
}


/* Formulaire */
body#checkout
.infuthes-checkout-summary__voucher
#promo-code form {
  display: flex !important;

  align-items: center;
  justify-content: center;

  gap: 12px;

  width: 100%;

  margin: 0 auto !important;
}


/* Champ Code promo */
body#checkout
.infuthes-checkout-summary__voucher
.promo-input {
  width: 100% !important;
  min-width: 0;
  height: 42px !important;

  margin: 0 !important;
  padding: 0 14px !important;

  color: #602f10 !important;

  background: #ffffff !important;

  border: 1.5px solid #602f10 !important;
  border-radius: 8px !important;

  outline: none !important;
  box-shadow: none !important;

  font-size: 13px !important;
}


body#checkout
.infuthes-checkout-summary__voucher
.promo-input::placeholder {
  color: #9b7a62 !important;
  opacity: 1;
}


body#checkout
.infuthes-checkout-summary__voucher
.promo-input:focus {
  border-color: #64b928 !important;

  box-shadow: 0 0 0 2px rgba(100, 185, 40, 0.14) !important;
}


/* Bouton APPLIQUER */
body#checkout
.infuthes-checkout-summary__voucher
.promo-input + button {
  position: relative;

  z-index: 1;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  min-width: 112px;
  height: 42px;

  margin: 0 !important;
  padding: 0 17px !important;

  color: #ffffff !important;

  background: #64b928 !important;

  border: 0 !important;
  border-radius: 50px !important;

  box-shadow: none !important;

  font-size: 13px !important;
  font-weight: 700 !important;

  text-transform: uppercase;

  overflow: visible;
}


/* Contour marron décalé */
body#checkout
.infuthes-checkout-summary__voucher
.promo-input + button::after {
  content: "";

  position: absolute;

  inset: 0;

  z-index: -1;

  border: 1.5px solid #602f10;
  border-radius: 50px;

  pointer-events: none;

  transform: translate(3px, 2px) rotate(-2deg);

  transition: transform 0.25s ease;
}


/* Animation */
@media (hover: hover) and (pointer: fine) {

  body#checkout
  .infuthes-checkout-summary__voucher
  .promo-input + button:hover {
    background: #70c832 !important;

    box-shadow: 0 0 10px rgba(100, 185, 40, 0.28) !important;
  }

  body#checkout
  .infuthes-checkout-summary__voucher
  .promo-input + button:hover::after {
    transform: translate(0, 0) rotate(0);
  }

}


/* FERMER */
body#checkout
.infuthes-checkout-summary__voucher
.cancel-promo {
  display: inline-block !important;

  margin: 13px auto 0 !important;

  color: #64b928 !important;

  font-size: 12px !important;
  font-weight: 700;

  text-decoration: none !important;
}


body#checkout
.infuthes-checkout-summary__voucher
.cancel-promo:hover {
  color: #602f10 !important;
}


/* Mobile */
@media screen and (max-width: 767px) {

  body#checkout .infuthes-checkout-summary__voucher {
    margin-right: 14px !important;
    margin-left: 14px !important;

    padding: 15px 13px !important;
  }

  body#checkout
  .infuthes-checkout-summary__voucher
  #promo-code form {
    flex-direction: column;

    gap: 10px;
  }

  body#checkout
  .infuthes-checkout-summary__voucher
  .promo-input,
  body#checkout
  .infuthes-checkout-summary__voucher
  .promo-input + button {
    width: 100% !important;
  }

}

/* =========================================================
   CHECKOUT V3 - INFORMATIONS PERSONNELLES - LES INFUTHÉS
   Version claire / CRO / responsive
   ========================================================= */

/* ---------- Conteneur ---------- */
body#checkout .infuthes-pi {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  color: #602f10;
}

/* ---------- Paiement express ---------- */
body#checkout .infuthes-pi-express {
  margin: 0 0 18px;
  padding: 15px 18px 17px;
  background: #fbf5e7;
  border: 1px solid rgba(96,47,16,.18);
  border-radius: 12px;
  text-align: center;
}

body#checkout .infuthes-pi-express__label {
  margin: 0 0 10px !important;
  color: #602f10;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .35px;
}

body#checkout .infuthes-pi-express__content {
  display: flex;
  justify-content: center;
  width: 100%;
}

body#checkout .infuthes-pi-express__content script,
body#checkout .infuthes-pi-express__content style {
  display: none !important;
}

body#checkout .infuthes-pi-express__content [data-container-express-checkout] {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* ---------- Séparateur OU ---------- */
body#checkout .infuthes-pi-divider {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 18px;
  color: #9b7a62;
  font-size: 11px;
  text-transform: uppercase;
}

body#checkout .infuthes-pi-divider::before,
body#checkout .infuthes-pi-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(96,47,16,.16);
}

/* ---------- Onglets invité / connexion ---------- */
body#checkout .infuthes-pi-tabs {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0 0 20px !important;
  padding: 5px !important;
  background: #f3e4b9;
  border: 1px solid rgba(96,47,16,.18);
  border-radius: 12px;
}

body#checkout .infuthes-pi-tabs .nav-item {
  width: 100%;
  margin: 0 !important;
}

body#checkout .infuthes-pi-tabs .nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  width: 100%;
  padding: 9px 12px !important;
  color: #8b6245 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
}

body#checkout .infuthes-pi-tabs .nav-link.active {
  color: #602f10 !important;
  background: #fffaf0 !important;
  box-shadow: 0 2px 8px rgba(96,47,16,.08);
}

/* ---------- Carte formulaire ---------- */
body#checkout .infuthes-pi-form-card {
  padding: 22px 24px 24px;
  background: #fffaf0;
  border: 1px solid rgba(96,47,16,.20);
  border-radius: 14px;
}

body#checkout .infuthes-pi-form-intro {
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(96,47,16,.10);
}

body#checkout .infuthes-pi-form-intro strong,
body#checkout .infuthes-pi-form-intro span {
  display: block;
}

body#checkout .infuthes-pi-form-intro strong {
  margin-bottom: 3px;
  color: #602f10;
  font-size: 16px;
  line-height: 1.3;
}

body#checkout .infuthes-pi-form-intro span {
  color: #9b7a62;
  font-size: 12px;
  line-height: 1.45;
}

/* ---------- Grille ---------- */
body#checkout .infuthes-pi-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 16px;
}

body#checkout .infuthes-pi-field {
  min-width: 0;
  grid-column: 1 / -1;
}

body#checkout .infuthes-pi-field--firstname,
body#checkout .infuthes-pi-field--lastname {
  grid-column: span 1;
}

/* ---------- Champs ---------- */
body#checkout .infuthes-pi-field .form-group {
  display: block !important;
  margin: 0 !important;
}

body#checkout .infuthes-pi-field .form-control-label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #602f10 !important;
  font-size: 12.5px !important;
  line-height: 1.35;
  font-weight: 600;
  text-align: left !important;
}

body#checkout .infuthes-pi-field .form-group > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  flex: 0 0 100% !important;
}

body#checkout .infuthes-pi-field .form-control {
  width: 100% !important;
  min-height: 46px;
  padding: 9px 12px !important;
  color: #602f10 !important;
  background: #fff !important;
  border: 1px solid rgba(96,47,16,.30) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 14px !important;
}

body#checkout .infuthes-pi-field .form-control:focus,
body#checkout .infuthes-pi-field .input-group.focus {
  border-color: #64b928 !important;
  outline: 2px solid rgba(100,185,40,.16) !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

body#checkout .infuthes-pi-field .form-control-comment,
body#checkout .infuthes-pi-field .help-block {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  color: #9b7a62 !important;
  font-size: 10.5px !important;
  line-height: 1.35;
  text-align: left !important;
}

/* ---------- Civilité ---------- */
body#checkout .infuthes-pi-field--id_gender .form-group {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
}

body#checkout .infuthes-pi-field--id_gender .form-control-label {
  width: 100% !important;
  flex: 0 0 100%;
}

body#checkout .infuthes-pi-field--id_gender .custom-radio {
  margin-right: 5px;
}

body#checkout .infuthes-pi-field--id_gender .custom-radio span {
  border-color: #602f10 !important;
  background: #fff !important;
}

body#checkout .infuthes-pi-field--id_gender .custom-radio input[type="radio"]:checked + span {
  background: #64b928 !important;
}

/* ---------- Bouton MONTRER mot de passe ---------- */
body#checkout .infuthes-pi-field--password .input-group-btn .btn,
body#checkout .infuthes-pi-field--password .btn[data-action="show-password"] {
  min-height: 46px;
  padding: 0 14px !important;
  color: #fff !important;
  background: #8b6245 !important;
  border-radius: 0 8px 8px 0 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

/* ---------- Toggles natifs ---------- */
body#checkout .infuthes-pi-toggle-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body#checkout .infuthes-pi-toggle,
body#checkout .infuthes-pi-section-title {
  grid-column: 1 / -1;
}

body#checkout .infuthes-pi-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  color: #602f10;
  background: #fbf5e7;
  border: 1px solid rgba(96,47,16,.18);
  border-radius: 9px;
  cursor: pointer;
}

body#checkout .infuthes-pi-toggle > .material-icons {
  color: #64b928;
  font-size: 19px;
}

body#checkout .infuthes-pi-toggle > span {
  display: block;
  flex: 1;
  min-width: 0;
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 600;
}

body#checkout .infuthes-pi-toggle > span strong,
body#checkout .infuthes-pi-toggle > span small {
  display: block;
}

body#checkout .infuthes-pi-toggle > span small {
  margin-top: 1px;
  color: #9b7a62;
  font-size: 10.5px;
  font-weight: 400;
}

body#checkout .infuthes-pi-toggle__chevron {
  margin-left: auto;
  transition: transform .2s ease;
}

body#checkout .infuthes-pi-pro-field,
body#checkout .infuthes-pi-account-field,
body#checkout .infuthes-pi-optional-field {
  display: none;
}

body#checkout #infuthes-pi-pro-toggle:checked ~ .infuthes-pi-pro-field,
body#checkout #infuthes-pi-account-toggle:checked ~ .infuthes-pi-account-field,
body#checkout #infuthes-pi-optional-toggle:checked ~ .infuthes-pi-optional-field {
  display: block;
}

body#checkout #infuthes-pi-pro-toggle:checked + .infuthes-pi-toggle .infuthes-pi-toggle__chevron,
body#checkout #infuthes-pi-account-toggle:checked + .infuthes-pi-toggle .infuthes-pi-toggle__chevron,
body#checkout #infuthes-pi-optional-toggle:checked + .infuthes-pi-toggle .infuthes-pi-toggle__chevron {
  transform: rotate(180deg);
}

body#checkout .infuthes-pi-toggle-input:focus-visible + .infuthes-pi-toggle {
  outline: 2px solid rgba(100,185,40,.35);
  outline-offset: 2px;
}

/* ---------- Préférences ---------- */
body#checkout .infuthes-pi-section-title {
  margin-top: 3px;
  padding-top: 15px;
  border-top: 1px solid rgba(96,47,16,.10);
}

body#checkout .infuthes-pi-section-title span {
  color: #602f10;
  font-size: 13px;
  font-weight: 700;
}

body#checkout .infuthes-pi-choice-field {
  padding: 10px 12px;
  background: #fffdf7;
  border: 1px solid rgba(96,47,16,.10);
  border-radius: 8px;
}

body#checkout .infuthes-pi-choice-field .form-group {
  margin: 0 !important;
}

body#checkout .infuthes-pi-choice-field .custom-checkbox {
  align-items: flex-start;
}

body#checkout .infuthes-pi-choice-field .custom-checkbox label {
  color: #602f10 !important;
  font-size: 11.5px !important;
  line-height: 1.4;
}

body#checkout .infuthes-pi-choice-field .custom-checkbox input[type="checkbox"] + span,
body#checkout .infuthes-pi-extra .custom-checkbox input[type="checkbox"] + span {
  border: 1.5px solid #602f10 !important;
}

/* ---------- Hooks : RGPD / CGV / reCAPTCHA ---------- */
body#checkout .infuthes-pi-extra {
  grid-column: 1 / -1;
  margin-top: 2px;
  padding: 14px 14px 12px;
  background: #fbf5e7;
  border: 1px solid rgba(96,47,16,.12);
  border-radius: 9px;
  color: #602f10;
}

body#checkout .infuthes-pi-extra p,
body#checkout .infuthes-pi-extra label,
body#checkout .infuthes-pi-extra .custom-checkbox {
  color: #602f10 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

body#checkout .infuthes-pi-extra a {
  color: #64b928 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body#checkout .infuthes-pi-extra .g-recaptcha,
body#checkout .infuthes-pi-extra #captcha-box,
body#checkout #checkout-guest-form .g-recaptcha,
body#checkout #checkout-guest-form #captcha-box {
  margin: 15px auto 0 !important;
  text-align: center;
}

body#checkout .infuthes-pi-extra .g-recaptcha > div,
body#checkout #checkout-guest-form .g-recaptcha > div {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* ---------- Footer / CTA ---------- */
body#checkout .infuthes-pi-footer {
  margin-top: 22px !important;
  padding: 0 !important;
  text-align: right !important;
}

body#checkout .infuthes-pi-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px;
}

body#checkout .infuthes-pi-continue {
  position: relative;
  z-index: 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 47px;
  margin: 0 !important;
  padding: 11px 28px !important;
  color: #fff !important;
  background: #64b928 !important;
  border: 0 !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.2;
  font-weight: 700 !important;
  text-transform: uppercase;
  overflow: visible !important;
}

body#checkout .infuthes-pi-continue::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1.5px solid #602f10;
  border-radius: 50px;
  pointer-events: none;
  transform: translate(4px,3px) rotate(-2deg);
  transition: transform .25s ease;
}

@media (hover:hover) and (pointer:fine) {
  body#checkout .infuthes-pi-toggle:hover {
    border-color: #64b928;
    background: #fff8e8;
  }

  body#checkout .infuthes-pi-continue:hover {
    background: #70c832 !important;
    box-shadow: 0 0 11px rgba(100,185,40,.28) !important;
  }

  body#checkout .infuthes-pi-continue:hover::after {
    transform: translate(0,0) rotate(0);
  }
}

/* ---------- Connexion ---------- */
body#checkout .infuthes-pi-login-card .login-form,
body#checkout .infuthes-pi-login-card form {
  max-width: 560px;
  margin: 0 auto;
}

body#checkout .infuthes-pi-login-card .form-group {
  display: block !important;
  margin-bottom: 15px !important;
}

body#checkout .infuthes-pi-login-card .form-control-label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #602f10 !important;
  text-align: left !important;
}

body#checkout .infuthes-pi-login-card .form-control {
  min-height: 46px;
  background: #fff !important;
  border: 1px solid rgba(96,47,16,.30) !important;
  border-radius: 8px !important;
}

/* ---------- Connecté ---------- */
body#checkout .infuthes-pi-connected {
  padding: 18px;
  background: #fbf5e7;
  border: 1px solid rgba(96,47,16,.16);
  border-radius: 10px;
}

body#checkout .infuthes-pi-connected p {
  margin: 0 0 7px;
}

body#checkout .infuthes-pi-connected a {
  color: #64b928 !important;
  font-weight: 700;
}

/* ---------- Mobile ---------- */
@media screen and (max-width: 767px) {
  body#checkout .infuthes-pi-form-card {
    padding: 18px 13px 20px;
    border-radius: 11px;
  }

  body#checkout .infuthes-pi-fields {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  body#checkout .infuthes-pi-field,
  body#checkout .infuthes-pi-field--firstname,
  body#checkout .infuthes-pi-field--lastname {
    grid-column: 1;
  }

  body#checkout .infuthes-pi-tabs .nav-link {
    min-height: 44px;
    padding: 8px 7px !important;
    font-size: 11.5px;
  }

  body#checkout .infuthes-pi-field .form-control,
  body#checkout .infuthes-pi-login-card .form-control {
    min-height: 44px;
    font-size: 16px !important;
  }

  body#checkout .infuthes-pi-toggle {
    padding: 10px;
  }

  body#checkout .infuthes-pi-actions,
  body#checkout .infuthes-pi-footer {
    justify-content: stretch;
    text-align: center !important;
  }

  body#checkout .infuthes-pi-continue {
    width: 100%;
    min-width: 0;
  }

  body#checkout .infuthes-pi-extra {
    padding: 12px 10px;
  }

  body#checkout .infuthes-pi-extra .g-recaptcha,
  body#checkout #checkout-guest-form .g-recaptcha {
    overflow-x: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body#checkout .infuthes-pi-toggle__chevron,
  body#checkout .infuthes-pi-continue,
  body#checkout .infuthes-pi-continue::after {
    transition: none !important;
  }
}

/* =========================================================
   INGRÉDIENTS PRINCIPAUX - CARTES PRODUITS V2
   Catégories + "Vous aimerez aussi"
   ========================================================= */

body#category .product-miniature .infuthes-card-ingredients,
body#product .product-accessories .product-miniature .infuthes-card-ingredients,
body#product .products .product-miniature .infuthes-card-ingredients {
  display: -webkit-box;
  min-height: 34px;
  max-height: 34px;
  margin: 3px auto 11px;
  padding: 0 8px;
  color: #602f10 !important;
  font-family: "Lato", sans-serif;
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (max-width: 767px) {
  body#category .product-miniature .infuthes-card-ingredients,
  body#product .product-accessories .product-miniature .infuthes-card-ingredients,
  body#product .products .product-miniature .infuthes-card-ingredients {
    min-height: 31px;
    max-height: 31px;
    margin-bottom: 8px;
    padding-right: 4px;
    padding-left: 4px;
    font-size: 11.5px;
  }
}

/* =========================================================
   FICHE PRODUIT - INGRÉDIENTS PRINCIPAUX V4
   ========================================================= */

body#product .product-information [id^="product-description-short-"] {
  margin-bottom: 12px;
}

body#product .product-information [id^="product-description-short-"] > *:last-child {
  margin-bottom: 0 !important;
}

body#product .infuthes-product-main-ingredients {
  margin: 0 0 20px;
  padding: 12px 15px;

  background: #fffaf0;
  border-left: 3px solid #64b928;
  border-radius: 7px;

  font-family: "Lato", sans-serif;
}

body#product .infuthes-product-main-ingredients__label {
  display: block;
  margin: 0 0 4px;

  color: #64b928 !important;

  font-family: "Lato", sans-serif;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: .3px;
  text-transform: uppercase;
}

body#product .infuthes-product-main-ingredients__value {
  display: block;

  color: #602f10 !important;

  font-family: "Lato", sans-serif;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  body#product .infuthes-product-main-ingredients {
    margin-bottom: 17px;
    padding: 11px 13px;
  }

  body#product .infuthes-product-main-ingredients__label {
    font-size: 11.5px;
  }

  body#product .infuthes-product-main-ingredients__value {
    font-size: 14px;
  }
}



/* =========================================================
   INGRÉDIENTS PRINCIPAUX V5 - MODALE PANIER / RECOMMANDATIONS
   ========================================================= */

#blockcart-modal.infuthes-cart-modal
.infuthes-cart-modal__recommendations
.product-miniature
.infuthes-card-ingredients {
  display: -webkit-box !important;
  min-height: 34px;
  max-height: 34px;
  margin: 2px auto 8px !important;
  padding: 0 6px;
  color: #602f10 !important;
  font-family: "Lato", sans-serif;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (max-width: 767px) {
  #blockcart-modal.infuthes-cart-modal
  .infuthes-cart-modal__recommendations
  .product-miniature
  .infuthes-card-ingredients {
    min-height: 31px;
    max-height: 31px;
    margin-bottom: 7px !important;
    padding-right: 4px;
    padding-left: 4px;
    font-size: 11px;
  }
}

/* =========================================================
   INGRÉDIENTS PRINCIPAUX V6.1 - VISIBILITÉ FIABLE
   Affichage : accueil / meilleures ventes + catégories
   + accessoires produit + modale panier.
   ========================================================= */

/* Masqué par défaut dans les autres miniatures non ciblées. */
.product-miniature .infuthes-card-ingredients {
  display: none !important;
}

/* Accueil / meilleures ventes + catégories + "Vous aimerez aussi" + modale panier. */
body#index .product-miniature .infuthes-card-ingredients,
body#category .product-miniature .infuthes-card-ingredients,
body#product .product-accessories .product-miniature .infuthes-card-ingredients,
body#product .products .product-miniature .infuthes-card-ingredients,
#blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .infuthes-card-ingredients,
#blockcart-modal .product-accessories .product-miniature .infuthes-card-ingredients {
  display: -webkit-box !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  min-height: 34px !important;
  max-height: 34px !important;
  margin: 3px auto 11px !important;
  padding: 0 8px !important;
  color: #602f10 !important;
  font-family: "Lato", sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-align: center !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
  body#index .product-miniature .infuthes-card-ingredients,
  body#category .product-miniature .infuthes-card-ingredients,
  body#product .product-accessories .product-miniature .infuthes-card-ingredients,
  body#product .products .product-miniature .infuthes-card-ingredients,
  #blockcart-modal.infuthes-cart-modal .infuthes-cart-modal__recommendations .product-miniature .infuthes-card-ingredients,
  #blockcart-modal .product-accessories .product-miniature .infuthes-card-ingredients {
    min-height: 31px !important;
    max-height: 31px !important;
    margin-bottom: 8px !important;
    padding-right: 4px !important;
    padding-left: 4px !important;
    font-size: 11.5px !important;
  }
}

/* =========================================================
   PAGE PANIER V17 - CODE PROMO / LIVRAISON OFFERTE
   - supprime le doublon visuel de la règle automatique de livraison
     via le template cart-voucher.tpl
   - harmonise l'encart code promo avec l'identité Les Infuthés
   ========================================================= */

/* Le bloc promo reste léger dans le récapitulatif. */
body#cart .infuthes-cart-summary-card .infuthes-cart-promo {
  margin: 14px 0 0 !important;
  padding: 14px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(96, 47, 16, 0.14) !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__inner {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Bons réellement appliqués : compacts, lisibles et supprimables. */
body#cart .infuthes-cart-summary-card .infuthes-cart-promo__applied {
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__applied-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 7px !important;
  padding: 8px 10px !important;
  background: rgba(255, 252, 245, 0.72) !important;
  border: 1px solid rgba(96, 47, 16, 0.13) !important;
  border-radius: 9px !important;
  color: #602f10 !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__applied-line .float-xs-right {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__applied-line [data-link-action="remove-voucher"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  color: #c65732 !important;
  border-radius: 50% !important;
  text-decoration: none !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__applied-line [data-link-action="remove-voucher"] .material-icons {
  font-size: 16px !important;
}

/* "Vous avez un code promo ?" devient un petit bouton secondaire. */
body#cart .infuthes-cart-summary-card .infuthes-cart-promo__toggle {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__toggle .collapse-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 13px !important;
  color: #64b928 !important;
  background: rgba(255, 252, 245, 0.64) !important;
  border: 1px solid rgba(96, 47, 16, 0.14) !important;
  border-radius: 999px !important;
  font-family: "Lato", sans-serif !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

@media (hover: hover) and (pointer: fine) {
  body#cart .infuthes-cart-summary-card .infuthes-cart-promo__toggle .collapse-button:hover {
    color: #602f10 !important;
    background: #fffaf0 !important;
    border-color: rgba(96, 47, 16, 0.28) !important;
  }
}

/* Panneau code promo ouvert. */
body#cart .infuthes-cart-summary-card #promo-code {
  margin-top: 11px !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__panel {
  margin: 0 !important;
  padding: 13px !important;
  background: #fbf5e7 !important;
  border: 1px solid rgba(96, 47, 16, 0.20) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(96, 47, 16, 0.04) !important;
  text-align: center !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__title {
  margin: 0 0 10px !important;
  color: #602f10 !important;
  font-family: "Catenary Stamp", "Lato", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__form {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  color: #602f10 !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(96, 47, 16, 0.72) !important;
  border-radius: 9px !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: "Lato", sans-serif !important;
  font-size: 12.5px !important;
  box-sizing: border-box !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__input::placeholder {
  color: #9b7a62 !important;
  opacity: 1 !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__input:focus {
  border-color: #64b928 !important;
  box-shadow: 0 0 0 2px rgba(100, 185, 40, 0.13) !important;
}

/* Bouton APPLIQUER - signature Les Infuthés. */
body#cart .infuthes-cart-summary-card .infuthes-cart-promo__submit {
  position: relative !important;
  z-index: 1 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 105px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  color: #ffffff !important;
  background: #64b928 !important;
  background-color: #64b928 !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 50px !important;
  box-shadow: none !important;
  font-family: "Lato", sans-serif !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* On affine le contour historique du bouton .shake dans cet encart. */
body#cart .infuthes-cart-summary-card .infuthes-cart-promo__submit::after {
  border: 1.5px solid #602f10 !important;
  border-radius: 50px !important;
  transform: translate(2px, 2px) rotate(-2deg) !important;
}

@media (hover: hover) and (pointer: fine) {
  body#cart .infuthes-cart-summary-card .infuthes-cart-promo__submit:hover {
    background: #70c832 !important;
    background-color: #70c832 !important;
    box-shadow: 0 0 9px rgba(100, 185, 40, 0.26) !important;
  }

  body#cart .infuthes-cart-summary-card .infuthes-cart-promo__submit:hover::after {
    transform: translate(0, 0) rotate(0deg) !important;
  }
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__close {
  display: inline-block !important;
  margin: 11px auto 0 !important;
  padding: 0 !important;
  color: #8b6245 !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__close:hover {
  color: #602f10 !important;
}

body#cart .infuthes-cart-summary-card .infuthes-cart-promo__panel .alert {
  margin: 10px 0 0 !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

/* Les offres disponibles restent accessibles sans prendre le dessus. */
body#cart .infuthes-cart-summary-card .promo-highlighted,
body#cart .infuthes-cart-summary-card .promo-discounts {
  margin-top: 10px !important;
  font-size: 11px !important;
}

@media screen and (max-width: 420px) {
  body#cart .infuthes-cart-summary-card .infuthes-cart-promo__form {
    flex-direction: column !important;
    gap: 9px !important;
  }

  body#cart .infuthes-cart-summary-card .infuthes-cart-promo__input,
  body#cart .infuthes-cart-summary-card .infuthes-cart-promo__submit {
    width: 100% !important;
  }
}

/* =========================================================
   QUICK VIEW V13 - IMAGES DE FORMAT AGRANDIES + CHARGEMENT
   Conserve toute la mise en forme V12 et ajuste uniquement
   la zone image. Desktop : +~11 %. Mobile : +~8 %.
   ========================================================= */

.quickview.infuthes-quickview-v13 .infuthes-qv-format-image-wrap {
  height: 150px !important;
  margin-bottom: 9px !important;
}

.quickview.infuthes-quickview-v13 .infuthes-qv-format-image {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 145px !important;
  object-fit: contain !important;
}

@media screen and (max-width: 767px) {
  .quickview.infuthes-quickview-v13 .infuthes-qv-format-image-wrap {
    height: 112px !important;
    margin-bottom: 7px !important;
  }

  .quickview.infuthes-quickview-v13 .infuthes-qv-format-image {
    max-height: 108px !important;
  }
}

/* =========================================================
   HEADER V4 - MENU DESKTOP LES INFUTHÉS
   Le logo, sa taille, sa position et son débordement restent
   intégralement gérés par le header d'origine.
   ========================================================= */

/* Réseaux sociaux retirés du header uniquement. */
#header .block-social {
  display: none !important;
}

@media screen and (min-width: 1200px) {

  /* Barre supérieure : compte + panier alignés à droite. */
  #header .header-nav .right-nav {
    justify-content: flex-end;
    min-height: 42px;
  }

  /* Navigation principale : aucune boîte blanche au survol. */
  #header .infuthes-main-menu {
    position: relative;
    z-index: 20;
    margin: 0;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] {
    display: flex;
    align-items: center;
    gap: 2px;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 14px;
    background: transparent !important;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li:first-child {
    padding-left: 0;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li:hover,
  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li:focus-within,
  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li.current {
    background: transparent !important;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 68px;
    margin: 0;
    padding: 0 0 2px;
    color: #602f10 !important;
    background: transparent !important;
    font-family: "Lato", sans-serif;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    text-decoration: none !important;
    transition: color .2s ease;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 13px;
    width: 0;
    height: 2px;
    margin: 0 auto;
    background: #64b928;
    border-radius: 10px;
    transition: width .22s ease;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li:hover > a,
  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li:focus-within > a,
  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li.current > a {
    color: #64b928 !important;
  }

  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li:hover > a::after,
  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li:focus-within > a::after,
  #header .infuthes-main-menu > .top-menu[data-depth="0"] > li.current > a::after {
    width: 100%;
  }

  /* ======================================================
     MÉGA-MENU
     ====================================================== */

  #header .infuthes-main-menu .infuthes-mega-menu {
    position: absolute;
    top: calc(100% - 6px);
    left: -20px;
    width: min(890px, calc(100vw - 90px));
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 60;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(245px, .75fr);
    gap: 28px;
    width: 100%;
    padding: 28px;
    color: #602f10;
    background: #fff9e9;
    border: 1px solid rgba(96, 47, 16, .22);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(96, 47, 16, .13);
    box-sizing: border-box;
    overflow: hidden;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #64b928;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__navigation {
    min-width: 0;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__heading {
    margin: 0 0 18px;
    padding: 0 0 15px;
    border-bottom: 1px solid rgba(96, 47, 16, .12);
  }

  #header .infuthes-main-menu .infuthes-mega-menu__eyebrow {
    display: block;
    margin: 0 0 4px;
    color: #64b928;
    font-family: "Lato", sans-serif;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__heading strong {
    display: block;
    margin: 0;
    color: #602f10;
    font-family: "Catenary Stamp", "Lato", sans-serif;
    font-size: 25px;
    line-height: 1.15;
    font-weight: 400;
    text-transform: uppercase;
  }

  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
  }

  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li > a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 10px 34px 10px 16px;
    color: #602f10 !important;
    background: rgba(255, 255, 255, .42) !important;
    border: 1px solid rgba(96, 47, 16, .09);
    border-radius: 11px;
    box-sizing: border-box;
    font-family: "Lato", sans-serif;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 600;
    text-transform: none;
    text-decoration: none !important;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
  }

  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li > a::before {
    content: "";
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    margin-right: 10px;
    background: #64b928;
    border-radius: 50%;
  }

  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li > a::after {
    content: "→";
    position: absolute;
    right: 13px;
    top: 50%;
    color: #b18160;
    font-size: 15px;
    line-height: 1;
    transform: translateY(-50%);
    transition: color .18s ease, transform .18s ease;
  }

  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li > a:hover,
  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li > a:focus {
    color: #64b928 !important;
    background: #fffdf6 !important;
    border-color: rgba(100, 185, 40, .38);
    transform: translateY(-1px);
  }

  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li > a:hover::after,
  #header .infuthes-main-menu .infuthes-mega-menu .top-menu[data-depth="1"] > li > a:focus::after {
    color: #64b928;
    transform: translate(2px, -50%);
  }

  /* Bloc marque à droite. */
  #header .infuthes-main-menu .infuthes-mega-menu__editorial {
    position: relative;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 210px;
    padding: 24px 22px;
    background: #f3e4b9;
    border: 1px solid rgba(96, 47, 16, .13);
    border-radius: 15px;
    box-sizing: border-box;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 44px;
    height: 25px;
    margin: 0 0 13px;
    padding: 0 10px;
    color: #ffffff;
    background: #64b928;
    border-radius: 50px;
    font-family: "Lato", sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .5px;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__editorial-title {
    margin: 0 0 9px;
    color: #602f10;
    font-family: "Catenary Stamp", "Lato", sans-serif;
    font-size: 21px;
    line-height: 1.15;
    font-weight: 400;
    text-transform: uppercase;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__editorial-text {
    margin: 0 0 17px;
    color: #8b6245;
    font-family: "Lato", sans-serif;
    font-size: 13.5px;
    line-height: 1.5;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 6px 0;
    color: #602f10 !important;
    font-family: "Lato", sans-serif;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none !important;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__cta::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 1px;
    background: rgba(96, 47, 16, .35);
  }

  #header .infuthes-main-menu .infuthes-mega-menu__cta:hover,
  #header .infuthes-main-menu .infuthes-mega-menu__cta:focus {
    color: #64b928 !important;
  }

  #header .infuthes-main-menu .infuthes-mega-menu__cta:hover::after,
  #header .infuthes-main-menu .infuthes-mega-menu__cta:focus::after {
    background: #64b928;
  }

  /* Recherche : on conserve sa structure et son emplacement d'origine,
     mais on l'harmonise avec le nouveau menu. */
  #header #search_widget {
    min-height: 42px;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
  }

  #header #search_widget form {
    position: relative;
    min-height: 42px;
    margin: 0;
    background: rgba(255, 252, 245, .68);
    border: 1px solid rgba(96, 47, 16, .42);
    border-radius: 50px;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  }

  #header #search_widget form:focus-within {
    background: #fffdf7;
    border-color: #64b928;
    box-shadow: 0 0 0 3px rgba(100, 185, 40, .08);
  }

  #header #search_widget form input[type="text"] {
    height: 42px;
    padding: 0 46px 0 17px !important;
    color: #602f10;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50px;
    font-family: "Lato", sans-serif;
    font-size: 13px;
    box-shadow: none !important;
  }

  #header #search_widget form input[type="text"]::placeholder {
    color: #a98770;
    opacity: 1;
  }

  #header #search_widget form button[type="submit"] {
    top: 50% !important;
    right: 11px !important;
    transform: translateY(-50%);
  }

  #header #search_widget form button[type="submit"] img {
    width: 23px;
    height: 23px;
    object-fit: contain;
  }
}

/* Mobile : on garde le fonctionnement historique du thème.
   Le méga-menu éditorial n'est pas nécessaire dans l'accordéon mobile. */
@media screen and (max-width: 1199px) {
  #header .infuthes-mega-menu__heading,
  #header .infuthes-mega-menu__editorial {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #header .infuthes-main-menu a {
    transition: none !important;
  }
}
