/* ================= HEADER GLOBAL ================= */

#header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: transparent !important;
  width: 100%;
  overflow: visible;
}

#header .container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box;
}

#wrapper {
  padding-top: 0 !important;
}

/* ================= HEADER HAUT ================= */

#header .header-nav,
.zi-top-header {
  background: #070707 !important;
  height: 58px !important;
  min-height: 58px !important;
  border: none !important;
}

.zi-header-line {
  padding-inline: 35px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center !important;
  height: 58px !important;
}

/* Contact gauche */
.zi-header-left {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start;
  height: 58px !important;
}

.zi-header-left,
.zi-header-left * {
  line-height: 58px !important;
}

.zi-header-left a {
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  display: inline-flex !important;
  align-items: center !important;
  height: 58px !important;
  line-height: 1 !important;
}

/* Logo centre */
.zi-header-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center;
  height: 58px !important;
}

.zi-header-logo img {
  max-height: 50px !important;
  width: auto !important;
}

/* Connexion + panier droite */
.zi-header-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end;
  gap: 24px;
  height: 58px !important;
}

/* Reset alignement modules */
#_desktop_user_info,
#_desktop_user_info a,
#_desktop_cart,
#_desktop_cart .blockcart,
#_desktop_cart .header,
#_desktop_cart a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  height: 58px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#_desktop_user_info *,
#_desktop_cart * {
  line-height: 1 !important;
  vertical-align: middle !important;
}

#_desktop_user_info a,
#_desktop_cart a,
#_desktop_cart span,
#_desktop_cart i,
#_desktop_user_info i {
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
}

/* ================= HEADER BAS ================= */

#header .header-top,
.zi-menu-header {
  background: rgba(1, 1, 1, 0.92) !important;
  backdrop-filter: blur(6px);
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  overflow: visible !important;
}

.zi-menu-line {
  height: 66px !important;
  min-height: 66px !important;
  display: flex !important;
  align-items: center !important;
  width: 100%;
}

/* Menu principal */
.header-top-right,
#_desktop_top_menu {
  width: 100% !important;
}

#_desktop_top_menu {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  background: transparent !important;
}

#_desktop_top_menu .top-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 75px !important;
  width: 100% !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

#_desktop_top_menu .top-menu > li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

#_desktop_top_menu .top-menu > li > a {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  text-transform: uppercase;
  padding: 22px 0 !important;
  display: flex !important;
  align-items: center !important;
  height: 66px !important;
}

#_desktop_top_menu .top-menu > li > a:hover {
  color: #ffd400 !important;
}

/* Bouton rouge */
#_desktop_top_menu .top-menu > li:first-child > a {
  background: #ff1010 !important;
  color: #fff !important;
  border-radius: 4px;
  height: auto !important;
  padding: 18px 28px !important;
}

/* ================= SOUS-MENU VERTICAL ================= */

#_desktop_top_menu .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 280px !important;
  min-width: 280px !important;
  background: #111 !important;
  border-top: 3px solid #ff1010 !important;
  padding: 10px 0 !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
  z-index: 99999 !important;
}

/* force vertical */
#_desktop_top_menu .sub-menu ul,
#_desktop_top_menu .sub-menu .top-menu {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#_desktop_top_menu .sub-menu li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#_desktop_top_menu .sub-menu li a {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding: 14px 20px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  background: transparent !important;
  line-height: 1.3 !important;
}

#_desktop_top_menu .sub-menu li a:hover {
  background: #ff1010 !important;
  color: #fff !important;
}

/* ================= MASQUER RECHERCHE HEADER ================= */

#search_widget {
  display: none !important;
}

/* évite le scroll horizontal */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

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

@media (max-width: 767px) {
  #header .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .zi-header-line {
    display: none !important;
  }
}

/* Correction alignement contact / connexion */
#header .header-nav .language-selector,
#header .header-nav .user-info,
#header .header-nav #_desktop_contact_link #contact-link,
#header .header-nav .sitemap {
  margin-top: 0 !important;
}

/* Force centrage vertical */
#_desktop_contact_link,
#_desktop_contact_link #contact-link,
#_desktop_user_info,
#_desktop_user_info .user-info,
#_desktop_user_info a {
  display: flex !important;
  align-items: center !important;
  height: 58px !important;
  line-height: 1 !important;
}
/* ================= FOOTER ZONE INTERDITE ================= */
#footer {
  padding-top: 0 !important;
}

.zi-footer {
  background: #0b0b0b;
  color: #fff;
}

.zi-footer-top {
  background: #151515;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.zi-footer-service {
  min-height: 85px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
}

.zi-footer-service i {
  font-size: 34px;
  color: #fff;
}

.zi-footer-main {
  width: 95vw;
  max-width: 1900px;
  margin: 0 auto;
  padding: 55px 0;
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 60px;
}

.zi-footer-main h3 {
  color: #ffd400;
  font-size: 28px;
  font-weight: 900;
  margin-bottom: 18px;
}

.zi-footer-main h4 {
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.zi-footer-main p {
  color: #ccc;
  font-size: 15px;
  line-height: 1.6;
}

.zi-footer-main a {
  display: block;
  color: #bbb !important;
  text-decoration: none !important;
  margin-bottom: 10px;
  font-size: 14px;
}

.zi-footer-main a:hover {
  color: #ff1010 !important;
}

.zi-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 20px 2.5vw;
  display: flex;
  justify-content: space-between;
  color: #999;
  font-size: 13px;
}

@media (max-width: 991px) {
  .zi-footer-top,
  .zi-footer-main {
    grid-template-columns: 1fr 1fr;
  }

  .zi-footer-bottom {
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 600px) {
  .zi-footer-top,
  .zi-footer-main {
    grid-template-columns: 1fr;
  }
}

/* ================= FIX FULL WIDTH SLIDER ================= */

/* enlever la limite du container */
#index #wrapper .container,
#index #content-wrapper,
#index .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

/* slider prend toute la largeur */
#carousel,
.carousel,
.carousel-inner,
.carousel-item {
  width: 100% !important;
  max-width: 100% !important;
  height: max-content !important;
}

/* enlever le bloc qui limite */
.carousel-item figure {
  margin: 0 !important;
  width: 100% !important;
}

/* image FULL WIDTH */
.carousel-item img {
  width: 100% !important;
  height: 650px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.carousel-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.85) 0%,
    rgba(0, 0, 0, 0.6) 40%,
    rgba(0, 0, 0, 0.2) 70%,
    rgba(0, 0, 0, 0) 100%
  );
  z-index: 1;
}

.carousel-item .caption {
  z-index: 2;
}

/* ================= TEXTE ================= */

.carousel-caption,
.carousel-item .caption {
  position: absolute !important;
  left: 6% !important;
  top: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  max-width: 800px !important;
  text-align: left !important;
}

.highlight {
  color: #ffd400;
}

.carousel-caption {
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.6);
}

/* titre */
.carousel-caption h2,
.carousel-item .caption h2 {
  font-size: 64px !important;
  letter-spacing: 1px;
  font-weight: 900 !important;
  text-transform: uppercase;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 25px !important;
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.7);
}

/* texte */
.carousel-caption p {
  font-size: 26px !important;
  color: #fff !important;
  margin-top: 20px;
  margin-bottom: 25px !important;
  max-width: 600px;
  line-height: 1.5 !important;
}

.carousel .caption-description p:first-child {
  font-size: 26px !important;
  line-height: 1.5 !important;
}
.caption-description {
  width: max-content !important;
}

/* boutons */
.btn-slider {
  background: #ff1010;
  color: #fff !important;
  padding: 16px 34px;
  font-weight: 800;
  text-transform: uppercase;
  border-radius: 4px;
  display: inline-block;
  margin-right: 15px;
}

.btn-slider-outline {
  border: 2px solid #fff;
  color: #fff !important;
  padding: 14px 30px;
  font-weight: 800;
  text-transform: uppercase;
  border-radius: 4px;
  display: inline-block;
}

.carousel .carousel-control .icon-next {
  right: 3rem !important;
}

.carousel .carousel-control .icon-prev {
  left: 3rem !important;
}

/* ================= INDICATEURS SLIDER ================= */

.carousel-indicators {
  bottom: 25px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px;
}

.carousel-indicators li {
  width: 40px !important;
  height: 4px !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.4) !important;
  opacity: 1 !important;
  border: none !important;
}

.carousel-indicators .active {
  background: #ff1010 !important;
}

.carousel-item .caption h2 {
  display: none !important;
}

.hero-title {
  font-size: 72px;
  line-height: 1.05;
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.7);
}

.hero-title span {
  color: #ffd400;
}

.hero-text {
  font-size: 22px !important;
  line-height: 1.45 !important;
  color: #fff !important;
  max-width: 680px;
}

.hero-buttons {
  margin-top: 25px;
}

/* SECTION HOME : largeur globale */
.zi-home-categories {
  width: 90% !important;
  max-width: 95vw !important;
  margin: 0 auto !important;
  padding: 45px 0 !important;
}

/* recherche + raccourcis */
.zi-search-row {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 35px;
  align-items: end;
  margin-bottom: 28px;
}

.zi-search-box h2 {
  font-size: 26px;
  font-weight: 900;
  color: #111;
  margin-bottom: 18px;
}

.zi-search-box form {
  display: flex;
  height: 64px;
}

.zi-search-box input {
  flex: 1;
  border: 1px solid #ddd;
  background: #fff;
  padding: 0 28px;
  font-size: 16px;
  color: #111;
}

.zi-search-box button {
  width: 76px;
  border: none;
  background: #ff1010;
  color: #fff;
  font-size: 24px;
}

/* raccourcis avec icônes */
.zi-shortcuts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.zi-shortcuts a {
  height: 130px;
  background: #fff;
  border: 1px solid #ddd;
  color: #111 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-decoration: none !important;
  font-weight: 900;
  font-size: 16px;
}

.zi-shortcuts i {
  font-size: 42px;
  color: #111;
}

.zi-shortcuts a:hover {
  border-color: #ff1010;
  color: #ff1010 !important;
}

.zi-shortcuts a:hover i {
  color: #ff1010;
}

/* grille catégories */
.zi-category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.zi-category-grid a {
  height: 230px;
  border-radius: 5px;
  color: #fff !important;
  font-size: 30px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none !important;
  text-align: center;
}

/* avantages */
.zi-benefits {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #fff;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.zi-benefits div {
  min-height: 110px;
  padding: 26px 32px;
  display: grid;
  grid-template-columns: 56px 1fr;
  grid-template-rows: auto auto;
  column-gap: 18px;
  align-items: center;
  border-right: 1px solid #eee;
}

.zi-benefits i {
  grid-row: 1 / 3;
  font-size: 42px;
  color: #111;
}

.zi-benefits strong {
  font-size: 16px;
  font-weight: 900;
  color: #111;
}

.zi-benefits span {
  font-size: 15px;
  color: #555;
}

/* responsive */
@media (max-width: 991px) {
  .zi-home-categories {
    width: 94% !important;
  }

  .zi-search-row {
    grid-template-columns: 1fr;
  }

  .zi-category-grid,
  .zi-shortcuts,
  .zi-benefits {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Images par carte */
.zi-category-grid a:nth-child(1) {
  background-image: url("/themes/child_classic/assets/img/home-cats/atelier.png") !important;
}

.zi-category-grid a:nth-child(2) {
  background-image: url("/themes/child_classic/assets/img/home-cats/diagnostic.png") !important;
}

.zi-category-grid a:nth-child(3) {
  background-image: url("/themes/child_classic/assets/img/home-cats/pneus.png") !important;
}

.zi-category-grid a:nth-child(4) {
  background-image: url("/themes/child_classic/assets/img/home-cats/consommables.png") !important;
}

.zi-category-grid a:nth-child(5) {
  background-image: url("/themes/child_classic/assets/img/home-cats/electricite.png") !important;
}

.zi-category-grid a:nth-child(6) {
  background-image: url("/themes/child_classic/assets/img/home-cats/outils.png") !important;
}

.zi-category-grid a:nth-child(7) {
  background-image: url("/themes/child_classic/assets/img/home-cats/quad.png") !important;
}

.zi-category-grid a:nth-child(8) {
  background-image: url("/themes/child_classic/assets/img/home-cats/promotions.png") !important;
}

/* hover pro */
.zi-category-grid a {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
  overflow: hidden;
  align-items: flex-start;
  justify-content: center;
  padding-top: 30px;
  text-shadow: 0 3px 8px rgba(0, 0, 0, 0.8);
}

.zi-category-grid a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
}

.zi-category-grid a::after {
  content: "DÉCOUVRIR";
  position: absolute;
  left: 25px;
  bottom: 20px;
  background: #ff1010;
  color: #fff;
  font-size: 14px;
  padding: 12px 22px;
  border-radius: 3px;
  z-index: 2;
}

.zi-category-grid a:hover {
  transform: translateY(-3px);
  filter: brightness(1.1);
}

/* ================= PRODUITS POPULAIRES DESIGN ================= */

.featured-products {
  width: 94% !important;
  max-width: 95vw !important;
  margin: 70px auto !important;
}

.featured-products .products-section-title {
  text-align: left !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase;
  margin-bottom: 45px !important;
  position: relative;
}

.featured-products .products-section-title::after {
  content: "";
  width: 70px;
  height: 4px;
  background: #ff1010;
  position: absolute;
  left: 0;
  bottom: -12px;
}

.featured-products .products {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 18px !important;
  margin: 0 !important;
}

.featured-products .products > article,
.featured-products .product-miniature {
  width: auto !important;
  max-width: none !important;
  flex: unset !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.featured-products .thumbnail-container {
  width: 100% !important;
  height: 520px !important;
  background: #fff !important;
  border-radius: 8px;
  padding: 18px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
  position: relative !important;
  overflow: hidden !important;
}

.featured-products .thumbnail-container img {
  width: 100% !important;
  height: 230px !important;
  object-fit: contain !important;
}

.featured-products .product-description {
  position: static !important;
  width: 100% !important;
  background: transparent !important;
  text-align: center;
  padding-top: 18px !important;
}

.featured-products .product-title {
  min-height: 58px;
}

.featured-products .product-title a {
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: #222 !important;
}

.featured-products .product-price-and-shipping {
  margin-top: 18px;
}

.featured-products .price {
  font-size: 26px !important;
  font-weight: 900 !important;
  color: #111 !important;
}

.featured-products .regular-price {
  color: #888 !important;
  font-size: 18px !important;
  margin-left: 8px;
}

.featured-products .product-flags {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 5;
}

.featured-products .product-flag {
  background: #ff1010 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  padding: 9px 14px !important;
  border-radius: 3px !important;
}

.featured-products .product-flag.new {
  background: #07366f !important;
}

.featured-products .highlighted-informations {
  display: none !important;
}

.zi-add-to-cart-form {
  margin-top: 22px;
}

.zi-add-to-cart-btn {
  width: 100%;
  background: #151515;
  color: #fff;
  border: none;
  padding: 15px 10px;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
  border-radius: 4px;
  cursor: pointer;
}

.zi-add-to-cart-btn:hover {
  background: #ff1010;
}

.featured-products .all-product-link {
  float: right;
  margin-top: 35px;
  color: #111 !important;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
}

@media (max-width: 1400px) {
  .featured-products .products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 991px) {
  .featured-products .products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .featured-products .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .featured-products .thumbnail-container {
    height: 440px !important;
  }
}

@media (min-width: 1200px) {
  .col-xl-3 {
    width: 100% !important;
  }
}

.zi-add-to-cart-form {
  margin-top: 18px;
}

.zi-add-to-cart-btn {
  width: 100%;
  background: #151515;
  color: #fff;
  border: none;
  padding: 14px 12px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  border-radius: 4px;
  cursor: pointer;
}

.zi-add-to-cart-btn:hover {
  background: #ff1010;
}

/* ===== FIX PRODUITS POPULAIRES ===== */

/* badge promo : ne prend plus toute la largeur */
.featured-products .product-flag.discount,
.featured-products .product-flag.on-sale,
.featured-products .product-flag {
  width: auto !important;
  display: inline-block !important;
  left: 18px !important;
  right: auto !important;
  padding: 8px 14px !important;
}

/* carte moins haute / moins d'espace sous bouton */
.featured-products .thumbnail-container {
  height: 470px !important;
  padding-bottom: 18px !important;
}

/* bouton panier plus lisible */
.zi-add-to-cart-btn {
  font-size: 15px !important;
  padding: 15px 12px !important;
  min-height: 48px;
}

/* remonter légèrement le bouton */
.zi-add-to-cart-form {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
}

/* enlever espace bas inutile */
.featured-products .product-description {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* lien tous les produits mieux placé en haut à droite */
.featured-products {
  position: relative;
}

.featured-products .all-product-link {
  position: absolute !important;
  top: 8px !important;
  right: 0 !important;
  margin: 0 !important;
  float: none !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase;
}

/* container des badges */
.featured-products .product-flags {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start; /* ← IMPORTANT */
}

/* badge */
.featured-products .product-flag {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  padding: 6px 14px !important;
  border-radius: 4px;
}

/* option : espacement propre entre badges */
.featured-products .product-flag + .product-flag {
  margin-top: 6px;
}

/* ================= BANNIÈRE DIAGNOSTIC ================= */
.zi-diagnostic-banner {
  width: 95vw;
  max-width: 95vw;
  margin: 50px auto;
  background: linear-gradient(90deg, #050505, #1a1a1a);
  border-radius: 8px;

  display: grid;
  grid-template-columns: 300px 1px 1fr auto;
  align-items: center;
  gap: 30px;
  padding: 25px 40px;
}

/* IMAGE */
.zi-diagnostic-left img {
  width: 100%;
  max-height: 140px;
  object-fit: contain;
}

/* BARRE */
.zi-diagnostic-separator {
  width: 1px;
  height: 120px;
  background: rgba(255, 255, 255, 0.2);
}

/* TEXTE */
.zi-diagnostic-content h2 {
  color: #fff;
  font-size: 34px;
  font-weight: 900;
  margin: 0 0 10px;
}

.zi-diagnostic-content span {
  color: #ffd400;
}

.zi-diagnostic-content p {
  color: #ddd;
  font-size: 18px;
  margin: 0;
}

/* BOUTON */
.zi-diagnostic-btn {
  background: #ff1010;
  color: #fff;
  padding: 18px 30px;
  font-weight: 900;
  text-decoration: none;
  border-radius: 4px;
}

/* ================= PROMOTIONS DU MOMENT ================= */

.featured-products.special-products,
.special-products {
  width: 95vw !important;
  max-width: 1900px !important;
  margin: 60px auto !important;
  position: relative;
}

.special-products .products-section-title {
  text-align: left !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase;
  margin-bottom: 40px !important;
  position: relative;
}

.special-products .products-section-title::after {
  content: "";
  width: 70px;
  height: 4px;
  background: #ff1010;
  position: absolute;
  left: 0;
  bottom: -12px;
}

.special-products .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 26px !important;
  margin: 0 !important;
}

.special-products .products > article,
.special-products .product-miniature,
.special-products .js-product-miniature {
  width: auto !important;
  max-width: none !important;
  flex: unset !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.special-products .thumbnail-container {
  width: 100% !important;
  height: 330px !important;
  background: #fff !important;
  border-radius: 6px;
  padding: 18px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
  position: relative !important;
  overflow: hidden !important;
}

.special-products .thumbnail-container img {
  width: 100% !important;
  height: 150px !important;
  object-fit: contain !important;
}

.special-products .product-description {
  position: static !important;
  width: 100% !important;
  background: transparent !important;
  text-align: center;
  padding-top: 10px !important;
}

.special-products .product-title {
  min-height: 45px;
}

.special-products .product-title a {
  font-size: 17px !important;
  line-height: 1.35 !important;
  color: #222 !important;
}

.special-products .price {
  font-size: 23px !important;
  font-weight: 900 !important;
  color: #ff1010 !important;
}

.special-products .regular-price {
  font-size: 16px !important;
  color: #999 !important;
  margin-left: 8px;
}

.special-products .product-flags {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 5;
}

.special-products .product-flag {
  width: auto !important;
  display: inline-block !important;
  background: #ff1010 !important;
  color: #fff !important;
  padding: 7px 13px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  border-radius: 3px;
}

.special-products .highlighted-informations {
  display: none !important;
}

.special-products .all-product-link {
  position: absolute !important;
  top: 8px !important;
  right: 0 !important;
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase;
}

@media (max-width: 991px) {
  .special-products .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ================= BANDEAU MARQUE ================= */

.zi-brand-strip {
  width: 95vw;
  max-width: 95vw;
  margin: 60px auto;
  background: linear-gradient(90deg, #111, #242424);
  border-radius: 7px;
  padding: 28px 38px;
  display: grid;
  grid-template-columns: 130px 1.8fr repeat(4, 1fr);
  align-items: center;
  color: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
}

.zi-brand-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
  height: 105px;
}

.zi-logo-badge {
  width: 92px;
  height: 92px;
  border: 4px solid #ffd400;
  border-radius: 50%;
  color: #ffd400;
  font-size: 58px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zi-brand-text {
  padding: 0 38px;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.zi-brand-text h2 {
  color: #ffd400;
  font-size: 26px;
  font-weight: 900;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.zi-brand-text p {
  color: #fff;
  font-size: 17px;
  line-height: 1.45;
  margin: 0;
}

.zi-brand-stat {
  height: 105px;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 6px;
}

.zi-brand-stat:last-child {
  border-right: 0;
}

.zi-brand-stat i {
  font-size: 38px;
  color: #fff;
}

.zi-brand-stat strong {
  font-size: 24px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.zi-brand-stat span {
  font-size: 14px;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
}

@media (max-width: 991px) {
  .zi-brand-strip {
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }

  .zi-brand-logo,
  .zi-brand-text,
  .zi-brand-stat {
    border-right: 0;
  }

  .zi-brand-text {
    padding: 0;
  }
}

/* PROMOTIONS UNIQUEMENT */
.zi-promotions .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

/* responsive */
@media (max-width: 1200px) {
  .zi-promotions .products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .zi-promotions .products {
    display: grid !important;
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 18px !important;
  }
}
/* ================= BLOCS ACTION HOME ================= */

.zi-action-row {
  width: 95vw;
  max-width: 95vw;
  margin: 45px auto 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #fff;
  border: 1px solid #eee;
}

.zi-action-card {
  min-height: 150px;
  padding: 28px 35px;
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 22px;
  align-items: center;
  border-right: 1px solid #eee;
}

.zi-action-card:last-child {
  border-right: 0;
}

.zi-action-card i {
  font-size: 46px;
  color: #111;
}

.zi-action-card h3 {
  font-size: 18px;
  font-weight: 900;
  color: #111;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.zi-action-card p {
  font-size: 17px;
  color: #555;
  margin: 0 0 14px;
  line-height: 1.4;
}

.zi-btn-red,
.zi-newsletter-card button {
  display: inline-block;
  background: #e60000;
  color: #fff !important;
  border: 0;
  padding: 12px 24px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none !important;
}

.zi-btn-black {
  display: inline-block;
  background: #151515;
  color: #fff !important;
  padding: 12px 24px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none !important;
}

.zi-newsletter-card {
  grid-template-columns: 1fr;
}

.zi-newsletter-card form {
  display: flex;
  margin-top: 12px;
}

.zi-newsletter-card input {
  height: 48px;
  flex: 1;
  border: 1px solid #ddd;
  padding: 0 18px;
}

.zi-newsletter-card button {
  height: 48px;
  min-width: 150px;
}

@media (max-width: 991px) {
  .zi-action-row {
    grid-template-columns: 1fr;
  }

  .zi-action-card {
    border-right: 0;
    border-bottom: 1px solid #eee;
  }
}

/* ================= PAGE CATEGORIE / RECHERCHE ================= */

#category #wrapper,
#search #wrapper {
  background: #f4f4f4 !important;
}

#category .container,
#search .container,
#search #main {
  width: 90vw !important;
}

#category #main,
#search #main {
  margin: 40px auto 70px !important;
}

/* Titre page */
#category #js-product-list-header,
#search #js-product-list-header {
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase;
  margin-bottom: 12px;
}

/* Zone globale listing */
#category #products,
#search #products {
  display: block !important;
}

/* Colonne filtres */
#category #left-column,
#search #left-column {
  background: #fff;
  padding: 28px 24px;
  border-radius: 6px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.04);
  width: fit-content !important;
}

/* Liste produits */
#category #js-product-list,
#search #js-product-list {
  width: 100%;
}

/* Grid produits */
#category #js-product-list .products,
#search #js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
}

/* Reset Bootstrap / flex / float */
#category #js-product-list .products > *,
#search #js-product-list .products > *,
#category .products > article,
#search .products > article,
#category #js-product-list .product,
#search #js-product-list .product {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ================= CARD PRODUIT ================= */

#category .product-miniature .thumbnail-container,
#search .product-miniature .thumbnail-container {
  height: 420px !important;
  background: #fff !important;
  border-radius: 6px !important;
  padding: 16px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

#category .product-miniature .thumbnail-container:hover,
#search .product-miniature .thumbnail-container:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}

/* Image */
#category .product-miniature .thumbnail-top,
#search .product-miniature .thumbnail-top {
  height: 210px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

#category .product-miniature img,
#search .product-miniature img {
  width: 100% !important;
  max-height: 200px !important;
  object-fit: contain !important;
}

/* Description */
#category .product-description,
#search .product-description {
  position: static !important;
  background: transparent !important;
  text-align: left !important;
  padding-top: 18px !important;
}

/* Titre produit */
#category .product-title,
#search .product-title {
  min-height: 45px !important;
  margin-bottom: 8px !important;
}

#category .product-title a,
#search .product-title a {
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

#category .product-title a:hover,
#search .product-title a:hover {
  color: #ff1010 !important;
}

/* Prix */
#category .product-price-and-shipping,
#search .product-price-and-shipping {
  margin-top: 14px !important;
}

#category .price,
#search .price,
#category .product-price-and-shipping .price,
#search .product-price-and-shipping .price {
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

#category .has-discount .price,
#search .has-discount .price {
  color: #ff1010 !important;
}

#category .regular-price,
#search .regular-price {
  color: #aaa !important;
  font-size: 13px !important;
  text-decoration: line-through !important;
}

/* Bouton panier carré */
#category .zi-add-to-cart-form,
#search .zi-add-to-cart-form {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  margin: 0 !important;
}

#category .zi-add-to-cart-btn,
#search .zi-add-to-cart-btn {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 3px !important;
  background: #151515 !important;
  padding: 0 !important;
  font-size: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

#category .zi-add-to-cart-btn:hover,
#search .zi-add-to-cart-btn:hover {
  background: #ff1010 !important;
  transform: scale(1.05);
}

#category .zi-add-to-cart-btn i,
#search .zi-add-to-cart-btn i {
  font-size: 22px !important;
  color: #fff !important;
}

/* Badges */
#category .product-flags,
#search .product-flags {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 5;
  display: block !important;
  flex-direction: column;
  gap: 6px;
}

#category .product-flag,
#search .product-flag {
  width: fit-content !important;
  display: inline-block !important;
  background: #ff1010 !important;
  color: #fff !important;
  padding: 6px 12px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  border-radius: 3px !important;
  text-transform: uppercase;
}

#category .product-flag.new,
#search .product-flag.new {
  background: #07366f !important;
}

/* Wishlist */
#category .wishlist-button-add,
#search .wishlist-button-add {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 34px !important;
  height: 34px !important;
  background: transparent !important;
  border: 0 !important;
  z-index: 6;
}

/* Cacher quick view */
#category .highlighted-informations,
#search .highlighted-informations {
  display: none !important;
}

/* Tri */
#category .products-sort-order,
#search .products-sort-order {
  background: #fff;
  border-radius: 4px;
}

/* ================= PAGINATION ================= */

#category .page-list,
#search .page-list {
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  margin: 40px 0 !important;
  list-style: none;
}

#category .page-list li a,
#search .page-list li a,
#category .page-list li span,
#search .page-list li span {
  width: 38px;
  height: 38px;
  border-radius: 4px;
  background: #fff;
  color: #111 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  border: 1px solid #eee;
  text-decoration: none !important;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

#category .page-list li a:hover,
#search .page-list li a:hover {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

#category .page-list .current a,
#search .page-list .current a {
  background: #ff1010 !important;
  color: #fff !important;
  border-color: #ff1010 !important;
}

#category .page-list .next,
#search .page-list .next {
  width: auto !important;
  padding: 0 14px !important;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 1200px) {
  #category #js-product-list .products,
  #search #js-product-list .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  #category #js-product-list .products,
  #search #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #category #left-column,
  #search #left-column {
    margin-bottom: 24px;
  }
}

@media (max-width: 575px) {
  #category .container,
  #search .container,
  #category #main,
  #search #main {
    width: 92vw !important;
  }

  #category #js-product-list .products,
  #search #js-product-list .products {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  #category .product-miniature .thumbnail-container,
  #search .product-miniature .thumbnail-container {
    height: auto !important;
    min-height: 410px;
  }

  #category #js-product-list-header,
  #search #js-product-list-header {
    font-size: 24px !important;
  }
}

/* ================= FIX LARGEUR CARD PRODUIT ================= */

#category #js-product-list .products > .product,
#search #js-product-list .products > .product {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#category .product-miniature,
#search .product-miniature {
  width: 100% !important;
  max-width: none !important;
}

#category .product-miniature .thumbnail-container,
#search .product-miniature .thumbnail-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 420px !important;
  margin: 0 !important;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 18px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06) !important;
}

#category .product-miniature .thumbnail-top,
#search .product-miniature .thumbnail-top {
  width: 100% !important;
  height: 210px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#category .product-miniature .thumbnail,
#search .product-miniature .thumbnail,
#category .product-miniature .product-thumbnail,
#search .product-miniature .product-thumbnail {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

#category .product-miniature img,
#search .product-miniature img {
  width: 100% !important;
  max-width: 230px !important;
  max-height: 200px !important;
  object-fit: contain !important;
}

/* ================= FIX GRID PRODUITS ================= */

#category #js-product-list .products,
#search #js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  margin: 0 !important;
}

#category #js-product-list .products.row,
#search #js-product-list .products.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Cacher breadcrumb Classic sur page catégorie */
#category #wrapper > .container > .breadcrumb {
  display: none !important;
}

#category .block-category,
#search .block-category,
#category .block-category.card,
#search .block-category.card,
#category .block-category.card-block,
#search .block-category.card-block {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* ================= HEADER CATEGORIE CUSTOM ================= */

#category #wrapper > .container > .breadcrumb {
  display: none !important;
}

#category .zi-category-header {
  width: 100%;
  background: transparent !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

#category .zi-category-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  font-size: 13px;
  color: #999;
}

#category .zi-category-breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
}

#category .zi-category-breadcrumb a:hover {
  color: #111 !important;
}

#category .zi-category-header h1 {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
  font-size: 28px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase;
}

#category .zi-category-header p {
  margin: 0 !important;
  color: #999;
  font-size: 13px;
  font-weight: 400;
}

/* ================= PAGINATION CATEGORY ================= */

/* enlève "Affichage 1-8 de 88 article(s)" dans la pagination */
#category .pagination > .col-md-4,
#search .pagination > .col-md-4 {
  display: none !important;
}

/* centre la pagination */
#category .pagination,
#search .pagination {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 45px 0 20px !important;
}

#category .pagination > .col-md-6,
#search .pagination > .col-md-6,
#category .pagination > .offset-md-2,
#search .pagination > .offset-md-2 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* liste pagination */
#category .page-list,
#search .page-list {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* boutons */
#category .page-list li a,
#search .page-list li a,
#category .page-list li span,
#search .page-list li span {
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #eee !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* page active */
#category .page-list .current a,
#search .page-list .current a {
  background: #ff1010 !important;
  color: #fff !important;
  border-color: #ff1010 !important;
}

/* bouton suivant plus large */
#category .page-list .next,
#search .page-list .next {
  min-width: 100px !important;
  gap: 4px !important;
}

/* hover */
#category .page-list li a:hover,
#search .page-list li a:hover {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

/* ================= ALIGNEMENT TEXTE / PRIX CARD ================= */

/* zone texte de la card */
#category .product-miniature .product-description,
#search .product-miniature .product-description {
  text-align: left !important;
  padding: 18px 0 0 0 !important;
}

/* titre produit à gauche */
#category .product-miniature .product-title,
#search .product-miniature .product-title {
  text-align: left !important;
  margin: 0 0 18px 0 !important;
  min-height: 44px !important;
}

#category .product-miniature .product-title a,
#search .product-miniature .product-title a {
  display: block !important;
  text-align: left !important;
}

/* prix aligné en bas avec le bouton panier */
#category .product-miniature .product-price-and-shipping,
#search .product-miniature .product-price-and-shipping {
  position: absolute !important;
  left: 18px !important;
  right: 78px !important;
  bottom: 26px !important;
  margin: 0 !important;
  text-align: left !important;
}

#category .product-miniature .price,
#search .product-miniature .price {
  display: block !important;
  text-align: left !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #111 !important;
}

/* bouton panier au même niveau que le prix */
#category .product-miniature .zi-add-to-cart-form,
#search .product-miniature .zi-add-to-cart-form {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  margin: 0 !important;
}

/* ================= BARRE DE TRI CATEGORY ================= */

#category #js-product-list-top,
#search #js-product-list-top {
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#category .products-selection,
#search .products-selection {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

#category .products-selection .col-lg-7,
#search .products-selection .col-lg-7 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}

#category .sort-by-row,
#search .sort-by-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#category .sort-by,
#search .sort-by {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  color: #777 !important;
  font-weight: 500 !important;
}

#category .products-sort-order,
#search .products-sort-order {
  width: 220px !important;
  max-width: 220px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

#category .products-sort-order .select-title,
#search .products-sort-order .select-title {
  width: 100% !important;
  height: 44px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
  padding: 0 42px 0 16px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

#category .products-sort-order .select-title:hover,
#search .products-sort-order .select-title:hover {
  border-color: #111 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07) !important;
}

#category .products-sort-order .select-title i,
#search .products-sort-order .select-title i {
  position: absolute !important;
  right: 14px !important;
  color: #111 !important;
  font-size: 22px !important;
}

#category .products-sort-order .dropdown-menu,
#search .products-sort-order .dropdown-menu {
  width: 220px !important;
  min-width: 220px !important;
  margin-top: 8px !important;
  padding: 8px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.12) !important;
}

#category .products-sort-order .select-list,
#search .products-sort-order .select-list {
  padding: 10px 12px !important;
  border-radius: 5px !important;
  color: #222 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

#category .products-sort-order .select-list:hover,
#search .products-sort-order .select-list:hover,
#category .products-sort-order .select-list.current,
#search .products-sort-order .select-list.current {
  background: #f4f4f4 !important;
  color: #ff1010 !important;
}

/* enlever les restes Bootstrap autour */
#category .products-selection .row,
#search .products-selection .row {
  margin: 0 !important;
}

#category .products-selection [class*="col-"],
#search .products-selection [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#category .products-sort-order .select-title,
#search .products-sort-order .select-title {
  position: relative !important;
}

#category .products-sort-order .select-title i,
#search .products-sort-order .select-title i {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.pagination .page-list {
  background-color: transparent !important;
}

/* Enlever le compteur produit natif PrestaShop */
#category #js-product-list-top .total-products,
#search #js-product-list-top .total-products {
  display: none !important;
}

/* ================= CATEGORY HEADER FULL WIDTH ================= */

#category #wrapper > .container > .breadcrumb {
  display: none !important;
}

#category #wrapper > .container > .row {
  display: block !important;
}

#category #content-wrapper {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}

#category #left-column {
  display: none !important;
}

#category .zi-category-page-header {
  width: 100%;
  margin: 0 0 44px 0;
  padding: 0;
}

#category .zi-category-breadcrumb {
  display: flex;
  gap: 10px;
  margin-bottom: 28px;
  font-size: 13px;
  font-weight: 800;
  color: #aaa;
  text-transform: uppercase;
}

#category .zi-category-breadcrumb a {
  color: #aaa !important;
  text-decoration: none !important;
}

#category .zi-category-page-header h1 {
  margin: 0 0 24px 0 !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase;
}

#category .zi-category-page-header p {
  margin: 0 !important;
  font-size: 13px;
  color: #999;
  text-transform: uppercase;
}

/* layout sous le header */
#category .zi-category-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 42px;
  align-items: start;
}

#category .zi-category-sidebar {
  width: 100%;
}

#category .zi-category-content {
  min-width: 0;
  width: 100%;
}

/* ancien header dans le contenu : vide */
#category .zi-category-content #js-product-list-header {
  display: none !important;
}

/* responsive */
@media (max-width: 991px) {
  #category .zi-category-layout {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   SIDEBAR CATÉGORIES - STYLE PROPRE
========================================================= */

/* bloc global */
#category .block-categories {
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 10px !important;
  padding: 22px 20px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
  margin-bottom: 28px !important;
}

/* enlever le "Accueil" du haut */
#category .block-categories > .category-top-menu > li:first-child {
  display: none !important;
}

/* reset listes */
#category .block-categories ul,
#category .block-categories li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* conteneur principal */
#category .block-categories .category-top-menu {
  margin: 0 !important;
  padding: 0 !important;
}

/* niveau principal */
#category .block-categories .category-sub-menu > li[data-depth="0"] {
  position: relative !important;
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #f1f1f1 !important;
}

#category .block-categories .category-sub-menu > li[data-depth="0"]:last-child {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* lien niveau principal */
#category .block-categories .category-sub-menu > li[data-depth="0"] > a {
  display: block !important;
  padding: 4px 34px 4px 0 !important;
  color: #1d1d1d !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: all 0.2s ease !important;
}

#category .block-categories .category-sub-menu > li[data-depth="0"] > a:hover {
  color: #e30613 !important;
  padding-left: 4px !important;
}

/* bouton + / - */
#category .block-categories .collapse-icons {
  position: absolute !important;
  top: 2px !important;
  right: 0 !important;
  width: 26px !important;
  height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  background: #f7f7f7 !important;
  color: #222 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

#category .block-categories .collapse-icons:hover {
  background: #e30613 !important;
  color: #fff !important;
}

/* sous-catégories ouvertes */
#category .block-categories .category-sub-menu .collapse {
  margin-top: 10px !important;
  padding-top: 6px !important;
  padding-left: 12px !important;
  border-left: 2px solid #f0f0f0 !important;
}

#category .block-categories .category-sub-menu .collapse .category-sub-menu li {
  margin-bottom: 8px !important;
}

#category .block-categories .category-sub-menu .collapse .category-sub-menu a {
  display: block !important;
  color: #666 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  padding: 2px 0 !important;
  transition: all 0.2s ease !important;
}

#category
  .block-categories
  .category-sub-menu
  .collapse
  .category-sub-menu
  a:hover {
  color: #e30613 !important;
  padding-left: 4px !important;
}

/* style du bloc "Filtrer par" pour harmoniser */
#category #search_filters {
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 10px !important;
  padding: 22px 20px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
}

#category #search_filters > p {
  margin-bottom: 18px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #111 !important;
  text-transform: uppercase !important;
}

#category #search_filters .facet-title {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #222 !important;
  text-transform: uppercase !important;
}

/* ================= SIDEBAR CATEGORIES ACTIVE AUTO ================= */

/* catégorie active */
#category .block-categories a.zi-current-category {
  color: #e30613 !important;
  font-weight: 800 !important;
}

/* parent de la catégorie active */
#category .block-categories li.zi-current-parent > a {
  color: #e30613 !important;
  font-weight: 800 !important;
}

/* sous-catégories ouvertes */
#category .block-categories .collapse.show,
#category .block-categories .collapse.in {
  display: block !important;
}

/* sous-catégories */
#category .block-categories .collapse .category-sub-menu {
  margin-top: 12px !important;
  padding-left: 14px !important;
  border-left: 1px solid #ddd !important;
}

#category .block-categories .collapse .category-sub-menu li {
  margin-bottom: 10px !important;
}

#category .block-categories .collapse .category-sub-menu a {
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
}

#category .block-categories .collapse .category-sub-menu a:hover,
#category .block-categories .collapse .category-sub-menu a.zi-current-category {
  color: #e30613 !important;
}

/* bouton + / - plus sobre */
#category .block-categories .collapse-icons {
  background: transparent !important;
  color: #111 !important;
  border-radius: 0 !important;
  width: 24px !important;
  height: 24px !important;
}

#category .block-categories .collapse-icons:hover {
  background: transparent !important;
  color: #e30613 !important;
}

/* éviter le bouton rouge bizarre */
#category .block-categories .collapse-icons .add,
#category .block-categories .collapse-icons .remove {
  color: inherit !important;
}

/* ================= FILTRES ACTIFS ================= */

#category #js-active-search-filters {
  display: block !important;
  margin: 0 0 28px 0 !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border: 1px solid #eee !important;
  border-radius: 8px !important;
}

#category #js-active-search-filters.hide {
  display: none !important;
}

#category #js-active-search-filters .h6 {
  margin: 0 0 10px 0 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: #111 !important;
}

#category #js-active-search-filters .filter-block {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 4px 6px 4px 0 !important;
  padding: 7px 10px !important;
  background: #f5f5f5 !important;
  border-radius: 6px !important;
  color: #333 !important;
  font-size: 12px !important;
}

#category #js-active-search-filters .js-search-link {
  color: #e30613 !important;
  text-decoration: none !important;
}

/* catégorie active, parent ou sous-catégorie */
#category .block-categories a.zi-current-category,
#category .block-categories a.zi-current-parent-link,
#category .block-categories li.zi-current-parent > a {
  color: #e30613 !important;
  font-weight: 800 !important;
}

/* ouvre le sous-menu actif */
#category .block-categories .collapse.show,
#category .block-categories .collapse.in {
  display: block !important;
}

/* si la catégorie active est un parent direct */
#category .block-categories li.zi-current-li > a {
  color: #e30613 !important;
  font-weight: 800 !important;
}

/* ================= FILTRES ACTIFS EN HAUT ================= */

#category #js-active-search-filters,
#search #js-active-search-filters {
  display: block !important;
  margin: 0 0 28px 0 !important;
  padding: 16px 18px !important;
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
}

#category #js-active-search-filters.hide,
#search #js-active-search-filters.hide {
  display: none !important;
}

#category #js-active-search-filters p,
#search #js-active-search-filters p {
  margin: 0 0 10px 0 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #111 !important;
  text-transform: uppercase !important;
}

#category #js-active-search-filters .filter-block,
#search #js-active-search-filters .filter-block {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 4px 6px 4px 0 !important;
  padding: 7px 10px !important;
  background: #f4f4f4 !important;
  border-radius: 5px !important;
  color: #333 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

#category #js-active-search-filters .js-search-link,
#search #js-active-search-filters .js-search-link {
  color: #e30613 !important;
  text-decoration: none !important;
}

/* =========================================================
   FILTRE PRIX - BARRE ROUGE
========================================================= */

#search_filters .ui-slider-range {
  background: #e30613 !important;
}

#search_filters .ui-slider-horizontal {
  height: 4px !important;
  border: 0 !important;
  background: #bdbdbd !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

#search_filters .ui-slider-handle {
  width: 14px !important;
  height: 14px !important;
  top: -5px !important;
  border-radius: 50% !important;
  border: 2px solid #e30613 !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#search_filters .ui-slider-handle:focus {
  outline: none !important;
}

/* =========================================================
   FILTRES ACTIFS EN HAUT
========================================================= */

#category #js-active-search-filters,
#search #js-active-search-filters {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 28px 0 !important;
  padding: 14px 18px !important;
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
}

#category #js-active-search-filters.hide,
#search #js-active-search-filters.hide {
  display: none !important;
}

#category #js-active-search-filters > p,
#search #js-active-search-filters > p {
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #111 !important;
  text-transform: uppercase !important;
}

/* badges filtres */
#category #js-active-search-filters .filter-block,
#search #js-active-search-filters .filter-block {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: #f6f6f6 !important;
  border-radius: 6px !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

#category #js-active-search-filters .filter-block .js-search-link,
#search #js-active-search-filters .filter-block .js-search-link {
  color: #222 !important;
  text-decoration: none !important;
}

#category #js-active-search-filters .filter-block .js-search-link:hover,
#search #js-active-search-filters .filter-block .js-search-link:hover {
  color: #e30613 !important;
}

/* bouton effacer tout en haut */
#category #js-active-search-filters .zi-clear-all-top,
#search #js-active-search-filters .zi-clear-all-top {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  background: #fff1f1 !important;
  border: 1px solid #ffd4d4 !important;
  color: #e30613 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
}

#category #js-active-search-filters .zi-clear-all-top:hover,
#search #js-active-search-filters .zi-clear-all-top:hover {
  background: #e30613 !important;
  color: #fff !important;
}

#category #js-active-search-filters .zi-clear-all-top .material-icons,
#search #js-active-search-filters .zi-clear-all-top .material-icons {
  font-size: 16px !important;
  line-height: 1 !important;
}

/* =========================================================
   SIDEBAR SOUS-CATEGORIES - INDENTATION PROPRE
========================================================= */

#category .block-categories li[data-depth="0"] > .collapse {
  margin-top: 8px !important;
  padding-top: 4px !important;
  padding-left: 12px !important;
  border-left: 1px solid #e2e2e2 !important;
}

#category .block-categories li[data-depth="1"] {
  margin: 0 0 7px 0 !important;
  padding: 0 !important;
}

#category .block-categories li[data-depth="1"] > a,
#category .block-categories .category-sub-link {
  padding: 2px 0 !important;
  margin: 0 !important;
  display: block !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* évite la double indentation causée par les ul imbriquées */
#category
  .block-categories
  li[data-depth="0"]
  > .collapse
  > .category-sub-menu {
  margin: 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
}

/* Active toutes les catégories courantes via l'ID body */
body[class*="category-id-"] .block-categories a.zi-current-category,
body[class*="category-id-"] .block-categories a.zi-current-parent-link,
body[class*="category-id-"] .block-categories li.zi-current-parent > a,
body[class*="category-id-"] .block-categories li.zi-current-li > a {
  color: #e30613 !important;
  font-weight: 800 !important;
}

/* =========================================================
   PRODUCT PAGE - HERO PRODUIT FINAL
   Breadcrumb + galerie + infos produit
========================================================= */

#product #wrapper {
  background: #f4f4f4 !important;
}

/* page en 95vw */
#product #wrapper > .container {
  width: 95vw !important;
  max-width: 1800px !important;
  margin: 0 auto !important;
  padding: 32px 0 70px !important;
}

#product #content-wrapper,
#product #main {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

/* ================= FIL D'ARIANE ================= */

#product .breadcrumb {
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#product .breadcrumb ol {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#product .breadcrumb li,
#product .breadcrumb a,
#product .breadcrumb span {
  color: #999 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

#product .breadcrumb a:hover {
  color: #e30613 !important;
}

#product .breadcrumb li::after {
  content: "›";
  margin-left: 10px;
  color: #c7c7c7;
}

#product .breadcrumb li:last-child::after {
  display: none;
}

/* ================= LAYOUT PRINCIPAL ================= */

#product .row.product-container,
#product .product-container {
  display: grid !important;
  grid-template-columns: minmax(0, 58%) minmax(520px, 42%) !important;
  gap: 72px !important;
  align-items: start !important;
  margin: 0 !important;
}

#product .row.product-container > [class*="col-"],
#product .product-container > [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* =========================================================
   GALERIE PRODUIT
========================================================= */

#product .images-container {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 !important;
  align-items: start !important;
}

/* Miniatures */
#product .js-qv-mask,
#product .mask {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 96px !important;
  max-width: 96px !important;
  height: auto !important;
  overflow: visible !important;
  margin: 0 !important;
}

#product .product-images {
  width: 96px !important;
  max-width: 96px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  transform: none !important;
}

#product .product-images > li,
#product .product-images > li.thumb-container {
  width: 88px !important;
  height: 88px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#product .product-images img,
#product .product-images img.thumb {
  width: 88px !important;
  height: 88px !important;
  object-fit: contain !important;
  padding: 7px !important;
  background: #fff !important;
  border: 1px solid #e1e1e1 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

#product .product-images img.thumb.selected,
#product .product-images img.thumb:hover {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 2px rgba(227, 6, 19, 0.12) !important;
}

/* Grande image en carré */
#product .product-cover {
  height: 500px !important;
  width: 500px !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
}

#product .product-cover img,
#product .product-cover img.js-qv-product-cover {
  width: auto !important;
  height: auto !important;
  max-width: 84% !important;
  max-height: 84% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* Zoom */
#product .product-cover .layer {
  background: transparent !important;
}

#product .product-cover .layer .zoom-in {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
}

/* Vraies flèches PrestaShop */
#product .scroll-box-arrows {
  display: block !important;
}

#product .scroll-box-arrows i {
  color: #111 !important;
  font-size: 24px !important;
}

/* Flèches visuelles dans le carré image */
#product .product-cover::before,
#product .product-cover::after {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  z-index: 3 !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
  pointer-events: none !important;
}

#product .product-cover::before {
  content: "‹" !important;
  left: 18px !important;
}

#product .product-cover::after {
  content: "›" !important;
  right: 18px !important;
}

/* Masquer les flags image */
#product .product-flags,
#product .product-flag,
#product .product-cover .product-flags {
  display: none !important;
}

/* =========================================================
   COLONNE INFOS PRODUIT
========================================================= */

#product .product-information {
  max-width: 650px !important;
  padding-top: 8px !important;
  background: transparent !important;
}

#product h1,
#product .h1 {
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  color: #111 !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* Avis / étoiles */
#product .product-list-reviews,
#product .product-comments-additional-info {
  margin: 0 0 14px 0 !important;
}

#product .grade-stars {
  color: #ffb000 !important;
}

/* Référence */
#product .product-reference,
#product .product-reference span {
  display: block !important;
  margin: 0 0 20px 0 !important;
  color: #999 !important;
  font-size: 13px !important;
}

/* Description courte */
#product #product-description-short {
  max-width: 620px !important;
  margin: 0 0 22px 0 !important;
}

#product #product-description-short,
#product #product-description-short p {
  max-width: 620px !important;
  color: #666 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* Stock */
#product .product-availability,
#product #product-availability {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 12px 24px 22px 0 !important;
  color: #16a34a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

#product .product-availability i,
#product #product-availability i {
  color: #16a34a !important;
  font-size: 18px !important;
}

/* Livraison éventuelle */
#product .product-quantities,
#product .product-minimal-quantity {
  color: #999 !important;
  font-size: 13px !important;
}

/* =========================================================
   PRIX
========================================================= */

#product .product-prices {
  margin: 20px 0 26px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

/* Ancien prix */
#product .regular-price {
  order: 2 !important;
  color: #999 !important;
  font-size: 17px !important;
  text-decoration: line-through !important;
  margin: 0 !important;
}

/* Prix actuel */
#product .current-price,
#product .current-price span,
#product .product-price {
  order: 1 !important;
  color: #e30613 !important;
  font-size: 42px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  margin: 0 !important;
}

/* Badge promo */
#product .discount,
#product .discount-percentage,
#product .discount-amount {
  order: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  background: #e30613 !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

/* Supprime les gros rectangles parasites */
#product .product-prices div:empty,
#product .tax-shipping-delivery-label {
  display: none !important;
}

/* =========================================================
   QUANTITÉ + AJOUT PANIER
========================================================= */

#product .product-add-to-cart {
  margin-top: 22px !important;
}

#product .product-quantity {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}

#product .product-quantity .control-label {
  margin: 0 !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

#product .qty {
  margin: 0 !important;
}

#product #quantity_wanted {
  width: 76px !important;
  height: 52px !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 5px !important;
  color: #111 !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

#product .bootstrap-touchspin {
  width: 76px !important;
  box-shadow: none !important;
}

#product .bootstrap-touchspin input {
  border-radius: 5px !important;
}

/* Masque les boutons + / - quantité */
#product .bootstrap-touchspin .input-group-btn,
#product .bootstrap-touchspin .input-group-btn-vertical {
  display: none !important;
}

/* Bouton panier */
#product .add-to-cart {
  height: 52px !important;
  min-width: 370px !important;
  padding: 0 36px !important;
  background: #e30613 !important;
  border: 0 !important;
  border-radius: 5px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  box-shadow: 0 8px 20px rgba(227, 6, 19, 0.2) !important;
}

#product .add-to-cart:hover {
  background: #111 !important;
}

#product .add-to-cart i {
  color: #fff !important;
}

/* Masquer wishlist / coeur */
#product .wishlist-button-add,
#product .wishlist-button-product {
  display: none !important;
}

/* Masquer partage */
#product .social-sharing,
#product .product-information .social-sharing,
#product .product-actions .social-sharing,
#product .product-additional-info .social-sharing {
  display: none !important;
}

/* Masquer security / delivery / return */
#product #block-reassurance,
#product #block-reassurance-product,
#product .blockreassurance_product,
#product .product-additional-info,
#product .product-additional-info .block-reassurance-item {
  display: none !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
  #product .row.product-container,
  #product .product-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  #product .images-container,
  #product .product-information {
    max-width: 900px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 768px) {
  #product #wrapper > .container {
    width: 92vw !important;
  }

  #product .images-container {
    grid-template-columns: 1fr !important;
  }

  #product .js-qv-mask,
  #product .mask {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }

  #product .product-images {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: row !important;
  }

  #product .product-cover {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }

  #product h1,
  #product .h1 {
    font-size: 28px !important;
  }

  #product .current-price,
  #product .current-price span,
  #product .product-price {
    font-size: 34px !important;
  }

  #product .product-quantity {
    flex-wrap: wrap !important;
  }

  #product .add-to-cart {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   PRODUCT PAGE - HERO WIDTH + BIG IMAGE + REAL ARROWS
========================================================= */

/* page produit pleine largeur */
#product #wrapper > .container {
  width: 95vw !important;
  max-width: 1900px !important;
  margin: 0 auto !important;
  padding: 32px 0 70px !important;
}

/* force le contenu à prendre toute la largeur */
#product #content-wrapper,
#product #main {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

/* layout principal plus large */
#product .row.product-container,
#product .product-container {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 61%) minmax(500px, 39%) !important;
  gap: 90px !important;
  align-items: start !important;
  margin: 0 !important;
}

#product .row.product-container > [class*="col-"],
#product .product-container > [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* galerie plus large */
#product .images-container {
  width: 100% !important;
  max-width: 1120px !important;
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) !important;
  gap: 34px !important;
  align-items: start !important;
  margin: 0 !important;
}

/* miniatures */
#product .js-qv-mask,
#product .mask {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100px !important;
  max-width: 100px !important;
  overflow: visible !important;
  margin: 0 !important;
}

#product .product-images {
  width: 100px !important;
  max-width: 100px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  transform: none !important;
}

#product .product-images > li,
#product .product-images > li.thumb-container {
  width: 92px !important;
  height: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#product .product-images img,
#product .product-images img.thumb {
  width: 92px !important;
  height: 92px !important;
  object-fit: contain !important;
  padding: 7px !important;
  background: #fff !important;
  border: 1px solid #e1e1e1 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}

#product .product-images img.thumb.selected,
#product .product-images img.thumb:hover {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 2px rgba(227, 6, 19, 0.12) !important;
}

/* grande image carrée et plus grande */
#product .product-cover {
  height: 500px !important;
  width: 500px !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
}

#product .product-cover img,
#product .product-cover img.js-qv-product-cover {
  width: auto !important;
  height: auto !important;
  max-width: 90% !important;
  max-height: 90% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* enlève les 4 anciennes flèches */
#product .product-cover::before,
#product .product-cover::after {
  display: none !important;
  content: none !important;
}

#product .scroll-box-arrows {
  display: none !important;
}

/* nouvelles vraies flèches */
#product .zi-gallery-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 20 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
  font-size: 26px !important;
  line-height: 1 !important;
}

#product .zi-gallery-arrow:hover {
  background: #e30613 !important;
  border-color: #e30613 !important;
  color: #fff !important;
}

#product .zi-gallery-prev {
  left: 18px !important;
}

#product .zi-gallery-next {
  right: 18px !important;
}

/* zoom */
#product .product-cover .layer {
  background: transparent !important;
}

#product .product-cover .layer .zoom-in {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
}

/* colonne droite */
#product .product-information {
  max-width: 690px !important;
  padding-top: 8px !important;
}

#product h1,
#product .h1 {
  font-size: 40px !important;
  line-height: 1.12 !important;
}

/* prix bien aligné */
#product .product-prices {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin: 20px 0 26px 0 !important;
  background: transparent !important;
}

#product .current-price,
#product .current-price span,
#product .product-price {
  order: 1 !important;
  color: #e30613 !important;
  font-size: 44px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#product .regular-price {
  order: 2 !important;
  color: #999 !important;
  font-size: 17px !important;
  text-decoration: line-through !important;
  margin: 0 !important;
}

#product .discount,
#product .discount-percentage,
#product .discount-amount {
  order: 3 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  background: #e30613 !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* supprime rectangle rouge parasite */
#product .product-prices div:empty,
#product .tax-shipping-delivery-label {
  display: none !important;
}

/* responsive */
@media (max-width: 1200px) {
  #product .row.product-container,
  #product .product-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  #product .images-container,
  #product .product-information {
    max-width: 980px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 768px) {
  #product #wrapper > .container {
    width: 92vw !important;
  }

  #product .images-container {
    grid-template-columns: 1fr !important;
  }

  #product .js-qv-mask,
  #product .mask {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }

  #product .product-images {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: row !important;
  }

  #product .product-cover {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  #product .zi-gallery-arrow {
    width: 36px !important;
    height: 36px !important;
    font-size: 22px !important;
  }
}

/* =========================================================
   PRODUCT PAGE - BENEFITS BAR
========================================================= */

#product .zi-product-benefits {
  width: 100% !important;
  margin: 38px 0 0 0 !important;
  padding: 18px 22px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  align-items: center !important;
}

#product .zi-product-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 22px !important;
  min-height: 44px !important;
  border-right: 1px solid #e5e5e5 !important;
}

#product .zi-product-benefit:last-child {
  border-right: 0 !important;
}

#product .zi-product-benefit i {
  color: #111 !important;
  font-size: 30px !important;
  width: 34px !important;
  min-width: 34px !important;
  text-align: center !important;
}

#product .zi-product-benefit strong {
  display: block !important;
  margin: 0 0 3px 0 !important;
  color: #111 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#product .zi-product-benefit span {
  display: block !important;
  color: #777 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

@media (max-width: 991px) {
  #product .zi-product-benefits {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px 0 !important;
  }

  #product .zi-product-benefit:nth-child(2) {
    border-right: 0 !important;
  }
}

@media (max-width: 575px) {
  #product .zi-product-benefits {
    grid-template-columns: 1fr !important;
  }

  #product .zi-product-benefit {
    border-right: 0 !important;
    padding: 0 !important;
  }
}

/* =========================================================
   PRODUCT PAGE - TABS DESCRIPTION / DETAILS / AVIS / DOCS
========================================================= */

#product .zi-product-tabs {
  width: 100% !important;
  margin: 55px 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#product .zi-product-tabs .nav-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #ddd !important;
}

#product .zi-product-tabs .nav-tabs .nav-item {
  margin: 0 !important;
}

#product .zi-product-tabs .nav-tabs .nav-link {
  display: inline-flex !important;
  align-items: center !important;
  height: 50px !important;
  padding: 0 0 15px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #555 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#product .zi-product-tabs .nav-tabs .nav-link.active {
  color: #e30613 !important;
  border-bottom: 3px solid #e30613 !important;
}

#product .zi-product-tabs .tab-content {
  padding: 38px 0 0 0 !important;
  background: transparent !important;
}

#product .zi-product-tabs .tab-pane {
  width: 100% !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* Documents */
#product .zi-product-documents {
  display: grid !important;
  gap: 14px !important;
  max-width: 760px !important;
}

#product .zi-product-document {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 18px 20px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
}

#product .zi-product-document strong {
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

#product .zi-product-document p {
  margin: 4px 0 0 0 !important;
  color: #777 !important;
  font-size: 13px !important;
}

#product .zi-product-document a {
  color: #e30613 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Onglet vide */
#product .zi-empty-tab {
  padding: 22px 24px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
  max-width: 620px !important;
}

#product .zi-empty-tab p {
  margin: 0 !important;
  color: #777 !important;
  font-size: 14px !important;
}

/* responsive */
@media (max-width: 768px) {
  #product .zi-product-tabs .nav-tabs {
    gap: 28px !important;
    overflow-x: auto !important;
  }

  #product .zi-product-tabs .nav-tabs .nav-link {
    white-space: nowrap !important;
  }

  #product .zi-product-document {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* =========================================================
   PRODUCT PAGE - VOUS AIMEREZ AUSSI
========================================================= */

#product .product-accessories {
  width: 100% !important;
  margin: 70px 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#product .product-accessories > .h5,
#product .product-accessories .products-section-title {
  margin: 0 0 26px 0 !important;
  color: #111 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#product .product-accessories .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin: 0 !important;
}

#product .product-accessories .products > .product {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Card */
#product .product-accessories .product-miniature {
  height: 100% !important;
}

#product .product-accessories .thumbnail-container {
  height: 100% !important;
  min-height: 360px !important;
  position: relative !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  padding: 22px 22px 72px 22px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.035) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

#product .product-accessories .thumbnail-container:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07) !important;
}

/* Image */
#product .product-accessories .thumbnail-top,
#product .product-accessories .product-thumbnail {
  width: 100% !important;
  height: 190px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}

#product .product-accessories .product-thumbnail img {
  max-width: 100% !important;
  max-height: 175px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Description */
#product .product-accessories .product-description {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 18px 0 0 0 !important;
  text-align: left !important;
}

#product .product-accessories .product-title,
#product .product-accessories .product-title a {
  margin: 0 0 8px 0 !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
}

#product .product-accessories .product-title a:hover {
  color: #e30613 !important;
}

/* Marque */
#product .product-accessories .product-brand,
#product .product-accessories .product-manufacturer {
  display: block !important;
  margin: 0 0 20px 0 !important;
  color: #999 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

/* Prix */
#product .product-accessories .product-price-and-shipping {
  margin-top: 18px !important;
  text-align: left !important;
}

#product .product-accessories .price {
  color: #111 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

/* Bouton panier carré */
#product .product-accessories .zi-add-to-cart-form {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  margin: 0 !important;
}

#product .product-accessories .zi-add-to-cart-btn {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #111 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  box-shadow: none !important;
}

#product .product-accessories .zi-add-to-cart-btn i {
  color: #fff !important;
  font-size: 22px !important;
  margin: 0 !important;
}

#product .product-accessories .zi-add-to-cart-btn:hover {
  background: #e30613 !important;
}

/* Coeur wishlist */
#product .product-accessories .wishlist-button-add {
  position: absolute !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #aaa !important;
  z-index: 3 !important;
}

#product .product-accessories .wishlist-button-add i {
  color: #aaa !important;
  font-size: 22px !important;
}

#product .product-accessories .wishlist-button-add:hover i {
  color: #e30613 !important;
}

/* Masquer éléments inutiles */
#product .product-accessories .highlighted-informations,
#product .product-accessories .quick-view,
#product .product-accessories .product-flags {
  display: none !important;
}

/* Responsive */
@media (max-width: 1200px) {
  #product .product-accessories .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  #product .product-accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 520px) {
  #product .product-accessories .products {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   PRODUCT PAGE - FIX OPACITY TABS FADE
========================================================= */

/* Corrige les onglets produit invisibles à cause de .fade */
#product .zi-product-tabs .tab-pane.fade {
  opacity: 1 !important;
}

#product .zi-product-tabs .tab-pane.active,
#product .zi-product-tabs .tab-pane.in {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* =========================================================
   PRODUCT PAGE - HIDE OLD COMMENTS MODULE BLOCK
========================================================= */

#product .product-comment-modal,
#product .product-comment-list-item,
#product .product-comment-list,
#product .product-comments-list,
#product .product-comments-additional-info,
#product .comments-section,
#product .comments,
#product .product-comments,
#product #product-comments-list,
#product #product-comments-list-header,
#product #post-product-comment-form,
#product .post-product-comment,
#product .post-product-comment-form,
#product .grade-stars,
#product .comments-nb {
  display: none !important;
}

/* bloc exact souvent généré par le module productcomments */
#product section[id*="product-comments"],
#product div[id*="product-comments"],
#product section[class*="product-comments"],
#product div[class*="product-comments"],
#product section[class*="productcomments"],
#product div[class*="productcomments"] {
  display: none !important;
}

/* sécurité : cache le bloc qui contient le titre Commentaires */
#product .page-content > h2,
#product .page-content > h3,
#product .page-content > .h2,
#product .page-content > .h3 {
  display: none !important;
}

/* =========================================================
   PRODUCT PAGE - VOUS AIMEREZ AUSSI
========================================================= */

#product .zi-product-accessories {
  width: 100% !important;
  margin: 70px 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#product .zi-product-accessories-title {
  margin: 0 0 28px 0 !important;
  color: #111 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#product .zi-product-accessories .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#product .zi-product-accessories .products > * {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* carte */
#product .zi-product-accessories .product-miniature,
#product .zi-product-accessories article.product-miniature {
  width: 100% !important;
  height: 100% !important;
}

#product .zi-product-accessories .thumbnail-container {
  width: 100% !important;
  min-height: 370px !important;
  height: 100% !important;
  position: relative !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  padding: 24px 24px 76px 24px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.035) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

#product .zi-product-accessories .thumbnail-container:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07) !important;
}

/* image */
#product .zi-product-accessories .thumbnail-top {
  width: 100% !important;
  height: 190px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}

#product .zi-product-accessories .product-thumbnail {
  width: 100% !important;
  height: 190px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#product .zi-product-accessories .product-thumbnail img {
  max-width: 100% !important;
  max-height: 180px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* description */
#product .zi-product-accessories .product-description {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 20px 0 0 0 !important;
  text-align: left !important;
}

#product .zi-product-accessories .product-title,
#product .zi-product-accessories .product-title a {
  margin: 0 0 8px 0 !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
}

#product .zi-product-accessories .product-title a:hover {
  color: #e30613 !important;
}

/* marque */
#product .zi-product-accessories .product-brand,
#product .zi-product-accessories .product-manufacturer {
  display: block !important;
  margin: 0 0 18px 0 !important;
  color: #999 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

/* prix */
#product .zi-product-accessories .product-price-and-shipping {
  position: absolute !important;
  left: 24px !important;
  bottom: 24px !important;
  right: 80px !important;
  margin: 0 !important;
  text-align: left !important;
}

#product .zi-product-accessories .price {
  color: #111 !important;
  font-size: 21px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

#product .zi-product-accessories .regular-price {
  color: #aaa !important;
  font-size: 13px !important;
  text-decoration: line-through !important;
}

/* bouton panier */
#product .zi-product-accessories .zi-add-to-cart-form {
  position: absolute !important;
  right: 22px !important;
  bottom: 20px !important;
  margin: 0 !important;
}

#product .zi-product-accessories .zi-add-to-cart-btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #111 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  box-shadow: none !important;
}

#product .zi-product-accessories .zi-add-to-cart-btn i {
  color: #fff !important;
  font-size: 22px !important;
  margin: 0 !important;
}

#product .zi-product-accessories .zi-add-to-cart-btn:hover {
  background: #e30613 !important;
}

/* coeur */
#product .zi-product-accessories .wishlist-button-add {
  display: flex !important;
  position: absolute !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 3 !important;
}

#product .zi-product-accessories .wishlist-button-add i {
  color: #aaa !important;
  font-size: 22px !important;
}

#product .zi-product-accessories .wishlist-button-add:hover i {
  color: #e30613 !important;
}

/* cacher éléments inutiles */
#product .zi-product-accessories .highlighted-informations,
#product .zi-product-accessories .quick-view,
#product .zi-product-accessories .product-flags,
#product .zi-product-accessories .product-list-reviews {
  display: none !important;
}

/* responsive */
@media (max-width: 1200px) {
  #product .zi-product-accessories .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  #product .zi-product-accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 520px) {
  #product .zi-product-accessories .products {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   PAGE PRODUIT - BLOC "VOUS AIMEREZ AUSSI"
   Style des cards produits associés / accessoires
========================================================= */

#product .product-accessories {
  margin-top: 60px !important;
}

#product .product-accessories .h5,
#product .product-accessories .products-section-title,
#product .product-accessories .section-title {
  margin: 0 0 24px !important;
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

/* grille */
#product .product-accessories .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
}

#product .product-accessories .products > article,
#product .product-accessories .products > .js-product-miniature,
#product .product-accessories .products > .product-miniature {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

/* card */
#product .product-accessories .product-miniature,
#product .product-accessories .js-product-miniature {
  position: relative !important;
}

#product .product-accessories .thumbnail-container {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 385px !important;
  height: 100% !important;
  padding: 18px 18px 78px !important;
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease !important;
}

#product .product-accessories .thumbnail-container:hover {
  transform: translateY(-2px) !important;
  border-color: #e2e2e2 !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06) !important;
}

/* image */
#product .product-accessories .product-thumbnail,
#product .product-accessories a.thumbnail,
#product .product-accessories a.product-thumbnail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 190px !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

#product .product-accessories .product-thumbnail img,
#product .product-accessories a.thumbnail img,
#product .product-accessories a.product-thumbnail img {
  width: 100% !important;
  max-width: 100% !important;
  height: 180px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  transition: transform 0.2s ease !important;
}

#product .product-accessories .thumbnail-container:hover .product-thumbnail img,
#product .product-accessories .thumbnail-container:hover a.thumbnail img,
#product
  .product-accessories
  .thumbnail-container:hover
  a.product-thumbnail
  img {
  transform: scale(1.03) !important;
}

/* description bloc */
#product .product-accessories .product-description {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
  background: transparent !important;
}

/* titre */
#product .product-accessories .product-title {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  min-height: 52px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  text-align: left !important;
}

#product .product-accessories .product-title a {
  color: #1b1b1b !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* marque */
#product .product-accessories .product-manufacturer,
#product .product-accessories .product-brand,
#product .product-accessories .brand {
  display: block !important;
  margin: 0 0 14px 0 !important;
  color: #a0a0a0 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

/* prix */
#product .product-accessories .product-price-and-shipping {
  margin-top: auto !important;
  padding-right: 58px !important;
  text-align: left !important;
}

#product .product-accessories .price,
#product .product-accessories .product-price,
#product .product-accessories .current-price,
#product .product-accessories .current-price span {
  color: #1a1a1a !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

/* masquer ancien prix / promo pour rester proche de ta maquette */
#product .product-accessories .regular-price,
#product .product-accessories .discount-percentage,
#product .product-accessories .discount-amount,
#product .product-accessories .product-discount,
#product .product-accessories .product-flags,
#product .product-accessories .discount {
  display: none !important;
}

/* bouton panier en bas à droite */
#product .product-accessories .highlighted-informations,
#product .product-accessories .product-actions,
#product .product-accessories .cart-button,
#product .product-accessories .product-add-cart {
  position: static !important;
}

#product .product-accessories .ajax_add_to_cart_button,
#product .product-accessories .add-to-cart,
#product .product-accessories button[data-button-action="add-to-cart"],
#product .product-accessories .btn-product-cart {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #1f1f1f !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

#product .product-accessories .ajax_add_to_cart_button:hover,
#product .product-accessories .add-to-cart:hover,
#product .product-accessories button[data-button-action="add-to-cart"]:hover,
#product .product-accessories .btn-product-cart:hover {
  background: #e30613 !important;
}

#product .product-accessories .ajax_add_to_cart_button i,
#product .product-accessories .add-to-cart i,
#product .product-accessories button[data-button-action="add-to-cart"] i,
#product .product-accessories .btn-product-cart i {
  margin: 0 !important;
  color: #fff !important;
  font-size: 18px !important;
}

/* coeur / wishlist */
#product .product-accessories .wishlist-button-add,
#product .product-accessories .wishlist-button-product,
#product .product-accessories .js-wishlist-button-add,
#product .product-accessories .addToWishlist,
#product .product-accessories .wishlist {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #c4c4c4 !important;
  border-radius: 50% !important;
}

#product .product-accessories .wishlist-button-add i,
#product .product-accessories .wishlist-button-product i,
#product .product-accessories .js-wishlist-button-add i,
#product .product-accessories .addToWishlist i,
#product .product-accessories .wishlist i {
  font-size: 19px !important;
  color: #c4c4c4 !important;
}

#product .product-accessories .wishlist-button-add:hover i,
#product .product-accessories .wishlist-button-product:hover i,
#product .product-accessories .js-wishlist-button-add:hover i,
#product .product-accessories .addToWishlist:hover i,
#product .product-accessories .wishlist:hover i {
  color: #e30613 !important;
}

/* nettoyages */
#product .product-accessories .quick-view,
#product .product-accessories .variant-links,
#product .product-accessories .product-availability,
#product .product-accessories .highlighted-informations .variant-links,
#product .product-accessories .comments-note,
#product .product-accessories .product-list-reviews {
  display: none !important;
}

/* responsive */
@media (max-width: 1200px) {
  #product .product-accessories .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  #product .product-accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 576px) {
  #product .product-accessories .products {
    grid-template-columns: 1fr !important;
  }

  #product .product-accessories .thumbnail-container {
    min-height: 360px !important;
  }
}

/* =========================================================
   PAGE PRODUIT - BLOC INFOS DROITE STYLE MAQUETTE
========================================================= */

/* Colonne droite */
#product .product-information {
  max-width: 560px !important;
  padding-top: 0 !important;
}

/* Titre */
#product h1,
#product .h1 {
  margin: 0 0 16px !important;
  color: #111 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* ===== Meta produit ===== */
#product .zi-product-meta {
  margin: 0 0 18px !important;
}

/* Avis */
#product .zi-product-reviews,
#product .product-list-reviews,
#product .product-comments-additional-info {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

#product .zi-product-reviews .comments-note,
#product .product-list-reviews .comments-note,
#product .product-comments-additional-info .comments-note {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}

#product .zi-product-reviews .star,
#product .product-list-reviews .star,
#product .product-comments-additional-info .star,
#product .grade-stars,
#product .grade-stars i {
  color: #f8b400 !important;
  font-size: 16px !important;
}

#product .zi-product-reviews .comments-nb,
#product .product-list-reviews .comments-nb,
#product .product-comments-additional-info .comments-nb,
#product .zi-product-reviews .comments-note span:last-child {
  color: #9b9b9b !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Référence */
#product .product-reference {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 18px !important;
  color: #b0b0b0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

#product .product-reference .label {
  color: #b0b0b0 !important;
  font-weight: 400 !important;
}

#product .product-reference .value {
  color: #a1a1a1 !important;
  font-weight: 500 !important;
}

/* Description courte */
#product #product-description-short,
#product #product-description-short p,
#product .product-description {
  color: #8a8a8a !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

#product #product-description-short {
  margin: 0 0 22px !important;
  max-width: 520px !important;
}

/* Ligne stock / livraison */
#product .zi-stock-row {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  margin: 0 0 24px !important;
  flex-wrap: wrap !important;
}

#product .zi-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #21a538 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

#product .zi-stock i {
  color: #21a538 !important;
  font-size: 18px !important;
}

#product .zi-delivery {
  color: #9d9d9d !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

/* ===== Bloc prix ===== */
#product .product-prices {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* important : évite les gros blocs rouges parasites */
#product .product-prices > div,
#product .product-prices > span,
#product .product-prices > p {
  background: transparent !important;
  box-shadow: none !important;
}

/* prix actuel */
#product .current-price {
  order: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#product .current-price span,
#product .current-price .current-price-value,
#product .product-price {
  color: #e30613 !important;
  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* ancien prix */
#product .regular-price {
  order: 2 !important;
  color: #9e9e9e !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* conteneur remise */
#product .product-discount {
  order: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  background: transparent !important;
}

/* badge promo */
#product .discount,
#product .discount-percentage,
#product .discount-amount {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  background: #e30613 !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

/* enlever éléments parasites */
#product .tax-shipping-delivery-label,
#product .product-prices div:empty,
#product .product-prices p:empty {
  display: none !important;
}

/* ===== Quantité + bouton ===== */
#product .product-add-to-cart {
  margin-top: 0 !important;
}

#product .product-quantity {
  display: flex !important;
  align-items: flex-end !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

/* bloc quantité */
#product .product-quantity .qty {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
}

#product .product-quantity .control-label {
  margin: 0 !important;
  color: #303030 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* zone input quantité style select */
#product .bootstrap-touchspin {
  position: relative !important;
  width: 86px !important;
  box-shadow: none !important;
  border: 0 !important;
}

#product .bootstrap-touchspin::after {
  content: "▾";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #444;
  font-size: 14px;
  pointer-events: none;
}

#product .bootstrap-touchspin .input-group-btn,
#product .bootstrap-touchspin .input-group-btn-vertical {
  display: none !important;
}

#product #quantity_wanted {
  width: 86px !important;
  height: 52px !important;
  padding: 0 28px 0 16px !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: left !important;
  box-shadow: none !important;
  appearance: none !important;
}

/* bouton panier */
#product .add {
  margin: 0 !important;
}

#product .add-to-cart {
  height: 54px !important;
  min-width: 310px !important;
  padding: 0 34px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  box-shadow: none !important;
}

#product .add-to-cart:hover {
  background: #c90010 !important;
}

#product .add-to-cart i {
  color: #fff !important;
  font-size: 18px !important;
}

/* cache wishlist si présent */
#product .wishlist-button-add,
#product .wishlist-button-product,
#product .add-to-cart + .wishlist,
#product .add-to-cart + .wishlist-button-add {
  display: none !important;
}

/* Responsive */
@media (max-width: 991px) {
  #product h1,
  #product .h1 {
    font-size: 22px !important;
  }

  #product .current-price span,
  #product .current-price .current-price-value,
  #product .product-price {
    font-size: 32px !important;
  }

  #product .add-to-cart {
    min-width: 100% !important;
    width: 100% !important;
  }

  #product .product-quantity {
    align-items: stretch !important;
  }
}

/* =========================================================
   AUTH PAGE - FIX AFFICHAGE CONNEXION
========================================================= */

/* Cache le breadcrumb + titre natifs PrestaShop */
body#authentication #wrapper > .container > nav.breadcrumb,
body#authentication #wrapper > .container > .breadcrumb,
body#authentication .page-header,
body#authentication h1.page-title,
body#authentication #main > header {
  display: none !important;
}

/* Page pleine largeur propre */
body#authentication #wrapper {
  background: #fff !important;
}

body#authentication #wrapper > .container {
  width: 95vw !important;
  margin: 0 auto !important;
  padding: 36px 0 70px !important;
}

/* Neutralise les contraintes Bootstrap / PrestaShop */
body#authentication #wrapper .row,
body#authentication #content-wrapper,
body#authentication #main,
body#authentication #content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  float: none !important;
}

body#authentication #wrapper [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Breadcrumb custom */
body#authentication .zi-auth-breadcrumb {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 28px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #999 !important;
  font-size: 13px !important;
}

body#authentication .zi-auth-breadcrumb a {
  color: #777 !important;
  text-decoration: none !important;
}

body#authentication .zi-auth-breadcrumb strong {
  color: #111 !important;
  font-weight: 700 !important;
}

/* Card plus large, mieux proportionnée */
body#authentication .zi-auth-card {
  width: 100% !important;
  max-width: 1240px !important;
  min-height: 600px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  background: #fff !important;
  border: 1px solid #dedede !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
}

/* Image gauche */
body#authentication .zi-auth-visual {
  min-height: 600px !important;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.86), rgba(0, 0, 0, 0.55)),
    url("../img/auth-workshop.jpg") center / cover no-repeat !important;
}

body#authentication .zi-auth-visual-overlay {
  height: 100% !important;
  padding: 68px 58px 44px !important;
}

/* Formulaire droite */
body#authentication .zi-auth-form-panel {
  padding: 68px 64px !important;
  background: #fff !important;
  overflow: visible !important;
}

body#authentication .zi-auth-form-panel h1 {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 38px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

body#authentication .zi-auth-intro {
  max-width: 440px !important;
  margin: 0 0 34px !important;
  color: #6b7280 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Formulaire */
body#authentication .login-form,
body#authentication .login-form form,
body#authentication form,
body#authentication .form-fields {
  width: 100% !important;
  max-width: 100% !important;
}

body#authentication .form-group {
  display: block !important;
  width: 100% !important;
  margin-bottom: 22px !important;
}

body#authentication .form-control-label,
body#authentication label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: left !important;
}

body#authentication .form-control,
body#authentication input[type="email"],
body#authentication input[type="password"],
body#authentication input[type="text"] {
  width: 100% !important;
  height: 54px !important;
  padding: 0 18px !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

body#authentication .form-control:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.1) !important;
}

/* Mot de passe + bouton afficher */
body#authentication .input-group {
  width: 100% !important;
  display: flex !important;
}

body#authentication .input-group .form-control {
  border-radius: 6px 0 0 6px !important;
}

body#authentication .input-group-btn .btn {
  height: 54px !important;
  min-width: 74px !important;
  border: 1px solid #d7d7d7 !important;
  border-left: 0 !important;
  border-radius: 0 6px 6px 0 !important;
  background: #fff !important;
  color: #777 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Mot de passe oublié */
body#authentication .forgot-password {
  margin: -8px 0 24px !important;
  text-align: right !important;
}

body#authentication .forgot-password a {
  color: #e30613 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Bouton connexion */
body#authentication .form-footer,
body#authentication footer.form-footer {
  width: 100% !important;
  margin: 0 !important;
  display: block !important;
}

body#authentication .btn-primary,
body#authentication button[type="submit"] {
  width: 100% !important;
  height: 56px !important;
  margin: 10px 0 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 20px rgba(227, 6, 19, 0.2) !important;
}

body#authentication .btn-primary:hover,
body#authentication button[type="submit"]:hover {
  background: #111 !important;
}

/* Bouton créer un compte */
body#authentication .no-account {
  margin-top: 24px !important;
  text-align: center !important;
}

body#authentication .no-account a {
  height: 52px !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#authentication .no-account a:hover {
  border-color: #e30613 !important;
  color: #e30613 !important;
}

/* Bloc avantages */
body#authentication .zi-auth-benefits {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 42px auto 0 !important;
  padding: 20px 24px !important;
  background: #fff !important;
  border: 1px solid #dedede !important;
  border-radius: 8px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.035) !important;
}

body#authentication .zi-auth-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  padding: 0 22px !important;
  border-right: 1px solid #e5e5e5 !important;
}

body#authentication .zi-auth-benefit:last-child {
  border-right: 0 !important;
}

body#authentication .zi-auth-benefit i {
  color: #111 !important;
  font-size: 32px !important;
}

body#authentication .zi-auth-benefit strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body#authentication .zi-auth-benefit span {
  color: #777 !important;
  font-size: 13px !important;
}

/* Responsive */
@media (max-width: 991px) {
  body#authentication .zi-auth-card {
    grid-template-columns: 1fr !important;
  }

  body#authentication .zi-auth-visual {
    min-height: 360px !important;
  }

  body#authentication .zi-auth-form-panel {
    padding: 44px 32px !important;
  }

  body#authentication .zi-auth-benefits {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 22px 0 !important;
  }

  body#authentication .zi-auth-benefit:nth-child(2) {
    border-right: 0 !important;
  }
}

@media (max-width: 575px) {
  body#authentication #wrapper > .container {
    width: 92vw !important;
  }

  body#authentication .zi-auth-form-panel h1 {
    font-size: 30px !important;
  }

  body#authentication .zi-auth-benefits {
    grid-template-columns: 1fr !important;
  }

  body#authentication .zi-auth-benefit {
    border-right: 0 !important;
    padding: 0 !important;
  }
}

/* =========================================================
   AUTH PAGE - FIX VISUEL GAUCHE + CARD CONNEXION
========================================================= */

/* card mieux proportionnée */
body#authentication .zi-auth-card {
  max-width: 1240px !important;
  min-height: 640px !important;
  grid-template-columns: 1.05fr 1fr !important;
  align-items: stretch !important;
}

/* panneau image gauche */
body#authentication .zi-auth-visual {
  position: relative !important;
  min-height: 640px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.48)),
    url("../img/auth-workshop.jpg") center center / cover no-repeat !important;
}

/* contenu gauche bien structuré */
body#authentication .zi-auth-visual-overlay {
  position: relative !important;
  z-index: 2 !important;
  height: 100% !important;
  min-height: 640px !important;
  padding: 72px 58px 46px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* titre gauche */
body#authentication .zi-auth-visual h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body#authentication .zi-auth-visual h2 span {
  color: #e30613 !important;
}

/* ligne rouge */
body#authentication .zi-auth-red-line {
  width: 54px !important;
  height: 4px !important;
  margin: 26px 0 26px !important;
  background: #e30613 !important;
}

/* texte description gauche */
body#authentication .zi-auth-visual p {
  max-width: 390px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 600 !important;
}

/* bénéfices en bas, pas au milieu */
body#authentication .zi-auth-visual-benefits {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: start !important;
}

/* chaque item */
body#authentication .zi-auth-visual-benefits div {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
}

/* icônes */
body#authentication .zi-auth-visual-benefits i {
  width: 28px !important;
  min-width: 28px !important;
  color: #fff !important;
  font-size: 27px !important;
  line-height: 1 !important;
}

/* texte bénéfices */
body#authentication .zi-auth-visual-benefits span {
  display: block !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

/* panneau formulaire */
body#authentication .zi-auth-form-panel {
  padding: 72px 64px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* bouton un peu moins bas */
body#authentication .btn-primary,
body#authentication button[type="submit"] {
  margin-top: 16px !important;
}

/* avantages du bas alignés */
body#authentication .zi-auth-benefits {
  max-width: 1240px !important;
}

/* mobile */
@media (max-width: 991px) {
  body#authentication .zi-auth-card {
    grid-template-columns: 1fr !important;
  }

  body#authentication .zi-auth-visual,
  body#authentication .zi-auth-visual-overlay {
    min-height: 420px !important;
  }

  body#authentication .zi-auth-form-panel {
    padding: 44px 32px !important;
  }
}

/* =========================================================
   AUTH PAGE - CREATE ACCOUNT BELOW LOGIN
========================================================= */

body#authentication .zi-auth-register-block {
  width: 100% !important;
  margin-top: 26px !important;
}

body#authentication .zi-auth-divider {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
}

body#authentication .zi-auth-divider span {
  display: block !important;
  height: 1px !important;
  background: #dedede !important;
}

body#authentication .zi-auth-divider em {
  color: #999 !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  text-transform: lowercase !important;
}

body#authentication .zi-auth-create-account {
  width: 100% !important;
  height: 54px !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  transition: all 0.2s ease !important;
}

body#authentication .zi-auth-create-account i {
  color: #111 !important;
  font-size: 25px !important;
}

body#authentication .zi-auth-create-account:hover {
  border-color: #e30613 !important;
  color: #e30613 !important;
}

body#authentication .zi-auth-create-account:hover i {
  color: #e30613 !important;
}

/* cache le lien natif si PrestaShop l'affiche aussi */
body#authentication .no-account {
  display: none !important;
}
body#authentication .zi-auth-visual-benefits {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

body#authentication .zi-auth-visual-benefits div {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

body#authentication .zi-auth-visual-benefits i {
  width: 26px !important;
  min-width: 26px !important;
  color: #fff !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

body#authentication .zi-auth-visual-benefits span {
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.modal-dialog {
  justify-items: center;
  margin-top: 30vh;
}

#header i.material-icons,
#footer i.material-icons,
.zi-account-menu-item i.material-icons {
  margin-right: 5px;
}

/* =========================================================
   AUTH PAGE - MOT DE PASSE OUBLIE
========================================================= */

body#password,
body#password #wrapper {
  background: #f4f4f4 !important;
}

body#password #wrapper > .container {
  width: 95vw !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 36px 0 70px !important;
}

/* Neutralise PrestaShop */
body#password #wrapper .row,
body#password #content-wrapper,
body#password #main,
body#password #content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  float: none !important;
}

body#password #wrapper [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#password .page-header,
body#password #wrapper > .container > nav.breadcrumb,
body#password #wrapper > .container > .breadcrumb {
  display: none !important;
}

/* Breadcrumb custom */
body#password .zi-auth-breadcrumb {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #999 !important;
  font-size: 13px !important;
}

body#password .zi-auth-breadcrumb a {
  color: #777 !important;
  text-decoration: none !important;
}

body#password .zi-auth-breadcrumb strong {
  color: #111 !important;
  font-weight: 700 !important;
}

/* Wrapper */
body#password .zi-password-wrapper {
  width: 100% !important;
}

/* Card principale */
body#password .zi-password-card {
  width: 100% !important;
  max-width: 1240px !important;
  min-height: 560px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1.05fr !important;
  background: #fff !important;
  border: 1px solid #dedede !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
}

/* Colonne illustration */
body#password .zi-password-visual {
  position: relative !important;
  min-height: 560px !important;
  padding: 56px !important;
  background:
    radial-gradient(circle at 45% 35%, rgba(227, 6, 19, 0.06), transparent 30%),
    linear-gradient(135deg, #fff, #f8f8f8) !important;
  border-right: 1px solid #e5e5e5 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Illustration */
body#password .zi-password-illustration {
  position: relative !important;
  width: 420px !important;
  max-width: 100% !important;
  height: 300px !important;
  margin: 0 auto 42px !important;
}

/* Servante / toolbox stylisée */
body#password .zi-toolbox {
  position: absolute !important;
  left: 24px !important;
  top: 58px !important;
  width: 220px !important;
  height: 190px !important;
  background: #151515 !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.18) !important;
  border: 8px solid #242424 !important;
}

body#password .zi-toolbox::before {
  content: "" !important;
  position: absolute !important;
  left: 30px !important;
  right: 30px !important;
  top: -24px !important;
  height: 22px !important;
  border: 8px solid #151515 !important;
  border-bottom: 0 !important;
  border-radius: 14px 14px 0 0 !important;
}

body#password .zi-toolbox::after {
  content: "" !important;
  position: absolute !important;
  left: 24px !important;
  bottom: -22px !important;
  width: 170px !important;
  height: 22px !important;
  background:
    radial-gradient(circle at 20px 10px, #111 0 9px, transparent 10px),
    radial-gradient(circle at 145px 10px, #111 0 9px, transparent 10px) !important;
}

body#password .zi-toolbox span {
  display: block !important;
  height: 25px !important;
  margin: 16px 18px !important;
  background: #ff5a00 !important;
  border-radius: 4px !important;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.22) !important;
}

/* Shield */
body#password .zi-shield {
  position: absolute !important;
  right: 20px !important;
  top: 68px !important;
  width: 170px !important;
  height: 190px !important;
  background: #fff !important;
  border: 10px solid #111 !important;
  border-radius: 34px 34px 54px 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.12) !important;
}

body#password .zi-shield i {
  color: #111 !important;
  font-size: 72px !important;
}

/* Check */
body#password .zi-check {
  position: absolute !important;
  right: 0 !important;
  bottom: 22px !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 6px solid #111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important;
}

body#password .zi-check i {
  color: #e30613 !important;
  font-size: 42px !important;
  font-weight: 900 !important;
}

/* Texte sécurité gauche */
body#password .zi-password-secure {
  max-width: 440px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 18px !important;
}

body#password .zi-password-secure > i {
  width: 42px !important;
  min-width: 42px !important;
  color: #111 !important;
  font-size: 36px !important;
}

body#password .zi-password-secure strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}

body#password .zi-password-secure span {
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* Colonne formulaire */
body#password .zi-password-form-panel {
  padding: 78px 78px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #fff !important;
}

body#password .zi-password-form-panel h1 {
  margin: 0 0 22px !important;
  color: #111 !important;
  font-size: 42px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

body#password .zi-password-intro {
  max-width: 520px !important;
  margin: 0 0 34px !important;
  color: #555 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

/* Form */
body#password .zi-password-form {
  width: 100% !important;
  max-width: 520px !important;
}

body#password .form-group {
  margin-bottom: 24px !important;
}

body#password label {
  display: block !important;
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body#password .form-control,
body#password input[type="email"] {
  width: 100% !important;
  height: 56px !important;
  padding: 0 18px !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

body#password .form-control:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.1) !important;
}

/* Button */
body#password .zi-password-submit,
body#password .btn-primary,
body#password button[type="submit"] {
  width: 100% !important;
  height: 58px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 20px rgba(227, 6, 19, 0.22) !important;
}

body#password .zi-password-submit:hover,
body#password .btn-primary:hover,
body#password button[type="submit"]:hover {
  background: #111 !important;
}

/* Info mail */
body#password .zi-password-info {
  max-width: 520px !important;
  margin: 30px 0 32px !important;
  padding: 0 0 30px !important;
  border-bottom: 1px solid #ddd !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 18px !important;
}

body#password .zi-password-info i {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 25px !important;
}

body#password .zi-password-info p {
  margin: 0 !important;
  color: #555 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Back link */
body#password .zi-password-back a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body#password .zi-password-back a:hover {
  color: #e30613 !important;
}

body#password .zi-password-back i {
  font-size: 24px !important;
}

/* Benefits bas - compatible avec ceux de connexion */
body#password .zi-auth-benefits {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 42px auto 0 !important;
  padding: 20px 24px !important;
  background: #fff !important;
  border: 1px solid #dedede !important;
  border-radius: 8px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.035) !important;
}

body#password .zi-auth-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  padding: 0 22px !important;
  border-right: 1px solid #e5e5e5 !important;
}

body#password .zi-auth-benefit:last-child {
  border-right: 0 !important;
}

body#password .zi-auth-benefit i {
  color: #111 !important;
  font-size: 32px !important;
}

body#password .zi-auth-benefit strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body#password .zi-auth-benefit span {
  color: #777 !important;
  font-size: 13px !important;
}

/* Responsive */
@media (max-width: 991px) {
  body#password .zi-password-card {
    grid-template-columns: 1fr !important;
  }

  body#password .zi-password-visual {
    min-height: 420px !important;
  }

  body#password .zi-password-form-panel {
    padding: 44px 32px !important;
  }

  body#password .zi-auth-benefits {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 22px 0 !important;
  }

  body#password .zi-auth-benefit:nth-child(2) {
    border-right: 0 !important;
  }
}

@media (max-width: 575px) {
  body#password #wrapper > .container {
    width: 92vw !important;
  }

  body#password .zi-password-form-panel h1 {
    font-size: 32px !important;
  }

  body#password .zi-password-illustration {
    transform: scale(0.75) !important;
    transform-origin: center !important;
    margin-bottom: 10px !important;
  }

  body#password .zi-auth-benefits {
    grid-template-columns: 1fr !important;
  }

  body#password .zi-auth-benefit {
    border-right: 0 !important;
    padding: 0 !important;
  }
}

body#password,
body#password #wrapper {
  background-color: #fff !important;
}

/* =========================================================
   PASSWORD PAGE - IMAGE A LA PLACE DE L'ILLUSTRATION CSS
========================================================= */

body#password .zi-password-illustration,
body#password .zi-toolbox,
body#password .zi-shield,
body#password .zi-check {
  display: none !important;
}

body#password .zi-password-image-wrap {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#password .zi-password-image {
  display: block !important;
  width: 100% !important;
  max-width: 520px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* =========================================================
   MON COMPTE - ZONE INTERDITE
========================================================= */

.page-customer-account,
#my-account,
body#my-account {
  background: #f7f7f7;
}

/* on masque aussi le footer de page en sécurité */
#my-account .page-footer,
.page-customer-account .page-footer {
  display: none !important;
}

.zi-account-page {
  padding: 10px 0 50px;
}

/* largeur globale plus grande */
.zi-account-layout {
  width: 97vw;
  max-width: 1580px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

/* ================= SIDEBAR ================= */

.zi-account-sidebar-inner {
  background: #fff;
  border: 1px solid #ededed;
  border-radius: 18px;
  padding: 24px 0;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
}

.zi-account-menu-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px 18px 26px;
  color: #5a5a5a;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.zi-account-menu-item i {
  flex: 0 0 28px;
  font-size: 27px;
  color: #6a6a6a;
  transition: all 0.2s ease;
}

.zi-account-menu-item:hover {
  color: #111;
  background: #fafafa;
}

.zi-account-menu-item:hover i {
  color: #111;
}

.zi-account-menu-item.is-active {
  color: #e30613;
  font-weight: 700;
}

.zi-account-menu-item.is-active i {
  color: #e30613;
}

.zi-account-menu-item.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  border-radius: 3px;
  background: #e30613;
}

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

.zi-account-main {
  min-width: 0;
}

.zi-account-box {
  background: #fff;
  border: 1px solid #ededed;
  border-radius: 18px;
  padding: 34px 34px 30px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
}

.zi-account-header {
  margin-bottom: 26px;
}

.zi-account-header h1 {
  margin: 0 0 8px;
  color: #111;
  font-size: 26px;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.1;
}

.zi-account-header p {
  margin: 0;
  color: #8c8c8c;
  font-size: 16px;
  line-height: 1.5;
}

/* ================= CARTES ================= */

.zi-account-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 30px;
}

.zi-account-card {
  position: relative;
  min-height: 205px;
  background: #fff;
  border: 1px solid #efefef;
  border-radius: 16px;
  padding: 28px 24px 46px;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02);
  transition: all 0.22s ease;
}

.zi-account-card:hover {
  transform: translateY(-3px);
  border-color: #e7e7e7;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
}

.zi-account-card-icon {
  margin-bottom: 18px;
}

.zi-account-card-icon i {
  font-size: 40px;
  color: #ff1e1e;
  line-height: 1;
}

.zi-account-card h3 {
  margin: 0 0 10px;
  color: #1a1a1a;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

.zi-account-card p {
  margin: 0;
  color: #909090;
  font-size: 15px;
  line-height: 1.6;
  max-width: 92%;
}

.zi-account-card-arrow {
  position: absolute;
  right: 22px;
  bottom: 18px;
  color: #ff1e1e;
  font-size: 28px;
  line-height: 1;
  font-weight: 400;
}

/* ================= HOOKS ================= */

.zi-account-extra {
  margin-bottom: 24px;
}

.zi-account-extra > * {
  margin-top: 15px;
}

/* ================= BÉNÉFICES ================= */

.zi-account-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid #efefef;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  margin-top: 6px;
}

.zi-account-benefit {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 20px;
  min-height: 110px;
}

.zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef;
}

.zi-account-benefit i {
  flex: 0 0 auto;
  font-size: 34px;
  color: #ff1e1e;
}

.zi-account-benefit strong {
  display: block;
  margin-bottom: 4px;
  color: #1c1c1c;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-transform: uppercase;
}

.zi-account-benefit span {
  display: block;
  color: #9a9a9a;
  font-size: 13px;
  line-height: 1.5;
}

/* ================= BREADCRUMB ================= */

.page-customer-account .breadcrumb,
#my-account .breadcrumb {
  width: 97vw;
  max-width: 1580px;
  margin: 0 auto 16px !important;
  padding: 0 !important;
  background: transparent !important;
}

.page-customer-account .breadcrumb ol,
#my-account .breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  margin: 0;
}

.page-customer-account .breadcrumb li,
.page-customer-account .breadcrumb a,
#my-account .breadcrumb li,
#my-account .breadcrumb a {
  font-size: 13px;
  color: #8b8b8b !important;
  text-decoration: none !important;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 1400px) {
  .zi-account-layout {
    width: 96vw;
    grid-template-columns: 280px minmax(0, 1fr);
  }
}

@media (max-width: 1200px) {
  .zi-account-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zi-account-benefit:nth-child(3),
  .zi-account-benefit:nth-child(4) {
    border-top: 1px solid #efefef;
  }

  .zi-account-benefit:nth-child(3) {
    border-left: 0;
  }
}

@media (max-width: 991px) {
  .zi-account-layout {
    grid-template-columns: 1fr;
  }

  .zi-account-sidebar {
    order: 2;
  }

  .zi-account-main {
    order: 1;
  }

  .zi-account-sidebar-inner {
    padding: 12px 0;
  }

  .zi-account-menu-item {
    padding: 16px 18px;
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .zi-account-box {
    padding: 20px;
    border-radius: 12px;
  }

  .zi-account-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .zi-account-benefits {
    grid-template-columns: 1fr;
  }

  .zi-account-benefit,
  .zi-account-benefit + .zi-account-benefit {
    border-left: 0;
    border-top: 1px solid #efefef;
  }

  .zi-account-benefit:first-child {
    border-top: 0;
  }

  .zi-account-card {
    min-height: 180px;
    padding: 22px 20px 42px;
  }

  .zi-account-header h1 {
    font-size: 24px;
  }
}

/* =========================================================
   MON COMPTE - FIX LARGEUR + MENU + FOOTER
========================================================= */

/* Enlever le footer natif "Retour à votre compte / Accueil" */
body#my-account .page-footer,
body#my-account footer.page-footer,
body#my-account .account-link,
body#my-account .page-footer a {
  display: none !important;
}

/* Prendre plus de largeur */
body#my-account #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Layout plus large */
body#my-account .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
}

/* Menu gauche plus grand */
body#my-account .zi-account-sidebar-inner {
  border-radius: 18px !important;
  padding: 28px 0 !important;
}

body#my-account .zi-account-menu-item {
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}

body#my-account .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
}

body#my-account .zi-account-menu-item.is-active::before {
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
}

/* Contenu central plus respirant */
body#my-account .zi-account-box {
  padding: 36px 38px 34px !important;
  border-radius: 18px !important;
}

body#my-account .zi-account-cards {
  gap: 26px !important;
}

body#my-account .zi-account-card {
  min-height: 215px !important;
  padding: 30px 28px 48px !important;
}

/* Benefits plus propres */
body#my-account .zi-account-benefits {
  margin-top: 34px !important;
}

@media (max-width: 1200px) {
  body#my-account .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }
}

@media (max-width: 991px) {
  body#my-account .zi-account-layout {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   MON COMPTE - BREADCRUMB DISCRET + HIDE TITRE NATIF
========================================================= */

/* Cache le titre natif "Mon compte" */
body#my-account #main > header,
body#my-account .page-header,
body#my-account h1.page-title,
body#my-account #main > h1 {
  display: none !important;
}

/* Breadcrumb discret */
body#my-account .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#my-account .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#my-account .breadcrumb li,
body#my-account .breadcrumb a,
body#my-account .breadcrumb span {
  color: #9a9a9a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#my-account .breadcrumb a:hover {
  color: #e30613 !important;
}

/* Petite icône accueil si PrestaShop utilise Material Icons */
body#my-account .breadcrumb i,
body#my-account .breadcrumb .material-icons {
  color: #9a9a9a !important;
  font-size: 15px !important;
  line-height: 1 !important;
}
/* Espace entre le header et le fil d’ariane */
body#my-account .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important; /* <- le 18px ajoute l’espace en haut */
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* =========================================================
   PAGE HISTORIQUE DES COMMANDES - ZONE INTERDITE
   Même base / dimensions que la page Mon compte
========================================================= */

body#history,
body#history #wrapper {
  background: #f7f7f7 !important;
}

/* Conteneur global */
body#history #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Supprime le titre natif PrestaShop */
body#history #main > header,
body#history .page-header,
body#history h1.page-title,
body#history #main > h1 {
  display: none !important;
}

/* Supprime footer natif "Retour à votre compte" */
body#history .page-footer,
body#history footer.page-footer,
body#history .account-link,
body#history .page-footer a {
  display: none !important;
}

/* Neutralise les contraintes PrestaShop */
body#history #content-wrapper,
body#history #main,
body#history #content,
body#history .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   BREADCRUMB
========================================================= */

body#history .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#history .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#history .breadcrumb li,
body#history .breadcrumb a,
body#history .breadcrumb span {
  color: #9a9a9a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#history .breadcrumb a:hover {
  color: #e30613 !important;
}

body#history .breadcrumb i,
body#history .breadcrumb .material-icons {
  color: #9a9a9a !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* =========================================================
   LAYOUT PRINCIPAL
========================================================= */

body#history .zi-account-page,
body#history .zi-history-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

body#history .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

/* =========================================================
   SIDEBAR
========================================================= */

body#history .zi-account-sidebar {
  width: auto !important;
}

body#history .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

body#history .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body#history .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
  color: #6a6a6a !important;
  transition: all 0.2s ease !important;
}

body#history .zi-account-menu-item:hover {
  color: #111 !important;
  background: #fafafa !important;
}

body#history .zi-account-menu-item:hover i {
  color: #111 !important;
}

body#history .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

body#history .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

body#history .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

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

body#history .zi-account-main {
  min-width: 0 !important;
  width: 100% !important;
}

body#history .zi-account-box {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

body#history .zi-account-header {
  margin-bottom: 26px !important;
}

body#history .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
}

body#history .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* =========================================================
   TABLEAU COMMANDES
========================================================= */

body#history .zi-history-table-wrap {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body#history .zi-history-table {
  width: 100% !important;
}

body#history .zi-history-head,
body#history .zi-history-row {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr 1.15fr 1fr 0.9fr 80px !important;
  align-items: center !important;
  column-gap: 18px !important;
}

body#history .zi-history-head {
  padding: 18px 20px !important;
  border-bottom: 1px solid #f1f1f1 !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  background: #fff !important;
}

body#history .zi-history-row {
  padding: 20px !important;
  border-bottom: 1px solid #f4f4f4 !important;
  background: #fff !important;
}

body#history .zi-history-row:last-child {
  border-bottom: 0 !important;
}

body#history .zi-history-col {
  color: #707070 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body#history .zi-history-ref {
  color: #7a7a7a !important;
  font-weight: 500 !important;
}

body#history .zi-history-total {
  color: #333 !important;
  font-weight: 700 !important;
}

body#history .zi-history-detail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#history .zi-history-detail-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  color: #e30613 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body#history .zi-history-detail-link:hover {
  background: rgba(227, 6, 19, 0.08) !important;
  color: #e30613 !important;
  text-decoration: none !important;
}

body#history .zi-history-detail-link.is-disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

/* =========================================================
   BADGES STATUT
========================================================= */

body#history .zi-status-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  background: #f3f3f3 !important;
  color: #666 !important;
}

body#history .zi-status-badge.is-delivered {
  background: #e9f9ea !important;
  color: #62b84c !important;
}

body#history .zi-status-badge.is-preparing {
  background: #fff5d8 !important;
  color: #f1b300 !important;
}

body#history .zi-status-badge.is-shipped {
  background: #dff1ff !important;
  color: #4ea3df !important;
}

/* =========================================================
   EMPTY STATE - AUCUNE COMMANDE
========================================================= */

body#history .zi-history-empty {
  min-height: 280px !important;
  padding: 48px 24px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

body#history .zi-history-empty-icon {
  width: 72px !important;
  height: 72px !important;
  margin: 0 auto 16px !important;
  border-radius: 50% !important;
  background: rgba(227, 6, 19, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#history .zi-history-empty-icon i {
  font-size: 34px !important;
  color: #e30613 !important;
}

body#history .zi-history-empty h3 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 21px !important;
  font-weight: 800 !important;
}

body#history .zi-history-empty p {
  margin: 0 0 20px !important;
  color: #888 !important;
  font-size: 14px !important;
}

body#history .zi-history-empty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  padding: 0 22px !important;
  background: #e30613 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body#history .zi-history-empty-btn:hover {
  background: #111 !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* =========================================================
   BLOC SUIVI DE COMMANDE
========================================================= */

body#history .zi-history-info-box {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin-top: 18px !important;
  padding: 24px 26px !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
}

body#history .zi-history-info-icon {
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: rgba(227, 6, 19, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#history .zi-history-info-icon i {
  display: block !important;
  margin: 0 !important;
  color: #e30613 !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

body#history .zi-history-info-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body#history .zi-history-info-content strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: #222 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

body#history .zi-history-info-content p {
  margin: 0 !important;
  color: #8a8a8a !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* =========================================================
   BLOC AVANTAGES
========================================================= */

body#history .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 34px !important;
}

body#history .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 20px !important;
  min-height: 110px !important;
}

body#history .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

body#history .zi-account-benefit i {
  flex: 0 0 auto !important;
  font-size: 34px !important;
  color: #ff1e1e !important;
}

body#history .zi-account-benefit strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #1c1c1c !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

body#history .zi-account-benefit span {
  display: block !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
  body#history .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  body#history .zi-history-head,
  body#history .zi-history-row {
    grid-template-columns: 1.2fr 0.95fr 1.1fr 0.95fr 0.85fr 70px !important;
  }

  body#history .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body#history .zi-account-benefit:nth-child(3),
  body#history .zi-account-benefit:nth-child(4) {
    border-top: 1px solid #efefef !important;
  }

  body#history .zi-account-benefit:nth-child(3) {
    border-left: 0 !important;
  }
}

@media (max-width: 991px) {
  body#history .zi-account-layout {
    grid-template-columns: 1fr !important;
  }

  body#history .zi-account-sidebar {
    order: 2 !important;
  }

  body#history .zi-account-main {
    order: 1 !important;
  }
}

@media (max-width: 900px) {
  body#history .zi-history-head {
    display: none !important;
  }

  body#history .zi-history-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 18px !important;
  }

  body#history .zi-history-col {
    display: flex !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-bottom: 1px dashed #f0f0f0 !important;
    padding-bottom: 8px !important;
  }

  body#history .zi-history-col:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body#history .zi-history-ref::before {
    content: "Référence";
    font-weight: 700;
    color: #333;
  }

  body#history .zi-history-date::before {
    content: "Date";
    font-weight: 700;
    color: #333;
  }

  body#history .zi-history-payment::before {
    content: "Paiement";
    font-weight: 700;
    color: #333;
  }

  body#history .zi-history-status::before {
    content: "Statut";
    font-weight: 700;
    color: #333;
  }

  body#history .zi-history-total::before {
    content: "Total";
    font-weight: 700;
    color: #333;
  }

  body#history .zi-history-detail::before {
    content: "Détails";
    font-weight: 700;
    color: #333;
  }

  body#history .zi-history-detail {
    justify-content: space-between !important;
  }
}

@media (max-width: 767px) {
  body#history .zi-account-box {
    padding: 20px !important;
    border-radius: 12px !important;
  }

  body#history .zi-account-header h1 {
    font-size: 24px !important;
  }

  body#history .zi-account-benefits {
    grid-template-columns: 1fr !important;
  }

  body#history .zi-account-benefit,
  body#history .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  body#history .zi-account-benefit:first-child {
    border-top: 0 !important;
  }

  body#history .zi-history-info-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* =========================================================
   HISTORIQUE - FIX ICONE SUIVI DE COMMANDE
========================================================= */

body#history .zi-history-info-icon {
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: rgba(227, 6, 19, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body#history .zi-history-info-icon i {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #e30613 !important;
  font-family: "Material Icons" !important;
  font-size: 34px !important;
  font-weight: normal !important;
  font-style: normal !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
  direction: ltr !important;
  -webkit-font-feature-settings: "liga" !important;
  -webkit-font-smoothing: antialiased !important;
}

/* =========================================================
   PAGE AVOIRS - ZONE INTERDITE
   Même base / dimensions que Mon compte
========================================================= */

body#order-slip,
body#order-slip #wrapper {
  background: #f7f7f7 !important;
}

/* Conteneur global */
body#order-slip #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Supprime le titre natif PrestaShop */
body#order-slip #main > header,
body#order-slip .page-header,
body#order-slip h1.page-title,
body#order-slip #main > h1 {
  display: none !important;
}

/* Supprime footer natif */
body#order-slip .page-footer,
body#order-slip footer.page-footer,
body#order-slip .account-link,
body#order-slip .page-footer a {
  display: none !important;
}

/* Neutralise contraintes PrestaShop */
body#order-slip #content-wrapper,
body#order-slip #main,
body#order-slip #content,
body#order-slip .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   BREADCRUMB
========================================================= */

body#order-slip .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#order-slip .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#order-slip .breadcrumb li,
body#order-slip .breadcrumb a,
body#order-slip .breadcrumb span {
  color: #9a9a9a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#order-slip .breadcrumb a:hover {
  color: #e30613 !important;
}

body#order-slip .breadcrumb i,
body#order-slip .breadcrumb .material-icons {
  color: #9a9a9a !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* =========================================================
   LAYOUT
========================================================= */

body#order-slip .zi-account-page,
body#order-slip .zi-slip-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

body#order-slip .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

/* =========================================================
   SIDEBAR
========================================================= */

body#order-slip .zi-account-sidebar {
  width: auto !important;
}

body#order-slip .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

body#order-slip .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body#order-slip .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
  color: #6a6a6a !important;
  transition: all 0.2s ease !important;
}

body#order-slip .zi-account-menu-item:hover {
  color: #111 !important;
  background: #fafafa !important;
}

body#order-slip .zi-account-menu-item:hover i {
  color: #111 !important;
}

body#order-slip .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

body#order-slip .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

body#order-slip .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

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

body#order-slip .zi-account-main {
  min-width: 0 !important;
  width: 100% !important;
}

body#order-slip .zi-account-box {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

body#order-slip .zi-account-header {
  margin-bottom: 26px !important;
}

body#order-slip .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
}

body#order-slip .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* =========================================================
   TABLEAU AVOIRS
========================================================= */

body#order-slip .zi-slip-table-wrap {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body#order-slip .zi-slip-table {
  width: 100% !important;
}

body#order-slip .zi-slip-head,
body#order-slip .zi-slip-row {
  display: grid !important;
  grid-template-columns: 1.15fr 1.25fr 1fr 1fr 110px !important;
  align-items: center !important;
  column-gap: 18px !important;
}

body#order-slip .zi-slip-head {
  padding: 20px 22px !important;
  border-bottom: 1px solid #f1f1f1 !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  background: #fff !important;
}

body#order-slip .zi-slip-row {
  padding: 24px 22px !important;
  border-bottom: 1px solid #f4f4f4 !important;
  background: #fff !important;
}

body#order-slip .zi-slip-row:last-child {
  border-bottom: 0 !important;
}

body#order-slip .zi-slip-col {
  color: #707070 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body#order-slip .zi-slip-ref,
body#order-slip .zi-slip-order {
  color: #6f6f6f !important;
  font-weight: 500 !important;
}

body#order-slip .zi-slip-amount {
  color: #333 !important;
  font-weight: 700 !important;
}

body#order-slip .zi-slip-download {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#order-slip .zi-slip-download-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  color: #e30613 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body#order-slip .zi-slip-download-link i {
  color: #e30613 !important;
  font-size: 28px !important;
}

body#order-slip .zi-slip-download-link:hover {
  background: rgba(227, 6, 19, 0.08) !important;
  color: #e30613 !important;
  text-decoration: none !important;
}

body#order-slip .zi-slip-download-link.is-disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

/* =========================================================
   EMPTY STATE
========================================================= */

body#order-slip .zi-slip-empty {
  min-height: 280px !important;
  padding: 48px 24px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

body#order-slip .zi-slip-empty-icon {
  width: 72px !important;
  height: 72px !important;
  margin: 0 auto 16px !important;
  border-radius: 50% !important;
  background: rgba(227, 6, 19, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#order-slip .zi-slip-empty-icon i {
  font-size: 34px !important;
  color: #e30613 !important;
}

body#order-slip .zi-slip-empty h3 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 21px !important;
  font-weight: 800 !important;
}

body#order-slip .zi-slip-empty p {
  margin: 0 0 20px !important;
  color: #888 !important;
  font-size: 14px !important;
}

body#order-slip .zi-slip-empty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  padding: 0 22px !important;
  background: #e30613 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body#order-slip .zi-slip-empty-btn:hover {
  background: #111 !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* =========================================================
   BLOC INFO PDF
========================================================= */

body#order-slip .zi-slip-info-box {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin-top: 24px !important;
  padding: 24px 26px !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
}

body#order-slip .zi-slip-info-icon {
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 2px solid #e30613 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#order-slip .zi-slip-info-icon i {
  display: block !important;
  margin: 0 !important;
  color: #e30613 !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

body#order-slip .zi-slip-info-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body#order-slip .zi-slip-info-content strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: #222 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

body#order-slip .zi-slip-info-content p {
  margin: 0 !important;
  color: #8a8a8a !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* =========================================================
   BLOC AVANTAGES
========================================================= */

body#order-slip .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 34px !important;
}

body#order-slip .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 20px !important;
  min-height: 110px !important;
}

body#order-slip .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

body#order-slip .zi-account-benefit i {
  flex: 0 0 auto !important;
  font-size: 34px !important;
  color: #ff1e1e !important;
}

body#order-slip .zi-account-benefit strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #1c1c1c !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

body#order-slip .zi-account-benefit span {
  display: block !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
  body#order-slip .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  body#order-slip .zi-slip-head,
  body#order-slip .zi-slip-row {
    grid-template-columns: 1.15fr 1.2fr 0.9fr 0.9fr 90px !important;
  }

  body#order-slip .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body#order-slip .zi-account-benefit:nth-child(3),
  body#order-slip .zi-account-benefit:nth-child(4) {
    border-top: 1px solid #efefef !important;
  }

  body#order-slip .zi-account-benefit:nth-child(3) {
    border-left: 0 !important;
  }
}

@media (max-width: 991px) {
  body#order-slip .zi-account-layout {
    grid-template-columns: 1fr !important;
  }

  body#order-slip .zi-account-sidebar {
    order: 2 !important;
  }

  body#order-slip .zi-account-main {
    order: 1 !important;
  }
}

@media (max-width: 900px) {
  body#order-slip .zi-slip-head {
    display: none !important;
  }

  body#order-slip .zi-slip-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 18px !important;
  }

  body#order-slip .zi-slip-col {
    display: flex !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-bottom: 1px dashed #f0f0f0 !important;
    padding-bottom: 8px !important;
  }

  body#order-slip .zi-slip-col:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body#order-slip .zi-slip-ref::before {
    content: "Avoir";
    font-weight: 700;
    color: #333;
  }

  body#order-slip .zi-slip-order::before {
    content: "Commande liée";
    font-weight: 700;
    color: #333;
  }

  body#order-slip .zi-slip-date::before {
    content: "Date";
    font-weight: 700;
    color: #333;
  }

  body#order-slip .zi-slip-amount::before {
    content: "Montant";
    font-weight: 700;
    color: #333;
  }

  body#order-slip .zi-slip-download::before {
    content: "Télécharger";
    font-weight: 700;
    color: #333;
  }

  body#order-slip .zi-slip-download {
    justify-content: space-between !important;
  }
}

@media (max-width: 767px) {
  body#order-slip .zi-account-box {
    padding: 20px !important;
    border-radius: 12px !important;
  }

  body#order-slip .zi-account-header h1 {
    font-size: 24px !important;
  }

  body#order-slip .zi-account-benefits {
    grid-template-columns: 1fr !important;
  }

  body#order-slip .zi-account-benefit,
  body#order-slip .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  body#order-slip .zi-account-benefit:first-child {
    border-top: 0 !important;
  }

  body#order-slip .zi-slip-info-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* =========================================================
   PAGE WISHLIST - ZONE INTERDITE
   Même base / dimensions que Mon compte
========================================================= */

body#module-blockwishlist-lists,
body#module-blockwishlist-view,
body#module-blockwishlist-lists #wrapper,
body#module-blockwishlist-view #wrapper {
  background: #f7f7f7 !important;
}

/* Conteneur global */
body#module-blockwishlist-lists #wrapper > .container,
body#module-blockwishlist-view #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Supprime le titre natif */
body#module-blockwishlist-lists #main > header,
body#module-blockwishlist-view #main > header,
body#module-blockwishlist-lists .page-header,
body#module-blockwishlist-view .page-header,
body#module-blockwishlist-lists h1.page-title,
body#module-blockwishlist-view h1.page-title {
  display: none !important;
}

/* Supprime footer natif */
body#module-blockwishlist-lists .page-footer,
body#module-blockwishlist-view .page-footer,
body#module-blockwishlist-lists footer.page-footer,
body#module-blockwishlist-view footer.page-footer {
  display: none !important;
}

/* Neutralise contraintes PrestaShop */
body#module-blockwishlist-lists #content-wrapper,
body#module-blockwishlist-view #content-wrapper,
body#module-blockwishlist-lists #main,
body#module-blockwishlist-view #main,
body#module-blockwishlist-lists #content,
body#module-blockwishlist-view #content,
body#module-blockwishlist-lists .page-content,
body#module-blockwishlist-view .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Breadcrumb */
body#module-blockwishlist-lists .breadcrumb,
body#module-blockwishlist-view .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#module-blockwishlist-lists .breadcrumb ol,
body#module-blockwishlist-view .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#module-blockwishlist-lists .breadcrumb li,
body#module-blockwishlist-lists .breadcrumb a,
body#module-blockwishlist-lists .breadcrumb span,
body#module-blockwishlist-view .breadcrumb li,
body#module-blockwishlist-view .breadcrumb a,
body#module-blockwishlist-view .breadcrumb span {
  color: #9a9a9a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

/* Layout */
body#module-blockwishlist-lists .zi-account-page,
body#module-blockwishlist-view .zi-account-page,
body#module-blockwishlist-lists .zi-wishlist-page,
body#module-blockwishlist-view .zi-wishlist-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

body#module-blockwishlist-lists .zi-account-layout,
body#module-blockwishlist-view .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Sidebar */
body#module-blockwishlist-lists .zi-account-sidebar-inner,
body#module-blockwishlist-view .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

body#module-blockwishlist-lists .zi-account-menu-item,
body#module-blockwishlist-view .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body#module-blockwishlist-lists .zi-account-menu-item i,
body#module-blockwishlist-view .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
  color: #6a6a6a !important;
}

body#module-blockwishlist-lists .zi-account-menu-item:hover,
body#module-blockwishlist-view .zi-account-menu-item:hover {
  color: #111 !important;
  background: #fafafa !important;
}

body#module-blockwishlist-lists .zi-account-menu-item.is-active,
body#module-blockwishlist-view .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

body#module-blockwishlist-lists .zi-account-menu-item.is-active i,
body#module-blockwishlist-view .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

body#module-blockwishlist-lists .zi-account-menu-item.is-active::before,
body#module-blockwishlist-view .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

/* Contenu principal */
body#module-blockwishlist-lists .zi-account-main,
body#module-blockwishlist-view .zi-account-main {
  min-width: 0 !important;
  width: 100% !important;
}

body#module-blockwishlist-lists .zi-account-box,
body#module-blockwishlist-view .zi-account-box {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

body#module-blockwishlist-lists .zi-account-header,
body#module-blockwishlist-view .zi-account-header {
  margin-bottom: 26px !important;
}

body#module-blockwishlist-lists .zi-account-header h1,
body#module-blockwishlist-view .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
}

body#module-blockwishlist-lists .zi-account-header p,
body#module-blockwishlist-view .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* Grille produits */
.zi-wishlist-products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.zi-wishlist-card {
  position: relative !important;
  min-height: 310px !important;
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 14px !important;
  padding: 18px 18px 20px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.22s ease !important;
}

.zi-wishlist-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.06) !important;
}

.zi-wishlist-heart {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 32px !important;
  height: 32px !important;
  border: 0 !important;
  background: transparent !important;
  color: #e30613 !important;
  padding: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

.zi-wishlist-heart i {
  color: #e30613 !important;
  font-size: 28px !important;
}

.zi-wishlist-image {
  height: 180px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
  text-decoration: none !important;
}

.zi-wishlist-image img {
  display: block !important;
  max-width: 100% !important;
  max-height: 175px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.zi-wishlist-card-body {
  position: relative !important;
  min-height: 92px !important;
  padding-right: 52px !important;
}

.zi-wishlist-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 38px !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

.zi-wishlist-title:hover {
  color: #e30613 !important;
  text-decoration: none !important;
}

.zi-wishlist-brand {
  display: block !important;
  margin-top: 4px !important;
  color: #999 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}

.zi-wishlist-bottom {
  margin-top: 8px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
}

.zi-wishlist-price {
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.zi-wishlist-cart-form {
  margin: 0 !important;
}

.zi-wishlist-cart-btn {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #111 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

.zi-wishlist-cart-btn:hover {
  background: #e30613 !important;
}

.zi-wishlist-cart-btn i {
  color: #fff !important;
  font-size: 22px !important;
}

/* Empty state */
.zi-wishlist-empty {
  grid-column: 1 / -1 !important;
  min-height: 300px !important;
  padding: 48px 24px !important;
  text-align: center !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-wishlist-empty-icon {
  width: 72px !important;
  height: 72px !important;
  margin: 0 auto 16px !important;
  border-radius: 50% !important;
  background: rgba(227, 6, 19, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-wishlist-empty-icon i {
  font-size: 36px !important;
  color: #e30613 !important;
}

.zi-wishlist-empty h3 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 21px !important;
  font-weight: 800 !important;
}

.zi-wishlist-empty p {
  margin: 0 0 20px !important;
  color: #888 !important;
  font-size: 14px !important;
}

.zi-wishlist-empty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  padding: 0 22px !important;
  background: #e30613 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.zi-wishlist-empty-btn:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Benefits */
body#module-blockwishlist-lists .zi-account-benefits,
body#module-blockwishlist-view .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 34px !important;
}

body#module-blockwishlist-lists .zi-account-benefit,
body#module-blockwishlist-view .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 20px !important;
  min-height: 110px !important;
}

body#module-blockwishlist-lists .zi-account-benefit + .zi-account-benefit,
body#module-blockwishlist-view .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

/* Responsive */
@media (max-width: 1300px) {
  .zi-wishlist-products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1200px) {
  body#module-blockwishlist-lists .zi-account-layout,
  body#module-blockwishlist-view .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  body#module-blockwishlist-lists .zi-account-benefits,
  body#module-blockwishlist-view .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  body#module-blockwishlist-lists .zi-account-layout,
  body#module-blockwishlist-view .zi-account-layout {
    grid-template-columns: 1fr !important;
  }

  body#module-blockwishlist-lists .zi-account-sidebar,
  body#module-blockwishlist-view .zi-account-sidebar {
    order: 2 !important;
  }

  body#module-blockwishlist-lists .zi-account-main,
  body#module-blockwishlist-view .zi-account-main {
    order: 1 !important;
  }

  .zi-wishlist-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body#module-blockwishlist-lists .zi-account-box,
  body#module-blockwishlist-view .zi-account-box {
    padding: 20px !important;
    border-radius: 12px !important;
  }

  .zi-wishlist-products {
    grid-template-columns: 1fr !important;
  }

  body#module-blockwishlist-lists .zi-account-benefits,
  body#module-blockwishlist-view .zi-account-benefits {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   WISHLIST - CARTES LISTES
========================================================= */

.zi-wishlist-list-card {
  position: relative !important;
  min-height: 190px !important;
  padding: 28px 26px 46px !important;
  background: #fff !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.22s ease !important;
}

.zi-wishlist-list-card:hover {
  transform: translateY(-3px) !important;
  border-color: #e7e7e7 !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06) !important;
}

.zi-wishlist-list-icon {
  margin-bottom: 18px !important;
}

.zi-wishlist-list-icon i {
  color: #e30613 !important;
  font-size: 42px !important;
}

.zi-wishlist-list-card h3 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.zi-wishlist-list-card p {
  margin: 0 !important;
  max-width: 90% !important;
  color: #909090 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* =========================================================
   WISHLIST - FIX BOUTON CREATE
========================================================= */

body#module-blockwishlist-lists .zi-wishlist-create-btn {
  height: 44px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#module-blockwishlist-lists .zi-wishlist-create-btn i {
  color: #fff !important;
  font-size: 21px !important;
}

body#module-blockwishlist-lists .zi-wishlist-create-btn:hover {
  background: #111 !important;
}

body#module-blockwishlist-lists .zi-wishlist-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

/* =========================================================
   WISHLIST - NATIVE MODULE DANS DESIGN CUSTOM
========================================================= */

body#module-blockwishlist-lists .zi-wishlist-native {
  width: 100% !important;
  margin-top: 24px !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body#module-blockwishlist-lists .wishlist-container {
  width: 100% !important;
  min-height: 180px !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Titre natif du module */
body#module-blockwishlist-lists .wishlist-container h1,
body#module-blockwishlist-lists .wishlist-container h2,
body#module-blockwishlist-lists .wishlist-container .h1,
body#module-blockwishlist-lists .wishlist-container .h2 {
  display: none !important;
}

/* Bouton créer une liste généré par le module */
body#module-blockwishlist-lists .wishlist-container button,
body#module-blockwishlist-lists .wishlist-container .btn,
body#module-blockwishlist-lists .wishlist-container a.btn {
  border-radius: 8px !important;
  font-weight: 800 !important;
}

/* Ligne / carte wishlist native */
body#module-blockwishlist-lists .wishlist-container ul,
body#module-blockwishlist-lists .wishlist-container .wishlist-list {
  margin: 0 !important;
  padding: 0 !important;
}

body#module-blockwishlist-lists .wishlist-container li,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item {
  border-bottom: 1px solid #f0f0f0 !important;
  padding: 22px 24px !important;
  background: #fff !important;
}

body#module-blockwishlist-lists .wishlist-container li:last-child,
body#module-blockwishlist-lists
  .wishlist-container
  .wishlist-list-item:last-child {
  border-bottom: 0 !important;
}

/* Liens wishlist */
body#module-blockwishlist-lists .wishlist-container a {
  color: #111 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body#module-blockwishlist-lists .wishlist-container a:hover {
  color: #e30613 !important;
}

/* Icônes */
body#module-blockwishlist-lists .wishlist-container i,
body#module-blockwishlist-lists .wishlist-container .material-icons {
  color: #e30613 !important;
}

/* Supprime les anciens liens bas si encore injectés */
body#module-blockwishlist-lists .wishlist-footer-links {
  display: none !important;
}

/* =========================================================
   WISHLIST LIST - FIX BOUTON CREATE NEW LIST
========================================================= */

body#module-blockwishlist-lists
  .zi-wishlist-native
  > .wishlist-container
  > div:first-child,
body#module-blockwishlist-lists .wishlist-container .wishlist-add-to-new,
body#module-blockwishlist-lists .wishlist-container .wishlist-create,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-create {
  margin-bottom: 20px !important;
}

/* bouton créer une liste natif */
body#module-blockwishlist-lists .wishlist-container button,
body#module-blockwishlist-lists .wishlist-container .btn,
body#module-blockwishlist-lists .wishlist-container a.btn {
  height: 44px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

/* icône + */
body#module-blockwishlist-lists .wishlist-container button i,
body#module-blockwishlist-lists .wishlist-container .btn i,
body#module-blockwishlist-lists .wishlist-container button .material-icons,
body#module-blockwishlist-lists .wishlist-container .btn .material-icons {
  color: #fff !important;
  font-size: 20px !important;
  margin: 0 !important;
}

/* texte bouton */
body#module-blockwishlist-lists .wishlist-container button span,
body#module-blockwishlist-lists .wishlist-container .btn span {
  color: #fff !important;
  font-weight: 900 !important;
}

/* hover */
body#module-blockwishlist-lists .wishlist-container button:hover,
body#module-blockwishlist-lists .wishlist-container .btn:hover,
body#module-blockwishlist-lists .wishlist-container a.btn:hover {
  background: #111 !important;
  color: #fff !important;
}

/* retire le style bleu natif */
body#module-blockwishlist-lists .wishlist-container .text-primary {
  color: #e30613 !important;
}

/* placement du bouton en haut à droite */
body#module-blockwishlist-lists .wishlist-container {
  position: relative !important;
}

body#module-blockwishlist-lists .wishlist-container > div:first-child {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

/* ligne wishlist native plus propre */
body#module-blockwishlist-lists .wishlist-container .wishlist-list,
body#module-blockwishlist-lists .wishlist-container ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#module-blockwishlist-lists .wishlist-container li,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item {
  min-height: 92px !important;
  padding: 28px 36px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body#module-blockwishlist-lists .wishlist-container li:last-child,
body#module-blockwishlist-lists
  .wishlist-container
  .wishlist-list-item:last-child {
  border-bottom: 0 !important;
}

body#module-blockwishlist-lists .wishlist-container a {
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body#module-blockwishlist-lists .wishlist-container a:hover {
  color: #e30613 !important;
}

/* =========================================================
   WISHLIST - LISTE + PAGE PRODUITS
   Zone Interdite
========================================================= */

/* =========================================================
   BASE COMMUNE
========================================================= */

body#module-blockwishlist-lists,
body#module-blockwishlist-view,
body#module-blockwishlist-lists #wrapper,
body#module-blockwishlist-view #wrapper {
  background: #f7f7f7 !important;
}

body#module-blockwishlist-lists #wrapper > .container,
body#module-blockwishlist-view #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Cache titres / footer natifs */
body#module-blockwishlist-lists #main > header,
body#module-blockwishlist-view #main > header,
body#module-blockwishlist-lists .page-header,
body#module-blockwishlist-view .page-header,
body#module-blockwishlist-lists h1.page-title,
body#module-blockwishlist-view h1.page-title,
body#module-blockwishlist-lists #main > h1,
body#module-blockwishlist-view #main > h1,
body#module-blockwishlist-lists .page-footer,
body#module-blockwishlist-view .page-footer,
body#module-blockwishlist-lists footer.page-footer,
body#module-blockwishlist-view footer.page-footer,
body#module-blockwishlist-lists .wishlist-footer-links,
body#module-blockwishlist-view .wishlist-footer-links {
  display: none !important;
}

/* Neutralise les contraintes PrestaShop */
body#module-blockwishlist-lists #content-wrapper,
body#module-blockwishlist-view #content-wrapper,
body#module-blockwishlist-lists #main,
body#module-blockwishlist-view #main,
body#module-blockwishlist-lists #content,
body#module-blockwishlist-view #content,
body#module-blockwishlist-lists .page-content,
body#module-blockwishlist-view .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   BREADCRUMB
========================================================= */

body#module-blockwishlist-lists .breadcrumb,
body#module-blockwishlist-view .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#module-blockwishlist-lists .breadcrumb ol,
body#module-blockwishlist-view .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#module-blockwishlist-lists .breadcrumb li,
body#module-blockwishlist-lists .breadcrumb a,
body#module-blockwishlist-lists .breadcrumb span,
body#module-blockwishlist-view .breadcrumb li,
body#module-blockwishlist-view .breadcrumb a,
body#module-blockwishlist-view .breadcrumb span {
  color: #9a9a9a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#module-blockwishlist-lists .breadcrumb a:hover,
body#module-blockwishlist-view .breadcrumb a:hover {
  color: #e30613 !important;
}

/* =========================================================
   LAYOUT COMPTE
========================================================= */

body#module-blockwishlist-lists .zi-account-page,
body#module-blockwishlist-view .zi-account-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

body#module-blockwishlist-lists .zi-account-layout,
body#module-blockwishlist-view .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

body#module-blockwishlist-lists .zi-account-main,
body#module-blockwishlist-view .zi-account-main {
  width: 100% !important;
  min-width: 0 !important;
}

body#module-blockwishlist-lists .zi-account-box,
body#module-blockwishlist-view .zi-account-box {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

/* =========================================================
   SIDEBAR
========================================================= */

body#module-blockwishlist-lists .zi-account-sidebar-inner,
body#module-blockwishlist-view .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

body#module-blockwishlist-lists .zi-account-menu-item,
body#module-blockwishlist-view .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body#module-blockwishlist-lists .zi-account-menu-item i,
body#module-blockwishlist-view .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  color: #6a6a6a !important;
  font-size: 28px !important;
}

body#module-blockwishlist-lists .zi-account-menu-item:hover,
body#module-blockwishlist-view .zi-account-menu-item:hover {
  color: #111 !important;
  background: #fafafa !important;
}

body#module-blockwishlist-lists .zi-account-menu-item:hover i,
body#module-blockwishlist-view .zi-account-menu-item:hover i {
  color: #111 !important;
}

body#module-blockwishlist-lists .zi-account-menu-item.is-active,
body#module-blockwishlist-view .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

body#module-blockwishlist-lists .zi-account-menu-item.is-active i,
body#module-blockwishlist-view .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

body#module-blockwishlist-lists .zi-account-menu-item.is-active::before,
body#module-blockwishlist-view .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

/* =========================================================
   HEADER WISHLIST
========================================================= */

body#module-blockwishlist-lists .zi-account-header,
body#module-blockwishlist-view .zi-account-header {
  margin-bottom: 26px !important;
}

body#module-blockwishlist-lists .zi-account-header h1,
body#module-blockwishlist-view .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

body#module-blockwishlist-lists .zi-account-header p,
body#module-blockwishlist-view .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

body#module-blockwishlist-lists .zi-wishlist-header,
body#module-blockwishlist-view .zi-wishlist-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

/* =========================================================
   PAGE LISTE WISHLISTS
========================================================= */

body#module-blockwishlist-lists .zi-wishlist-native {
  position: relative !important;
  width: 100% !important;
  margin-top: 24px !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body#module-blockwishlist-lists .wishlist-container {
  width: 100% !important;
  min-height: 180px !important;
  background: transparent !important;
}

/* Ligne du bouton create */
body#module-blockwishlist-lists .wishlist-container > div:first-child {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 0 0 24px !important;
}

/* Bouton Create new list */
body#module-blockwishlist-lists .wishlist-container button,
body#module-blockwishlist-lists .wishlist-container .btn,
body#module-blockwishlist-lists .wishlist-container a.btn {
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#module-blockwishlist-lists .wishlist-container button:hover,
body#module-blockwishlist-lists .wishlist-container .btn:hover,
body#module-blockwishlist-lists .wishlist-container a.btn:hover {
  background: #111 !important;
  color: #fff !important;
}

body#module-blockwishlist-lists .wishlist-container button i,
body#module-blockwishlist-lists .wishlist-container .btn i,
body#module-blockwishlist-lists .wishlist-container button .material-icons,
body#module-blockwishlist-lists .wishlist-container .btn .material-icons {
  margin: 0 !important;
  color: #fff !important;
  font-size: 20px !important;
}

/* Liste */
body#module-blockwishlist-lists .wishlist-container ul,
body#module-blockwishlist-lists .wishlist-container .wishlist-list {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#module-blockwishlist-lists .wishlist-container li,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item {
  min-height: 118px !important;
  padding: 30px 36px !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 14px !important;
}

body#module-blockwishlist-lists .wishlist-container li a,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item a {
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body#module-blockwishlist-lists .wishlist-container li a:hover,
body#module-blockwishlist-lists
  .wishlist-container
  .wishlist-list-item
  a:hover {
  color: #e30613 !important;
}

/* Bouton partager */
body#module-blockwishlist-lists .wishlist-container [class*="share"],
body#module-blockwishlist-lists .wishlist-container button[class*="share"] {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #e30613 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#module-blockwishlist-lists .wishlist-container [class*="share"] i,
body#module-blockwishlist-lists .wishlist-container button[class*="share"] i,
body#module-blockwishlist-lists
  .wishlist-container
  [class*="share"]
  .material-icons {
  color: #fff !important;
  font-size: 22px !important;
}

body#module-blockwishlist-lists .wishlist-container [class*="share"]:hover,
body#module-blockwishlist-lists
  .wishlist-container
  button[class*="share"]:hover {
  background: #111 !important;
}

/* =========================================================
   PAGE PRODUITS WISHLIST
========================================================= */

body#module-blockwishlist-view .zi-wishlist-back-btn {
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body#module-blockwishlist-view .zi-wishlist-back-btn i {
  color: #fff !important;
  font-size: 22px !important;
}

body#module-blockwishlist-view .zi-wishlist-back-btn:hover {
  background: #e30613 !important;
  color: #fff !important;
}

body#module-blockwishlist-view .zi-wishlist-native-products {
  width: 100% !important;
  margin-top: 24px !important;
  padding: 26px !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body#module-blockwishlist-view .wishlist-products-container {
  width: 100% !important;
  min-height: 320px !important;
  background: transparent !important;
}

/* Cache les titres natifs doublons */
body#module-blockwishlist-view .wishlist-products-container h1,
body#module-blockwishlist-view .wishlist-products-container h2,
body#module-blockwishlist-view .wishlist-products-container .h1,
body#module-blockwishlist-view .wishlist-products-container .h2 {
  display: none !important;
}

/* Tri */
body#module-blockwishlist-view .wishlist-products-container select,
body#module-blockwishlist-view .wishlist-products-container .custom-select {
  height: 46px !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
}

/* Cartes produits natives */
body#module-blockwishlist-view .wishlist-products-container .product-miniature,
body#module-blockwishlist-view .wishlist-products-container article {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.02) !important;
}

body#module-blockwishlist-view .wishlist-products-container img {
  max-width: 100% !important;
  object-fit: contain !important;
}

body#module-blockwishlist-view .wishlist-products-container .btn,
body#module-blockwishlist-view .wishlist-products-container button {
  border-radius: 8px !important;
  font-weight: 900 !important;
}

body#module-blockwishlist-view .wishlist-products-container .btn-primary,
body#module-blockwishlist-view
  .wishlist-products-container
  button[data-button-action="add-to-cart"] {
  background: #e30613 !important;
  border-color: #e30613 !important;
  color: #fff !important;
}

body#module-blockwishlist-view .wishlist-products-container .btn-primary:hover,
body#module-blockwishlist-view
  .wishlist-products-container
  button[data-button-action="add-to-cart"]:hover {
  background: #111 !important;
  border-color: #111 !important;
}

/* =========================================================
   AVANTAGES
========================================================= */

body#module-blockwishlist-lists .zi-account-benefits,
body#module-blockwishlist-view .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 34px !important;
  background: #fff !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body#module-blockwishlist-lists .zi-account-benefit,
body#module-blockwishlist-view .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 110px !important;
  padding: 24px 20px !important;
}

body#module-blockwishlist-lists .zi-account-benefit + .zi-account-benefit,
body#module-blockwishlist-view .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

body#module-blockwishlist-lists .zi-account-benefit i,
body#module-blockwishlist-view .zi-account-benefit i {
  flex: 0 0 auto !important;
  color: #ff1e1e !important;
  font-size: 34px !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
  body#module-blockwishlist-lists .zi-account-layout,
  body#module-blockwishlist-view .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  body#module-blockwishlist-lists .zi-account-benefits,
  body#module-blockwishlist-view .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body#module-blockwishlist-lists .zi-account-benefit:nth-child(3),
  body#module-blockwishlist-lists .zi-account-benefit:nth-child(4),
  body#module-blockwishlist-view .zi-account-benefit:nth-child(3),
  body#module-blockwishlist-view .zi-account-benefit:nth-child(4) {
    border-top: 1px solid #efefef !important;
  }

  body#module-blockwishlist-lists .zi-account-benefit:nth-child(3),
  body#module-blockwishlist-view .zi-account-benefit:nth-child(3) {
    border-left: 0 !important;
  }
}

@media (max-width: 991px) {
  body#module-blockwishlist-lists .zi-account-layout,
  body#module-blockwishlist-view .zi-account-layout {
    grid-template-columns: 1fr !important;
  }

  body#module-blockwishlist-lists .zi-account-sidebar,
  body#module-blockwishlist-view .zi-account-sidebar {
    order: 2 !important;
  }

  body#module-blockwishlist-lists .zi-account-main,
  body#module-blockwishlist-view .zi-account-main {
    order: 1 !important;
  }
}

@media (max-width: 767px) {
  body#module-blockwishlist-lists .zi-account-box,
  body#module-blockwishlist-view .zi-account-box {
    padding: 20px !important;
    border-radius: 12px !important;
  }

  body#module-blockwishlist-lists .zi-wishlist-header,
  body#module-blockwishlist-view .zi-wishlist-header {
    flex-direction: column !important;
  }

  body#module-blockwishlist-lists .zi-account-benefits,
  body#module-blockwishlist-view .zi-account-benefits {
    grid-template-columns: 1fr !important;
  }

  body#module-blockwishlist-lists .zi-account-benefit,
  body#module-blockwishlist-view .zi-account-benefit,
  body#module-blockwishlist-lists .zi-account-benefit + .zi-account-benefit,
  body#module-blockwishlist-view .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  body#module-blockwishlist-lists .zi-account-benefit:first-child,
  body#module-blockwishlist-view .zi-account-benefit:first-child {
    border-top: 0 !important;
  }
}

/* =========================================================
   WISHLIST LIST - ALIGN CREATE + SHARE
========================================================= */

/* Bloc wishlist natif */
body#module-blockwishlist-lists .zi-wishlist-native {
  position: relative !important;
  padding: 0 !important;
  margin-top: 24px !important;
}

/* Le container natif */
body#module-blockwishlist-lists .wishlist-container {
  position: relative !important;
  min-height: 125px !important;
  padding: 0 !important;
}

/* Ligne du bouton Create new list */
body#module-blockwishlist-lists .wishlist-container > div:first-child {
  position: absolute !important;
  top: 50% !important;
  right: 34px !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Bouton Create new list */
body#module-blockwishlist-lists .wishlist-container > div:first-child button,
body#module-blockwishlist-lists .wishlist-container > div:first-child .btn,
body#module-blockwishlist-lists .wishlist-container > div:first-child a {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#module-blockwishlist-lists
  .wishlist-container
  > div:first-child
  button:hover,
body#module-blockwishlist-lists
  .wishlist-container
  > div:first-child
  .btn:hover,
body#module-blockwishlist-lists .wishlist-container > div:first-child a:hover {
  background: #111 !important;
  color: #fff !important;
}

body#module-blockwishlist-lists .wishlist-container > div:first-child i,
body#module-blockwishlist-lists
  .wishlist-container
  > div:first-child
  .material-icons {
  color: #fff !important;
  font-size: 20px !important;
  margin: 0 !important;
}

/* Liste wishlist : on supprime l’espace du haut */
body#module-blockwishlist-lists .wishlist-container ul,
body#module-blockwishlist-lists .wishlist-container .wishlist-list {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Ligne My wishlist */
body#module-blockwishlist-lists .wishlist-container li,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item {
  position: relative !important;
  min-height: 125px !important;
  padding: 0 34px 0 50px !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

/* Nom My wishlist */
body#module-blockwishlist-lists .wishlist-container li a,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item a {
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body#module-blockwishlist-lists .wishlist-container li a:hover,
body#module-blockwishlist-lists
  .wishlist-container
  .wishlist-list-item
  a:hover {
  color: #e30613 !important;
}

/* Compteur (1) */
body#module-blockwishlist-lists .wishlist-container li span,
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item span {
  color: #8c8c8c !important;
}

/* Bouton partager complètement à droite */
body#module-blockwishlist-lists .wishlist-container [class*="share"],
body#module-blockwishlist-lists .wishlist-container button[class*="share"] {
  margin-left: auto !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #e30613 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#module-blockwishlist-lists .wishlist-container [class*="share"] i,
body#module-blockwishlist-lists .wishlist-container button[class*="share"] i,
body#module-blockwishlist-lists
  .wishlist-container
  [class*="share"]
  .material-icons {
  color: #fff !important;
  font-size: 22px !important;
  margin: 0 !important;
}

body#module-blockwishlist-lists .wishlist-container [class*="share"]:hover,
body#module-blockwishlist-lists
  .wishlist-container
  button[class*="share"]:hover {
  background: #111 !important;
}

/* =========================================================
   WISHLIST LIST - CREATE BUTTON ALIGNÉ AU TITRE
========================================================= */

body#module-blockwishlist-lists .zi-account-box {
  position: relative !important;
}

/* on réserve la place du bouton à droite du header */
body#module-blockwishlist-lists .zi-account-header.zi-wishlist-header {
  position: relative !important;
  padding-right: 230px !important;
  margin-bottom: 26px !important;
}

/* le conteneur natif doit permettre au bouton de sortir */
body#module-blockwishlist-lists .zi-wishlist-native,
body#module-blockwishlist-lists .wishlist-container {
  position: static !important;
  overflow: visible !important;
}

/* ligne native du bouton Create new list déplacée dans le header */
body#module-blockwishlist-lists .wishlist-container > div:first-child {
  position: absolute !important;
  top: 36px !important;
  right: 38px !important;
  z-index: 30 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* bouton */
body#module-blockwishlist-lists .wishlist-container > div:first-child button,
body#module-blockwishlist-lists .wishlist-container > div:first-child .btn,
body#module-blockwishlist-lists .wishlist-container > div:first-child a {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#module-blockwishlist-lists
  .wishlist-container
  > div:first-child
  button:hover,
body#module-blockwishlist-lists
  .wishlist-container
  > div:first-child
  .btn:hover,
body#module-blockwishlist-lists .wishlist-container > div:first-child a:hover {
  background: #111 !important;
  color: #fff !important;
}

body#module-blockwishlist-lists .wishlist-container > div:first-child i,
body#module-blockwishlist-lists
  .wishlist-container
  > div:first-child
  .material-icons {
  color: #fff !important;
  font-size: 20px !important;
  margin: 0 !important;
}

/* enlève l’espace vide laissé par le bouton dans le bloc wishlist */
body#module-blockwishlist-lists .wishlist-container > div:first-child + * {
  margin-top: 0 !important;
}

/* la carte wishlist commence normalement sous le header */
body#module-blockwishlist-lists .zi-wishlist-native {
  margin-top: 24px !important;
}

@media (max-width: 767px) {
  body#module-blockwishlist-lists .zi-account-header.zi-wishlist-header {
    padding-right: 0 !important;
  }

  body#module-blockwishlist-lists .wishlist-container > div:first-child {
    position: static !important;
    margin-bottom: 18px !important;
    justify-content: flex-start !important;
  }
}

body#module-blockwishlist-lists a.wishlist-list-item-link {
  flex: 1 1 auto !important;
  width: -webkit-fill-available !important;
}

/* =========================================================
   WISHLIST VIEW - CENTRER LE CONTENU
========================================================= */

body#module-blockwishlist-view .zi-account-header,
body#module-blockwishlist-view .zi-wishlist-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body#module-blockwishlist-view .zi-account-header h1,
body#module-blockwishlist-view .zi-account-header p {
  text-align: center !important;
}

body#module-blockwishlist-view .zi-wishlist-back-btn {
  margin-top: 10px !important;
}

body#module-blockwishlist-view .zi-wishlist-native-products {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body#module-blockwishlist-view .wishlist-products-container {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body#module-blockwishlist-view .wishlist-products-container > * {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ligne titre wishlist + tri */
body#module-blockwishlist-view
  .wishlist-products-container
  .wishlist-products-title,
body#module-blockwishlist-view
  .wishlist-products-container
  .wishlist-products-header,
body#module-blockwishlist-view .wishlist-products-container .wishlist-top,
body#module-blockwishlist-view .wishlist-products-container .top-menu-sort,
body#module-blockwishlist-view
  .wishlist-products-container
  .products-sort-order,
body#module-blockwishlist-view .wishlist-products-container .sort-by-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* produit */
body#module-blockwishlist-view .wishlist-products-container .product-miniature,
body#module-blockwishlist-view .wishlist-products-container article {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* image produit */
body#module-blockwishlist-view .wishlist-products-container img {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* bouton panier */
body#module-blockwishlist-view .wishlist-products-container .btn,
body#module-blockwishlist-view .wishlist-products-container button {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* pagination / liens bas */
body#module-blockwishlist-view .wishlist-products-container .pagination,
body#module-blockwishlist-view
  .wishlist-products-container
  .wishlist-footer-links {
  justify-content: center !important;
  text-align: center !important;
}

/* Page wishlist détail : même largeur que les autres pages compte */
body#module-blockwishlist-view #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =========================================================
   WISHLIST VIEW - LARGEUR CONTAINER
========================================================= */

body[class*="module-blockwishlist"] #wrapper > .container,
body[id*="module-blockwishlist"] #wrapper > .container,
#wrapper > .container:has(.zi-wishlist-products-page) {
  width: 97vw !important;
  max-width: 1650px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.zi-wishlist-products-page {
  width: 100% !important;
}

.zi-wishlist-products-page .zi-account-layout {
  width: 100% !important;
  max-width: 1650px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#content-wrapper:has(.zi-wishlist-products-page),
.js-content-wrapper:has(.zi-wishlist-products-page) {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
}

/* =========================================================
   WISHLIST VIEW - GRID PRODUITS
========================================================= */

.zi-wishlist-products-page .wishlist-products-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.zi-wishlist-products-page .wishlist-products-item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* =========================================================
   WISHLIST VIEW - CARD PRODUIT
========================================================= */

.zi-wishlist-products-page .wishlist-product {
  position: relative !important;
  width: 100% !important;
  max-width: 260px !important;
  min-height: 390px !important;
  margin: 0 auto !important;
  padding: 18px 18px 72px !important;
  background: #fff !important;
  border: 1px solid #efefef !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.zi-wishlist-products-page .wishlist-product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  position: relative !important;
  z-index: 1 !important;
  text-decoration: none !important;
  color: #111 !important;
}

/* =========================================================
   WISHLIST VIEW - IMAGE PRODUIT
========================================================= */

.zi-wishlist-products-page .wishlist-product-image {
  height: 175px !important;
  width: 100% !important;
  margin: 0 0 14px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-wishlist-products-page .wishlist-product-image img {
  max-width: 100% !important;
  max-height: 165px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

/* =========================================================
   WISHLIST VIEW - INFOS PRODUIT
========================================================= */

.zi-wishlist-products-page .wishlist-product-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  width: 100% !important;
}

.zi-wishlist-products-page .wishlist-product-title {
  margin: 0 0 8px !important;
  color: #222 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-transform: none !important;
}

.zi-wishlist-products-page .wishlist-product-price {
  position: static !important;
  margin: 0 0 4px !important;
  padding-right: 58px !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.zi-wishlist-products-page .wishlist-product-price-promo {
  margin-right: 7px !important;
  color: #999 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
}

.zi-wishlist-products-page .wishlist-product-combinations {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 0 !important;
  color: #777 !important;
  font-size: 14px !important;
}

.zi-wishlist-products-page .wishlist-product-combinations a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #777 !important;
  text-decoration: none !important;
}

.zi-wishlist-products-page .wishlist-product-combinations i {
  font-size: 19px !important;
  color: #777 !important;
  line-height: 1 !important;
}

/* =========================================================
   WISHLIST VIEW - BOUTONS
========================================================= */

.zi-wishlist-products-page .wishlist-product-bottom {
  position: static !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  z-index: 30 !important;
}

/* Bouton panier */
.zi-wishlist-products-page .wishlist-product-addtocart {
  position: absolute !important;
  right: 18px !important;
  bottom: 26px !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  box-shadow: none !important;
  z-index: 50 !important;
}

.zi-wishlist-products-page .wishlist-product-addtocart i {
  margin: 0 !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.zi-wishlist-products-page .wishlist-product-addtocart:hover {
  background: #e30613 !important;
}

/* Supprime l’ancien bleu PrestaShop */
.zi-wishlist-products-page .wishlist-product-bottom .btn-primary {
  background: #111 !important;
  border-color: #111 !important;
}

.zi-wishlist-products-page .wishlist-product-bottom .btn-primary:hover {
  background: #e30613 !important;
  border-color: #e30613 !important;
}

/* Bouton poubelle */
.zi-wishlist-products-page .wishlist-button-add {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  bottom: auto !important;
  left: auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #e30613 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  z-index: 60 !important;
}

.zi-wishlist-products-page .wishlist-button-add i {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  color: #e30613 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.zi-wishlist-products-page .wishlist-button-add:hover {
  background: rgba(227, 6, 19, 0.06) !important;
}

/* =========================================================
   WISHLIST VIEW - TRI / HEADER NATIF
========================================================= */

.zi-wishlist-products-page .wishlist-products-container-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 24px !important;
}

.zi-wishlist-products-page .wishlist-products-container-header h1 {
  margin: 0 !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.zi-wishlist-products-page .wishlist-products-count {
  color: #8c8c8c !important;
  font-weight: 400 !important;
}

.zi-wishlist-products-page .sort-by-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
}

.zi-wishlist-products-page .sort-by {
  width: auto !important;
  padding: 0 !important;
  color: #333 !important;
  font-size: 14px !important;
}

.zi-wishlist-products-page .products-sort-order {
  width: auto !important;
  padding: 0 !important;
}

.zi-wishlist-products-page .products-sort-order .select-title {
  min-width: 180px !important;
  height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* =========================================================
   WISHLIST VIEW - RESPONSIVE
========================================================= */

@media (max-width: 991px) {
  .zi-wishlist-products-page .wishlist-products-container-header {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .zi-wishlist-products-page .sort-by-row {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 767px) {
  .zi-wishlist-products-page .wishlist-products-list {
    grid-template-columns: 1fr !important;
  }

  .zi-wishlist-products-page .wishlist-product {
    max-width: 100% !important;
    min-height: 360px !important;
  }

  .zi-wishlist-products-page .wishlist-products-container-header h1 {
    font-size: 20px !important;
  }
}

/* Masquer quantité + crayon sur les cartes wishlist */
.zi-wishlist-products-page .wishlist-product-combinations {
  display: none !important;
}

/* =========================================================
   WISHLIST VIEW - PRIX + PANIER ALIGNÉS PROPREMENT
========================================================= */

/* Carte */
.zi-wishlist-products-page .wishlist-product {
  position: relative !important;
  min-height: 390px !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Lien produit */
.zi-wishlist-products-page .wishlist-product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

/* Bloc texte */
.zi-wishlist-products-page .wishlist-product-right {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

/* Titre */
.zi-wishlist-products-page .wishlist-product-title {
  margin: 0 0 10px !important;
  line-height: 1.3 !important;
}

/* Prix : plus d'absolute */
.zi-wishlist-products-page .wishlist-product-price {
  position: static !important;
  margin: auto 58px 0 0 !important;
  padding: 0 !important;
  line-height: 42px !important;
  min-height: 42px !important;
}

/* Bottom : placé en bas à droite */
.zi-wishlist-products-page .wishlist-product-bottom {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: auto !important;
  height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Bouton panier */
.zi-wishlist-products-page .wishlist-product-addtocart {
  position: static !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #111 !important;
  font-size: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Quantité masquée */
.zi-wishlist-products-page .wishlist-product-combinations {
  display: none !important;
}

/* Poubelle reste en haut */
.zi-wishlist-products-page .wishlist-button-add {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
}

/* =========================================================
   WISHLIST VIEW - FIX FINAL PRIX / PANIER / POUBELLE
========================================================= */

.zi-wishlist-products-page .wishlist-product {
  position: relative !important;
  min-height: 390px !important;
  padding: 18px 18px 72px !important;
}

/* Prix en bas à gauche */
.zi-wishlist-products-page .wishlist-product-price {
  position: absolute !important;
  left: 18px !important;
  right: 70px !important;
  bottom: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 42px !important;
  line-height: 42px !important;
  white-space: nowrap !important;
}

/* Le bloc bas sert uniquement au bouton panier */
.zi-wishlist-products-page .wishlist-product-bottom {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Panier en bas à droite */
.zi-wishlist-products-page .wishlist-product-addtocart {
  position: absolute !important;
  right: 18px !important;
  bottom: 24px !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 40 !important;
}

.zi-wishlist-products-page .wishlist-product-addtocart i {
  margin: 0 !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* Poubelle en haut à droite, jamais dans le bloc bas */
.zi-wishlist-products-page .wishlist-button-add {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  bottom: auto !important;
  left: auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #e30613 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 60 !important;
}

.zi-wishlist-products-page .wishlist-button-add i {
  margin: 0 !important;
  color: #e30613 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* Masquer quantité + crayon */
.zi-wishlist-products-page .wishlist-product-combinations {
  display: none !important;
}

/* =========================================================
   WISHLIST - BREADCRUMB STYLE COMME AVOIRS
========================================================= */

body#module-blockwishlist-lists .breadcrumb,
body#module-blockwishlist-view .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#module-blockwishlist-lists .breadcrumb ol,
body#module-blockwishlist-view .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#module-blockwishlist-lists .breadcrumb li,
body#module-blockwishlist-lists .breadcrumb a,
body#module-blockwishlist-lists .breadcrumb span,
body#module-blockwishlist-view .breadcrumb li,
body#module-blockwishlist-view .breadcrumb a,
body#module-blockwishlist-view .breadcrumb span {
  color: #9a9a9a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#module-blockwishlist-lists .breadcrumb a:hover,
body#module-blockwishlist-view .breadcrumb a:hover {
  color: #e30613 !important;
}

/* séparateurs / */
body#module-blockwishlist-lists .breadcrumb li::after,
body#module-blockwishlist-view .breadcrumb li::after {
  color: #9a9a9a !important;
  font-size: 12px !important;
}

body#module-blockwishlist-lists .breadcrumb li:last-child::after,
body#module-blockwishlist-view .breadcrumb li:last-child::after {
  display: none !important;
}

/* =========================================================
   PAGE DONNÉES PERSONNELLES - ZONE INTERDITE
========================================================= */

body#identity,
body#identity #wrapper {
  background: #f7f7f7 !important;
}

body#identity #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#identity #main > header,
body#identity .page-header,
body#identity h1.page-title,
body#identity #main > h1,
body#identity .page-footer,
body#identity footer.page-footer {
  display: none !important;
}

body#identity #content-wrapper,
body#identity #main,
body#identity #content,
body#identity .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Breadcrumb */
body#identity .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#identity .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#identity .breadcrumb li,
body#identity .breadcrumb a,
body#identity .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#identity .breadcrumb a:hover {
  color: #e30613 !important;
}

/* Layout */
.zi-identity-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

.zi-identity-page .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Sidebar */
.zi-identity-page .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-identity-page .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.zi-identity-page .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
  color: #6a6a6a !important;
  transition: all 0.2s ease !important;
}

.zi-identity-page .zi-account-menu-item:hover {
  color: #111 !important;
  background: #fafafa !important;
}

.zi-identity-page .zi-account-menu-item:hover i {
  color: #111 !important;
}

.zi-identity-page .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

.zi-identity-page .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

.zi-identity-page .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

/* Box principale */
.zi-identity-page .zi-account-main {
  min-width: 0 !important;
}

.zi-identity-page .zi-account-box {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-identity-page .zi-account-header {
  margin-bottom: 28px !important;
}

.zi-identity-page .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.zi-identity-page .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* Formulaire natif */
.zi-identity-form-wrapper form {
  margin: 0 !important;
}

.zi-identity-form-wrapper section {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 34px !important;
  margin: 0 !important;
}

/* Champs */
.zi-identity-form-wrapper .form-group {
  margin: 0 !important;
}

.zi-identity-form-wrapper label,
.zi-identity-form-wrapper .form-control-label {
  display: block !important;
  margin: 0 0 9px !important;
  color: #333 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.zi-identity-form-wrapper .form-control,
.zi-identity-form-wrapper input[type="text"],
.zi-identity-form-wrapper input[type="email"],
.zi-identity-form-wrapper input[type="password"],
.zi-identity-form-wrapper input[type="tel"],
.zi-identity-form-wrapper input[type="date"],
.zi-identity-form-wrapper select {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

.zi-identity-form-wrapper .form-control:focus,
.zi-identity-form-wrapper input:focus,
.zi-identity-form-wrapper select:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.08) !important;
}

/* Texte aide */
.zi-identity-form-wrapper .form-control-comment,
.zi-identity-form-wrapper .help-block {
  margin-top: 7px !important;
  color: #999 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Checkboxes / newsletter */
.zi-identity-form-wrapper .form-group.row {
  display: block !important;
}

.zi-identity-form-wrapper .custom-checkbox,
.zi-identity-form-wrapper .checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 2px 0 0 !important;
}

.zi-identity-form-wrapper .custom-checkbox input,
.zi-identity-form-wrapper input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin: 0 !important;
  accent-color: #e30613 !important;
}

.zi-identity-form-wrapper .custom-checkbox label,
.zi-identity-form-wrapper .checkbox label {
  margin: 0 !important;
  color: #333 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

/* Certains champs natifs pleine largeur */
.zi-identity-form-wrapper .form-group:has(input[type="checkbox"]),
.zi-identity-form-wrapper .form-group:has(.custom-checkbox),
.zi-identity-form-wrapper .form-group:has(.checkbox),
.zi-identity-form-wrapper .form-group:has(.form-control-comment) {
  grid-column: span 2 !important;
}

/* Footer du formulaire */
.zi-identity-form-wrapper footer.form-footer,
.zi-identity-form-wrapper .form-footer {
  grid-column: span 2 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 14px !important;
  padding: 0 !important;
}

/* Bouton enregistrer */
.zi-identity-form-wrapper .form-footer .btn,
.zi-identity-form-wrapper button[type="submit"],
.zi-identity-form-wrapper .btn-primary {
  height: 54px !important;
  padding: 0 30px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
  transition: all 0.2s ease !important;
}

.zi-identity-form-wrapper .form-footer .btn:hover,
.zi-identity-form-wrapper button[type="submit"]:hover,
.zi-identity-form-wrapper .btn-primary:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Bloc sécurité */
.zi-identity-secure {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: 28px !important;
  padding: 22px 0 0 !important;
}

.zi-identity-secure-icon {
  flex: 0 0 50px !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: rgba(227, 6, 19, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-identity-secure-icon i {
  color: #e30613 !important;
  font-size: 28px !important;
}

.zi-identity-secure strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.zi-identity-secure span {
  display: block !important;
  color: #8c8c8c !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Benefits */
.zi-identity-page .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 22px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-identity-page .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 20px !important;
  min-height: 110px !important;
}

.zi-identity-page .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

.zi-identity-page .zi-account-benefit i {
  flex: 0 0 auto !important;
  font-size: 34px !important;
  color: #ff1e1e !important;
}

.zi-identity-page .zi-account-benefit strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #1c1c1c !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.zi-identity-page .zi-account-benefit span {
  display: block !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Responsive */
@media (max-width: 1200px) {
  .zi-identity-page .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  .zi-identity-form-wrapper section {
    gap: 20px !important;
  }
}

@media (max-width: 991px) {
  .zi-identity-page .zi-account-layout {
    grid-template-columns: 1fr !important;
  }

  .zi-identity-page .zi-account-sidebar {
    order: 2 !important;
  }

  .zi-identity-page .zi-account-main {
    order: 1 !important;
  }

  .zi-identity-page .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .zi-identity-page .zi-account-benefit:nth-child(3),
  .zi-identity-page .zi-account-benefit:nth-child(4) {
    border-top: 1px solid #efefef !important;
  }

  .zi-identity-page .zi-account-benefit:nth-child(3) {
    border-left: 0 !important;
  }
}

@media (max-width: 767px) {
  body#identity #wrapper > .container,
  body#identity .breadcrumb,
  .zi-identity-page .zi-account-layout {
    width: 94vw !important;
  }

  .zi-identity-page .zi-account-box {
    padding: 24px 18px !important;
    border-radius: 14px !important;
  }

  .zi-identity-page .zi-account-header h1 {
    font-size: 24px !important;
  }

  .zi-identity-form-wrapper section {
    grid-template-columns: 1fr !important;
  }

  .zi-identity-form-wrapper .form-group:has(input[type="checkbox"]),
  .zi-identity-form-wrapper .form-group:has(.custom-checkbox),
  .zi-identity-form-wrapper .form-group:has(.checkbox),
  .zi-identity-form-wrapper .form-group:has(.form-control-comment),
  .zi-identity-form-wrapper footer.form-footer,
  .zi-identity-form-wrapper .form-footer {
    grid-column: span 1 !important;
  }

  .zi-identity-form-wrapper footer.form-footer,
  .zi-identity-form-wrapper .form-footer {
    justify-content: stretch !important;
  }

  .zi-identity-form-wrapper .form-footer .btn,
  .zi-identity-form-wrapper button[type="submit"],
  .zi-identity-form-wrapper .btn-primary {
    width: 100% !important;
  }

  .zi-identity-secure {
    align-items: flex-start !important;
  }

  .zi-identity-page .zi-account-benefits {
    grid-template-columns: 1fr !important;
  }

  .zi-identity-page .zi-account-benefit,
  .zi-identity-page .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  .zi-identity-page .zi-account-benefit:first-child {
    border-top: 0 !important;
  }
}

/* =========================================================
   IDENTITY - FORMULAIRE 2 COLONNES PROPRE
========================================================= */

/* On remet le form en normal */
body#identity .zi-identity-form-wrapper form {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Le vrai conteneur des champs devient une grille */
body#identity .zi-identity-form-wrapper form > section {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 34px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Chaque champ prend une colonne */
body#identity .zi-identity-form-wrapper form > section > .form-group,
body#identity .zi-identity-form-wrapper form > section > .form-group.row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: auto !important;
}

/* Neutraliser Bootstrap */
body#identity .zi-identity-form-wrapper .form-group::before,
body#identity .zi-identity-form-wrapper .form-group::after,
body#identity .zi-identity-form-wrapper .row::before,
body#identity .zi-identity-form-wrapper .row::after {
  content: none !important;
  display: none !important;
}

/* Colonnes internes Bootstrap */
body#identity .zi-identity-form-wrapper .col-md-3,
body#identity .zi-identity-form-wrapper .col-md-4,
body#identity .zi-identity-form-wrapper .col-md-6,
body#identity .zi-identity-form-wrapper .col-md-8,
body#identity .zi-identity-form-wrapper .col-md-9,
body#identity .zi-identity-form-wrapper .col-sm-6,
body#identity .zi-identity-form-wrapper .col-xs-12 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

/* Labels */
body#identity .zi-identity-form-wrapper label,
body#identity .zi-identity-form-wrapper .form-control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  text-align: left !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Champs */
body#identity .zi-identity-form-wrapper .form-control,
body#identity .zi-identity-form-wrapper input[type="text"],
body#identity .zi-identity-form-wrapper input[type="email"],
body#identity .zi-identity-form-wrapper input[type="password"],
body#identity .zi-identity-form-wrapper input[type="tel"],
body#identity .zi-identity-form-wrapper input[type="date"],
body#identity .zi-identity-form-wrapper select {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #222 !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

/* Input password avec bouton afficher */
body#identity .zi-identity-form-wrapper .input-group {
  display: flex !important;
  width: 100% !important;
}

body#identity .zi-identity-form-wrapper .input-group .form-control {
  flex: 1 1 auto !important;
  border-radius: 8px 0 0 8px !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn,
body#identity .zi-identity-form-wrapper .input-group-append {
  width: auto !important;
  flex: 0 0 auto !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn .btn,
body#identity .zi-identity-form-wrapper .input-group-append .btn {
  height: 52px !important;
  padding: 0 18px !important;
  border-radius: 0 8px 8px 0 !important;
  background: #111 !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Civilité sur toute la largeur */
body#identity
  .zi-identity-form-wrapper
  form
  > section
  > .form-group:has(input[type="radio"]) {
  grid-column: 1 / -1 !important;
}

body#identity .zi-identity-form-wrapper .radio-inline,
body#identity .zi-identity-form-wrapper .custom-radio {
  display: inline-flex !important;
  align-items: center !important;
  margin-right: 22px !important;
  gap: 7px !important;
}

/* Checkboxes / textes légaux sur toute la largeur */
body#identity
  .zi-identity-form-wrapper
  form
  > section
  > .form-group:has(input[type="checkbox"]) {
  grid-column: 1 / -1 !important;
}

/* Commentaires sous champs */
body#identity .zi-identity-form-wrapper .form-control-comment,
body#identity .zi-identity-form-wrapper .help-block {
  display: block !important;
  margin-top: 7px !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Footer formulaire */
body#identity .zi-identity-form-wrapper footer.form-footer,
body#identity .zi-identity-form-wrapper .form-footer {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 28px !important;
  padding: 0 !important;
}

/* Bouton enregistrer */
body#identity .zi-identity-form-wrapper button[type="submit"],
body#identity .zi-identity-form-wrapper .btn-primary {
  height: 54px !important;
  padding: 0 32px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

/* Responsive */
@media (max-width: 767px) {
  body#identity .zi-identity-form-wrapper form > section {
    grid-template-columns: 1fr !important;
  }

  body#identity .zi-identity-form-wrapper form > section > .form-group,
  body#identity .zi-identity-form-wrapper form > section > .form-group.row,
  body#identity
    .zi-identity-form-wrapper
    form
    > section
    > .form-group:has(input[type="radio"]),
  body#identity
    .zi-identity-form-wrapper
    form
    > section
    > .form-group:has(input[type="checkbox"]) {
    grid-column: 1 / -1 !important;
  }
}

/* =========================================================
   IDENTITY - FORMULAIRE 2 COLONNES FINAL AVEC TON HTML
========================================================= */

/* Le vrai conteneur des champs */
body#identity .zi-identity-form-wrapper form > div:first-child {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 34px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start !important;
}

/* Chaque champ direct du formulaire */
body#identity .zi-identity-form-wrapper form > div:first-child > .form-group,
body#identity
  .zi-identity-form-wrapper
  form
  > div:first-child
  > .field-password-policy {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Les form-group à l'intérieur des password policy */
body#identity .zi-identity-form-wrapper .field-password-policy .form-group {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Neutralise Bootstrap */
body#identity .zi-identity-form-wrapper .row::before,
body#identity .zi-identity-form-wrapper .row::after,
body#identity .zi-identity-form-wrapper .form-group::before,
body#identity .zi-identity-form-wrapper .form-group::after {
  display: none !important;
  content: none !important;
}

body#identity .zi-identity-form-wrapper .col-xs-12,
body#identity .zi-identity-form-wrapper .col-sm-6,
body#identity .zi-identity-form-wrapper .col-md-3,
body#identity .zi-identity-form-wrapper .col-md-4,
body#identity .zi-identity-form-wrapper .col-md-6,
body#identity .zi-identity-form-wrapper .col-md-8,
body#identity .zi-identity-form-wrapper .col-md-9 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

/* =========================================================
   ORDRE DES CHAMPS
========================================================= */

/* Titre */
body#identity .zi-identity-form-wrapper .form-group:has(#field-id_gender) {
  grid-column: 1 / -1 !important;
  order: 1 !important;
}

/* Colonne 1 : prénom */
body#identity .zi-identity-form-wrapper .form-group:has(#field-firstname) {
  grid-column: 1 !important;
  order: 2 !important;
}

/* Colonne 2 : nom */
body#identity .zi-identity-form-wrapper .form-group:has(#field-lastname) {
  grid-column: 2 !important;
  order: 3 !important;
}

/* Colonne 1 : e-mail */
body#identity .zi-identity-form-wrapper .form-group:has(#field-email) {
  grid-column: 1 !important;
  order: 4 !important;
}

/* Colonne 2 : mot de passe actuel */
body#identity
  .zi-identity-form-wrapper
  .field-password-policy:has(#field-password) {
  grid-column: 2 !important;
  order: 5 !important;
}

/* Colonne 1 : date de naissance */
body#identity .zi-identity-form-wrapper .form-group:has(#field-birthday) {
  grid-column: 1 !important;
  order: 6 !important;
}

/* Colonne 1 : société */
body#identity .zi-identity-form-wrapper .form-group:has(#field-company) {
  grid-column: 1 !important;
  order: 7 !important;
}

/* Colonne 2 : nouveau mot de passe */
body#identity
  .zi-identity-form-wrapper
  .field-password-policy:has(#field-new_password) {
  grid-column: 2 !important;
  order: 8 !important;
}

/* Newsletter seule */
body#identity .zi-identity-form-wrapper .form-group:has(#field-newsletter) {
  grid-column: 1 / -1 !important;
  order: 9 !important;
}

/* Champs masqués */
body#identity .zi-identity-form-wrapper .form-group:has(#field-siret),
body#identity .zi-identity-form-wrapper .form-group:has(#field-optin),
body#identity
  .zi-identity-form-wrapper
  .form-group:has(#field-customer_privacy) {
  display: none !important;
}

/* RGPD : je conseille de ne pas le masquer car il est required */
body#identity .zi-identity-form-wrapper .form-group:has(#field-psgdpr) {
  grid-column: 1 / -1 !important;
  order: 10 !important;
}

/* =========================================================
   STYLE CHAMPS
========================================================= */

body#identity .zi-identity-form-wrapper label,
body#identity .zi-identity-form-wrapper .form-control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

body#identity .zi-identity-form-wrapper .form-control,
body#identity .zi-identity-form-wrapper input[type="text"],
body#identity .zi-identity-form-wrapper input[type="email"],
body#identity .zi-identity-form-wrapper input[type="password"],
body#identity .zi-identity-form-wrapper input[type="tel"],
body#identity .zi-identity-form-wrapper input[type="date"],
body#identity .zi-identity-form-wrapper select {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

body#identity .zi-identity-form-wrapper .form-control:focus,
body#identity .zi-identity-form-wrapper input:focus,
body#identity .zi-identity-form-wrapper select:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.08) !important;
}

/* Textes d’aide */
body#identity .zi-identity-form-wrapper .form-control-comment,
body#identity .zi-identity-form-wrapper .help-block {
  display: block !important;
  margin-top: 6px !important;
  color: #999 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

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

body#identity
  .zi-identity-form-wrapper
  .form-group:has(#field-id_gender)
  .js-input-column {
  display: flex !important;
  gap: 22px !important;
  align-items: center !important;
}

body#identity .zi-identity-form-wrapper .radio-inline,
body#identity .zi-identity-form-wrapper .custom-radio {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

body#identity .zi-identity-form-wrapper input[type="radio"] {
  margin: 0 !important;
}

/* =========================================================
   PASSWORD AVEC BOUTON AFFICHER
========================================================= */

body#identity .zi-identity-form-wrapper .input-group {
  display: flex !important;
  width: 100% !important;
}

body#identity .zi-identity-form-wrapper .input-group .form-control {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border-radius: 8px 0 0 8px !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn,
body#identity .zi-identity-form-wrapper .input-group-append {
  flex: 0 0 auto !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn .btn,
body#identity .zi-identity-form-wrapper .input-group-append .btn {
  height: 52px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn .btn:hover,
body#identity .zi-identity-form-wrapper .input-group-append .btn:hover {
  background: #e30613 !important;
}

/* Masquer les blocs force password si affichés */
body#identity .zi-identity-form-wrapper .password-strength-feedback {
  display: none !important;
}

/* =========================================================
   CHECKBOX NEWSLETTER + RGPD
========================================================= */

body#identity .zi-identity-form-wrapper .custom-checkbox,
body#identity .zi-identity-form-wrapper .checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
}

body#identity .zi-identity-form-wrapper input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin-top: 2px !important;
  accent-color: #e30613 !important;
}

body#identity .zi-identity-form-wrapper .custom-checkbox label,
body#identity .zi-identity-form-wrapper .checkbox label {
  margin: 0 !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

body#identity .zi-identity-form-wrapper .custom-checkbox em {
  display: block !important;
  margin-top: 4px !important;
  color: #8c8c8c !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* =========================================================
   FOOTER / BOUTON SAVE
========================================================= */

body#identity .zi-identity-form-wrapper footer.form-footer,
body#identity .zi-identity-form-wrapper .form-footer {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 24px !important;
  padding: 0 !important;
}

body#identity .zi-identity-form-wrapper .btn-primary,
body#identity .zi-identity-form-wrapper button[type="submit"] {
  height: 54px !important;
  padding: 0 30px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#identity .zi-identity-form-wrapper .btn-primary:hover,
body#identity .zi-identity-form-wrapper button[type="submit"]:hover {
  background: #111 !important;
  color: #fff !important;
}

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

@media (max-width: 767px) {
  body#identity .zi-identity-form-wrapper form > div:first-child {
    grid-template-columns: 1fr !important;
  }

  body#identity .zi-identity-form-wrapper .form-group:has(#field-id_gender),
  body#identity .zi-identity-form-wrapper .form-group:has(#field-firstname),
  body#identity .zi-identity-form-wrapper .form-group:has(#field-lastname),
  body#identity .zi-identity-form-wrapper .form-group:has(#field-email),
  body#identity
    .zi-identity-form-wrapper
    .field-password-policy:has(#field-password),
  body#identity .zi-identity-form-wrapper .form-group:has(#field-birthday),
  body#identity .zi-identity-form-wrapper .form-group:has(#field-company),
  body#identity
    .zi-identity-form-wrapper
    .field-password-policy:has(#field-new_password),
  body#identity .zi-identity-form-wrapper .form-group:has(#field-newsletter),
  body#identity .zi-identity-form-wrapper .form-group:has(#field-psgdpr) {
    grid-column: 1 / -1 !important;
  }

  body#identity .zi-identity-form-wrapper .btn-primary,
  body#identity .zi-identity-form-wrapper button[type="submit"] {
    width: 100% !important;
  }
}

/* =========================================================
   IDENTITY - MASQUER CHECKBOXES SANS JS
========================================================= */

/* Offres partenaires */
body#identity .zi-identity-form-wrapper #field-optin,
body#identity .zi-identity-form-wrapper input[name="optin"] {
  display: none !important;
}

body#identity .zi-identity-form-wrapper .form-group:has(#field-optin),
body#identity .zi-identity-form-wrapper .form-group:has(input[name="optin"]) {
  display: none !important;
}

/* CGV / confidentialité */
body#identity .zi-identity-form-wrapper #field-psgdpr,
body#identity .zi-identity-form-wrapper input[name="psgdpr"] {
  display: none !important;
}

body#identity .zi-identity-form-wrapper .form-group:has(#field-psgdpr),
body#identity .zi-identity-form-wrapper .form-group:has(input[name="psgdpr"]) {
  display: none !important;
}

/* Newsletter */
body#identity .zi-identity-form-wrapper #field-newsletter,
body#identity .zi-identity-form-wrapper input[name="newsletter"] {
  display: none !important;
}

body#identity .zi-identity-form-wrapper .form-group:has(#field-newsletter),
body#identity
  .zi-identity-form-wrapper
  .form-group:has(input[name="newsletter"]) {
  display: none !important;
}

/* Confidentialité données clients */
body#identity .zi-identity-form-wrapper #field-customer_privacy,
body#identity .zi-identity-form-wrapper input[name="customer_privacy"] {
  display: none !important;
}

body#identity
  .zi-identity-form-wrapper
  .form-group:has(#field-customer_privacy),
body#identity
  .zi-identity-form-wrapper
  .form-group:has(input[name="customer_privacy"]) {
  display: none !important;
}
/* =========================================================
   IDENTITY - ORDRE FINAL + HIDE CHECKBOXES
========================================================= */

/* Le vrai conteneur des champs */
body#identity .zi-identity-form-wrapper form > div {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 34px !important;
  width: 100% !important;
  align-items: start !important;
}

/* Chaque bloc du formulaire devient un item de grille */
body#identity .zi-identity-form-wrapper form > div > div {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Le titre (civilité) prend toute la largeur */
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(1) {
  grid-column: 1 / -1 !important;
  order: 1 !important;
}

/* 1re ligne */
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(2) {
  order: 2 !important; /* Prénom */
}
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(3) {
  order: 3 !important; /* Nom */
}

/* 2e ligne */
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(6) {
  order: 4 !important; /* E-mail */
}
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(9) {
  order: 5 !important; /* Date de naissance à la place du mdp */
}

/* 3e ligne : mots de passe alignés */
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(7) {
  order: 6 !important; /* Mot de passe */
}
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(8) {
  order: 7 !important; /* Nouveau mot de passe */
}

/* 4e ligne */
body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(4) {
  order: 8 !important; /* Société */
}

/* Newsletter seule sous le formulaire */
body#identity
  .zi-identity-form-wrapper
  .form-group:has(input[name="newsletter"]) {
  order: 9 !important;
  grid-column: 1 / -1 !important;
  display: block !important;
}

/* Champs à masquer */
body#identity .zi-identity-form-wrapper .form-group:has(#field-siret),
body#identity .zi-identity-form-wrapper .form-group:has(input[name="optin"]),
body#identity .zi-identity-form-wrapper .form-group:has(input[name="psgdpr"]),
body#identity
  .zi-identity-form-wrapper
  .form-group:has(input[name="customer_privacy"]) {
  display: none !important;
}

/* Style interne de chaque ligne */
body#identity .zi-identity-form-wrapper .form-group.row {
  display: block !important;
  margin: 0 !important;
}

/* Neutralise Bootstrap */
body#identity .zi-identity-form-wrapper .row::before,
body#identity .zi-identity-form-wrapper .row::after,
body#identity .zi-identity-form-wrapper .form-group::before,
body#identity .zi-identity-form-wrapper .form-group::after {
  display: none !important;
  content: none !important;
}

body#identity .zi-identity-form-wrapper .col-xs-12,
body#identity .zi-identity-form-wrapper .col-sm-6,
body#identity .zi-identity-form-wrapper .col-md-3,
body#identity .zi-identity-form-wrapper .col-md-4,
body#identity .zi-identity-form-wrapper .col-md-6,
body#identity .zi-identity-form-wrapper .col-md-8,
body#identity .zi-identity-form-wrapper .col-md-9 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Labels */
body#identity .zi-identity-form-wrapper .form-control-label,
body#identity .zi-identity-form-wrapper label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  text-align: left !important;
}

/* Inputs */
body#identity .zi-identity-form-wrapper .form-control,
body#identity .zi-identity-form-wrapper input[type="text"],
body#identity .zi-identity-form-wrapper input[type="email"],
body#identity .zi-identity-form-wrapper input[type="password"] {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

/* Groupe mot de passe */
body#identity .zi-identity-form-wrapper .input-group {
  display: flex !important;
  width: 100% !important;
}

body#identity .zi-identity-form-wrapper .input-group .form-control {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border-radius: 8px 0 0 8px !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn {
  flex: 0 0 auto !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn .btn {
  height: 52px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

body#identity .zi-identity-form-wrapper .input-group-btn .btn:hover {
  background: #e30613 !important;
}

/* On masque les aides de robustesse si elles cassent l'alignement */
body#identity .zi-identity-form-wrapper .password-strength-feedback,
body#identity .zi-identity-form-wrapper .password-policy-feedback {
  display: none !important;
}

/* Garde uniquement la newsletter */
body#identity
  .zi-identity-form-wrapper
  form
  > div
  > div:nth-of-type(12)
  .custom-checkbox,
body#identity
  .zi-identity-form-wrapper
  form
  > div
  > div:nth-of-type(12)
  .checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body#identity
  .zi-identity-form-wrapper
  form
  > div
  > div:nth-of-type(12)
  input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin-top: 2px !important;
  accent-color: #e30613 !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#identity .zi-identity-form-wrapper form > div {
    grid-template-columns: 1fr !important;
  }

  body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(1),
  body#identity .zi-identity-form-wrapper form > div > div:nth-of-type(12) {
    grid-column: 1 / -1 !important;
  }
}

/* =========================================================
   IDENTITY - SUPPRIMER CHECKBOXES NON VOULUES
========================================================= */

/* Offres partenaires */
body#identity .zi-identity-form-wrapper .form-group:has(input[name="optin"]) {
  display: none !important;
}

/* Conditions générales / confidentialité */
body#identity .zi-identity-form-wrapper .form-group:has(input[name="psgdpr"]) {
  display: none !important;
}

/* Message confidentialité données clients */
body#identity
  .zi-identity-form-wrapper
  .form-group:has(input[name="customer_privacy"]) {
  display: none !important;
}

/* Garder uniquement newsletter */
body#identity
  .zi-identity-form-wrapper
  .form-group:has(input[name="newsletter"]) {
  display: block !important;
}

/* =========================================================
   IDENTITY - FORCE HIDE CHECKBOXES FINAL
========================================================= */

/* Supprimer offres partenaires */
body#identity .zi-identity-form-wrapper form input[name="optin"] {
  display: none !important;
}

body#identity .zi-identity-form-wrapper form input[name="optin"] ~ span,
body#identity .zi-identity-form-wrapper form input[name="optin"] + span,
body#identity .zi-identity-form-wrapper form input[name="optin"] {
  visibility: hidden !important;
}

/* Supprimer le bloc parent optin */
body#identity
  .zi-identity-form-wrapper
  form
  .form-group:has(input[name="optin"]) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Supprimer CGV / confidentialité */
body#identity
  .zi-identity-form-wrapper
  form
  .form-group:has(input[name="psgdpr"]) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Supprimer confidentialité données clients */
body#identity
  .zi-identity-form-wrapper
  form
  .form-group:has(input[name="customer_privacy"]) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Garder newsletter visible */
body#identity
  .zi-identity-form-wrapper
  form
  .form-group:has(input[name="newsletter"]) {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: initial !important;
  overflow: visible !important;
  grid-column: 1 / -1 !important;
  order: 9 !important;
}

/* =========================================================
   PAGE MES ADRESSES - ZONE INTERDITE
========================================================= */

body#addresses,
body#addresses #wrapper {
  background: #f7f7f7 !important;
}

body#addresses #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#addresses #main > header,
body#addresses .page-header,
body#addresses h1.page-title,
body#addresses #main > h1,
body#addresses .page-footer,
body#addresses footer.page-footer {
  display: none !important;
}

body#addresses #content-wrapper,
body#addresses #main,
body#addresses #content,
body#addresses .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Breadcrumb */
body#addresses .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#addresses .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#addresses .breadcrumb li,
body#addresses .breadcrumb a,
body#addresses .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#addresses .breadcrumb a:hover {
  color: #e30613 !important;
}

/* Layout */
.zi-addresses-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

.zi-addresses-page .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Sidebar */
.zi-addresses-page .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-addresses-page .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.zi-addresses-page .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
  color: #6a6a6a !important;
  transition: all 0.2s ease !important;
}

.zi-addresses-page .zi-account-menu-item:hover {
  color: #111 !important;
  background: #fafafa !important;
}

.zi-addresses-page .zi-account-menu-item:hover i {
  color: #111 !important;
}

.zi-addresses-page .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

.zi-addresses-page .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

.zi-addresses-page .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

/* Box */
.zi-addresses-page .zi-account-main {
  min-width: 0 !important;
}

.zi-addresses-page .zi-account-box {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-addresses-page .zi-account-header {
  margin-bottom: 30px !important;
}

.zi-addresses-page .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.zi-addresses-page .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* Grille adresses */
.zi-addresses-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
  width: 100% !important;
}

/* Card adresse */
.zi-address-card {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 30px 30px 26px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03) !important;
}

.zi-address-card-head {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 24px !important;
}

.zi-address-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-address-icon i {
  color: #ff1e1e !important;
  font-size: 36px !important;
}

.zi-address-card h3 {
  margin: 0 !important;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

.zi-address-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.zi-address-name {
  margin-bottom: 8px !important;
  color: #222 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.zi-address-phone {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 18px !important;
  color: #555 !important;
}

.zi-address-phone i {
  color: #5a5a5a !important;
  font-size: 22px !important;
}

/* Actions */
.zi-address-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid #ededed !important;
}

.zi-address-btn {
  height: 42px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  transition: all 0.2s ease !important;
}

.zi-address-btn i {
  font-size: 22px !important;
}

.zi-address-btn-edit {
  border: 1px solid #111 !important;
  color: #111 !important;
  background: #fff !important;
}

.zi-address-btn-edit i {
  color: #111 !important;
}

.zi-address-btn-edit:hover {
  background: #111 !important;
  color: #fff !important;
}

.zi-address-btn-edit:hover i {
  color: #fff !important;
}

.zi-address-btn-delete {
  border: 1px solid #ff1e1e !important;
  color: #ff1e1e !important;
  background: #fff !important;
}

.zi-address-btn-delete i {
  color: #ff1e1e !important;
}

.zi-address-btn-delete:hover {
  background: #ff1e1e !important;
  color: #fff !important;
}

.zi-address-btn-delete:hover i {
  color: #fff !important;
}

/* Ajouter adresse */
.zi-address-add-card {
  width: 100% !important;
  min-height: 145px !important;
  border: 2px dashed #cfcfcf !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #222 !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  transition: all 0.2s ease !important;
}

.zi-address-add-card:hover {
  border-color: #ff1e1e !important;
  color: #ff1e1e !important;
}

.zi-address-add-icon {
  width: 42px !important;
  height: 42px !important;
  border: 2px solid #ff1e1e !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-address-add-icon i {
  color: #ff1e1e !important;
  font-size: 30px !important;
}

.zi-address-add-card span {
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Benefits */
.zi-addresses-page .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 52px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-addresses-page .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 20px !important;
  min-height: 110px !important;
}

.zi-addresses-page .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

.zi-addresses-page .zi-account-benefit i {
  flex: 0 0 auto !important;
  font-size: 34px !important;
  color: #ff1e1e !important;
}

.zi-addresses-page .zi-account-benefit strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #1c1c1c !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.zi-addresses-page .zi-account-benefit span {
  display: block !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Responsive */
@media (max-width: 1200px) {
  .zi-addresses-page .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  .zi-addresses-grid {
    gap: 24px !important;
  }
}

@media (max-width: 991px) {
  .zi-addresses-page .zi-account-layout {
    grid-template-columns: 1fr !important;
  }

  .zi-addresses-page .zi-account-sidebar {
    order: 2 !important;
  }

  .zi-addresses-page .zi-account-main {
    order: 1 !important;
  }

  .zi-addresses-grid {
    grid-template-columns: 1fr !important;
  }

  .zi-addresses-page .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body#addresses #wrapper > .container,
  body#addresses .breadcrumb,
  .zi-addresses-page .zi-account-layout {
    width: 94vw !important;
  }

  .zi-addresses-page .zi-account-box {
    padding: 24px 18px !important;
    border-radius: 14px !important;
  }

  .zi-addresses-page .zi-account-header h1 {
    font-size: 24px !important;
  }

  .zi-address-card {
    padding: 24px 18px !important;
  }

  .zi-address-actions {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .zi-addresses-page .zi-account-benefits {
    grid-template-columns: 1fr !important;
  }

  .zi-addresses-page .zi-account-benefit,
  .zi-addresses-page .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  .zi-addresses-page .zi-account-benefit:first-child {
    border-top: 0 !important;
  }
}

/* =========================================================
   ADDRESSES - CENTRER LE PLUS
========================================================= */

.zi-address-add-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.zi-address-add-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 12px !important;
}

.zi-address-add-icon i {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* =========================================================
   PAGE FORMULAIRE ADRESSE - ZONE INTERDITE
========================================================= */

body#address,
body#address #wrapper {
  background: #f7f7f7 !important;
}

body#address #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#address #main > header,
body#address .page-header,
body#address h1.page-title,
body#address #main > h1,
body#address .page-footer,
body#address footer.page-footer {
  display: none !important;
}

body#address #content-wrapper,
body#address #main,
body#address #content,
body#address .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Breadcrumb */
body#address .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#address .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#address .breadcrumb li,
body#address .breadcrumb a,
body#address .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#address .breadcrumb a:hover {
  color: #e30613 !important;
}

/* Layout */
.zi-address-form-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

.zi-address-form-page .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Sidebar */
.zi-address-form-page .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-address-form-page .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.zi-address-form-page .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
  color: #6a6a6a !important;
  transition: all 0.2s ease !important;
}

.zi-address-form-page .zi-account-menu-item:hover {
  color: #111 !important;
  background: #fafafa !important;
}

.zi-address-form-page .zi-account-menu-item:hover i {
  color: #111 !important;
}

.zi-address-form-page .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

.zi-address-form-page .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

.zi-address-form-page .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

/* Box */
.zi-address-form-page .zi-account-main {
  min-width: 0 !important;
}

.zi-address-form-page .zi-account-box {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-address-form-page .zi-account-header {
  margin-bottom: 30px !important;
}

.zi-address-form-page .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.zi-address-form-page .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.zi-address-form-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

.zi-address-back-btn {
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.zi-address-back-btn i {
  color: #fff !important;
  font-size: 22px !important;
}

.zi-address-back-btn:hover {
  background: #e30613 !important;
  color: #fff !important;
}

/* =========================================================
   FORMULAIRE ADRESSE
========================================================= */

.zi-address-form-wrapper form {
  margin: 0 !important;
}

/* Conteneur natif */
.zi-address-form-wrapper form > section,
.zi-address-form-wrapper form > div:first-child,
.zi-address-form-wrapper .form-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 34px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start !important;
}

/* Champs */
.zi-address-form-wrapper .form-group,
.zi-address-form-wrapper .form-group.row {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Neutralise Bootstrap */
.zi-address-form-wrapper .row::before,
.zi-address-form-wrapper .row::after,
.zi-address-form-wrapper .form-group::before,
.zi-address-form-wrapper .form-group::after {
  display: none !important;
  content: none !important;
}

.zi-address-form-wrapper .col-xs-12,
.zi-address-form-wrapper .col-sm-6,
.zi-address-form-wrapper .col-md-3,
.zi-address-form-wrapper .col-md-4,
.zi-address-form-wrapper .col-md-6,
.zi-address-form-wrapper .col-md-8,
.zi-address-form-wrapper .col-md-9 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

/* Labels */
.zi-address-form-wrapper label,
.zi-address-form-wrapper .form-control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* Inputs */
.zi-address-form-wrapper .form-control,
.zi-address-form-wrapper input[type="text"],
.zi-address-form-wrapper input[type="email"],
.zi-address-form-wrapper input[type="tel"],
.zi-address-form-wrapper input[type="number"],
.zi-address-form-wrapper select,
.zi-address-form-wrapper textarea {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

.zi-address-form-wrapper textarea {
  height: 110px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

.zi-address-form-wrapper .form-control:focus,
.zi-address-form-wrapper input:focus,
.zi-address-form-wrapper select:focus,
.zi-address-form-wrapper textarea:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.08) !important;
}

.zi-address-form-wrapper .form-control-comment,
.zi-address-form-wrapper .help-block {
  display: block !important;
  margin-top: 6px !important;
  color: #9a9a9a !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* Ordre des champs */
.zi-address-form-wrapper .form-group:has(#field-alias) {
  order: 1 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-firstname) {
  order: 2 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-lastname) {
  order: 3 !important;
  grid-column: 2 !important;
}

.zi-address-form-wrapper .form-group:has(#field-company) {
  order: 4 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-vat_number) {
  display: none !important;
}

.zi-address-form-wrapper .form-group:has(#field-address1) {
  order: 5 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-address2) {
  order: 6 !important;
  grid-column: 2 !important;
}

.zi-address-form-wrapper .form-group:has(#field-postcode) {
  order: 7 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-city) {
  order: 8 !important;
  grid-column: 2 !important;
}

.zi-address-form-wrapper .form-group:has(#field-id_country) {
  order: 9 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-phone),
.zi-address-form-wrapper .form-group:has(#field-phone_mobile) {
  order: 10 !important;
  grid-column: 2 !important;
}

/* Footer bouton */
.zi-address-form-wrapper footer.form-footer,
.zi-address-form-wrapper .form-footer {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 30px !important;
  padding: 0 !important;
}

.zi-address-form-wrapper .form-footer .btn,
.zi-address-form-wrapper button[type="submit"],
.zi-address-form-wrapper .btn-primary {
  height: 54px !important;
  padding: 0 32px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

.zi-address-form-wrapper .form-footer .btn:hover,
.zi-address-form-wrapper button[type="submit"]:hover,
.zi-address-form-wrapper .btn-primary:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Benefits */
.zi-address-form-page .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 22px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-address-form-page .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 20px !important;
  min-height: 110px !important;
}

.zi-address-form-page .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

.zi-address-form-page .zi-account-benefit i {
  flex: 0 0 auto !important;
  font-size: 34px !important;
  color: #ff1e1e !important;
}

.zi-address-form-page .zi-account-benefit strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #1c1c1c !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.zi-address-form-page .zi-account-benefit span {
  display: block !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Responsive */
@media (max-width: 1200px) {
  .zi-address-form-page .zi-account-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }
}

@media (max-width: 991px) {
  .zi-address-form-page .zi-account-layout {
    grid-template-columns: 1fr !important;
  }

  .zi-address-form-page .zi-account-sidebar {
    order: 2 !important;
  }

  .zi-address-form-page .zi-account-main {
    order: 1 !important;
  }

  .zi-address-form-page .zi-account-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body#address #wrapper > .container,
  body#address .breadcrumb,
  .zi-address-form-page .zi-account-layout {
    width: 94vw !important;
  }

  .zi-address-form-page .zi-account-box {
    padding: 24px 18px !important;
    border-radius: 14px !important;
  }

  .zi-address-form-page .zi-account-header h1 {
    font-size: 24px !important;
  }

  .zi-address-form-header {
    flex-direction: column !important;
  }

  .zi-address-back-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .zi-address-form-wrapper form > section,
  .zi-address-form-wrapper form > div:first-child,
  .zi-address-form-wrapper .form-fields {
    grid-template-columns: 1fr !important;
  }

  .zi-address-form-wrapper .form-group {
    grid-column: 1 / -1 !important;
  }

  .zi-address-form-wrapper footer.form-footer,
  .zi-address-form-wrapper .form-footer {
    justify-content: stretch !important;
  }

  .zi-address-form-wrapper .form-footer .btn,
  .zi-address-form-wrapper button[type="submit"],
  .zi-address-form-wrapper .btn-primary {
    width: 100% !important;
  }

  .zi-address-form-page .zi-account-benefits {
    grid-template-columns: 1fr !important;
  }

  .zi-address-form-page .zi-account-benefit,
  .zi-address-form-page .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  .zi-address-form-page .zi-account-benefit:first-child {
    border-top: 0 !important;
  }
}
/* =========================================================
   PAGE FORMULAIRE ADRESSE - ZONE INTERDITE
========================================================= */

body#address,
body#address #wrapper {
  background: #f7f7f7 !important;
}

body#address #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#address #main > header,
body#address .page-header,
body#address h1.page-title,
body#address #main > h1,
body#address .page-footer,
body#address footer.page-footer {
  display: none !important;
}

body#address #content-wrapper,
body#address #main,
body#address #content,
body#address .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#address .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#address .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#address .breadcrumb li,
body#address .breadcrumb a,
body#address .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

/* Layout */
.zi-address-form-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

.zi-address-form-page .zi-account-layout {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Sidebar */
.zi-address-form-page .zi-account-sidebar-inner {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 28px 0 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-address-form-page .zi-account-menu-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  padding: 18px 28px !important;
  gap: 18px !important;
  color: #5a5a5a !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.zi-address-form-page .zi-account-menu-item i {
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  font-size: 28px !important;
  color: #6a6a6a !important;
}

.zi-address-form-page .zi-account-menu-item.is-active {
  color: #e30613 !important;
  font-weight: 700 !important;
}

.zi-address-form-page .zi-account-menu-item.is-active i {
  color: #e30613 !important;
}

.zi-address-form-page .zi-account-menu-item.is-active::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 3px !important;
  background: #e30613 !important;
}

/* Box */
.zi-address-form-page .zi-account-box {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 36px 38px 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
}

.zi-address-form-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 24px !important;
  margin-bottom: 30px !important;
}

.zi-address-form-page .zi-account-header h1 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.zi-address-form-page .zi-account-header p {
  margin: 0 !important;
  color: #8c8c8c !important;
  font-size: 16px !important;
}

.zi-address-back-btn {
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.zi-address-back-btn i {
  color: #fff !important;
}

.zi-address-back-btn:hover {
  background: #e30613 !important;
  color: #fff !important;
}

/* Formulaire */
.zi-address-form-wrapper form > section,
.zi-address-form-wrapper form > div:first-child,
.zi-address-form-wrapper .form-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 34px !important;
  width: 100% !important;
}

.zi-address-form-wrapper .form-group,
.zi-address-form-wrapper .form-group.row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.zi-address-form-wrapper .row::before,
.zi-address-form-wrapper .row::after,
.zi-address-form-wrapper .form-group::before,
.zi-address-form-wrapper .form-group::after {
  display: none !important;
  content: none !important;
}

.zi-address-form-wrapper .col-xs-12,
.zi-address-form-wrapper .col-sm-6,
.zi-address-form-wrapper .col-md-3,
.zi-address-form-wrapper .col-md-4,
.zi-address-form-wrapper .col-md-6,
.zi-address-form-wrapper .col-md-8,
.zi-address-form-wrapper .col-md-9 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

.zi-address-form-wrapper label,
.zi-address-form-wrapper .form-control-label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

.zi-address-form-wrapper .form-control,
.zi-address-form-wrapper input[type="text"],
.zi-address-form-wrapper input[type="tel"],
.zi-address-form-wrapper select {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

/* Masquer numéro TVA */
.zi-address-form-wrapper .form-group:has(#field-vat_number) {
  display: none !important;
}

/* Ordre */
.zi-address-form-wrapper .form-group:has(#field-alias) {
  order: 1 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-firstname) {
  order: 2 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-lastname) {
  order: 3 !important;
  grid-column: 2 !important;
}

.zi-address-form-wrapper .form-group:has(#field-company) {
  order: 4 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-address1) {
  order: 5 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-address2) {
  order: 6 !important;
  grid-column: 2 !important;
}

.zi-address-form-wrapper .form-group:has(#field-postcode) {
  order: 7 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-city) {
  order: 8 !important;
  grid-column: 2 !important;
}

.zi-address-form-wrapper .form-group:has(#field-id_country) {
  order: 9 !important;
  grid-column: 1 !important;
}

.zi-address-form-wrapper .form-group:has(#field-phone),
.zi-address-form-wrapper .form-group:has(#field-phone_mobile) {
  order: 10 !important;
  grid-column: 2 !important;
}

/* Bouton */
.zi-address-form-wrapper footer.form-footer,
.zi-address-form-wrapper .form-footer {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 30px !important;
}

.zi-address-form-wrapper button[type="submit"],
.zi-address-form-wrapper .btn-primary {
  height: 54px !important;
  padding: 0 32px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

/* Benefits */
.zi-address-form-page .zi-account-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 22px !important;
}

.zi-address-form-page .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 20px !important;
}

.zi-address-form-page .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

.zi-address-form-page .zi-account-benefit i {
  font-size: 34px !important;
  color: #ff1e1e !important;
}

.zi-address-form-page .zi-account-benefit strong {
  display: block !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.zi-address-form-page .zi-account-benefit span {
  display: block !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
}

/* =========================================================
   MODAL AJOUT PANIER - ZONE INTERDITE
========================================================= */

#blockcart-modal .modal-dialog {
  max-width: 980px !important;
  width: calc(100% - 40px) !important;
  margin: 70px auto !important;
}

#blockcart-modal .modal-content {
  border: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18) !important;
  overflow: hidden !important;
}

#blockcart-modal .modal-header {
  min-height: 72px !important;
  padding: 22px 34px !important;
  border-bottom: 1px solid #eee !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

#blockcart-modal .modal-title {
  margin: 0 !important;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

#blockcart-modal .modal-title i {
  color: #20c45a !important;
  font-size: 26px !important;
}

#blockcart-modal .close {
  position: absolute !important;
  right: 26px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  opacity: 1 !important;
  color: #111 !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  text-shadow: none !important;
}

#blockcart-modal .modal-body {
  padding: 36px 42px 38px !important;
}

#blockcart-modal .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr) !important;
  gap: 42px !important;
  align-items: stretch !important;
}

#blockcart-modal .divide-right {
  border-right: 1px solid #eee !important;
  padding-right: 42px !important;
}

#blockcart-modal .product-image {
  max-width: 170px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

#blockcart-modal .product-name {
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}

#blockcart-modal .product-price {
  color: #e30613 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  margin-bottom: 12px !important;
}

#blockcart-modal .cart-content {
  padding-left: 0 !important;
}

#blockcart-modal .cart-content p {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

#blockcart-modal .cart-content p strong,
#blockcart-modal .cart-content .label {
  color: #111 !important;
  font-weight: 800 !important;
}

#blockcart-modal .cart-content .value {
  float: right !important;
  color: #111 !important;
  font-weight: 800 !important;
}

#blockcart-modal .cart-content-btn {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  margin-top: 26px !important;
}

#blockcart-modal .cart-content-btn .btn {
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 8px !important;
  border: 0 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#blockcart-modal .cart-content-btn .btn-secondary {
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
}

#blockcart-modal .cart-content-btn .btn-secondary:hover {
  color: #e30613 !important;
}

#blockcart-modal .cart-content-btn .btn-primary {
  background: #e30613 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.2) !important;
}

#blockcart-modal .cart-content-btn .btn-primary:hover {
  background: #111 !important;
  color: #fff !important;
}

#blockcart-modal .cart-content-btn .btn-primary i {
  color: #fff !important;
  margin-right: 8px !important;
}

/* Responsive */
@media (max-width: 767px) {
  #blockcart-modal .modal-dialog {
    width: calc(100% - 24px) !important;
    margin: 30px auto !important;
  }

  #blockcart-modal .modal-header {
    padding: 20px 54px 20px 20px !important;
    justify-content: flex-start !important;
  }

  #blockcart-modal .modal-title {
    font-size: 17px !important;
  }

  #blockcart-modal .modal-body {
    padding: 24px 20px !important;
  }

  #blockcart-modal .row {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  #blockcart-modal .divide-right {
    border-right: 0 !important;
    border-bottom: 1px solid #eee !important;
    padding-right: 0 !important;
    padding-bottom: 24px !important;
  }

  #blockcart-modal .cart-content-btn {
    flex-direction: column !important;
  }

  #blockcart-modal .cart-content-btn .btn {
    width: 100% !important;
  }
}

/* =========================================================
   MODAL AJOUT PANIER - POSITION + HEADER CENTRÉ
========================================================= */

/* Centrer la modal dans l’écran, pas sous le header */
#blockcart-modal.modal,
#blockcart-modal {
  z-index: 999999 !important;
}

#blockcart-modal .modal-dialog {
  width: calc(100% - 40px) !important;
  max-width: 980px !important;
  margin: 220px auto 40px !important; /* descend sous ton header */
  transform: none !important;
}

/* Boîte */
#blockcart-modal .modal-content {
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.22) !important;
}

/* Header centré */
#blockcart-modal .modal-header {
  position: relative !important;
  min-height: 74px !important;
  padding: 22px 70px !important;
  border-bottom: 1px solid #ededed !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Titre parfaitement centré */
#blockcart-modal .modal-title,
#blockcart-modal #myModalLabel {
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* Icône check */
#blockcart-modal .modal-title i,
#blockcart-modal #myModalLabel i {
  color: #20c45a !important;
  font-size: 25px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Croix à droite */
#blockcart-modal .modal-header .close {
  position: absolute !important;
  right: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  color: #111 !important;
  text-shadow: none !important;
  z-index: 5 !important;
}

#blockcart-modal .modal-header .close i {
  font-size: 28px !important;
  color: #111 !important;
}

/* Body */
#blockcart-modal .modal-body {
  padding: 38px 42px !important;
}

/* Responsive */
@media (max-width: 767px) {
  #blockcart-modal .modal-dialog {
    width: calc(100% - 24px) !important;
    margin: 140px auto 30px !important;
  }

  #blockcart-modal .modal-header {
    padding: 20px 56px 20px 20px !important;
  }

  #blockcart-modal .modal-title,
  #blockcart-modal #myModalLabel {
    font-size: 16px !important;
  }
}

/* =========================================================
   PAGE PANIER - ZONE INTERDITE
========================================================= */

body#cart,
body#cart #wrapper {
  background: #f7f7f7 !important;
}

body#cart #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#cart #main > header,
body#cart .page-header,
body#cart h1.page-title,
body#cart #main > h1,
body#cart .page-footer,
body#cart footer.page-footer {
  display: none !important;
}

body#cart #content-wrapper,
body#cart #main,
body#cart #content,
body#cart .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Breadcrumb */
body#cart .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#cart .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#cart .breadcrumb li,
body#cart .breadcrumb a,
body#cart .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#cart .breadcrumb a:hover {
  color: #e30613 !important;
}

/* Container */
.zi-cart-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

.zi-cart-container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
}

.zi-cart-header {
  margin-bottom: 34px !important;
}

.zi-cart-header h1 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.zi-cart-header p {
  margin: 0 !important;
  color: #777 !important;
  font-size: 16px !important;
}

/* Layout */
.zi-cart-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 40px !important;
  align-items: start !important;
}

/* Table */
.zi-cart-table {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
}

.zi-cart-table-head {
  display: grid !important;
  grid-template-columns: minmax(360px, 1.7fr) 150px 160px 140px 100px !important;
  align-items: center !important;
  padding: 22px 28px !important;
  border-bottom: 1px solid #ededed !important;
  color: #999 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.zi-cart-products {
  width: 100% !important;
}

.zi-cart-product {
  display: grid !important;
  grid-template-columns: minmax(360px, 1.7fr) 150px 160px 140px 100px !important;
  align-items: center !important;
  padding: 24px 28px !important;
  border-bottom: 1px solid #ededed !important;
}

.zi-cart-product:last-child {
  border-bottom: 0 !important;
}

.zi-cart-product-main {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 26px !important;
  align-items: center !important;
}

.zi-cart-product-img {
  width: 120px !important;
  height: 105px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.zi-cart-product-img img {
  max-width: 110px !important;
  max-height: 100px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.zi-cart-product-info {
  min-width: 0 !important;
}

.zi-cart-product-name {
  display: block !important;
  margin-bottom: 9px !important;
  color: #222 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.zi-cart-product-name:hover {
  color: #e30613 !important;
}

.zi-cart-product-ref {
  display: block !important;
  color: #9a9a9a !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.zi-cart-product-price,
.zi-cart-product-total {
  color: #222 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

/* Quantité */
.zi-cart-product-qty {
  display: flex !important;
  justify-content: flex-start !important;
}

.zi-cart-qty-box {
  height: 46px !important;
  min-width: 128px !important;
  border: 1px solid #dedede !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: 40px 48px 40px !important;
  align-items: center !important;
  background: #fff !important;
}

.zi-cart-qty-btn {
  width: 40px !important;
  height: 46px !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 46px !important;
  text-align: center !important;
  text-decoration: none !important;
  display: block !important;
}

.zi-cart-qty-btn:hover {
  background: #f5f5f5 !important;
  color: #e30613 !important;
}

.zi-cart-qty-input {
  width: 48px !important;
  height: 46px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-align: center !important;
  pointer-events: none !important;
}

/* Delete */
.zi-cart-product-delete {
  display: flex !important;
  justify-content: center !important;
}

.zi-cart-delete-btn {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #ff1e1e !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-cart-delete-btn i {
  color: #ff1e1e !important;
  font-size: 28px !important;
}

.zi-cart-delete-btn:hover {
  background: rgba(227, 6, 19, 0.06) !important;
}

/* Summary */
.zi-cart-summary {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 30px 28px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
  position: sticky !important;
  top: 20px !important;
}

.zi-cart-summary h2 {
  margin: 0 0 24px !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

.zi-cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 18px !important;
  color: #444 !important;
  font-size: 15px !important;
}

.zi-cart-summary-line strong {
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.zi-cart-summary-total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 24px !important;
  padding-top: 24px !important;
  border-top: 1px solid #ededed !important;
  color: #111 !important;
}

.zi-cart-summary-total span {
  font-size: 22px !important;
  font-weight: 900 !important;
}

.zi-cart-summary-total strong {
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

.zi-cart-checkout-btn {
  width: 100% !important;
  height: 56px !important;
  margin-top: 26px !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.2) !important;
}

.zi-cart-checkout-btn i {
  color: #fff !important;
  font-size: 28px !important;
}

.zi-cart-checkout-btn:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Promo */
.zi-cart-promo {
  margin-top: 28px !important;
  padding-top: 26px !important;
  border-top: 1px solid #ededed !important;
}

.zi-cart-promo p {
  margin: 0 0 12px !important;
  color: #555 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.zi-cart-promo .promo-input,
.zi-cart-promo input[type="text"] {
  height: 44px !important;
  border: 1px solid #dedede !important;
  border-radius: 7px 0 0 7px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
}

.zi-cart-promo .btn,
.zi-cart-promo button {
  height: 44px !important;
  border: 1px solid #e30613 !important;
  border-radius: 0 7px 7px 0 !important;
  background: #fff !important;
  color: #e30613 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.zi-cart-promo .btn:hover,
.zi-cart-promo button:hover {
  background: #e30613 !important;
  color: #fff !important;
}

/* Empty */
.zi-cart-empty {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 70px 30px !important;
  text-align: center !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
}

.zi-cart-empty i {
  color: #e30613 !important;
  font-size: 58px !important;
}

.zi-cart-empty h2 {
  margin: 18px 0 8px !important;
  color: #111 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
}

.zi-cart-empty p {
  margin: 0 0 24px !important;
  color: #777 !important;
  font-size: 15px !important;
}

.zi-cart-empty-btn {
  height: 48px !important;
  padding: 0 24px !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Benefits */
.zi-cart-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
}

.zi-cart-benefits .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 26px 28px !important;
  min-height: 110px !important;
}

.zi-cart-benefits .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

.zi-cart-benefits .zi-account-benefit i {
  flex: 0 0 auto !important;
  color: #ff1e1e !important;
  font-size: 38px !important;
}

.zi-cart-benefits .zi-account-benefit strong {
  display: block !important;
  margin-bottom: 5px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.zi-cart-benefits .zi-account-benefit span {
  display: block !important;
  color: #8c8c8c !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Responsive */
@media (max-width: 1200px) {
  .zi-cart-layout {
    grid-template-columns: 1fr !important;
  }

  .zi-cart-summary {
    position: static !important;
  }
}

@media (max-width: 991px) {
  .zi-cart-table-head {
    display: none !important;
  }

  .zi-cart-product {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .zi-cart-product-main {
    grid-template-columns: 105px minmax(0, 1fr) !important;
  }

  .zi-cart-product-price,
  .zi-cart-product-total,
  .zi-cart-product-qty,
  .zi-cart-product-delete {
    justify-content: flex-start !important;
  }

  .zi-cart-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .zi-cart-benefits .zi-account-benefit:nth-child(3) {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  .zi-cart-benefits .zi-account-benefit:nth-child(4) {
    border-top: 1px solid #efefef !important;
  }
}

@media (max-width: 767px) {
  body#cart #wrapper > .container,
  body#cart .breadcrumb,
  .zi-cart-container {
    width: 94vw !important;
  }

  .zi-cart-header h1 {
    font-size: 28px !important;
  }

  .zi-cart-product {
    padding: 20px 18px !important;
  }

  .zi-cart-product-main {
    grid-template-columns: 90px minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .zi-cart-product-img {
    width: 90px !important;
    height: 90px !important;
  }

  .zi-cart-product-img img {
    max-width: 85px !important;
    max-height: 85px !important;
  }

  .zi-cart-product-name {
    font-size: 15px !important;
  }

  .zi-cart-summary {
    padding: 24px 20px !important;
  }

  .zi-cart-benefits {
    grid-template-columns: 1fr !important;
  }

  .zi-cart-benefits .zi-account-benefit,
  .zi-cart-benefits .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  .zi-cart-benefits .zi-account-benefit:first-child {
    border-top: 0 !important;
  }
}

/* =========================================================
   PAGE COMMANDE / CHECKOUT - ZONE INTERDITE
========================================================= */

body#checkout,
body#checkout #wrapper {
  background: #f7f7f7 !important;
}

body#checkout #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#checkout #main > header,
body#checkout .page-header,
body#checkout h1.page-title,
body#checkout #main > h1,
body#checkout .page-footer,
body#checkout footer.page-footer {
  display: none !important;
}

body#checkout #content-wrapper,
body#checkout #main,
body#checkout #content,
body#checkout .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Breadcrumb */
body#checkout .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#checkout .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout .breadcrumb li,
body#checkout .breadcrumb a,
body#checkout .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#checkout .breadcrumb a:hover {
  color: #e30613 !important;
}

/* ---------------------------------------------------------
   LAYOUT GLOBAL
--------------------------------------------------------- */

body#checkout section#main .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 32px !important;
  align-items: start !important;
}

body#checkout #content-wrapper {
  min-width: 0 !important;
}

body#checkout #js-checkout-summary {
  min-width: 0 !important;
  position: sticky !important;
  top: 20px !important;
}

/* ---------------------------------------------------------
   TITRES / ETAPES
--------------------------------------------------------- */

body#checkout .checkout-step {
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 22px !important;
  overflow: hidden !important;
}

body#checkout .checkout-step.-current,
body#checkout .checkout-step.js-current-step {
  border-color: #e30613 !important;
}

body#checkout .checkout-step .step-title,
body#checkout .checkout-step h1,
body#checkout .checkout-step h2,
body#checkout .checkout-step h3 {
  margin: 0 !important;
}

body#checkout .checkout-step .step-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 22px 26px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  background: #fff !important;
}

body#checkout .checkout-step .step-number {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 50% !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#checkout .checkout-step .content,
body#checkout .checkout-step .step-content,
body#checkout .checkout-step .checkout-step-content {
  padding: 26px !important;
}

/* ---------------------------------------------------------
   FORMULAIRES
--------------------------------------------------------- */

body#checkout .form-group {
  margin-bottom: 18px !important;
}

body#checkout label,
body#checkout .form-control-label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

body#checkout .form-control,
body#checkout input[type="text"],
body#checkout input[type="email"],
body#checkout input[type="password"],
body#checkout input[type="tel"],
body#checkout input[type="date"],
body#checkout textarea,
body#checkout select,
body#checkout .custom-select {
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

body#checkout textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

body#checkout .form-control:focus,
body#checkout input:focus,
body#checkout textarea:focus,
body#checkout select:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.08) !important;
}

body#checkout .form-control-comment,
body#checkout .help-block {
  margin-top: 6px !important;
  color: #999 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* ---------------------------------------------------------
   BLOCS ADRESSES
--------------------------------------------------------- */

body#checkout .address-item,
body#checkout article.address-item,
body#checkout .js-address-form,
body#checkout .addresses .address {
  background: #fff !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 14px !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

body#checkout .address-item:hover,
body#checkout article.address-item:hover {
  border-color: #e30613 !important;
  box-shadow: 0 8px 24px rgba(227, 6, 19, 0.06) !important;
}

body#checkout .address-item:has(input:checked),
body#checkout article.address-item:has(input:checked) {
  border-color: #e30613 !important;
  box-shadow: 0 8px 24px rgba(227, 6, 19, 0.08) !important;
}

body#checkout .address-item .h4,
body#checkout .address-item h4,
body#checkout article.address-item .h4,
body#checkout article.address-item h4 {
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  margin-bottom: 14px !important;
}

body#checkout .address-item footer,
body#checkout .address-footer {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid #efefef !important;
}

/* ---------------------------------------------------------
   LIVRAISON / PAIEMENT
--------------------------------------------------------- */

body#checkout .delivery-options .delivery-option,
body#checkout .payment-options .payment-option,
body#checkout .js-delivery .delivery-option,
body#checkout .js-payment-option-form .payment-option {
  background: #fff !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  margin-bottom: 14px !important;
  transition: all 0.2s ease !important;
}

body#checkout .delivery-option:hover,
body#checkout .payment-option:hover {
  border-color: #e30613 !important;
  box-shadow: 0 8px 24px rgba(227, 6, 19, 0.06) !important;
}

body#checkout .delivery-option:has(input:checked),
body#checkout .payment-option:has(input:checked),
body#checkout .delivery-options .delivery-option:has(input:checked),
body#checkout .payment-options .payment-option:has(input:checked) {
  border-color: #e30613 !important;
  box-shadow: 0 8px 24px rgba(227, 6, 19, 0.08) !important;
}

body#checkout .delivery-option label,
body#checkout .payment-option label {
  margin: 0 !important;
  cursor: pointer !important;
  width: 100% !important;
}

body#checkout .carrier-delay,
body#checkout .carrier-name,
body#checkout .payment-option label span {
  color: #222 !important;
}

/* Radio / checkbox */
body#checkout input[type="radio"],
body#checkout input[type="checkbox"] {
  accent-color: #e30613 !important;
}

/* ---------------------------------------------------------
   BOUTONS
--------------------------------------------------------- */

body#checkout .btn,
body#checkout button,
body#checkout .continue,
body#checkout .btn-primary,
body#checkout .btn-secondary {
  border-radius: 8px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body#checkout .btn-primary,
body#checkout button.btn-primary,
body#checkout .continue {
  min-height: 52px !important;
  padding: 0 26px !important;
  border: 0 !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
}

body#checkout .btn-primary:hover,
body#checkout button.btn-primary:hover,
body#checkout .continue:hover {
  background: #111 !important;
  color: #fff !important;
}

body#checkout .btn-secondary,
body#checkout .btn-light {
  min-height: 48px !important;
  padding: 0 22px !important;
  border: 1px solid #dedede !important;
  background: #fff !important;
  color: #111 !important;
}

body#checkout .btn-secondary:hover,
body#checkout .btn-light:hover {
  border-color: #e30613 !important;
  color: #e30613 !important;
  background: #fff !important;
}

/* ---------------------------------------------------------
   RESUME COMMANDE
--------------------------------------------------------- */

body#checkout #js-checkout-summary,
body#checkout .cart-summary,
body#checkout #checkout-summary {
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03) !important;
  padding: 26px !important;
}

body#checkout #js-checkout-summary .h4,
body#checkout .cart-summary .h4,
body#checkout #checkout-summary .h4,
body#checkout .cart-summary h2,
body#checkout .cart-summary h3 {
  margin: 0 0 20px !important;
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

body#checkout .cart-summary-line,
body#checkout .cart-summary-subtotals .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 10px 0 !important;
  color: #555 !important;
  font-size: 15px !important;
}

body#checkout .cart-summary-line .value,
body#checkout .cart-summary-line .label,
body#checkout .cart-summary-line span {
  font-size: 15px !important;
}

body#checkout .cart-summary-totals,
body#checkout .cart-summary-line.cart-total {
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid #ededed !important;
}

body#checkout .cart-summary-line.cart-total .label,
body#checkout .cart-summary-line.cart-total .value,
body#checkout .cart-total {
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

body#checkout .checkout a,
body#checkout #js-checkout-summary a {
  word-break: break-word !important;
}

/* Produits dans résumé */
body#checkout .cart-items .cart-item,
body#checkout .media-list .media,
body#checkout .summary-selected-carrier {
  border-top: 1px solid #efefef !important;
  padding: 14px 0 !important;
}

/* ---------------------------------------------------------
   CODE PROMO
--------------------------------------------------------- */

body#checkout .promo-code,
body#checkout .cart-voucher {
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid #efefef !important;
}

body#checkout .promo-code form,
body#checkout .cart-voucher form {
  display: flex !important;
  gap: 0 !important;
}

body#checkout .promo-code input[type="text"],
body#checkout .cart-voucher input[type="text"] {
  border-radius: 8px 0 0 8px !important;
  border-right: 0 !important;
  min-height: 46px !important;
}

body#checkout .promo-code .btn,
body#checkout .cart-voucher .btn {
  min-height: 46px !important;
  border-radius: 0 8px 8px 0 !important;
  border: 1px solid #e30613 !important;
  background: #fff !important;
  color: #e30613 !important;
}

body#checkout .promo-code .btn:hover,
body#checkout .cart-voucher .btn:hover {
  background: #e30613 !important;
  color: #fff !important;
}

/* ---------------------------------------------------------
   CHECKBOX CONDITIONS
--------------------------------------------------------- */

body#checkout .custom-checkbox,
body#checkout .checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body#checkout .custom-checkbox label,
body#checkout .checkbox label {
  margin: 0 !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1200px) {
  body#checkout section#main .row {
    grid-template-columns: 1fr !important;
  }

  body#checkout #js-checkout-summary {
    position: static !important;
  }
}

@media (max-width: 767px) {
  body#checkout #wrapper > .container,
  body#checkout .breadcrumb {
    width: 94vw !important;
  }

  body#checkout .checkout-step .step-title {
    font-size: 20px !important;
    padding: 18px 18px !important;
  }

  body#checkout .checkout-step .content,
  body#checkout .checkout-step .step-content,
  body#checkout .checkout-step .checkout-step-content,
  body#checkout #js-checkout-summary,
  body#checkout .cart-summary {
    padding: 18px !important;
  }

  body#checkout .promo-code form,
  body#checkout .cart-voucher form {
    display: block !important;
  }

  body#checkout .promo-code input[type="text"],
  body#checkout .cart-voucher input[type="text"],
  body#checkout .promo-code .btn,
  body#checkout .cart-voucher .btn {
    width: 100% !important;
    border-radius: 8px !important;
    border-right: 1px solid #dcdcdc !important;
  }

  body#checkout .promo-code .btn,
  body#checkout .cart-voucher .btn {
    margin-top: 10px !important;
  }
}

footer#footer {
  padding: 0 !important;
}

/* =========================================================
   FIX GLOBAL WISHLIST PRODUCT CARDS
   Homepage + catégories + recherche + produits associés
========================================================= */

/* La carte doit servir de référence au bouton coeur */
.product-miniature,
.js-product-miniature,
.product-miniature .thumbnail-container,
.js-product-miniature .thumbnail-container {
  position: relative !important;
}

/* Bouton wishlist au-dessus de tout */
.product-miniature .wishlist-button-add,
.js-product-miniature .wishlist-button-add,
.product-miniature button.wishlist-button-add,
.js-product-miniature button.wishlist-button-add,
.featured-products .wishlist-button-add,
.special-products .wishlist-button-add,
#category .wishlist-button-add,
#search .wishlist-button-add,
#product .product-accessories .wishlist-button-add {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;

  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;

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

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

  background: #fff !important;
  color: #9a9a9a !important;

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

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;

  cursor: pointer !important;
  pointer-events: auto !important;
  z-index: 999 !important;
}

/* Icône coeur parfaitement centrée */
.product-miniature .wishlist-button-add i,
.js-product-miniature .wishlist-button-add i,
.product-miniature .wishlist-button-add .material-icons,
.js-product-miniature .wishlist-button-add .material-icons,
.featured-products .wishlist-button-add i,
.special-products .wishlist-button-add i,
#category .wishlist-button-add i,
#search .wishlist-button-add i,
#product .product-accessories .wishlist-button-add i {
  width: 100% !important;
  height: 100% !important;

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

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

  color: #9a9a9a !important;
  font-size: 24px !important;
  line-height: 1 !important;
  text-align: center !important;

  pointer-events: none !important;
}

/* Hover */
.product-miniature .wishlist-button-add:hover,
.js-product-miniature .wishlist-button-add:hover,
.featured-products .wishlist-button-add:hover,
.special-products .wishlist-button-add:hover,
#category .wishlist-button-add:hover,
#search .wishlist-button-add:hover,
#product .product-accessories .wishlist-button-add:hover {
  color: #e30613 !important;
  background: #fff !important;
}

.product-miniature .wishlist-button-add:hover i,
.js-product-miniature .wishlist-button-add:hover i,
.featured-products .wishlist-button-add:hover i,
.special-products .wishlist-button-add:hover i,
#category .wishlist-button-add:hover i,
#search .wishlist-button-add:hover i,
#product .product-accessories .wishlist-button-add:hover i {
  color: #e30613 !important;
}

/* Le lien image ne doit pas passer par-dessus le coeur */
.product-miniature .thumbnail-container > a,
.js-product-miniature .thumbnail-container > a,
.product-miniature .product-thumbnail,
.js-product-miniature .product-thumbnail {
  position: relative !important;
  z-index: 1 !important;
}

/* Le bouton coeur reste au-dessus */
.product-miniature .wishlist-button-add,
.js-product-miniature .wishlist-button-add {
  z-index: 999 !important;
}

/* Important : on annule le margin global des material icons uniquement dans les cards */
.product-miniature i.material-icons,
.js-product-miniature i.material-icons,
.featured-products i.material-icons,
.special-products i.material-icons,
#category .product-miniature i.material-icons,
#search .product-miniature i.material-icons {
  margin-right: 0 !important;
}

/* =========================================================
   PRODUCT CARD - WISHLIST HOOK NATIF
========================================================= */

.product-miniature .thumbnail-container,
.product-miniature .thumbnail-top,
.js-product-miniature .thumbnail-container,
.js-product-miniature .thumbnail-top {
  position: relative !important;
}

.zi-product-wishlist {
  position: absolute !important;
  top: 0px !important;
  right: 0px !important;
  z-index: 999 !important;
  width: 42px !important;
  height: 42px !important;
  pointer-events: auto !important;
}

.zi-product-wishlist .wishlist-button-add,
.zi-product-wishlist button,
.product-miniature .zi-product-wishlist .wishlist-button-add {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #8a8a8a !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

.zi-product-wishlist .wishlist-button-add i,
.zi-product-wishlist button i,
.zi-product-wishlist .material-icons {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #8a8a8a !important;
  font-size: 24px !important;
  line-height: 42px !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
}

.zi-product-wishlist .wishlist-button-add:hover i,
.zi-product-wishlist button:hover i {
  color: #e30613 !important;
}

/* Annule le margin global qui décale les material-icons */
.zi-product-wishlist i.material-icons {
  margin-right: 0 !important;
}

/* =========================================================
   PAGE CONTACT - ZONE INTERDITE - CSS COMPLET PROPRE
========================================================= */

/* ------------------------------
   BASE PAGE
------------------------------ */

body#contact,
body#contact #wrapper {
  background: #f7f7f7 !important;
}

body#contact #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#contact #content-wrapper,
body#contact #main,
body#contact #content,
body#contact .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Masquer le titre natif PrestaShop */
body#contact #main > header,
body#contact .page-header,
body#contact h1.page-title,
body#contact #main > h1 {
  display: none !important;
}

/* Supprimer colonnes natives éventuelles */
body#contact #left-column,
body#contact #right-column {
  display: none !important;
}

body#contact #content-wrapper {
  flex: 0 0 100% !important;
}

/* ------------------------------
   BREADCRUMB
------------------------------ */

body#contact .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#contact .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#contact .breadcrumb li,
body#contact .breadcrumb a,
body#contact .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#contact .breadcrumb a:hover {
  color: #e30613 !important;
}

/* ------------------------------
   STRUCTURE PAGE
------------------------------ */

.zi-contact-page {
  width: 100% !important;
  padding: 10px 0 50px !important;
  background: #f7f7f7 !important;
}

.zi-contact-container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
}

.zi-contact-header {
  margin-bottom: 34px !important;
}

.zi-contact-header h1 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.zi-contact-header p {
  margin: 0 !important;
  max-width: 760px !important;
  color: #777 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* ------------------------------
   LAYOUT
------------------------------ */

.zi-contact-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px !important;
  gap: 34px !important;
  align-items: start !important;
}

.zi-contact-box,
.zi-contact-right {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
}

.zi-contact-box {
  padding: 36px 38px 34px !important;
}

.zi-contact-box h2 {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.zi-contact-intro {
  margin: 0 0 36px !important;
  color: #8c8c8c !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* =========================================================
   FORMULAIRE CONTACT
========================================================= */

/* Largeur du formulaire */
.zi-contact-form-wrapper {
  width: 100% !important;
  max-width: 1200px !important;
}

/* Masquer le titre natif "CONTACTEZ-NOUS" du module */
.zi-contact-form-wrapper .contact-form h3,
.zi-contact-form-wrapper .contact-form .title {
  display: none !important;
}

/* Form principal */
.zi-contact-form-wrapper .contact-form,
.zi-contact-form-wrapper .contact-form form {
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Le form devient la vraie grille */
.zi-contact-form-wrapper .contact-form form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px 34px !important;
  align-items: start !important;
}

/* Très important : le div interne PrestaShop ne doit pas créer une sous-grille */
.zi-contact-form-wrapper .contact-form form > div,
.zi-contact-form-wrapper .contact-form form > section,
.zi-contact-form-wrapper .contact-form .form-fields {
  display: contents !important;
}

/* Champs */
.zi-contact-form-wrapper .contact-form .form-group,
.zi-contact-form-wrapper .contact-form .form-group.row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Neutraliser Bootstrap */
.zi-contact-form-wrapper .contact-form .row::before,
.zi-contact-form-wrapper .contact-form .row::after,
.zi-contact-form-wrapper .contact-form .form-group::before,
.zi-contact-form-wrapper .contact-form .form-group::after {
  display: none !important;
  content: none !important;
}

.zi-contact-form-wrapper .contact-form .form-group.row > label,
.zi-contact-form-wrapper .contact-form .form-group.row > div,
.zi-contact-form-wrapper .contact-form .col-xs-12,
.zi-contact-form-wrapper .contact-form .col-sm-6,
.zi-contact-form-wrapper .contact-form .col-md-3,
.zi-contact-form-wrapper .contact-form .col-md-4,
.zi-contact-form-wrapper .contact-form .col-md-6,
.zi-contact-form-wrapper .contact-form .col-md-8,
.zi-contact-form-wrapper .contact-form .col-md-9 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  padding: 0 !important;
}

/* ------------------------------
   ORDRE DES CHAMPS
------------------------------ */

/* Sujet à gauche */
.zi-contact-form-wrapper
  .contact-form
  .form-group:has(select[name="id_contact"]) {
  grid-column: 1 !important;
  order: 1 !important;
}

/* Adresse e-mail à droite */
.zi-contact-form-wrapper .contact-form .form-group:has(input[name="from"]) {
  grid-column: 2 !important;
  order: 2 !important;
}

/* Document joint pleine largeur */
.zi-contact-form-wrapper .contact-form .form-group:has(input[type="file"]) {
  grid-column: 1 / -1 !important;
  order: 3 !important;
}

/* Message pleine largeur */
.zi-contact-form-wrapper
  .contact-form
  .form-group:has(textarea[name="message"]) {
  grid-column: 1 / -1 !important;
  order: 4 !important;
}

/* Bouton envoyer */
.zi-contact-form-wrapper .contact-form footer,
.zi-contact-form-wrapper .contact-form .form-footer,
.zi-contact-form-wrapper .contact-form .submit {
  grid-column: 1 / -1 !important;
  order: 5 !important;
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 8px !important;
  padding: 0 !important;
}

/* ------------------------------
   LABELS
------------------------------ */

.zi-contact-form-wrapper .contact-form label,
.zi-contact-form-wrapper .contact-form .form-control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* ------------------------------
   INPUTS / SELECT / TEXTAREA
------------------------------ */

.zi-contact-form-wrapper .contact-form select,
.zi-contact-form-wrapper .contact-form input[type="email"],
.zi-contact-form-wrapper .contact-form input[type="text"],
.zi-contact-form-wrapper .contact-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

.zi-contact-form-wrapper .contact-form select,
.zi-contact-form-wrapper .contact-form input[type="email"],
.zi-contact-form-wrapper .contact-form input[type="text"] {
  height: 54px !important;
  padding: 0 16px !important;
}

.zi-contact-form-wrapper .contact-form textarea {
  min-height: 150px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

.zi-contact-form-wrapper .contact-form select:focus,
.zi-contact-form-wrapper .contact-form input[type="email"]:focus,
.zi-contact-form-wrapper .contact-form input[type="text"]:focus,
.zi-contact-form-wrapper .contact-form textarea:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.08) !important;
}

/* ------------------------------
   DOCUMENT JOINT
------------------------------ */

.zi-contact-form-wrapper .contact-form input[type="file"] {
  width: 100% !important;
  max-width: 100% !important;
  height: 54px !important;
  padding: 0 !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #777 !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

.zi-contact-form-wrapper
  .contact-form
  input[type="file"]::file-selector-button {
  height: 54px !important;
  margin-right: 16px !important;
  padding: 0 24px !important;
  border: 0 !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.zi-contact-form-wrapper
  .contact-form
  input[type="file"]::-webkit-file-upload-button {
  height: 54px !important;
  margin-right: 16px !important;
  padding: 0 24px !important;
  border: 0 !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.zi-contact-form-wrapper
  .contact-form
  input[type="file"]::file-selector-button:hover,
.zi-contact-form-wrapper
  .contact-form
  input[type="file"]::-webkit-file-upload-button:hover {
  background: #111 !important;
}

/* ------------------------------
   TEXTE OPTIONNEL / AIDE
------------------------------ */

.zi-contact-form-wrapper .contact-form .form-control-comment,
.zi-contact-form-wrapper .contact-form .help-block {
  display: block !important;
  margin-top: 7px !important;
  color: #999 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* ------------------------------
   BOUTON ENVOYER
------------------------------ */

.zi-contact-form-wrapper .contact-form button[type="submit"],
.zi-contact-form-wrapper .contact-form input[type="submit"],
.zi-contact-form-wrapper .contact-form .btn-primary,
.zi-contact-form-wrapper .contact-form .btn {
  min-width: 160px !important;
  height: 54px !important;
  padding: 0 32px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-contact-form-wrapper .contact-form button[type="submit"]:hover,
.zi-contact-form-wrapper .contact-form input[type="submit"]:hover,
.zi-contact-form-wrapper .contact-form .btn-primary:hover,
.zi-contact-form-wrapper .contact-form .btn:hover {
  background: #111 !important;
  color: #fff !important;
}

/* =========================================================
   COLONNE DROITE CONTACT
========================================================= */

.zi-contact-right {
  padding: 30px 28px !important;
}

.zi-contact-info-card {
  text-align: center !important;
  padding-bottom: 28px !important;
  margin-bottom: 28px !important;
  border-bottom: 1px solid #efefef !important;
}

.zi-contact-info-icon {
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 18px !important;
  border-radius: 50% !important;
  background: rgba(227, 6, 19, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.zi-contact-info-icon i {
  color: #e30613 !important;
  font-size: 36px !important;
  margin: 0 !important;
}

.zi-contact-info-card h3 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

.zi-contact-info-card p {
  margin: 0 !important;
  color: #777 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.zi-contact-info-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
}

.zi-contact-info-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.zi-contact-info-item i {
  flex: 0 0 auto !important;
  color: #e30613 !important;
  font-size: 30px !important;
  margin: 0 !important;
}

.zi-contact-info-item strong {
  display: block !important;
  margin-bottom: 5px !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.zi-contact-info-item span {
  display: block !important;
  color: #777 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* =========================================================
   BENEFITS CONTACT
========================================================= */

.zi-contact-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-top: 34px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
}

.zi-contact-benefits .zi-account-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 26px 28px !important;
  min-height: 110px !important;
}

.zi-contact-benefits .zi-account-benefit + .zi-account-benefit {
  border-left: 1px solid #efefef !important;
}

.zi-contact-benefits .zi-account-benefit i {
  flex: 0 0 auto !important;
  color: #ff1e1e !important;
  font-size: 38px !important;
  margin: 0 !important;
}

.zi-contact-benefits .zi-account-benefit strong {
  display: block !important;
  margin-bottom: 5px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.zi-contact-benefits .zi-account-benefit span {
  display: block !important;
  color: #8c8c8c !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
  .zi-contact-layout {
    grid-template-columns: 1fr !important;
  }

  .zi-contact-form-wrapper,
  .zi-contact-form-wrapper .contact-form,
  .zi-contact-form-wrapper .contact-form form {
    max-width: 100% !important;
  }
}

@media (max-width: 991px) {
  .zi-contact-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .zi-contact-benefits .zi-account-benefit:nth-child(3) {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  .zi-contact-benefits .zi-account-benefit:nth-child(4) {
    border-top: 1px solid #efefef !important;
  }
}

@media (max-width: 767px) {
  body#contact #wrapper > .container,
  body#contact .breadcrumb,
  .zi-contact-container {
    width: 94vw !important;
  }

  .zi-contact-header h1 {
    font-size: 28px !important;
  }

  .zi-contact-box,
  .zi-contact-right {
    padding: 24px 18px !important;
    border-radius: 14px !important;
  }

  .zi-contact-form-wrapper,
  .zi-contact-form-wrapper .contact-form,
  .zi-contact-form-wrapper .contact-form form {
    max-width: 100% !important;
  }

  .zi-contact-form-wrapper .contact-form form {
    grid-template-columns: 1fr !important;
  }

  .zi-contact-form-wrapper
    .contact-form
    .form-group:has(select[name="id_contact"]),
  .zi-contact-form-wrapper .contact-form .form-group:has(input[name="from"]),
  .zi-contact-form-wrapper .contact-form .form-group:has(input[type="file"]),
  .zi-contact-form-wrapper
    .contact-form
    .form-group:has(textarea[name="message"]) {
    grid-column: 1 / -1 !important;
  }

  .zi-contact-form-wrapper .contact-form footer,
  .zi-contact-form-wrapper .contact-form .form-footer,
  .zi-contact-form-wrapper .contact-form .submit {
    justify-content: stretch !important;
  }

  .zi-contact-form-wrapper .contact-form button[type="submit"],
  .zi-contact-form-wrapper .contact-form input[type="submit"],
  .zi-contact-form-wrapper .contact-form .btn-primary,
  .zi-contact-form-wrapper .contact-form .btn {
    width: 100% !important;
  }

  .zi-contact-benefits {
    grid-template-columns: 1fr !important;
  }

  .zi-contact-benefits .zi-account-benefit,
  .zi-contact-benefits .zi-account-benefit + .zi-account-benefit {
    border-left: 0 !important;
    border-top: 1px solid #efefef !important;
  }

  .zi-contact-benefits .zi-account-benefit:first-child {
    border-top: 0 !important;
  }
}

/* =========================================================
   PAGES CMS FOOTER - ZONE INTERDITE
   Livraison / CGV / Mentions légales / Paiement sécurisé / À propos
========================================================= */

/* Page background */
body#cms,
body#cms #wrapper,
body.cms,
body.cms #wrapper {
  background: #fff !important;
}

/* Container global */
body#cms #wrapper > .container,
body.cms #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Suppression colonnes latérales */
body#cms #left-column,
body#cms #right-column,
body.cms #left-column,
body.cms #right-column {
  display: none !important;
}

/* Content full width */
body#cms #content-wrapper,
body#cms .js-content-wrapper,
body.cms #content-wrapper,
body.cms .js-content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Main reset */
body#cms #main,
body#cms #content,
body.cms #main,
body.cms #content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Masquer le header natif si doublon */
body#cms #main > header,
body#cms .page-header,
body#cms h1.page-title,
body.cms #main > header,
body.cms .page-header,
body.cms h1.page-title {
  display: none !important;
}

/* Breadcrumb */
body#cms .breadcrumb,
body.cms .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#cms .breadcrumb ol,
body.cms .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#cms .breadcrumb li,
body#cms .breadcrumb a,
body#cms .breadcrumb span,
body.cms .breadcrumb li,
body.cms .breadcrumb a,
body.cms .breadcrumb span {
  color: #8c8c8c !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#cms .breadcrumb a:hover,
body.cms .breadcrumb a:hover {
  color: #e30613 !important;
}

/* =========================================================
   BOÎTE PRINCIPALE CMS
========================================================= */

body#cms .page-content,
body#cms .page-cms,
body#cms .cms-page,
body#cms .cms-content,
body#cms .rte,
body.cms .page-content,
body.cms .page-cms,
body.cms .cms-page,
body.cms .cms-content,
body.cms .rte {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto 55px !important;
  padding: 46px 52px !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04) !important;
  color: #555 !important;
}

/* Si PrestaShop met un .card autour */
body#cms .card,
body#cms .card-block,
body.cms .card,
body.cms .card-block {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* =========================================================
   CMS - TITRE PRINCIPAL PLUS PROPRE
========================================================= */

body#cms .page-content h1:first-child,
body#cms .page-cms h1:first-child,
body#cms .cms-page h1:first-child,
body#cms .rte h1:first-child,
body.cms .page-content h1:first-child,
body.cms .page-cms h1:first-child,
body.cms .cms-page h1:first-child,
body.cms .rte h1:first-child,
body#cms .page-content h2:first-child,
body#cms .page-cms h2:first-child,
body#cms .cms-page h2:first-child,
body#cms .rte h2:first-child,
body.cms .page-content h2:first-child,
body.cms .page-cms h2:first-child,
body.cms .cms-page h2:first-child,
body.cms .rte h2:first-child {
  position: relative !important;
  display: flex !important;
  align-items: center !important;

  min-height: 120px !important;
  padding: 38px 52px 38px 64px !important;

  background:
    radial-gradient(
      circle at right top,
      rgba(227, 6, 19, 0.18),
      transparent 32%
    ),
    linear-gradient(135deg, #111 0%, #222 55%, #2d2d2d 100%) !important;

  border-radius: 18px 18px 0 0 !important;
  overflow: hidden !important;

  color: #fff !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.03em !important;
}

/* Barre rouge à gauche */
body#cms .page-content h1:first-child::before,
body#cms .page-cms h1:first-child::before,
body#cms .cms-page h1:first-child::before,
body#cms .rte h1:first-child::before,
body.cms .page-content h1:first-child::before,
body.cms .page-cms h1:first-child::before,
body.cms .cms-page h1:first-child::before,
body.cms .rte h1:first-child::before,
body#cms .page-content h2:first-child::before,
body#cms .page-cms h2:first-child::before,
body#cms .cms-page h2:first-child::before,
body#cms .rte h2:first-child::before,
body.cms .page-content h2:first-child::before,
body.cms .page-cms h2:first-child::before,
body.cms .cms-page h2:first-child::before,
body.cms .rte h2:first-child::before {
  content: "" !important;
  position: absolute !important;
  left: 42px !important;
  top: 38px !important;
  bottom: 38px !important;
  width: 5px !important;
  border-radius: 10px !important;
  background: #e30613 !important;
}

/* Petit effet décoratif à droite */
body#cms .page-content h1:first-child::after,
body#cms .page-cms h1:first-child::after,
body#cms .cms-page h1:first-child::after,
body#cms .rte h1:first-child::after,
body.cms .page-content h1:first-child::after,
body.cms .page-cms h1:first-child::after,
body.cms .cms-page h1:first-child::after,
body.cms .rte h1:first-child::after,
body#cms .page-content h2:first-child::after,
body#cms .page-cms h2:first-child::after,
body#cms .cms-page h2:first-child::after,
body#cms .rte h2:first-child::after,
body.cms .page-content h2:first-child::after,
body.cms .page-cms h2:first-child::after,
body.cms .cms-page h2:first-child::after,
body.cms .rte h2:first-child::after {
  content: "" !important;
  position: absolute !important;
  right: -70px !important;
  top: -70px !important;
  width: 210px !important;
  height: 210px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.05) !important;
  pointer-events: none !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#cms .page-content h1:first-child,
  body#cms .page-cms h1:first-child,
  body#cms .cms-page h1:first-child,
  body#cms .rte h1:first-child,
  body.cms .page-content h1:first-child,
  body.cms .page-cms h1:first-child,
  body.cms .cms-page h1:first-child,
  body.cms .rte h1:first-child,
  body#cms .page-content h2:first-child,
  body#cms .page-cms h2:first-child,
  body#cms .cms-page h2:first-child,
  body#cms .rte h2:first-child,
  body.cms .page-content h2:first-child,
  body.cms .page-cms h2:first-child,
  body.cms .cms-page h2:first-child,
  body.cms .rte h2:first-child {
    min-height: 90px !important;
    margin: -30px -20px 30px !important;
    padding: 28px 20px 28px 38px !important;
    font-size: 26px !important;
    border-radius: 14px 14px 0 0 !important;
  }

  body#cms .page-content h1:first-child::before,
  body#cms .page-cms h1:first-child::before,
  body#cms .cms-page h1:first-child::before,
  body#cms .rte h1:first-child::before,
  body.cms .page-content h1:first-child::before,
  body.cms .page-cms h1:first-child::before,
  body.cms .cms-page h1:first-child::before,
  body.cms .rte h1:first-child::before,
  body#cms .page-content h2:first-child::before,
  body#cms .page-cms h2:first-child::before,
  body#cms .cms-page h2:first-child::before,
  body#cms .rte h2:first-child::before,
  body.cms .page-content h2:first-child::before,
  body.cms .page-cms h2:first-child::before,
  body.cms .cms-page h2:first-child::before,
  body.cms .rte h2:first-child::before {
    left: 20px !important;
    top: 28px !important;
    bottom: 28px !important;
    width: 4px !important;
  }
}

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

body#cms .page-content h2:not(:first-child),
body#cms .page-cms h2:not(:first-child),
body#cms .cms-page h2:not(:first-child),
body#cms .rte h2:not(:first-child),
body.cms .page-content h2:not(:first-child),
body.cms .page-cms h2:not(:first-child),
body.cms .cms-page h2:not(:first-child),
body.cms .rte h2:not(:first-child) {
  margin: 38px 0 18px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #eeeeee !important;
  color: #111 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body#cms .page-content h3,
body#cms .page-content h4,
body#cms .page-cms h3,
body#cms .page-cms h4,
body#cms .cms-page h3,
body#cms .cms-page h4,
body#cms .rte h3,
body#cms .rte h4,
body.cms .page-content h3,
body.cms .page-content h4,
body.cms .page-cms h3,
body.cms .page-cms h4,
body.cms .cms-page h3,
body.cms .cms-page h4,
body.cms .rte h3,
body.cms .rte h4 {
  margin: 28px 0 14px !important;
  color: #111 !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}

/* =========================================================
   TEXTE
========================================================= */

body#cms .page-content p,
body#cms .page-cms p,
body#cms .cms-page p,
body#cms .rte p,
body.cms .page-content p,
body.cms .page-cms p,
body.cms .cms-page p,
body.cms .rte p {
  margin: 0 0 18px !important;
  color: #666 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
}

body#cms .page-content strong,
body#cms .page-content b,
body#cms .page-cms strong,
body#cms .page-cms b,
body#cms .cms-page strong,
body#cms .cms-page b,
body#cms .rte strong,
body#cms .rte b,
body.cms .page-content strong,
body.cms .page-content b,
body.cms .page-cms strong,
body.cms .page-cms b,
body.cms .cms-page strong,
body.cms .cms-page b,
body.cms .rte strong,
body.cms .rte b {
  color: #111 !important;
  font-weight: 900 !important;
}

/* =========================================================
   LISTES
========================================================= */

body#cms .page-content ul,
body#cms .page-cms ul,
body#cms .cms-page ul,
body#cms .rte ul,
body.cms .page-content ul,
body.cms .page-cms ul,
body.cms .cms-page ul,
body.cms .rte ul {
  margin: 20px 0 28px !important;
  padding: 0 !important;
  list-style: none !important;
}

body#cms .page-content li,
body#cms .page-cms li,
body#cms .cms-page li,
body#cms .rte li,
body.cms .page-content li,
body.cms .page-cms li,
body.cms .cms-page li,
body.cms .rte li {
  position: relative !important;
  margin: 0 0 14px !important;
  padding-left: 32px !important;
  color: #555 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

body#cms .page-content li::before,
body#cms .page-cms li::before,
body#cms .cms-page li::before,
body#cms .rte li::before,
body.cms .page-content li::before,
body.cms .page-cms li::before,
body.cms .cms-page li::before,
body.cms .rte li::before {
  content: "check_circle" !important;
  font-family: "Material Icons" !important;
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
  color: #e30613 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

/* Listes numérotées */
body#cms .page-content ol,
body#cms .page-cms ol,
body#cms .cms-page ol,
body#cms .rte ol,
body.cms .page-content ol,
body.cms .page-cms ol,
body.cms .cms-page ol,
body.cms .rte ol {
  margin: 20px 0 28px !important;
  padding-left: 22px !important;
}

body#cms .page-content ol li,
body#cms .page-cms ol li,
body#cms .cms-page ol li,
body#cms .rte ol li,
body.cms .page-content ol li,
body.cms .page-cms ol li,
body.cms .cms-page ol li,
body.cms .rte ol li {
  padding-left: 8px !important;
  list-style: decimal !important;
}

body#cms .page-content ol li::before,
body#cms .page-cms ol li::before,
body#cms .cms-page ol li::before,
body#cms .rte ol li::before,
body.cms .page-content ol li::before,
body.cms .page-cms ol li::before,
body.cms .cms-page ol li::before,
body.cms .rte ol li::before {
  display: none !important;
}

/* =========================================================
   BLOCS STYLE CARTE AUTO
========================================================= */

/* Premier paragraphe après le titre en intro */
body#cms .page-content h1:first-child + p,
body#cms .page-content h2:first-child + p,
body#cms .page-cms h1:first-child + p,
body#cms .page-cms h2:first-child + p,
body#cms .cms-page h1:first-child + p,
body#cms .cms-page h2:first-child + p,
body#cms .rte h1:first-child + p,
body#cms .rte h2:first-child + p,
body.cms .page-content h1:first-child + p,
body.cms .page-content h2:first-child + p,
body.cms .page-cms h1:first-child + p,
body.cms .page-cms h2:first-child + p,
body.cms .cms-page h1:first-child + p,
body.cms .cms-page h2:first-child + p,
body.cms .rte h1:first-child + p,
body.cms .rte h2:first-child + p {
  margin: 0 0 28px !important;
  padding: 22px 24px !important;
  background: #fafafa !important;
  border: 1px solid #eeeeee !important;
  border-left: 4px solid #e30613 !important;
  border-radius: 12px !important;
  color: #444 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* Liens */
body#cms .page-content a,
body#cms .page-cms a,
body#cms .cms-page a,
body#cms .rte a,
body.cms .page-content a,
body.cms .page-cms a,
body.cms .cms-page a,
body.cms .rte a {
  color: #e30613 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body#cms .page-content a:hover,
body#cms .page-cms a:hover,
body#cms .cms-page a:hover,
body#cms .rte a:hover,
body.cms .page-content a:hover,
body.cms .page-cms a:hover,
body.cms .cms-page a:hover,
body.cms .rte a:hover {
  color: #111 !important;
  text-decoration: underline !important;
}

/* Tables éventuelles */
body#cms .page-content table,
body#cms .page-cms table,
body#cms .cms-page table,
body#cms .rte table,
body.cms .page-content table,
body.cms .page-cms table,
body.cms .cms-page table,
body.cms .rte table {
  width: 100% !important;
  margin: 24px 0 !important;
  border-collapse: collapse !important;
  border: 1px solid #eeeeee !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

body#cms .page-content th,
body#cms .page-content td,
body#cms .page-cms th,
body#cms .page-cms td,
body#cms .cms-page th,
body#cms .cms-page td,
body#cms .rte th,
body#cms .rte td,
body.cms .page-content th,
body.cms .page-content td,
body.cms .page-cms th,
body.cms .page-cms td,
body.cms .cms-page th,
body.cms .cms-page td,
body.cms .rte th,
body.cms .rte td {
  padding: 14px 16px !important;
  border-bottom: 1px solid #eeeeee !important;
  color: #555 !important;
  font-size: 15px !important;
}

body#cms .page-content th,
body#cms .page-cms th,
body#cms .cms-page th,
body#cms .rte th,
body.cms .page-content th,
body.cms .page-cms th,
body.cms .cms-page th,
body.cms .rte th {
  background: #111 !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767px) {
  body#cms #wrapper > .container,
  body.cms #wrapper > .container,
  body#cms .breadcrumb,
  body.cms .breadcrumb,
  body#cms .page-content,
  body#cms .page-cms,
  body#cms .cms-page,
  body#cms .cms-content,
  body#cms .rte,
  body.cms .page-content,
  body.cms .page-cms,
  body.cms .cms-page,
  body.cms .cms-content,
  body.cms .rte {
    width: 94vw !important;
  }

  body#cms .page-content,
  body#cms .page-cms,
  body#cms .cms-page,
  body#cms .cms-content,
  body#cms .rte,
  body.cms .page-content,
  body.cms .page-cms,
  body.cms .cms-page,
  body.cms .cms-content,
  body.cms .rte {
    padding: 30px 20px !important;
    border-radius: 14px !important;
  }

  body#cms .page-content h1:first-child,
  body#cms .page-cms h1:first-child,
  body#cms .cms-page h1:first-child,
  body#cms .rte h1:first-child,
  body.cms .page-content h1:first-child,
  body.cms .page-cms h1:first-child,
  body.cms .cms-page h1:first-child,
  body.cms .rte h1:first-child,
  body#cms .page-content h2:first-child,
  body#cms .page-cms h2:first-child,
  body#cms .cms-page h2:first-child,
  body#cms .rte h2:first-child,
  body.cms .page-content h2:first-child,
  body.cms .page-cms h2:first-child,
  body.cms .cms-page h2:first-child,
  body.cms .rte h2:first-child {
    margin: -30px -20px 28px !important;
    padding: 30px 20px !important;
    border-radius: 14px 14px 0 0 !important;
    font-size: 28px !important;
  }

  body#cms .page-content h2:not(:first-child),
  body#cms .page-cms h2:not(:first-child),
  body#cms .cms-page h2:not(:first-child),
  body#cms .rte h2:not(:first-child),
  body.cms .page-content h2:not(:first-child),
  body.cms .page-cms h2:not(:first-child),
  body.cms .cms-page h2:not(:first-child),
  body.cms .rte h2:not(:first-child) {
    font-size: 22px !important;
  }
}

/* =========================================================
   CMS - PADDING INTERNE UNIQUEMENT SUR LE TEXTE
========================================================= */

/* On garde la box globale sans gros padding */
body#cms .page-content.page-cms {
  padding: 0 !important;
  overflow: hidden !important;
}

/* Titre pleine largeur */
body#cms .page-content.page-cms > h1:first-child,
body#cms .page-content.page-cms > h2:first-child {
  margin: 0 0 30px !important;
  padding: 32px 80px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Padding seulement sur le contenu texte */
body#cms .page-content.page-cms > p,
body#cms .page-content.page-cms > ul,
body#cms .page-content.page-cms > ol,
body#cms .page-content.page-cms > h2:not(:first-child),
body#cms .page-content.page-cms > h3,
body#cms .page-content.page-cms > h4,
body#cms .page-content.page-cms > table,
body#cms .page-content.page-cms > div:not(:first-child) {
  margin-left: 42px !important;
  margin-right: 42px !important;
}

/* Pour éviter que les listes soient trop collées */
body#cms .page-content.page-cms > ul,
body#cms .page-content.page-cms > ol {
  padding-left: 0 !important;
}

/* Dernier élément : espace bas */
body#cms .page-content.page-cms > *:last-child {
  margin-bottom: 42px !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#cms .page-content.page-cms > h1:first-child,
  body#cms .page-content.page-cms > h2:first-child {
    padding: 24px 22px !important;
  }

  body#cms .page-content.page-cms > p,
  body#cms .page-content.page-cms > ul,
  body#cms .page-content.page-cms > ol,
  body#cms .page-content.page-cms > h2:not(:first-child),
  body#cms .page-content.page-cms > h3,
  body#cms .page-content.page-cms > h4,
  body#cms .page-content.page-cms > table,
  body#cms .page-content.page-cms > div:not(:first-child) {
    margin-left: 22px !important;
    margin-right: 22px !important;
  }

  body#cms .page-content.page-cms > *:last-child {
    margin-bottom: 28px !important;
  }
}

/* =========================================================
   CMS - PAGE À PROPOS
========================================================= */

body#cms .zi-about-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin: 0 42px 32px !important;
}

body#cms .zi-about-card {
  background: #fafafa !important;
  border: 1px solid #ededed !important;
  border-radius: 14px !important;
  padding: 24px !important;
}

body#cms .zi-about-card i {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 0 16px !important;
  border-radius: 50% !important;
  background: rgba(227, 6, 19, 0.08) !important;
  color: #e30613 !important;
  font-size: 30px !important;
}

body#cms .zi-about-card h3 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

body#cms .zi-about-card p {
  margin: 0 !important;
  color: #777 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

body#cms .zi-cms-contact-box {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 34px 42px 42px !important;
  padding: 28px 30px !important;
  background: #111 !important;
  border-radius: 16px !important;
}

body#cms .zi-cms-contact-box h3 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

body#cms .zi-cms-contact-box p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

body#cms .zi-cms-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 170px !important;
  height: 52px !important;
  padding: 0 24px !important;
  border-radius: 10px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body#cms .zi-cms-btn:hover {
  background: #fff !important;
  color: #111 !important;
}

@media (max-width: 991px) {
  body#cms .zi-about-grid {
    grid-template-columns: 1fr !important;
  }

  body#cms .zi-cms-contact-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 767px) {
  body#cms .zi-about-grid,
  body#cms .zi-cms-contact-box {
    margin-left: 22px !important;
    margin-right: 22px !important;
  }

  body#cms .zi-cms-btn {
    width: 100% !important;
  }
}

/* Force la zone centrale à prendre la hauteur restante */
#wrapper {
  min-height: calc(100vh - 420px) !important;
}

/* =========================================================
   RESPONSIVE HEADER + FOOTER - TABLETTE / MOBILE
   ZONE INTERDITE
========================================================= */

/* Empêche les débordements horizontaux */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* =========================================================
   HEADER - TABLETTE
========================================================= */

@media (max-width: 1199px) {
  #header .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .zi-header-line {
    padding-inline: 18px !important;
    grid-template-columns: 1fr auto 1fr !important;
    height: 56px !important;
  }

  #header .header-nav,
  .zi-top-header {
    height: 56px !important;
    min-height: 56px !important;
  }

  .zi-header-logo img {
    max-height: 44px !important;
  }

  .zi-header-left a,
  #_desktop_user_info a,
  #_desktop_cart a,
  #_desktop_cart span,
  #_desktop_cart i,
  #_desktop_user_info i {
    font-size: 12px !important;
  }

  .zi-header-right {
    gap: 14px !important;
  }

  .zi-menu-line {
    height: auto !important;
    min-height: 58px !important;
    padding: 0 !important;
  }

  #_desktop_top_menu .top-menu {
    gap: 18px !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
  }

  #_desktop_top_menu .top-menu > li > a {
    height: 58px !important;
    padding: 18px 0 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  #_desktop_top_menu .top-menu > li:first-child > a {
    padding: 14px 18px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   HEADER - PETITE TABLETTE
========================================================= */

@media (max-width: 991px) {
  #header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
  }

  .zi-header-line {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    padding-inline: 14px !important;
  }

  .zi-header-left a {
    font-size: 0 !important;
  }

  .zi-header-left a::before {
    content: "Contact" !important;
    font-size: 12px !important;
    color: #fff !important;
    font-weight: 800 !important;
  }

  .zi-header-logo img {
    max-height: 42px !important;
  }

  .zi-header-right {
    gap: 10px !important;
  }

  #_desktop_user_info a,
  #_desktop_cart a,
  #_desktop_cart span {
    font-size: 0 !important;
  }

  #_desktop_user_info i,
  #_desktop_cart i {
    font-size: 20px !important;
    margin: 0 !important;
  }

  #_desktop_cart .cart-products-count,
  #_desktop_cart .cart-products-count-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: #e30613 !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 18px !important;
  }

  .zi-menu-header,
  #header .header-top {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
  }

  .zi-menu-header::-webkit-scrollbar,
  #header .header-top::-webkit-scrollbar {
    display: none !important;
  }

  #_desktop_top_menu .top-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 14px !important;
    scrollbar-width: none !important;
  }

  #_desktop_top_menu .top-menu::-webkit-scrollbar {
    display: none !important;
  }

  #_desktop_top_menu .top-menu > li {
    flex: 0 0 auto !important;
  }

  #_desktop_top_menu .top-menu > li > a {
    height: 56px !important;
    font-size: 11px !important;
    padding: 18px 0 !important;
  }

  #_desktop_top_menu .top-menu > li:first-child > a {
    padding: 13px 16px !important;
  }
}

/* =========================================================
   FOOTER - TABLETTE
========================================================= */

@media (max-width: 1199px) {
  .zi-footer-top {
    grid-template-columns: repeat(5, 1fr) !important;
  }

  .zi-footer-service {
    min-height: 78px !important;
    padding: 14px 10px !important;
    gap: 10px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  .zi-footer-service i {
    font-size: 26px !important;
    margin: 0 !important;
  }

  .zi-footer-main {
    width: 92vw !important;
    padding: 42px 0 !important;
    grid-template-columns: 1.4fr 1fr 1fr 1fr !important;
    gap: 36px !important;
  }

  .zi-footer-main h3 {
    font-size: 24px !important;
  }

  .zi-footer-main h4 {
    font-size: 14px !important;
  }

  .zi-footer-main p,
  .zi-footer-main a {
    font-size: 13px !important;
  }
}

/* =========================================================
   FOOTER - PETITE TABLETTE
========================================================= */

@media (max-width: 991px) {
  .zi-footer-top {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .zi-footer-service {
    justify-content: flex-start !important;
    min-height: 74px !important;
    padding: 16px 28px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .zi-footer-service:nth-child(2n) {
    border-right: 0 !important;
  }

  .zi-footer-service:last-child {
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    border-right: 0 !important;
  }

  .zi-footer-main {
    width: 90vw !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 48px !important;
    padding: 42px 0 !important;
  }

  .zi-footer-main > div:first-child {
    grid-column: 1 / -1 !important;
  }

  .zi-footer-main h3 {
    font-size: 25px !important;
    margin-bottom: 12px !important;
  }

  .zi-footer-main h4 {
    margin-bottom: 12px !important;
  }

  .zi-footer-bottom {
    padding: 18px 5vw !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: center !important;
  }
}

/* =========================================================
   FOOTER - MOBILE
========================================================= */

@media (max-width: 600px) {
  .zi-footer-top {
    grid-template-columns: 1fr !important;
  }

  .zi-footer-service,
  .zi-footer-service:last-child {
    grid-column: auto !important;
    min-height: auto !important;
    padding: 17px 22px !important;
    justify-content: flex-start !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    gap: 14px !important;
    text-align: left !important;
  }

  .zi-footer-service i {
    width: 34px !important;
    min-width: 34px !important;
    font-size: 27px !important;
    text-align: center !important;
  }

  .zi-footer-service span {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .zi-footer-main {
    width: 88vw !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 36px 0 30px !important;
    text-align: left !important;
  }

  .zi-footer-main > div {
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .zi-footer-main > div:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .zi-footer-main h3 {
    font-size: 24px !important;
  }

  .zi-footer-main h4 {
    font-size: 15px !important;
    margin-bottom: 14px !important;
  }

  .zi-footer-main p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .zi-footer-main a {
    font-size: 14px !important;
    margin-bottom: 11px !important;
  }

  .zi-footer-bottom {
    padding: 18px 6vw !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

/* =========================================================
   TRES PETIT MOBILE
========================================================= */

@media (max-width: 390px) {
  .zi-header-logo img {
    max-width: 125px !important;
  }

  #_desktop_top_menu .top-menu > li > a {
    font-size: 10px !important;
  }

  #_desktop_top_menu .top-menu > li:first-child > a {
    padding: 11px 12px !important;
  }

  .zi-footer-service {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* =========================================================
   HEADER MOBILE PROPRE - ZONE INTERDITE
   SUPPRIME LES ANCIENS BLOCS HEADER MOBILE AVANT
========================================================= */

@media (max-width: 767px) {
  /* Base */
  #header,
  #header .header-nav,
  #header .header-top,
  .zi-top-header,
  .zi-menu-header {
    background: #111 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #header .container,
  .zi-top-header .container,
  .zi-menu-header .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* On cache tout le desktop */
  .zi-header-line,
  .zi-header-left,
  .zi-header-logo#_desktop_logo,
  .zi-header-right,
  #_desktop_logo,
  #_desktop_user_info,
  #_desktop_cart,
  #_desktop_contact_link,
  #_desktop_top_menu,
  .zi-menu-line {
    display: none !important;
  }

  /* Ligne principale mobile */
  #header .hidden-md-up.mobile {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 92px !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 12px !important;
    margin: 0 !important;

    background: #111 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  #header .hidden-md-up.mobile .clearfix {
    display: none !important;
  }

  /* Burger */
  #menu-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;

    float: none !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;

    background: #202020 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;

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

  #menu-icon i {
    color: #fff !important;
    font-size: 25px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* Logo */
  #_mobile_logo {
    grid-column: 2 !important;
    grid-row: 1 !important;

    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  #_mobile_logo a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 100% !important;
  }

  #_mobile_logo img,
  #_mobile_logo .logo {
    max-width: 155px !important;
    max-height: 42px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* Zone droite */
  #_mobile_user_info,
  #_mobile_cart {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #_mobile_user_info {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    display: flex !important;
  }

  #_mobile_cart {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: flex !important;
  }

  /* Cache le bouton déconnexion */
  #_mobile_user_info .logout {
    display: none !important;
  }

  /* Structure user */
  #_mobile_user_info .user-info {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Boutons compte / panier */
  #_mobile_user_info .account,
  #_mobile_cart .blockcart,
  #_mobile_cart .header,
  #_mobile_cart a {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;

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

    border-radius: 10px !important;
    background: #202020 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;

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

    position: relative !important;
    overflow: visible !important;
    text-decoration: none !important;
  }

  #_mobile_user_info .account,
  #_mobile_cart a {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
  }

  /* Réafficher les icônes */
  #_mobile_user_info i,
  #_mobile_user_info .material-icons,
  #_mobile_cart i,
  #_mobile_cart .material-icons {
    display: block !important;
    color: #fff !important;
    font-size: 21px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* Badge panier */
  #_mobile_cart .cart-products-count {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: absolute !important;
    top: -8px !important;
    right: -8px !important;

    min-width: 20px !important;
    height: 20px !important;
    padding: 0 5px !important;

    background: #e30613 !important;
    color: #fff !important;
    border-radius: 999px !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 20px !important;
    text-align: center !important;

    z-index: 10 !important;
  }

  /* Corrige le texte "(10)" */
  #_mobile_cart .cart-products-count {
    font-size: 0 !important;
  }

  #_mobile_cart .cart-products-count::before {
    content: attr(data-count) !important;
  }

  /* Comme PrestaShop n’a pas data-count, on garde le texte réel via font-size */
  #_mobile_cart .cart-products-count {
    font-size: 10px !important;
  }

  /* Menu mobile */
  #mobile_top_menu_wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 !important;

    background: #181818 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  #mobile_top_menu_wrapper .js-top-menu-bottom {
    display: none !important;
  }

  #_mobile_top_menu {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  #_mobile_top_menu::-webkit-scrollbar {
    display: none !important;
  }

  #_mobile_top_menu > ul.top-menu,
  #_mobile_top_menu ul[data-depth="0"] {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;

    width: max-content !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;

    list-style: none !important;
  }

  #_mobile_top_menu > ul.top-menu > li,
  #_mobile_top_menu ul[data-depth="0"] > li {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #_mobile_top_menu > ul.top-menu > li > a,
  #_mobile_top_menu ul[data-depth="0"] > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 38px !important;
    padding: 0 14px !important;

    background: #242424 !important;
    border-radius: 8px !important;

    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  #_mobile_top_menu ul[data-depth="0"] > li:first-child > a {
    background: #e30613 !important;
    color: #fff !important;
  }

  /* Sous-menus : pas ouverts dans la barre horizontale */
  #_mobile_top_menu .sub-menu,
  #_mobile_top_menu .popover {
    display: none !important;
  }

  #_mobile_top_menu .navbar-toggler {
    display: none !important;
  }
}

/* Très petit mobile */
@media (max-width: 380px) {
  #header .hidden-md-up.mobile {
    grid-template-columns: 40px minmax(0, 1fr) 88px !important;
    padding: 0 10px !important;
    gap: 8px !important;
  }

  #menu-icon,
  #_mobile_user_info .account,
  #_mobile_cart .blockcart,
  #_mobile_cart .header,
  #_mobile_cart a {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }

  #_mobile_logo img,
  #_mobile_logo .logo {
    max-width: 130px !important;
    max-height: 38px !important;
  }
}

/* =========================================================
   MOBILE BURGER MENU - FIX OUVERTURE / FERMETURE
========================================================= */

@media (max-width: 767px) {
  /* Menu fermé par défaut */
  #mobile_top_menu_wrapper {
    display: none !important;
    width: 100% !important;
    background: #181818 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 12px !important;
    margin: 0 !important;
  }

  /* Menu ouvert quand PrestaShop ajoute la classe is-open */
  #header.is-open #mobile_top_menu_wrapper {
    display: block !important;
  }

  /* Menu en colonne dans le burger */
  #_mobile_top_menu,
  #_mobile_top_menu > ul.top-menu,
  #_mobile_top_menu ul[data-depth="0"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: visible !important;
  }

  #_mobile_top_menu > ul.top-menu > li,
  #_mobile_top_menu ul[data-depth="0"] > li {
    width: 100% !important;
  }

  #_mobile_top_menu > ul.top-menu > li > a,
  #_mobile_top_menu ul[data-depth="0"] > li > a {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: #242424 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-decoration: none !important;
  }

  #_mobile_top_menu ul[data-depth="0"] > li:first-child > a {
    background: #e30613 !important;
    color: #fff !important;
  }

  /* Sous-catégories */
  #_mobile_top_menu .sub-menu,
  #_mobile_top_menu .popover {
    position: static !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 8px !important;
    background: #111 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
  }

  #_mobile_top_menu .sub-menu ul,
  #_mobile_top_menu .popover ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #_mobile_top_menu .sub-menu a,
  #_mobile_top_menu .popover a {
    color: #ddd !important;
    font-size: 12px !important;
    padding: 8px 10px !important;
    border-radius: 6px !important;
    background: #1b1b1b !important;
  }

  #_mobile_top_menu .navbar-toggler {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
  }

  #mobile_top_menu_wrapper .js-top-menu-bottom {
    display: block !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
}

/* =========================================================
   FIX : quand le burger est ouvert, on garde la page visible
========================================================= */

@media (max-width: 767px) {
  /* La page ne doit JAMAIS être masquée */
  #wrapper,
  #content-wrapper,
  #main,
  #content,
  .page-content,
  section#content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  /* Même quand le header est ouvert */
  #header.is-open ~ #wrapper,
  #header.is-open + #wrapper,
  body:has(#header.is-open) #wrapper,
  body:has(#header.is-open) #content-wrapper,
  body:has(#header.is-open) #main,
  body:has(#header.is-open) #content,
  body:has(#header.is-open) .page-content,
  body:has(#header.is-open) section#content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* On cache seulement le menu quand il est fermé */
  #header:not(.is-open) #mobile_top_menu_wrapper {
    display: none !important;
  }

  /* Quand il est ouvert, il passe au-dessus de la page */
  #header.is-open #mobile_top_menu_wrapper {
    display: block !important;
    top: 66px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-height: calc(100vh - 66px) !important;
    overflow-y: auto !important;
    background: #242424 !important;
    z-index: 999998 !important;
    padding: 16px 20px 22px !important;
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.35) !important;
  }

  /* Le header bas ne doit pas prendre de hauteur */
  #header .header-top,
  #header .header-top.zi-menu-header,
  #header .header-top .container {
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }
}

/* =========================================================
   SLIDER / HERO MOBILE - FIX DIMENSIONS
========================================================= */

@media (max-width: 767px) {
  .hero-title {
    font-size: 40px;
  }

  .hero-text {
    font-size: 18px !important;
    max-width: 50%;
  }
}

/* =========================================================
   HOME MOBILE - CATEGORIES / BENEFITS / PRODUITS POPULAIRES
========================================================= */

@media (max-width: 767px) {
  /* Évite les débordements horizontaux */
  html,
  body {
    overflow-x: hidden !important;
  }

  body#index #wrapper,
  body#index #content-wrapper,
  body#index #main,
  body#index #content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  section.zi-home-categories {
    justify-self: center !important;
  }

  /* =========================================================
     SECTION CATEGORIES HOME
  ========================================================= */

  .zi-home-categories {
    width: 100% !important;
    padding: 28px 14px !important;
    margin: 0 !important;
    background: #f4f4f4 !important;
    box-sizing: border-box !important;
  }

  .zi-search-row {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
  }

  .zi-search-box {
    width: 100% !important;
    margin-bottom: 18px !important;
    padding: 22px 16px !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06) !important;
  }

  .zi-search-box h2 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    color: #222 !important;
  }

  .zi-search-box form {
    display: flex !important;
    width: 100% !important;
    height: 50px !important;
  }

  .zi-search-box input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 50px !important;
    padding: 0 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px 0 0 8px !important;
    font-size: 14px !important;
  }

  .zi-search-box button {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 50px !important;
    border: 0 !important;
    border-radius: 0 8px 8px 0 !important;
    background: #e30613 !important;
    color: #fff !important;
    font-size: 18px !important;
  }

  .zi-shortcuts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .zi-shortcuts a {
    min-height: 86px !important;
    padding: 14px 10px !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #222 !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05) !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
  }

  .zi-shortcuts a i {
    font-size: 28px !important;
    color: #e30613 !important;
    margin: 0 !important;
  }

  .zi-shortcuts a span {
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }

  /* Grille catégories avec images */
  .zi-category-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 22px 0 !important;
  }

  .zi-category-grid a {
    position: relative !important;
    min-height: 230px !important;
    height: 230px !important;
    padding: 18px 12px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;

    color: #fff !important;
    text-decoration: none !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    text-transform: uppercase !important;

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

  .zi-category-grid a::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.48) !important;
    z-index: 1 !important;
  }

  .zi-category-grid a::after {
    content: "DÉCOUVRIR" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 20px !important;
    transform: translateX(-50%) !important;

    min-width: 128px !important;
    height: 46px !important;
    padding: 0 16px !important;
    border-radius: 3px !important;
    background: #e30613 !important;
    color: #fff !important;

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

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    z-index: 2 !important;
  }

  .zi-category-grid a {
    z-index: 0 !important;
  }

  .zi-category-grid a > * {
    position: relative !important;
    z-index: 2 !important;
  }

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

  .zi-benefits {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 22px 0 0 !important;

    background: #fff !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  .zi-benefits > div {
    min-height: 150px !important;
    padding: 22px 14px !important;
    border-right: 1px solid #ececec !important;
    border-bottom: 1px solid #ececec !important;
    background: #f7f7f7 !important;

    display: grid !important;
    grid-template-columns: 42px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    align-items: center !important;
  }

  .zi-benefits > div:nth-child(2n) {
    border-right: 0 !important;
  }

  .zi-benefits > div:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }

  .zi-benefits i {
    grid-row: 1 / span 2 !important;
    grid-column: 1 !important;

    font-size: 38px !important;
    color: #222 !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .zi-benefits strong {
    grid-column: 2 !important;
    display: block !important;
    margin: 0 !important;

    color: #222 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
  }

  .zi-benefits span {
    grid-column: 2 !important;
    display: block !important;
    margin: 0 !important;

    color: #777 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  /* =========================================================
     PRODUITS POPULAIRES MOBILE
  ========================================================= */

  .featured-products {
    width: 100% !important;
    padding: 30px 14px !important;
    margin: 0 !important;
    background: #f4f4f4 !important;
    box-sizing: border-box !important;
  }

  .featured-products .products-section-title {
    position: relative !important;
    margin: 0 0 28px !important;
    padding-bottom: 14px !important;

    color: #222 !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }

  .featured-products .products-section-title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 76px !important;
    height: 4px !important;
    background: #e30613 !important;
  }

  .featured-products .all-product-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;

    float: none !important;
    margin: 60px 0 28px 156px !important;

    color: #222 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .featured-products .all-product-link i {
    font-size: 18px !important;
    margin: 0 !important;
  }

  .featured-products .products.row {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .featured-products .products.row::before,
  .featured-products .products.row::after {
    display: none !important;
    content: none !important;
  }

  .featured-products .js-product.product {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .featured-products .product-miniature {
    width: 100% !important;
    margin: 0 !important;
  }

  .featured-products .thumbnail-container {
    position: relative !important;
    width: 100% !important;
    min-height: 360px !important;
    height: 360px !important;
    padding: 0 12px 14px !important;

    background: #fff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06) !important;

    display: flex !important;
    flex-direction: column !important;
  }

  .featured-products .thumbnail-top {
    position: relative !important;
    height: 185px !important;
    min-height: 185px !important;
    padding-top: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .featured-products .product-thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 130px !important;
  }

  .featured-products .product-thumbnail picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  .featured-products .product-thumbnail img {
    max-width: 100% !important;
    max-height: 125px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .featured-products .product-description {
    flex: 1 1 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    text-align: center !important;
  }

  .featured-products .product-title {
    min-height: 62px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .featured-products .product-title a {
    display: block !important;
    color: #222 !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
  }

  .featured-products .product-price-and-shipping {
    min-height: 26px !important;
    margin: 0 0 12px !important;
    text-align: center !important;
    display: flex;
    gap: 10px;
  }

  .featured-products .price {
    color: #111 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .featured-products .regular-price {
    display: block !important;
    margin-bottom: 4px !important;
    color: #999 !important;
    font-size: 13px !important;
    text-decoration: line-through !important;
  }

  .featured-products .discount-amount {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 24px !important;
    padding: 0 8px !important;
    background: #e30613 !important;
    color: #fff !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  /* Bouton panier */
  .featured-products .zi-add-to-cart-form {
    width: 100% !important;
    margin: 0 !important;
  }

  .featured-products .zi-add-to-cart-btn {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 8px !important;

    border: 0 !important;
    border-radius: 4px !important;
    background: #1f1f1f !important;
    color: #fff !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
  }

  .featured-products .zi-add-to-cart-btn i {
    font-size: 20px !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .featured-products .zi-add-to-cart-btn:hover {
    background: #e30613 !important;
    color: #fff !important;
  }

  /* Flags promo/nouveau */
  .featured-products .product-flags {
    position: absolute !important;
    top: 18px !important;
    left: 12px !important;
    z-index: 5 !important;

    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    pointer-events: none !important;
  }

  .featured-products .product-flag {
    width: fit-content !important;
    min-width: 96px !important;
    height: 34px !important;
    padding: 0 12px !important;
    border-radius: 3px !important;

    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 34px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  .featured-products .product-flag.on-sale,
  .featured-products .product-flag.discount {
    background: #e30613 !important;
  }

  .featured-products .product-flag.new {
    background: #114a8d !important;
  }

  /* Wishlist */
  .featured-products .wishlist-button-add {
    position: absolute !important;
    top: 0px !important;
    right: 0px !important;
    z-index: 6 !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;

    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;

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

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

  .featured-products .wishlist-button-add i {
    color: #bbb !important;
    font-size: 25px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  .featured-products .wishlist-button-add:hover i {
    color: #e30613 !important;
  }

  /* Cache aperçu rapide en mobile */
  .featured-products .highlighted-informations,
  .featured-products .quick-view {
    display: none !important;
  }

  .featured-products .product-list-reviews {
    display: none !important;
  }
}

.col-sm-6,
.col-sm-7 {
  width: 100% !important;
}

.featured-products {
  justify-self: center;
}

/* =========================================================
   TRES PETIT MOBILE
========================================================= */

@media (max-width: 390px) {
  .zi-category-grid {
    gap: 10px !important;
  }

  .zi-category-grid a {
    height: 215px !important;
    min-height: 215px !important;
    font-size: 22px !important;
  }

  .zi-category-grid a::after {
    min-width: 116px !important;
    height: 42px !important;
    font-size: 13px !important;
  }

  .zi-benefits > div {
    min-height: 138px !important;
    padding: 18px 10px !important;
    grid-template-columns: 36px 1fr !important;
    column-gap: 10px !important;
  }

  .zi-benefits i {
    font-size: 33px !important;
  }

  .zi-benefits strong {
    font-size: 13px !important;
  }

  .zi-benefits span {
    font-size: 13px !important;
  }

  .featured-products {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .featured-products .products.row {
    gap: 16px 10px !important;
  }

  .featured-products .thumbnail-container {
    min-height: 350px !important;
    height: 350px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .featured-products .thumbnail-top {
    height: 178px !important;
    min-height: 178px !important;
  }

  .featured-products .product-title a {
    font-size: 18px !important;
  }

  .featured-products .zi-add-to-cart-btn {
    font-size: 11px !important;
  }

  .featured-products .product-flag {
    min-width: 88px !important;
    height: 32px !important;
    line-height: 32px !important;
    font-size: 12px !important;
  }

  .featured-products .wishlist-button-add {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }

  .featured-products .wishlist-button-add i {
    font-size: 22px !important;
  }
}

/* =========================================================
   DIAGNOSTIC BANNER - FIX MOBILE
========================================================= */

@media (max-width: 767px) {
  .zi-diagnostic-banner {
    position: relative !important;
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    margin: 24px auto !important;
    padding: 24px 18px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;

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

    border-radius: 8px !important;
    overflow: hidden !important;
    background: #191919 !important;
    box-sizing: border-box !important;
  }

  .zi-diagnostic-left {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .zi-diagnostic-left img {
    width: auto !important;
    max-width: 230px !important;
    max-height: 140px !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .zi-diagnostic-separator {
    display: none !important;
  }

  .zi-diagnostic-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .zi-diagnostic-content h2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;

    color: #fff !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.5px !important;
    text-transform: uppercase !important;

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

  .zi-diagnostic-content h2 span {
    display: block !important;
    color: #ffe600 !important;
  }

  .zi-diagnostic-content p {
    width: 100% !important;
    max-width: 310px !important;
    margin: 0 auto !important;

    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-align: center !important;

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

  .zi-diagnostic-btn {
    width: 100% !important;
    max-width: 280px !important;
    height: 50px !important;
    margin: 4px auto 0 !important;
    padding: 0 18px !important;

    border-radius: 5px !important;
    background: #e30613 !important;
    color: #fff !important;

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

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;

    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 390px) {
  .zi-diagnostic-banner {
    padding: 22px 14px !important;
  }

  .zi-diagnostic-left img {
    max-width: 200px !important;
    max-height: 120px !important;
  }

  .zi-diagnostic-content h2 {
    font-size: 26px !important;
  }

  .zi-diagnostic-content p {
    font-size: 15px !important;
  }

  .zi-diagnostic-btn {
    max-width: 250px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   BRAND STRIP - FIX MOBILE
========================================================= */

@media (max-width: 767px) {
  #category #js-product-list .products,
  #search #js-product-list .products {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }

  .zi-brand-strip {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    margin: 26px auto !important;
    padding: 28px 20px 30px !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;

    background: #242424 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .zi-brand-logo {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .zi-logo-badge {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;

    border: 5px solid #ffe600 !important;
    border-radius: 50% !important;

    color: #ffe600 !important;
    font-size: 58px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

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

  .zi-brand-text {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .zi-brand-text h2 {
    margin: 0 0 14px !important;
    color: #ffe600 !important;

    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.4px !important;
    text-transform: uppercase !important;

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

  .zi-brand-text p {
    margin: 0 auto !important;
    color: #fff !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;

    max-width: 360px !important;
    text-align: center !important;
  }

  /* Stats en grille 2 colonnes */
  .zi-brand-stat {
    min-height: 120px !important;
    padding: 16px 8px !important;
    margin: 0 !important;

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

    text-align: center !important;
    box-sizing: border-box !important;
  }

  .zi-brand-strip .zi-brand-stat {
    width: 100% !important;
  }

  .zi-brand-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .zi-brand-logo,
  .zi-brand-text {
    grid-column: 1 / -1 !important;
  }

  .zi-brand-stat i {
    margin: 0 0 10px !important;
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1 !important;
  }

  .zi-brand-stat strong {
    display: block !important;
    margin: 0 0 5px !important;

    color: #fff !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
  }

  .zi-brand-stat span {
    display: block !important;
    color: #fff !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
  }
  #category .products-selection {
    flex-direction: column;
  }

  .hidden-md-up.text-xs-right.up {
    display: none;
  }
}

@media (max-width: 390px) {
  .zi-brand-strip {
    width: calc(100% - 18px) !important;
    padding: 24px 14px 26px !important;
    gap: 20px !important;
  }

  .zi-logo-badge {
    width: 82px !important;
    height: 82px !important;
    min-width: 82px !important;
    font-size: 48px !important;
    border-width: 4px !important;
  }

  .zi-brand-text h2 {
    font-size: 24px !important;
  }

  .zi-brand-text p {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .zi-brand-stat {
    min-height: 108px !important;
    padding: 12px 6px !important;
  }

  .zi-brand-stat i {
    font-size: 30px !important;
  }

  .zi-brand-stat strong {
    font-size: 21px !important;
  }

  .zi-brand-stat span {
    font-size: 12px !important;
  }
}

/* =========================================================
   MOBILE FILTER DRAWER - VERSION PROPRE UNIQUE
========================================================= */

@media (max-width: 767px) {
  body.zi-mobile-filters-open {
    overflow: hidden !important;
  }

  body.zi-mobile-filters-open::after {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.55) !important;
    z-index: 99998 !important;
  }

  #zi-mobile-filter-drawer {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;

    width: 88vw !important;
    max-width: 380px !important;
    height: 100vh !important;

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

    background: #fff !important;
    color: #111 !important;

    z-index: 99999 !important;

    transform: translateX(-105%) !important;
    transition: transform 0.25s ease !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    box-shadow: 0 0 35px rgba(0, 0, 0, 0.35) !important;
  }

  body.zi-mobile-filters-open #zi-mobile-filter-drawer {
    transform: translateX(0) !important;
  }

  .zi-mobile-filter-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;

    height: 64px !important;
    padding: 0 16px !important;

    background: #111 !important;
    color: #fff !important;

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

    border-bottom: 1px solid #222 !important;
  }

  .zi-mobile-filter-header strong {
    font-size: 18px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .zi-mobile-filter-close {
    height: 38px !important;
    padding: 0 14px !important;

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

    background: #e30613 !important;
    color: #fff !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .zi-mobile-filter-content {
    padding: 18px !important;
  }

  #zi-mobile-filter-drawer #search_filters {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: static !important;
    width: 100% !important;
    height: auto !important;

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

    background: #fff !important;
    color: #111 !important;

    transform: none !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
  }

  /* Titre global */
  #zi-mobile-filter-drawer #search_filters .h6 {
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  /* Corrige la duplication des titres Prestashop */
  #zi-mobile-filter-drawer #search_filters .facet > .h6.hidden-sm-down,
  #zi-mobile-filter-drawer #search_filters .facet > p.h6.hidden-sm-down,
  #zi-mobile-filter-drawer
    #search_filters
    .facet
    > .facet-title.hidden-sm-down {
    display: none !important;
  }

  /* Garde uniquement le titre mobile */
  #zi-mobile-filter-drawer #search_filters .facet .title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #111 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  #zi-mobile-filter-drawer #search_filters .facet .title .h6,
  #zi-mobile-filter-drawer #search_filters .facet .title .facet-title {
    margin: 0 !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  #zi-mobile-filter-drawer #search_filters .facet {
    display: block !important;
    padding: 18px 0 !important;
    border-bottom: 1px solid #eee !important;
  }

  #zi-mobile-filter-drawer #search_filters .facet:last-child {
    border-bottom: 0 !important;
  }

  #zi-mobile-filter-drawer #search_filters .facet ul,
  #zi-mobile-filter-drawer #search_filters .facet .collapse {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #zi-mobile-filter-drawer #search_filters .facet-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    margin: 0 0 12px !important;
    color: #333 !important;

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

  #zi-mobile-filter-drawer #search_filters label {
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  #zi-mobile-filter-drawer #search_filters input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    accent-color: #e30613 !important;
  }

  /* Corrige les doubles flèches */
  #zi-mobile-filter-drawer .collapse-icons .remove {
    display: none !important;
  }

  #zi-mobile-filter-drawer .collapse-icons .add {
    display: inline-block !important;
  }

  #zi-mobile-filter-drawer .collapse-icons i {
    color: #111 !important;
    font-size: 22px !important;
  }

  /* Slider prix */
  #zi-mobile-filter-drawer .ui-slider,
  #zi-mobile-filter-drawer .faceted-slider {
    margin-top: 18px !important;
  }
}

/* =========================================================
   CATEGORY MOBILE - CLEAN FINAL
   Masque la sidebar catégories en mobile
========================================================= */

@media (max-width: 767px) {
  /* Layout mobile propre */
  body#category .zi-category-layout,
  body#search .zi-category-layout {
    display: block !important;
    width: 100% !important;
  }

  body#category .zi-category-content,
  body#search .zi-category-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Masque la grosse liste catégories sur mobile */
  body#category .zi-category-sidebar,
  body#search .zi-category-sidebar {
    display: none !important;
  }

  /* On garde le drawer filtres visible quand il est ouvert */
  body.zi-mobile-filters-open #zi-mobile-filter-drawer {
    display: block !important;
  }

  /* Header catégorie propre */
  body#category .zi-category-page-header,
  body#search .zi-category-page-header {
    width: 94vw !important;
    margin: 24px auto 22px !important;
    padding: 0 !important;
  }

  body#category .zi-category-breadcrumb,
  body#search .zi-category-breadcrumb {
    margin: 0 0 22px !important;
    color: #aaa !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }

  body#category .zi-category-breadcrumb a,
  body#search .zi-category-breadcrumb a,
  body#category .zi-category-breadcrumb span,
  body#search .zi-category-breadcrumb span {
    color: #aaa !important;
    text-decoration: none !important;
  }

  body#category .zi-category-page-header h1,
  body#search .zi-category-page-header h1 {
    margin: 0 0 18px !important;
    color: #111 !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
  }

  body#category .zi-category-page-header p,
  body#search .zi-category-page-header p {
    margin: 0 !important;
    color: #999 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
  }

  /* Barre tri + filtre */
  body#category #js-product-list-top,
  body#search #js-product-list-top {
    width: 94vw !important;
    margin: 0 auto 22px !important;
    padding: 0 !important;
    display: block !important;
  }

  body#category #js-product-list-top .col-lg-7,
  body#search #js-product-list-top .col-lg-7,
  body#category #js-product-list-top .sort-by-row,
  body#search #js-product-list-top .sort-by-row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    align-items: center !important;
  }

  body#category .products-sort-order,
  body#search .products-sort-order,
  body#category .filter-button,
  body#search .filter-button {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body#category .products-sort-order .select-title,
  body#search .products-sort-order .select-title {
    width: 100% !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  body#category #search_filter_toggler,
  body#search #search_filter_toggler {
    width: 100% !important;
    height: 46px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #e30613 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  body#category .showing,
  body#search .showing {
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    color: #111 !important;
    font-size: 14px !important;
    text-align: center !important;
  }

  /* Produits */
  body#category #js-product-list,
  body#search #js-product-list {
    width: 94vw !important;
    margin: 0 auto !important;
  }

  body#category #js-product-list .products,
  body#search #js-product-list .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
  }

  body#category #js-product-list .product,
  body#search #js-product-list .product {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Pagination */
  body#category .pagination,
  body#search .pagination {
    width: 94vw !important;
    margin: 28px auto !important;
  }
}

/* =========================================================
   PROMOTIONS = MEME STRUCTURE QUE CATEGORIE
========================================================= */

body#prices-drop #wrapper,
body#prices-drop {
  background: #f4f4f4 !important;
}

body#prices-drop #wrapper > .container {
  width: 90vw !important;
  max-width: 90vw !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body#prices-drop #content-wrapper,
body#prices-drop #main {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body#prices-drop .breadcrumb,
body#prices-drop #left-column,
body#prices-drop #content-wrapper > .page-header,
body#prices-drop #content-wrapper > #main > h1,
body#prices-drop #js-product-list-header {
  display: none !important;
}

/* force le layout custom */
body#prices-drop .zi-category-layout {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: start !important;
}

body#prices-drop .zi-category-sidebar {
  display: block !important;
}

body#prices-drop .zi-category-content {
  min-width: 0 !important;
  width: 100% !important;
}

/* mobile identique catégorie */
@media (max-width: 767px) {
  body#prices-drop #wrapper > .container,
  body#prices-drop #main,
  body#prices-drop .zi-category-page-header,
  body#prices-drop #js-product-list,
  body#prices-drop #js-product-list-top {
    width: 94vw !important;
    max-width: 94vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body#prices-drop .zi-category-layout {
    display: block !important;
  }

  body#prices-drop .zi-category-sidebar {
    display: none !important;
  }
}

/* =========================================================
   PAGE PROMOTIONS - MEME DESIGN QUE PAGE CATEGORIE
   URL : /promotions
========================================================= */

body#prices-drop,
body#prices-drop #wrapper {
  background: #f4f4f4 !important;
}

/* largeur générale */
body#prices-drop #wrapper > .container {
  width: 90vw !important;
  max-width: 90vw !important;
  margin: 0 auto !important;
  padding: 40px 0 70px !important;
}

/* reset layout presta */
body#prices-drop #content-wrapper,
body#prices-drop #main {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body#prices-drop #wrapper > .container > .row {
  display: block !important;
  margin: 0 !important;
}

/* on cache les anciens éléments natifs */
body#prices-drop .breadcrumb,
body#prices-drop #left-column,
body#prices-drop #content-wrapper > .page-header,
body#prices-drop #content-wrapper > #main > h1,
body#prices-drop #js-product-list-header {
  display: none !important;
}

/* header custom */
body#prices-drop .zi-category-page-header {
  width: 100% !important;
  margin: 0 0 44px 0 !important;
  padding: 0 !important;
}

body#prices-drop .zi-category-breadcrumb {
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 28px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #aaa !important;
  text-transform: uppercase !important;
}

body#prices-drop .zi-category-breadcrumb a {
  color: #aaa !important;
  text-decoration: none !important;
}

body#prices-drop .zi-category-page-header h1 {
  margin: 0 0 24px 0 !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #111 !important;
  text-transform: uppercase !important;
}

body#prices-drop .zi-category-page-header p {
  margin: 0 !important;
  font-size: 13px !important;
  color: #999 !important;
  text-transform: uppercase !important;
}

/* layout custom */
body#prices-drop .zi-category-layout {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: start !important;
}

body#prices-drop .zi-category-sidebar {
  width: 100% !important;
  display: block !important;
}

body#prices-drop .zi-category-content {
  min-width: 0 !important;
  width: 100% !important;
}

/* sidebar catégories */
body#prices-drop .block-categories {
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 10px !important;
  padding: 22px 20px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
  margin-bottom: 28px !important;
}

body#prices-drop .block-categories > .category-top-menu > li:first-child {
  display: none !important;
}

body#prices-drop .block-categories ul,
body#prices-drop .block-categories li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#prices-drop .block-categories .category-sub-menu > li[data-depth="0"] {
  position: relative !important;
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #f1f1f1 !important;
}

body#prices-drop .block-categories .category-sub-menu > li[data-depth="0"] > a {
  display: block !important;
  padding: 4px 34px 4px 0 !important;
  color: #1d1d1d !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

body#prices-drop
  .block-categories
  .category-sub-menu
  > li[data-depth="0"]
  > a:hover {
  color: #e30613 !important;
}

body#prices-drop .block-categories .collapse-icons {
  position: absolute !important;
  top: 2px !important;
  right: 0 !important;
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: #111 !important;
  cursor: pointer !important;
}

body#prices-drop .block-categories .collapse-icons:hover {
  color: #e30613 !important;
}

body#prices-drop .block-categories li[data-depth="0"] > .collapse {
  margin-top: 8px !important;
  padding-top: 4px !important;
  padding-left: 12px !important;
  border-left: 1px solid #e2e2e2 !important;
}

body#prices-drop .block-categories .category-sub-link {
  display: block !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  text-decoration: none !important;
  padding: 2px 0 !important;
}

body#prices-drop .block-categories .category-sub-link:hover {
  color: #e30613 !important;
}

/* barre de tri */
body#prices-drop #js-product-list-top {
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body#prices-drop .products-selection {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#prices-drop .products-selection .col-lg-7 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}

body#prices-drop .sort-by-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#prices-drop .sort-by {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  color: #777 !important;
  font-weight: 500 !important;
}

body#prices-drop .products-sort-order {
  width: 220px !important;
  max-width: 220px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body#prices-drop .products-sort-order .select-title {
  position: relative !important;
  width: 100% !important;
  height: 44px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
  padding: 0 42px 0 16px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body#prices-drop .products-sort-order .select-title i {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #111 !important;
  font-size: 22px !important;
}

body#prices-drop .products-sort-order .dropdown-menu {
  width: 220px !important;
  min-width: 220px !important;
  margin-top: 8px !important;
  padding: 8px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.12) !important;
}

body#prices-drop .products-sort-order .select-list {
  padding: 10px 12px !important;
  border-radius: 5px !important;
  color: #222 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

body#prices-drop .products-sort-order .select-list:hover,
body#prices-drop .products-sort-order .select-list.current {
  background: #f4f4f4 !important;
  color: #ff1010 !important;
}

/* grille produits */
body#prices-drop #js-product-list {
  width: 100% !important;
}

body#prices-drop #js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  margin: 0 !important;
}

body#prices-drop #js-product-list .products.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body#prices-drop #js-product-list .products > *,
body#prices-drop #js-product-list .product {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* cards */
body#prices-drop .product-miniature,
body#prices-drop .product-miniature .thumbnail-container {
  width: 100% !important;
  max-width: none !important;
}

body#prices-drop .product-miniature .thumbnail-container {
  height: 420px !important;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 18px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

body#prices-drop .product-miniature .thumbnail-container:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08) !important;
}

body#prices-drop .product-miniature .thumbnail-top {
  width: 100% !important;
  height: 210px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#prices-drop .product-miniature .thumbnail,
body#prices-drop .product-miniature .product-thumbnail {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

body#prices-drop .product-miniature img {
  width: 100% !important;
  max-width: 230px !important;
  max-height: 200px !important;
  object-fit: contain !important;
}

body#prices-drop .product-description {
  position: static !important;
  background: transparent !important;
  text-align: left !important;
  padding: 18px 0 0 0 !important;
}

body#prices-drop .product-title {
  text-align: left !important;
  margin: 0 0 18px 0 !important;
  min-height: 44px !important;
}

body#prices-drop .product-title a {
  display: block !important;
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
}

body#prices-drop .product-title a:hover {
  color: #ff1010 !important;
}

/* prix en bas */
body#prices-drop .product-price-and-shipping {
  position: absolute !important;
  left: 18px !important;
  right: 78px !important;
  bottom: 26px !important;
  margin: 0 !important;
  text-align: left !important;
}

body#prices-drop .price,
body#prices-drop .product-price-and-shipping .price {
  display: block !important;
  text-align: left !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

body#prices-drop .regular-price {
  color: #aaa !important;
  font-size: 13px !important;
  text-decoration: line-through !important;
}

/* bouton panier */
body#prices-drop .zi-add-to-cart-form {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  margin: 0 !important;
}

body#prices-drop .zi-add-to-cart-btn {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 3px !important;
  background: #151515 !important;
  padding: 0 !important;
  font-size: 0 !important;
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#prices-drop .zi-add-to-cart-btn:hover {
  background: #ff1010 !important;
  transform: scale(1.05) !important;
}

body#prices-drop .zi-add-to-cart-btn i {
  font-size: 22px !important;
  color: #fff !important;
  margin: 0 !important;
}

/* badges */
body#prices-drop .product-flags {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  align-items: flex-start !important;
}

body#prices-drop .product-flag {
  width: fit-content !important;
  max-width: max-content !important;
  display: inline-block !important;
  background: #ff1010 !important;
  color: #fff !important;
  padding: 6px 12px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  border-radius: 3px !important;
  text-transform: uppercase !important;
}

body#prices-drop .product-flag.new {
  background: #07366f !important;
}

/* wishlist */
body#prices-drop .wishlist-button-add {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 34px !important;
  height: 34px !important;
  background: transparent !important;
  border: 0 !important;
  z-index: 6 !important;
}

/* cacher quick view */
body#prices-drop .highlighted-informations {
  display: none !important;
}

/* pagination */
body#prices-drop .pagination > .col-md-4 {
  display: none !important;
}

body#prices-drop .pagination {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 45px 0 20px !important;
}

body#prices-drop .pagination > .col-md-6,
body#prices-drop .pagination > .offset-md-2 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#prices-drop .page-list {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

body#prices-drop .page-list li a,
body#prices-drop .page-list li span {
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #eee !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body#prices-drop .page-list .current a {
  background: #ff1010 !important;
  color: #fff !important;
  border-color: #ff1010 !important;
}

body#prices-drop .page-list .next {
  min-width: 100px !important;
  gap: 4px !important;
}

body#prices-drop .page-list li a:hover {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

/* responsive */
@media (max-width: 1200px) {
  body#prices-drop #js-product-list .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  body#prices-drop .zi-category-layout {
    grid-template-columns: 1fr !important;
  }

  body#prices-drop .zi-category-sidebar {
    display: none !important;
  }

  body#prices-drop #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body#prices-drop #wrapper > .container,
  body#prices-drop #main,
  body#prices-drop .zi-category-page-header,
  body#prices-drop #js-product-list,
  body#prices-drop #js-product-list-top {
    width: 94vw !important;
    max-width: 94vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body#prices-drop #wrapper > .container {
    padding-top: 24px !important;
  }

  body#prices-drop .zi-category-page-header h1 {
    font-size: 28px !important;
  }

  body#prices-drop .products-selection {
    justify-content: stretch !important;
  }

  body#prices-drop .products-selection .col-lg-7,
  body#prices-drop .sort-by-row {
    width: 100% !important;
  }

  body#prices-drop .products-sort-order {
    width: 100% !important;
    max-width: 100% !important;
  }

  body#prices-drop .showing {
    width: 100% !important;
    margin: 14px 0 0 !important;
    color: #111 !important;
    font-size: 14px !important;
    text-align: center !important;
  }

  body#prices-drop #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body#prices-drop .product-miniature .thumbnail-container {
    height: auto !important;
    min-height: 360px !important;
    padding: 12px !important;
  }

  body#prices-drop .product-miniature .thumbnail-top {
    height: 160px !important;
  }

  body#prices-drop .product-miniature img {
    max-height: 145px !important;
  }

  body#prices-drop .product-title a {
    font-size: 13px !important;
  }

  body#prices-drop .price,
  body#prices-drop .product-price-and-shipping .price {
    font-size: 18px !important;
  }
}
/* FIX CLICK WISHLIST */
.product-miniature .wishlist-button-add,
.js-product-miniature .wishlist-button-add,
.featured-products .wishlist-button-add,
.special-products .wishlist-button-add,
#category .wishlist-button-add,
#search .wishlist-button-add,
#product .product-accessories .wishlist-button-add {
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 9999 !important;
}

.product-miniature .wishlist-button-add *,
.js-product-miniature .wishlist-button-add *,
.featured-products .wishlist-button-add *,
.special-products .wishlist-button-add *,
#category .wishlist-button-add *,
#search .wishlist-button-add *,
#product .product-accessories .wishlist-button-add * {
  pointer-events: auto !important;
}

/* Supprime le faux doublon wishlist hors du hook */
.product-miniature
  .thumbnail-container
  > .wishlist-button-add:not(.wishlist-button-product) {
  display: none !important;
}

/* Supprime visuellement le faux bouton wishlist hors hook */
.product-miniature
  .thumbnail-container
  > .wishlist-button-add:not(.wishlist-button-product) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================
   WISHLIST MODAL - DESIGN ZONE INTERDITE
========================================================= */

.wishlist-modal,
.wishlist-add-to {
  font-family: inherit !important;
}

.modal-backdrop,
.wishlist-modal + .modal-backdrop {
  background: rgba(0, 0, 0, 0.72) !important;
}

.wishlist-modal .modal-dialog,
.wishlist-add-to .modal-dialog,
.modal-dialog:has(.wishlist-list) {
  max-width: 460px !important;
  margin: 0px auto 30px !important;
}

.wishlist-modal .modal-content,
.wishlist-add-to .modal-content,
.modal-content:has(.wishlist-list) {
  border: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #f3f3f3 !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35) !important;
}

.wishlist-modal .modal-header,
.wishlist-add-to .modal-header,
.modal-content:has(.wishlist-list) .modal-header {
  height: 68px !important;
  padding: 0 22px !important;
  background: #171717 !important;
  border: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.wishlist-modal .modal-title,
.wishlist-add-to .modal-title,
.modal-content:has(.wishlist-list) .modal-title {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.wishlist-modal .close,
.wishlist-add-to .close,
.modal-content:has(.wishlist-list) .close {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: #252525 !important;
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;

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

.wishlist-modal .modal-body,
.wishlist-add-to .modal-body,
.modal-content:has(.wishlist-list) .modal-body {
  padding: 18px !important;
  background: #f3f3f3 !important;
}

.wishlist-list,
.wishlist-modal ul,
.wishlist-add-to ul {
  padding: 0 !important;
  margin: 0 !important;
}

.wishlist-list li,
.wishlist-modal li,
.wishlist-add-to li {
  list-style: none !important;
}

.wishlist-list-item,
.wishlist-modal .wishlist-list li,
.wishlist-add-to .wishlist-list li {
  min-height: 54px !important;
  padding: 14px 16px !important;
  margin-bottom: 10px !important;

  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 10px !important;

  color: #222 !important;
  font-size: 14px !important;
  font-weight: 800 !important;

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

  cursor: pointer !important;
  transition: 0.2s ease !important;
}

.wishlist-list-item:hover,
.wishlist-modal .wishlist-list li:hover,
.wishlist-add-to .wishlist-list li:hover {
  border-color: #e30613 !important;
  box-shadow: 0 8px 22px rgba(227, 6, 19, 0.12) !important;
  transform: translateY(-1px) !important;
}

.wishlist-list-item::after,
.wishlist-modal .wishlist-list li::after,
.wishlist-add-to .wishlist-list li::after {
  display: none;
}

.wishlist-modal .wishlist-add-to-new,
.wishlist-add-to .wishlist-add-to-new,
.wishlist-modal a,
.wishlist-add-to a {
  color: #e30613 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.wishlist-modal .wishlist-add-to-new,
.wishlist-add-to .wishlist-add-to-new {
  min-height: 46px !important;
  margin-top: 12px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.wishlist-modal .wishlist-add-to-new:hover,
.wishlist-add-to .wishlist-add-to-new:hover {
  background: #e30613 !important;
  color: #fff !important;
}

/* Texte anglais -> aspect plus propre */
.wishlist-modal .modal-title,
.wishlist-add-to .modal-title {
  letter-spacing: -0.02em !important;
}

/* Mobile */
@media (max-width: 767px) {
  .wishlist-modal .modal-dialog,
  .wishlist-add-to .modal-dialog,
  .modal-dialog:has(.wishlist-list) {
    width: calc(100vw - 28px) !important;
    max-width: none !important;
    margin: 90px auto 20px !important;
  }

  .wishlist-modal .modal-header,
  .wishlist-add-to .modal-header,
  .modal-content:has(.wishlist-list) .modal-header {
    height: 62px !important;
    padding: 0 16px !important;
  }

  .wishlist-modal .modal-title,
  .wishlist-add-to .modal-title,
  .modal-content:has(.wishlist-list) .modal-title {
    font-size: 17px !important;
  }

  .wishlist-modal .modal-body,
  .wishlist-add-to .modal-body,
  .modal-content:has(.wishlist-list) .modal-body {
    padding: 14px !important;
  }
}

.wishlist-add-to .modal-title,
.wishlist-modal .modal-title {
  font-size: 0 !important;
}

.wishlist-add-to .modal-title::before,
.wishlist-modal .modal-title::before {
  content: "Ajouter à ma wishlist";
  font-size: 20px !important;
}

@media (max-width: 767px) {
  .wishlist-add-to .modal-title::before,
  .wishlist-modal .modal-title::before {
    font-size: 17px !important;
  }
}

/* =========================================================
   FOOTER - CACHER LE FOOTER NATIF PRESTASHOP
   Garde uniquement le footer noir .zi-footer
========================================================= */

#footer > .links,
#footer > .col-md-6.links,
#footer > #block_myaccount_infos,
#footer > .block-contact {
  display: none !important;
}

/* sécurité : le footer noir reste visible */
#footer .zi-footer {
  display: block !important;
}

/* =========================================================
   HEADER DESKTOP - CONTACT + COMPTE CONNECTÉ
========================================================= */

@media (min-width: 768px) {
  /* Contactez-nous : padding + état focus propre */
  #contact-link a,
  .zi-header-left a,
  .header-nav #contact-link a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    line-height: 34px !important;
  }

  #contact-link a:hover,
  #contact-link a:focus,
  #contact-link a:active,
  .zi-header-left a:hover,
  .zi-header-left a:focus,
  .zi-header-left a:active {
    background: rgba(255, 255, 255, 0.08) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18) inset !important;
  }

  /* Zone droite */
  .zi-header-right,
  #_desktop_user_info,
  #_desktop_user_info .user-info,
  #_desktop_cart {
    display: flex !important;
    align-items: center !important;
  }

  .zi-header-right {
    gap: 16px !important;
  }

  #_desktop_user_info .user-info {
    gap: 12px !important;
  }

  /* Ordre : profil puis déconnexion */
  #_desktop_user_info .account {
    order: 1 !important;
  }

  #_desktop_user_info .logout {
    order: 2 !important;
  }

  #_desktop_cart {
    order: 3 !important;
  }

  /* Bouton profil */
  #_desktop_user_info .account {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  #_desktop_user_info .account::before {
    content: "person";
    font-family: "Material Icons";
    font-size: 18px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
  }

  /* Bouton déconnexion */
  #_desktop_user_info .logout {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-size: 0 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  #_desktop_user_info .logout::before {
    content: "logout";
    font-family: "Material Icons";
    font-size: 18px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
  }

  #_desktop_user_info .logout::after {
    content: "Déconnexion";
    font-size: 13px;
    font-weight: 800;
    color: #fff;
  }

  #_desktop_user_info .account:hover,
  #_desktop_user_info .logout:hover,
  #_desktop_user_info .account:focus,
  #_desktop_user_info .logout:focus {
    background: rgba(255, 255, 255, 0.08) !important;
    outline: none !important;
  }

  /* Cache les icônes natives mal placées si elles existent */
  #_desktop_user_info .account > i,
  #_desktop_user_info .logout > i {
    display: none !important;
  }

  /* Panier propre */
  #_desktop_cart .blockcart .header a,
  #_desktop_cart a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  #_desktop_cart a:hover,
  #_desktop_cart a:focus {
    background: rgba(255, 255, 255, 0.08) !important;
    outline: none !important;
  }
}

/* =========================================================
   HOME MOBILE - CORRECTIONS GLOBALES
========================================================= */

@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  #wrapper,
  #content-wrapper,
  #main,
  .page-home,
  .featured-products,
  .products,
  .zi-home-categories,
  .zi-diagnostic-banner,
  .zi-brand-strip {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* =========================================================
     HERO / SLIDER MOBILE
  ========================================================= */

  .carousel,
  .carousel-inner,
  .carousel-item,
  .homeslider-container,
  .zi-hero,
  .zi-home-hero {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .carousel .carousel-item,
  .homeslider-container .carousel-item,
  .zi-hero,
  .zi-home-hero {
    min-height: 640px !important;
  }

  .carousel img,
  .homeslider-container img,
  .zi-hero img,
  .zi-home-hero img {
    width: 100% !important;
    height: 640px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .carousel .caption,
  .carousel-caption,
  .zi-hero-content,
  .zi-home-hero-content {
    left: 22px !important;
    right: 22px !important;
    bottom: 120px !important;
    top: auto !important;
    width: auto !important;
    max-width: calc(100vw - 44px) !important;
    transform: none !important;
    text-align: left !important;
  }

  .carousel .caption h1,
  .carousel-caption h1,
  .zi-hero-content h1,
  .zi-home-hero-content h1 {
    max-width: 100% !important;
    font-size: 39px !important;
    line-height: 0.98 !important;
    letter-spacing: -1.5px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .carousel .caption h1 span,
  .carousel-caption h1 span,
  .zi-hero-content h1 span,
  .zi-home-hero-content h1 span {
    display: inline !important;
  }

  .carousel .caption p,
  .carousel-caption p,
  .zi-hero-content p,
  .zi-home-hero-content p {
    max-width: 100% !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    margin-top: 12px !important;
  }

  .carousel .caption .btn,
  .carousel-caption .btn,
  .zi-hero-content .btn,
  .zi-home-hero-content .btn,
  .zi-hero-buttons,
  .zi-home-hero-buttons {
    max-width: 100% !important;
  }

  .zi-hero-buttons,
  .zi-home-hero-buttons,
  .carousel-caption .buttons,
  .carousel .caption .buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 24px !important;
  }

  .zi-hero-buttons a,
  .zi-home-hero-buttons a,
  .carousel-caption .buttons a,
  .carousel .caption .buttons a,
  .carousel-caption .btn,
  .carousel .caption .btn {
    min-width: 0 !important;
    width: 100% !important;
    height: 52px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  .carousel .direction,
  .carousel-control,
  .carousel-control-prev,
  .carousel-control-next {
    display: none !important;
  }

  /* =========================================================
     TITRES SECTIONS HOME
  ========================================================= */

  .featured-products,
  .product-accessories,
  .products-section,
  .zi-home-section {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .featured-products .products-section-title,
  .featured-products h2,
  .zi-section-title,
  .product-accessories h2 {
    max-width: 72% !important;
    font-size: 31px !important;
    line-height: 1.02 !important;
    letter-spacing: -1px !important;
    margin: 0 0 28px !important;
    padding-bottom: 14px !important;
    word-break: normal !important;
  }

  .featured-products .all-product-link,
  .all-product-link,
  .zi-section-link {
    position: absolute !important;
    top: 6px !important;
    right: 22px !important;
    max-width: 120px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    text-align: right !important;
    white-space: normal !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 4px !important;
  }

  .featured-products,
  .products-section,
  .zi-home-section {
    position: relative !important;
  }

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

  .featured-products .products,
  #content .featured-products .products,
  .products.row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .featured-products .product,
  .products.row .product {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .product-miniature .thumbnail-container {
    width: 100% !important;
    min-height: 360px !important;
    height: auto !important;
    padding: 16px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  .product-miniature .thumbnail-top {
    height: 175px !important;
  }

  .product-miniature .thumbnail img,
  .product-miniature .product-thumbnail img {
    max-width: 88% !important;
    max-height: 150px !important;
    object-fit: contain !important;
  }

  .product-miniature .product-title,
  .product-miniature .product-title a {
    font-size: 18px !important;
    line-height: 1.15 !important;
    min-height: 44px !important;
    margin: 10px 0 16px !important;
  }

  .product-miniature .zi-add-to-cart-btn {
    width: 100% !important;
    min-height: 54px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
  }

  .product-miniature .product-flags {
    top: 16px !important;
    left: 16px !important;
  }

  .product-miniature .product-flag {
    font-size: 11px !important;
    padding: 7px 11px !important;
  }

  .product-miniature .zi-product-wishlist {
    top: 24px !important;
    right: 22px !important;
  }

  /* =========================================================
     BLOC CONSEIL + NEWSLETTER
  ========================================================= */

  .zi-contact-newsletter,
  .zi-home-bottom,
  .zi-advice-newsletter,
  .zi-newsletter-section {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .zi-contact-newsletter > *,
  .zi-home-bottom > *,
  .zi-advice-newsletter > *,
  .zi-newsletter-section > * {
    max-width: 100% !important;
  }

  .zi-contact-card,
  .zi-newsletter-card,
  .zi-advice-card,
  .newsletter-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .zi-contact-card h2,
  .zi-newsletter-card h2,
  .zi-advice-card h2,
  .newsletter-card h2 {
    font-size: 21px !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
  }

  .zi-contact-card p,
  .zi-newsletter-card p,
  .zi-advice-card p,
  .newsletter-card p {
    font-size: 16px !important;
    line-height: 1.35 !important;
    max-width: 100% !important;
  }

  .zi-newsletter-card form,
  .newsletter-card form,
  .block_newsletter form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .zi-newsletter-card input,
  .newsletter-card input,
  .block_newsletter input[type="email"],
  .block_newsletter input[type="text"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    box-sizing: border-box !important;
  }

  .zi-newsletter-card button,
  .newsletter-card button,
  .block_newsletter button,
  .block_newsletter input[type="submit"] {
    width: 100% !important;
    height: 50px !important;
    margin: 0 !important;
    font-size: 13px !important;
    border-radius: 6px !important;
  }
}

/* Très petits écrans */
@media (max-width: 390px) {
  .carousel .caption h1,
  .carousel-caption h1,
  .zi-hero-content h1,
  .zi-home-hero-content h1 {
    font-size: 35px !important;
  }

  .carousel .caption p,
  .carousel-caption p,
  .zi-hero-content p,
  .zi-home-hero-content p {
    font-size: 16px !important;
  }

  .featured-products .products-section-title,
  .featured-products h2,
  .zi-section-title,
  .product-accessories h2 {
    font-size: 29px !important;
    max-width: 70% !important;
  }

  .featured-products .all-product-link,
  .all-product-link,
  .zi-section-link {
    max-width: 110px !important;
    font-size: 10px !important;
  }
}

/* =========================================================
   HOME MOBILE - ACTION ROW / CONSEIL / NEWSLETTER / COMPTE PRO
========================================================= */

@media (max-width: 767px) {
  .zi-action-row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;

    overflow: hidden !important;
  }

  .zi-action-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    padding: 22px 18px !important;
    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: flex-start !important;

    overflow: hidden !important;
  }

  .zi-action-card > i {
    width: 44px !important;
    min-width: 44px !important;
    font-size: 34px !important;
    line-height: 1 !important;
    margin-top: 4px !important;
  }

  .zi-action-card > div {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .zi-action-card h3 {
    font-size: 20px !important;
    line-height: 1.15 !important;
    margin: 0 0 8px !important;
    word-break: normal !important;
  }

  .zi-action-card p {
    font-size: 16px !important;
    line-height: 1.35 !important;
    margin: 0 0 16px !important;
    max-width: 100% !important;
  }

  .zi-action-card .zi-btn-red,
  .zi-action-card .zi-btn-black {
    width: 100% !important;
    max-width: 220px !important;
    min-height: 46px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;

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

    font-size: 13px !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* Newsletter : pas d'icône, donc pleine largeur */
  .zi-action-card.zi-newsletter-card {
    display: block !important;
  }

  .zi-newsletter-card form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;

    margin: 16px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .zi-newsletter-card input[type="email"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;

    padding: 0 16px !important;
    box-sizing: border-box !important;

    font-size: 15px !important;
  }

  .zi-newsletter-card button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;

    margin: 0 !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }
}

/* =========================================================
   HOME MOBILE - SLIDER HERO PROPRE
========================================================= */

@media (max-width: 767px) {
  #carousel,
  .carousel,
  .carousel-inner,
  .carousel-item,
  .carousel-item figure {
    width: 100% !important;
    max-width: 100% !important;
    height: 640px !important;
    min-height: 640px !important;
    margin: 0 !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .carousel-item img {
    width: 100% !important;
    height: 640px !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .carousel-item figure::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.72) 0%,
      rgba(0, 0, 0, 0.5) 48%,
      rgba(0, 0, 0, 0.2) 100%
    ) !important;
    pointer-events: none !important;
  }

  .carousel .caption,
  .carousel-item .caption {
    position: absolute !important;
    z-index: 2 !important;

    top: auto !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 110px !important;

    width: auto !important;
    max-width: calc(100vw - 36px) !important;
    min-width: 0 !important;

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

    text-align: left !important;
    transform: none !important;
    overflow: visible !important;
  }

  .carousel .caption-description,
  .carousel-item .caption-description {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .carousel .hero-title,
  .carousel-item .hero-title {
    width: 100% !important;
    max-width: 100% !important;

    color: #fff !important;
    font-size: 34px !important;
    line-height: 0.98 !important;
    font-weight: 950 !important;
    letter-spacing: -1.4px !important;

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

  .carousel .hero-title span,
  .carousel-item .hero-title span {
    color: #ffe100 !important;
  }

  .carousel .hero-text,
  .carousel-item .hero-text {
    width: 100% !important;
    max-width: 330px !important;

    margin: 12px 0 0 !important;

    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
    font-weight: 600 !important;

    white-space: normal !important;
  }

  .carousel .hero-buttons,
  .carousel-item .hero-buttons {
    width: 100% !important;
    max-width: 100% !important;

    margin: 24px 0 0 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 120px !important;
    gap: 12px !important;

    overflow: hidden !important;
  }

  .carousel .btn-slider,
  .carousel .btn-slider-outline,
  .carousel-item .btn-slider,
  .carousel-item .btn-slider-outline {
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;

    padding: 0 12px !important;
    box-sizing: border-box !important;

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

    border-radius: 6px !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .carousel .btn-slider {
    background: #ff101c !important;
    color: #fff !important;
    border: 2px solid #ff101c !important;
  }

  .carousel .btn-slider-outline {
    background: rgba(0, 0, 0, 0.18) !important;
    color: #fff !important;
    border: 2px solid rgba(255, 255, 255, 0.85) !important;
  }

  .carousel .carousel-indicators,
  .carousel-indicators {
    bottom: 24px !important;
    z-index: 3 !important;
  }
}

@media (max-width: 390px) {
  .carousel .hero-title,
  .carousel-item .hero-title {
    font-size: 31px !important;
    letter-spacing: -1.2px !important;
  }

  .carousel .hero-text,
  .carousel-item .hero-text {
    font-size: 16px !important;
    max-width: 310px !important;
  }

  .carousel .hero-buttons,
  .carousel-item .hero-buttons {
    grid-template-columns: 1fr 110px !important;
    gap: 10px !important;
  }

  .carousel .btn-slider,
  .carousel .btn-slider-outline,
  .carousel-item .btn-slider,
  .carousel-item .btn-slider-outline {
    font-size: 12px !important;
  }
}

a.right.carousel-control {
  width: fit-content;
}

a.left.carousel-control {
  width: fit-content;
}

/* =========================================================
   FIX FINAL MOBILE - SLIDER PLEINE LARGEUR
========================================================= */

@media (max-width: 767px) {
  #wrapper,
  #content-wrapper,
  #main,
  #content,
  .page-home,
  .homeslider-container,
  #carousel,
  .carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  .homeslider-container,
  #carousel,
  .carousel,
  .carousel-inner {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
  }

  .carousel-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
  }

  .carousel-inner .carousel-item,
  .carousel-item,
  .carousel-item.active {
    width: 100% !important;
    max-width: 100% !important;
    height: 620px !important;
    min-height: 620px !important;
    margin: 0 !important;
    padding: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .carousel-item figure {
    width: 100% !important;
    max-width: 100% !important;
    height: 620px !important;
    min-height: 620px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .carousel-item img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 620px !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .carousel-item figure::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.76) 0%,
      rgba(0, 0, 0, 0.56) 48%,
      rgba(0, 0, 0, 0.3) 100%
    ) !important;
    pointer-events: none !important;
  }

  .carousel .caption,
  .carousel-item .caption {
    position: absolute !important;
    z-index: 2 !important;

    left: 18px !important;
    right: 18px !important;
    bottom: 92px !important;
    top: auto !important;

    width: auto !important;
    max-width: calc(100vw - 36px) !important;
    min-width: 0 !important;

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

    transform: none !important;
    text-align: left !important;
    overflow: visible !important;
  }

  .carousel .caption-description,
  .carousel-item .caption-description {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .carousel .hero-title,
  .carousel-item .hero-title {
    width: 100% !important;
    max-width: 100% !important;

    font-size: 33px !important;
    line-height: 0.98 !important;
    letter-spacing: -1.2px !important;

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

  .carousel .hero-text,
  .carousel-item .hero-text {
    width: 100% !important;
    max-width: 330px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin: 12px 0 0 !important;
  }

  .carousel .hero-buttons,
  .carousel-item .hero-buttons {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 0 !important;

    display: grid !important;
    grid-template-columns: 1fr 118px !important;
    gap: 10px !important;
  }

  .carousel .btn-slider,
  .carousel .btn-slider-outline,
  .carousel-item .btn-slider,
  .carousel-item .btn-slider-outline {
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;

    font-size: 12px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }

  .carousel-indicators {
    left: 0 !important;
    right: 0 !important;
    bottom: 22px !important;
    margin: 0 auto !important;
    justify-content: center !important;
    z-index: 5 !important;
  }
}

/* =========================================================
   FIX SLIDER HOME - MOBILE + TABLETTE
========================================================= */

/* On annule le width:max-content qui fait déborder le slider */
.carousel .caption-description,
.carousel-item .caption-description {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* ================= TABLETTE ================= */
@media (min-width: 768px) and (max-width: 1199px) {
  #index #carousel,
  #index .carousel,
  #index .carousel-inner,
  #index .carousel-item,
  #index .carousel-item figure {
    width: 100% !important;
    max-width: 100% !important;
    height: 650px !important;
    overflow: hidden !important;
  }

  #index .carousel-item img {
    width: 100% !important;
    height: 650px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #index .carousel-item .caption {
    left: 6% !important;
    right: 6% !important;
    top: 0 !important;
    bottom: 0 !important;

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

    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    transform: none !important;
  }

  #index .hero-title {
    font-size: 52px !important;
    line-height: 1.02 !important;
    letter-spacing: -1px !important;
    max-width: 680px !important;
    white-space: normal !important;
  }

  #index .hero-text {
    font-size: 21px !important;
    line-height: 1.35 !important;
    max-width: 620px !important;
    margin-top: 16px !important;
  }

  #index .hero-buttons {
    display: flex !important;
    gap: 18px !important;
    margin-top: 26px !important;
  }

  #index .btn-slider,
  #index .btn-slider-outline {
    height: 54px !important;
    min-width: 220px !important;
    padding: 0 28px !important;

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

    font-size: 15px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  #index .carousel-control .icon-prev {
    left: 2rem !important;
  }

  #index .carousel-control .icon-next {
    right: 2rem !important;
  }
}

/* ================= MOBILE ================= */
@media (max-width: 767px) {
  #index #wrapper,
  #index #content-wrapper,
  #index #main,
  #index #content,
  #index #carousel,
  #index .carousel,
  #index .carousel-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  #index .carousel-item,
  #index .carousel-item.active,
  #index .carousel-item figure {
    width: 100% !important;
    max-width: 100% !important;
    height: 610px !important;
    min-height: 610px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #index .carousel-item img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 610px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #index .carousel-item .caption {
    position: absolute !important;
    z-index: 3 !important;

    left: 22px !important;
    right: 22px !important;
    bottom: 92px !important;
    top: auto !important;

    width: auto !important;
    max-width: calc(100vw - 44px) !important;

    display: block !important;
    transform: none !important;
    text-align: left !important;
  }

  #index .hero-title {
    font-size: 31px !important;
    line-height: 0.98 !important;
    letter-spacing: -1px !important;

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

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

  #index .hero-text {
    font-size: 16px !important;
    line-height: 1.25 !important;
    max-width: 340px !important;
    margin: 14px 0 0 !important;
  }

  #index .hero-buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 118px !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 20px 0 0 !important;
  }

  #index .btn-slider,
  #index .btn-slider-outline {
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;

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

    font-size: 12px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  #index .carousel-indicators {
    bottom: 20px !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
  }

  #index .carousel-control {
    display: none !important;
  }
}

#product-modal .modal-content .modal-body {
  margin-left: 0;
}

.product-miniature .wishlist-button-add,
.js-product-miniature .wishlist-button-add,
.product-miniature button.wishlist-button-add,
.js-product-miniature button.wishlist-button-add,
.featured-products .wishlist-button-add,
.special-products .wishlist-button-add,
#category .wishlist-button-add,
#search .wishlist-button-add,
#product .product-accessories .wishlist-button-add {
  top: 0px !important;
  right: 0px !important ;
}
/* =========================================================
   PRODUIT CARD - SUPPRIMER BORDURE FOCUS IMAGE
========================================================= */

.product-miniature a:focus,
.product-miniature a:active,
.product-miniature .thumbnail:focus,
.product-miniature .thumbnail:active,
.product-miniature .product-thumbnail:focus,
.product-miniature .product-thumbnail:active {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.product-miniature .thumbnail-container:focus,
.product-miniature .thumbnail-container:focus-within,
.product-miniature .thumbnail-top:focus,
.product-miniature .thumbnail-top:focus-within {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* =========================================================
   WISHLIST CARD - COULEURS SELON ÉTAT
========================================================= */

/* Non liké : gris */
.product-miniature .zi-product-wishlist .wishlist-button-add,
.product-miniature .zi-product-wishlist .wishlist-button-product {
  color: #ff101c !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

/* Non liké au hover : rouge */
.product-miniature .zi-product-wishlist .wishlist-button-add:hover,
.product-miniature .zi-product-wishlist .wishlist-button-product:hover {
  color: #9a9a9a !important;
  background: #fff !important;
}

/* Déjà liké : rouge */
.product-miniature .zi-product-wishlist .wishlist-button-add.active,
.product-miniature .zi-product-wishlist .wishlist-button-add.is-active,
.product-miniature .zi-product-wishlist .wishlist-button-add.added,
.product-miniature
  .zi-product-wishlist
  .wishlist-button-add[data-checked="true"],
.product-miniature .zi-product-wishlist .wishlist-button-product.active,
.product-miniature .zi-product-wishlist .wishlist-button-product.is-active,
.product-miniature .zi-product-wishlist .wishlist-button-product.added,
.product-miniature
  .zi-product-wishlist
  .wishlist-button-product[data-checked="true"] {
  color: #ff101c !important;
}

/* Déjà liké au hover : gris */
.product-miniature .zi-product-wishlist .wishlist-button-add.active:hover,
.product-miniature .zi-product-wishlist .wishlist-button-add.is-active:hover,
.product-miniature .zi-product-wishlist .wishlist-button-add.added:hover,
.product-miniature
  .zi-product-wishlist
  .wishlist-button-add[data-checked="true"]:hover,
.product-miniature .zi-product-wishlist .wishlist-button-product.active:hover,
.product-miniature
  .zi-product-wishlist
  .wishlist-button-product.is-active:hover,
.product-miniature .zi-product-wishlist .wishlist-button-product.added:hover,
.product-miniature
  .zi-product-wishlist
  .wishlist-button-product[data-checked="true"]:hover {
  color: #9a9a9a !important;
}

/* L’icône prend la couleur du bouton */
.product-miniature .zi-product-wishlist .wishlist-button-add i,
.product-miniature .zi-product-wishlist .wishlist-button-product i {
  color: inherit !important;
}

/* =========================================================
   MODAL AJOUT PANIER CUSTOM - AFFICHAGE CORRECT
========================================================= */

#blockcart-modal.zi-cart-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1051 !important;

  display: none;
  width: 100% !important;
  height: 100% !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;

  pointer-events: auto !important;
}

#blockcart-modal.zi-cart-modal.in,
#blockcart-modal.zi-cart-modal.show {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  opacity: 1 !important;
  visibility: visible !important;
}

#blockcart-modal .zi-cart-modal-dialog {
  position: relative !important;
  z-index: 1052 !important;

  width: calc(100% - 32px) !important;
  max-width: 760px !important;
  margin: 40px auto !important;
}

#blockcart-modal .zi-cart-modal-content {
  position: relative !important;

  width: 100% !important;
  padding: 34px !important;

  background: #fff !important;
  color: #111 !important;

  border-radius: 18px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35) !important;
}

#blockcart-modal .zi-cart-modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;

  width: 38px !important;
  height: 38px !important;

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

  background: #111 !important;
  color: #fff !important;

  font-size: 26px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

#blockcart-modal .zi-cart-modal-header {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  margin-bottom: 26px !important;
  padding-right: 40px !important;
}

#blockcart-modal .zi-cart-modal-header i {
  width: 46px !important;
  height: 46px !important;

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

  border-radius: 50% !important;
  background: #16a34a !important;
  color: #fff !important;

  font-size: 28px !important;
}

#blockcart-modal .zi-cart-modal-header h1 {
  margin: 0 !important;

  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#blockcart-modal .zi-cart-modal-product {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 20px !important;

  padding: 18px !important;

  background: #f6f6f6 !important;
  border-radius: 14px !important;
}

#blockcart-modal .zi-cart-modal-product-img {
  width: 120px !important;
  height: 120px !important;

  object-fit: contain !important;

  background: #fff !important;
  border-radius: 12px !important;
}

#blockcart-modal .zi-cart-modal-product-info h2 {
  margin: 0 0 10px !important;

  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

#blockcart-modal .zi-cart-modal-product-price {
  margin: 0 0 8px !important;

  color: #e30613 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

#blockcart-modal .zi-cart-modal-product-qty {
  margin: 0 !important;
  font-size: 14px !important;
  color: #555 !important;
}

.modal-backdrop.in,
.modal-backdrop.show {
  z-index: 1050 !important;
  opacity: 0.65 !important;
}

body.modal-open {
  overflow: hidden !important;
}

@media (max-width: 767px) {
  #blockcart-modal.zi-cart-modal.in,
  #blockcart-modal.zi-cart-modal.show {
    align-items: flex-start !important;
    padding-top: 70px !important;
  }

  #blockcart-modal .zi-cart-modal-dialog {
    width: calc(100% - 24px) !important;
    margin: 0 auto 30px !important;
  }

  #blockcart-modal .zi-cart-modal-content {
    padding: 26px 18px 22px !important;
    border-radius: 14px !important;
  }

  #blockcart-modal .zi-cart-modal-header {
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
  }

  #blockcart-modal .zi-cart-modal-header h1 {
    font-size: 19px !important;
  }

  #blockcart-modal .zi-cart-modal-product {
    grid-template-columns: 90px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 14px !important;
  }

  #blockcart-modal .zi-cart-modal-product-img {
    width: 90px !important;
    height: 90px !important;
  }

  #blockcart-modal .zi-cart-modal-product-info h2 {
    font-size: 15px !important;
  }

  #blockcart-modal .zi-cart-modal-product-price {
    font-size: 18px !important;
  }
}
/* =========================================================
   MODAL AJOUT PANIER - BOUTONS ACTION
========================================================= */

#blockcart-modal .zi-cart-modal-footer {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 14px !important;

  margin-top: 28px !important;
  padding-top: 22px !important;

  border-top: 1px solid rgba(0,0,0,.08) !important;
}

#blockcart-modal .zi-cart-continue,
#blockcart-modal .zi-cart-go {
  min-width: 190px !important;
  height: 50px !important;
  padding: 0 22px !important;

  border-radius: 8px !important;

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

  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  cursor: pointer !important;
}

#blockcart-modal .zi-cart-continue {
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #111 !important;
}

#blockcart-modal .zi-cart-continue:hover {
  background: #111 !important;
  color: #fff !important;
}

#blockcart-modal .zi-cart-go {
  background: #ff101c !important;
  color: #fff !important;
  border: 2px solid #ff101c !important;
}

#blockcart-modal .zi-cart-go:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  #blockcart-modal .zi-cart-modal-footer {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }

  #blockcart-modal .zi-cart-continue,
  #blockcart-modal .zi-cart-go {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   PANIER - SUPPRESSION / PANIER VIDE FRONT
========================================================= */

.cart-item,
.cart-line-product,
.js-cart-line-product {
  transition: opacity .2s ease, transform .2s ease !important;
}

.zi-cart-empty-message {
  margin: 28px 0 !important;
  padding: 38px 28px !important;

  background: #fff !important;
  border-radius: 16px !important;
  text-align: center !important;

  box-shadow: 0 14px 35px rgba(0,0,0,.08) !important;
}

.zi-cart-empty-message h2 {
  margin: 0 0 8px !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #111 !important;
}

.zi-cart-empty-message p {
  margin: 0 0 22px !important;
  font-size: 16px !important;
  color: #666 !important;
}

.zi-cart-empty-btn {
  height: 48px !important;
  padding: 0 24px !important;

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

  background: #ff101c !important;
  color: #fff !important;
  border-radius: 8px !important;

  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.zi-cart-empty-btn:hover {
  background: #111 !important;
  color: #fff !important;
}

/* =========================================================
   PANIER - FEEDBACK SUPPRESSION
========================================================= */

.cart-item,
.cart-line-product,
.js-cart-line-product,
.zi-cart-line {
  transition: opacity .2s ease, transform .2s ease !important;
}

.remove-from-cart,
.js-cart-line-product-remove,
[data-link-action="delete-from-cart"] {
  cursor: pointer !important;
}

/* =========================================================
   HEADER - CONTACT DÉPLACÉ DANS LA LIGNE MENU
========================================================= */

.zi-menu-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
}

.header-top-right {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.zi-menu-contact {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  padding-right: 35px !important;
  height: 66px !important;

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

.zi-menu-contact #_desktop_contact_link,
.zi-menu-contact #contact-link {
  height: 66px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

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

.zi-menu-contact a {
  min-height: 42px !important;
  padding: 0 18px !important;

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

  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;

  border-radius: 4px !important;
  white-space: nowrap !important;
}

.zi-menu-contact a:hover {
  background: #ff1010 !important;
  color: #fff !important;
}

/* réduit un peu l'espace du menu pour laisser la place au contact */
#_desktop_top_menu .top-menu {
  gap: 58px !important;
}

@media (max-width: 1200px) {
  #_desktop_top_menu .top-menu {
    gap: 32px !important;
  }

  .zi-menu-contact {
    padding-right: 15px !important;
  }
}

@media (max-width: 991px) {
  .zi-menu-contact {
    display: none !important;
  }
}

/* =========================================================
   HISTORIQUE COMMANDES - BOUTON DÉTAILS
========================================================= */

.zi-history-detail {
  text-align: center;
}

.zi-history-detail-link,
.zi-history-detail-link.is-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  text-decoration: none;
  transition: all 0.25s ease;
  background: transparent;
  color: #ff2a2a;
  border: 0;
}

.zi-history-detail-link i,
.zi-history-detail-link.is-disabled i {
  font-family: 'Material Icons' !important;
  font-size: 24px !important;
  line-height: 1 !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.zi-history-detail-link:hover {
  background: #ffe7ea;
  color: #ff2a2a;
  transform: translateX(2px);
}

.zi-history-detail-link.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

/* si un style global te casse les icones */
.zi-history-detail-link .material-icons {
  font-family: 'Material Icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  text-transform: none;
  letter-spacing: normal;
  white-space: nowrap;
}

/* =========================================================
   ORDER DETAIL PAGE
========================================================= */

.zi-order-detail-page .zi-account-main {
  width: 100%;
}

.zi-order-detail-box {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 22px;
  padding: 34px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}

.zi-order-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 28px;
}

.zi-order-header h1 {
  margin: 0 0 8px;
  font-size: 2rem;
  font-weight: 800;
  color: #0f1720;
}

.zi-order-header p {
  margin: 0;
  color: #7c8796;
  font-size: 1rem;
}

.zi-reorder-btn {
  white-space: nowrap;
}

.zi-order-top-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 28px;
}

.zi-order-card {
  background: #fafafa;
  border: 1px solid #efefef;
  border-radius: 18px;
  padding: 22px;
}

.zi-order-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  font-weight: 800;
  color: #111827;
}

.zi-order-card-title i {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #fff1f2;
  color: #ff2a2a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.zi-order-meta p {
  margin: 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.zi-order-meta strong {
  font-size: 0.85rem;
  color: #8a94a6;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.zi-order-meta span {
  color: #18212f;
  font-weight: 600;
}

.zi-order-section {
  margin-top: 22px;
  background: #fff;
  border: 1px solid #f1f1f1;
  border-radius: 18px;
  padding: 24px;
}

.zi-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.zi-section-title i {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #fff1f2;
  color: #ff2a2a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.zi-section-title h2 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  color: #111827;
}

.zi-order-addresses {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 22px;
}

.zi-address-card {
  margin-top: 0;
}

.zi-address-content {
  color: #3d4755;
  line-height: 1.7;
}

.zi-address-content br {
  line-height: 1.8;
}

.zi-order-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.zi-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 12px;
  border: 1px solid #d9dfe7;
  background: #fff;
  color: #18212f;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
}

.zi-btn-outline:hover {
  background: #f8f8f8;
  color: #111;
  text-decoration: none;
}

/* Badge statut */
.zi-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff1f2;
  color: #ff2a2a;
  font-weight: 700;
  font-size: 0.92rem;
}

/* Tables internes prestashop */
.zi-order-detail-box table {
  width: 100%;
  border-collapse: collapse;
}

.zi-order-detail-box table th {
  color: #8b95a7;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 12px 10px;
  border-bottom: 1px solid #ececec;
}

.zi-order-detail-box table td {
  padding: 16px 10px;
  border-bottom: 1px solid #f2f2f2;
  color: #1c2533;
  vertical-align: middle;
}

.zi-order-detail-box .badge,
.zi-order-detail-box .label {
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 0.85rem;
}

/* Formulaire message */
.zi-order-detail-box select,
.zi-order-detail-box textarea,
.zi-order-detail-box input[type="text"] {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
  box-shadow: none;
}

.zi-order-detail-box textarea {
  min-height: 130px;
  resize: vertical;
}

.zi-order-detail-box button[type="submit"],
.zi-order-detail-box .btn-primary {
  background: #ff1e1e;
  border: 0;
  border-radius: 12px;
  color: #fff;
  font-weight: 800;
  padding: 13px 24px;
  transition: all 0.25s ease;
}

.zi-order-detail-box button[type="submit"]:hover,
.zi-order-detail-box .btn-primary:hover {
  background: #e21212;
  color: #fff;
}

/* Responsive */
@media (max-width: 991px) {
  .zi-order-top-grid {
    grid-template-columns: 1fr;
  }

  .zi-order-addresses {
    grid-template-columns: 1fr;
  }

  .zi-order-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .zi-order-detail-box {
    padding: 24px;
  }
}

@media (max-width: 767px) {
  .zi-order-detail-box {
    padding: 18px;
    border-radius: 16px;
  }

  .zi-order-header h1 {
    font-size: 1.5rem;
  }

  .zi-order-section {
    padding: 18px;
  }

  .zi-order-actions {
    flex-direction: column;
  }

  .zi-order-actions a {
    width: 100%;
  }
}
/* =========================================================
   HISTORIQUE COMMANDES - BOUTON DÉTAILS FIX ICÔNE
========================================================= */

body#history .zi-history-detail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#history .zi-history-detail-link {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;

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

  border-radius: 50% !important;
  background: transparent !important;
  color: #e30613 !important;
  text-decoration: none !important;

  font-size: 0 !important;
  line-height: 1 !important;

  transition: all .2s ease !important;
}

body#history .zi-history-detail-link::before {
  content: "visibility" !important;
  font-family: "Material Icons" !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: currentColor !important;
  display: block !important;
}

body#history .zi-history-detail-link i {
  display: none !important;
}

body#history .zi-history-detail-link:hover {
  background: rgba(227, 6, 19, .08) !important;
  color: #e30613 !important;
  transform: translateX(2px) !important;
}

body#history .zi-history-detail-link.is-disabled {
  opacity: .35 !important;
  pointer-events: none !important;
}

/* =========================================================
   ORDER DETAIL PAGE - DESIGN NATIVE PRESTASHOP
========================================================= */

body#order-detail,
body#order-detail #wrapper {
  background: #f7f7f7 !important;
}

body#order-detail #wrapper > .container {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 0 auto !important;
  padding: 22px 0 70px !important;
}

body#order-detail #content-wrapper,
body#order-detail #main,
body#order-detail #content,
body#order-detail .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  float: none !important;
}

/* cache le titre natif si besoin */
body#order-detail #main > header,
body#order-detail .page-header {
  display: none !important;
}

/* breadcrumb */
body#order-detail .breadcrumb {
  width: 97vw !important;
  max-width: 1650px !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body#order-detail .breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#order-detail .breadcrumb li,
body#order-detail .breadcrumb a,
body#order-detail .breadcrumb span {
  color: #9a9a9a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body#order-detail .breadcrumb a:hover {
  color: #e30613 !important;
}

/* card principale */
body#order-detail .page-content,
body#order-detail #content {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 38px 42px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.03) !important;
}

/* titre */
body#order-detail h1,
body#order-detail h2,
body#order-detail h3 {
  color: #111 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body#order-detail h1 {
  margin: 0 0 28px !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
}

body#order-detail h3 {
  margin: 34px 0 18px !important;
  font-size: 17px !important;
}

/* texte général */
body#order-detail p,
body#order-detail span,
body#order-detail div,
body#order-detail td,
body#order-detail th,
body#order-detail label {
  color: #222;
}

/* blocs infos commande */
body#order-detail .box,
body#order-detail .order-detail,
body#order-detail .order-message-form,
body#order-detail section {
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: none !important;
}

/* bouton commander à nouveau */
body#order-detail a[href*="submitReorder"],
body#order-detail .order-actions a,
body#order-detail .btn-primary {
  min-height: 46px !important;
  padding: 0 22px !important;

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

  border-radius: 8px !important;
  border: 0 !important;
  background: #e30613 !important;
  color: #fff !important;

  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body#order-detail a[href*="submitReorder"]:hover,
body#order-detail .order-actions a:hover,
body#order-detail .btn-primary:hover {
  background: #111 !important;
  color: #fff !important;
}

/* statut commande */
body#order-detail .label,
body#order-detail .badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 30px !important;
  padding: 7px 12px !important;

  border-radius: 999px !important;
  background: rgba(227, 6, 19, .08) !important;
  color: #e30613 !important;

  font-size: 12px !important;
  font-weight: 800 !important;
}

/* tableaux */
body#order-detail table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin: 20px 0 28px !important;
}

body#order-detail table thead th,
body#order-detail table th {
  padding: 18px 20px !important;
  background: #fafafa !important;
  color: #777 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

body#order-detail table td {
  padding: 18px 20px !important;
  color: #222 !important;
  font-size: 14px !important;
  border-bottom: 1px solid #f5f5f5 !important;
  vertical-align: middle !important;
}

body#order-detail table tr:last-child td {
  border-bottom: 0 !important;
}

body#order-detail table a {
  color: #e30613 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body#order-detail table a:hover {
  color: #111 !important;
}

/* adresses */
body#order-detail .addresses,
body#order-detail .address,
body#order-detail article.address {
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  color: #333 !important;
}

body#order-detail .address h4,
body#order-detail article.address h4 {
  margin: 0 0 12px !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body#order-detail .address address,
body#order-detail article.address address {
  margin: 0 !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* formulaire message */
body#order-detail form {
  max-width: 100% !important;
}

body#order-detail .form-group {
  margin-bottom: 18px !important;
}

body#order-detail select,
body#order-detail textarea,
body#order-detail input[type="text"] {
  width: 100% !important;
  min-height: 48px !important;

  border: 1px solid #dedede !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111 !important;

  padding: 12px 14px !important;
  box-shadow: none !important;
}

body#order-detail textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

body#order-detail select:focus,
body#order-detail textarea:focus,
body#order-detail input:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, .08) !important;
  outline: none !important;
}

body#order-detail button[type="submit"],
body#order-detail input[type="submit"] {
  min-width: 160px !important;
  height: 48px !important;

  border: 0 !important;
  border-radius: 8px !important;
  background: #e30613 !important;
  color: #fff !important;

  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body#order-detail button[type="submit"]:hover,
body#order-detail input[type="submit"]:hover {
  background: #111 !important;
}

/* liens bas de page */
body#order-detail .page-footer,
body#order-detail footer.page-footer {
  margin-top: 30px !important;
  padding: 0 !important;
  background: transparent !important;
}

body#order-detail .page-footer a,
body#order-detail footer.page-footer a {
  color: #e30613 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* responsive */
@media (max-width: 991px) {
  body#order-detail #wrapper > .container {
    width: 94vw !important;
  }

  body#order-detail .page-content,
  body#order-detail #content {
    padding: 24px !important;
  }

  body#order-detail table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 575px) {
  body#order-detail .page-content,
  body#order-detail #content {
    padding: 18px !important;
    border-radius: 14px !important;
  }

  body#order-detail h1 {
    font-size: 22px !important;
  }

  body#order-detail .box,
  body#order-detail section {
    padding: 18px !important;
  }
}
/* =========================================================
   ORDER DETAIL CUSTOM PAGE
========================================================= */

.zi-order-detail-page .zi-account-layout {
  align-items: flex-start !important;
}

.zi-order-detail-box {
  background: #fff !important;
  border: 1px solid #ededed !important;
  border-radius: 18px !important;
  padding: 34px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.035) !important;
}

.zi-order-detail-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
}

.zi-order-detail-header h1 {
  margin: 0 0 8px !important;
  font-size: 30px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  color: #111 !important;
}

.zi-order-detail-header p {
  margin: 0 !important;
  color: #8d8d8d !important;
  font-size: 15px !important;
}

.zi-order-reorder-btn {
  min-height: 46px !important;
  padding: 0 20px !important;
  border-radius: 8px !important;
  background: #ff101c !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.zi-order-reorder-btn:hover {
  background: #111 !important;
  color: #fff !important;
}

.zi-order-detail-grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr !important;
  gap: 18px !important;
  margin-bottom: 22px !important;
}

.zi-order-detail-card,
.zi-order-section {
  background: #fafafa !important;
  border: 1px solid #eeeeee !important;
  border-radius: 16px !important;
  padding: 24px !important;
}

.zi-order-card-title,
.zi-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
}

.zi-order-card-title i,
.zi-section-title i {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  background: rgba(255,16,28,.08) !important;
  color: #ff101c !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
}

.zi-order-card-title strong,
.zi-section-title h2 {
  margin: 0 !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.zi-order-meta-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 12px !important;
}

.zi-order-meta-list li {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #eeeeee !important;
}

.zi-order-meta-list li:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.zi-order-meta-list span {
  color: #8a8a8a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.zi-order-meta-list strong {
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-align: right !important;
}

.zi-status-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: rgba(255,16,28,.08) !important;
  color: #ff101c !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.zi-order-addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
  margin-top: 22px !important;
}

.zi-address-card address {
  margin: 0 !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.zi-order-section {
  margin-top: 22px !important;
}

/* Tables */
.zi-order-detail-box table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  border: 1px solid #eeeeee !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.zi-order-detail-box table th {
  padding: 16px 18px !important;
  background: #f7f7f7 !important;
  color: #777 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid #eeeeee !important;
}

.zi-order-detail-box table td {
  padding: 16px 18px !important;
  color: #222 !important;
  font-size: 14px !important;
  border-bottom: 1px solid #f1f1f1 !important;
  vertical-align: middle !important;
}

.zi-order-detail-box table tr:last-child td {
  border-bottom: 0 !important;
}

.zi-order-detail-box table a {
  color: #ff101c !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

/* Message form */
.zi-order-detail-box select,
.zi-order-detail-box textarea,
.zi-order-detail-box input[type="text"] {
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #dedede !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #111 !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}

.zi-order-detail-box textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

.zi-order-detail-box .btn-primary,
.zi-order-detail-box button[type="submit"] {
  min-width: 160px !important;
  height: 48px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #ff101c !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.zi-order-detail-box .btn-primary:hover,
.zi-order-detail-box button[type="submit"]:hover {
  background: #111 !important;
}

.zi-order-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 26px !important;
}

.zi-btn-black,
.zi-btn-outline {
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.zi-btn-black {
  background: #111 !important;
  color: #fff !important;
}

.zi-btn-black:hover {
  background: #ff101c !important;
  color: #fff !important;
}

.zi-btn-outline {
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #111 !important;
}

.zi-btn-outline:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Fix historique bouton détails */
body#history .zi-history-detail-link {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  color: #ff101c !important;
  text-decoration: none !important;
  font-size: 0 !important;
}

body#history .zi-history-detail-link::before {
  content: "visibility" !important;
  font-family: "Material Icons" !important;
  font-size: 22px !important;
  color: currentColor !important;
}

body#history .zi-history-detail-link i {
  display: none !important;
}

body#history .zi-history-detail-link:hover {
  background: rgba(255,16,28,.08) !important;
}

/* Responsive */
@media (max-width: 991px) {
  .zi-order-detail-grid,
  .zi-order-addresses {
    grid-template-columns: 1fr !important;
  }

  .zi-order-detail-header {
    flex-direction: column !important;
  }

  .zi-order-detail-box {
    padding: 22px !important;
  }

  .zi-order-detail-box table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 575px) {
  .zi-order-detail-box {
    padding: 18px !important;
    border-radius: 14px !important;
  }

  .zi-order-detail-header h1 {
    font-size: 22px !important;
  }

  .zi-order-section,
  .zi-order-detail-card {
    padding: 18px !important;
  }

  .zi-order-actions a {
    width: 100% !important;
  }
}

/* =========================================================
   PRODUCT CARD - IMAGE PAR DÉFAUT
========================================================= */

.product-miniature .zi-product-placeholder-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-miniature .zi-product-placeholder-img {
  width: 250px !important;
  height: 250px !important;
  object-fit: contain !important;
  opacity: .95 !important;
}

/* =========================================================
   PRODUCT CARD - IMAGE PAR DÉFAUT / IMAGE CASSÉE
========================================================= */

.product-miniature .product-thumbnail,
.product-miniature .zi-product-placeholder-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-miniature .product-thumbnail picture {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-miniature .zi-product-placeholder-img {
  width: 250px !important;
  height: 250px !important;
  object-fit: contain !important;
  opacity: .95 !important;
}

/* =========================================================
   PRODUCT PAGE - IMAGE PAR DÉFAUT / IMAGE CASSÉE
========================================================= */

#product .product-cover {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f7f7f7 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

#product .product-cover picture {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#product .product-cover img {
  object-fit: contain !important;
}

#product .zi-product-page-placeholder-img {
  width: auto !important;
  max-width: 86% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  opacity: .95 !important;
  margin: 0 auto !important;
  display: block !important;
}

#product .zi-product-page-placeholder-thumb {
  width: 88px !important;
  height: 88px !important;
  object-fit: contain !important;
  padding: 7px !important;
  background: #fff !important;
  border-radius: 8px !important;
}

/* =========================================================
   GLOBAL - RETIRER BORDURES / OUTLINE AU CLIC
========================================================= */

button,
.btn,
a,
input,
select,
textarea,
[role="button"],
.add-to-cart,
.zi-add-to-cart-btn,
.zi-btn-red,
.zi-btn-black,
.zi-btn-outline,
.wishlist-button,
.wishlist-button-add,
.zi-cart-continue,
.zi-cart-go,
.product-thumbnail,
.thumbnail,
.page-list a,
.products-sort-order .select-title {
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Focus / active / click */
button:focus,
button:active,
button:focus-visible,
.btn:focus,
.btn:active,
.btn:focus-visible,
a:focus,
a:active,
a:focus-visible,
input:focus,
input:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
[role="button"]:focus,
[role="button"]:active,
[role="button"]:focus-visible,
.add-to-cart:focus,
.add-to-cart:active,
.zi-add-to-cart-btn:focus,
.zi-add-to-cart-btn:active,
.zi-btn-red:focus,
.zi-btn-red:active,
.zi-btn-black:focus,
.zi-btn-black:active,
.zi-btn-outline:focus,
.zi-btn-outline:active,
.wishlist-button:focus,
.wishlist-button:active,
.wishlist-button-add:focus,
.wishlist-button-add:active,
.zi-cart-continue:focus,
.zi-cart-continue:active,
.zi-cart-go:focus,
.zi-cart-go:active,
.product-thumbnail:focus,
.product-thumbnail:active,
.thumbnail:focus,
.thumbnail:active,
.page-list a:focus,
.page-list a:active,
.products-sort-order .select-title:focus,
.products-sort-order .select-title:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Firefox */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0 !important;
}

/* Bootstrap / PrestaShop focus */
.btn:focus,
.btn.focus,
.form-control:focus,
.custom-select:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Supprime la bordure bleue/noire sur images cliquées */
.product-thumbnail:focus img,
.product-thumbnail:active img,
.thumbnail:focus img,
.thumbnail:active img,
.product-miniature a:focus,
.product-miniature a:active {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* =========================================================
   CONTACT PAGE - RÉFÉRENCE COMMANDE FULL WIDTH
========================================================= */

body#contact .zi-contact-order-reference,
body#contact .zi-contact-message-field,
body#contact .form-group:has(input[type="file"]) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

body#contact .zi-contact-order-reference select,
body#contact .zi-contact-order-reference .form-control,
body#contact .zi-contact-message-field textarea {
  width: 100% !important;
  max-width: none !important;
}

body#contact .zi-contact-message-field textarea {
  min-height: 170px !important;
}

/* =========================================================
   CONTACT PAGE - RESTAURATION DESIGN AVANT
========================================================= */

/* Le widget redevient compatible avec le style précédent */
body#contact .zi-contact-form-widget {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Cache le titre natif ajouté par le module */
body#contact .zi-contact-form-widget > header,
body#contact .zi-contact-form-widget .page_title,
body#contact .zi-contact-form-widget h1.h3 {
  display: none !important;
}

/* Grille du formulaire */
body#contact .zi-contact-form-widget form {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#contact .zi-contact-form-widget .form-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px 34px !important;
  align-items: start !important;
}

/* Champs */
body#contact .zi-contact-form-widget label,
body#contact .zi-contact-form-widget .zi-contact-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Labels */
body#contact .zi-contact-form-widget label > span,
body#contact .zi-contact-form-widget .zi-contact-field > span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

/* Inputs */
body#contact .zi-contact-form-widget select,
body#contact .zi-contact-form-widget input[type="email"],
body#contact .zi-contact-form-widget input[type="text"],
body#contact .zi-contact-form-widget textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

body#contact .zi-contact-form-widget select,
body#contact .zi-contact-form-widget input[type="email"],
body#contact .zi-contact-form-widget input[type="text"] {
  height: 54px !important;
  padding: 0 16px !important;
}

body#contact .zi-contact-form-widget textarea {
  min-height: 150px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

body#contact .zi-contact-form-widget select:focus,
body#contact .zi-contact-form-widget input[type="email"]:focus,
body#contact .zi-contact-form-widget input[type="text"]:focus,
body#contact .zi-contact-form-widget textarea:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.08) !important;
}

/* Sujet gauche */
body#contact .zi-contact-subject-field {
  grid-column: 1 !important;
  order: 1 !important;
}

/* Email droite */
body#contact .zi-contact-email-field {
  grid-column: 2 !important;
  order: 2 !important;
}

/* Document joint pleine largeur */
body#contact .zi-contact-file-field {
  grid-column: 1 / -1 !important;
  order: 3 !important;
}

/* Référence commande pleine largeur au-dessus du message */
body#contact .zi-contact-order-reference {
  grid-column: 1 / -1 !important;
  order: 4 !important;
}

/* Message pleine largeur */
body#contact .zi-contact-message-field {
  grid-column: 1 / -1 !important;
  order: 5 !important;
}

/* Document joint */
body#contact .zi-contact-form-widget input[type="file"] {
  width: 100% !important;
  max-width: 100% !important;
  height: 54px !important;
  padding: 0 !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #777 !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

body#contact .zi-contact-form-widget input[type="file"]::file-selector-button {
  height: 54px !important;
  margin-right: 16px !important;
  padding: 0 24px !important;
  border: 0 !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

/* Bouton envoyer */
body#contact .zi-contact-form-widget .form-footer {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 30px !important;
  padding: 0 !important;
}

body#contact .zi-contact-form-widget button[type="submit"] {
  min-width: 160px !important;
  height: 54px !important;
  padding: 0 32px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 18px rgba(227, 6, 19, 0.18) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#contact .zi-contact-form-widget button[type="submit"]:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#contact .zi-contact-form-widget .form-fields {
    grid-template-columns: 1fr !important;
  }

  body#contact .zi-contact-subject-field,
  body#contact .zi-contact-email-field,
  body#contact .zi-contact-file-field,
  body#contact .zi-contact-order-reference,
  body#contact .zi-contact-message-field {
    grid-column: 1 / -1 !important;
  }

  body#contact .zi-contact-form-widget .form-footer {
    justify-content: stretch !important;
  }

  body#contact .zi-contact-form-widget button[type="submit"] {
    width: 100% !important;
  }
}

/* =========================================================
   CONTACT PAGE - ICÔNE SERVICE CLIENT
========================================================= */

body#contact .zi-contact-info-icon {
  width: 72px !important;
  height: 72px !important;
  margin: 0 auto 22px !important;
  border-radius: 50% !important;
  background: rgba(227, 6, 19, 0.08) !important;

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

body#contact .zi-contact-info-icon i.material-icons {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;

  color: #e30613 !important;
  font-family: "Material Icons" !important;
  font-size: 36px !important;
  font-weight: normal !important;
  font-style: normal !important;
  line-height: 1 !important;

  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
  overflow: visible !important;
}
/* =========================================================
   WISHLIST PAGE - ACTIONS CUSTOM
========================================================= */

.zi-wishlist-native-container .zi-hidden-native-wishlist-heart,
.zi-wishlist-native-container .zi-hidden-native-wishlist-more,
.zi-wishlist-native-container .zi-hidden-native-wishlist-delete {
  display: none !important;
}

.zi-wishlist-native-container .zi-wishlist-actions-ready {
  position: relative !important;
  padding-right: 230px !important;
}

.zi-wishlist-custom-actions {
  position: absolute !important;
  right: 32px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 5 !important;
}

.zi-wishlist-custom-btn {
  width: 62px !important;
  height: 44px !important;
  min-width: 62px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #ff101c !important;
  color: #fff !important;

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

  cursor: pointer !important;
  box-shadow: 0 8px 18px rgba(255, 16, 28, 0.16) !important;
  transition: all 0.2s ease !important;
}

.zi-wishlist-custom-btn i {
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.zi-wishlist-custom-btn:hover {
  background: #111 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.zi-wishlist-custom-btn:focus,
.zi-wishlist-custom-btn:active {
  outline: none !important;
  box-shadow: 0 8px 18px rgba(255, 16, 28, 0.16) !important;
}

/* On évite que le menu natif s’ouvre visuellement */
.zi-wishlist-native-container .dropdown-menu {
  display: none !important;
}

/* Mobile */
@media (max-width: 767px) {
  .zi-wishlist-native-container .zi-wishlist-actions-ready {
    padding-right: 0 !important;
    padding-bottom: 78px !important;
  }

  .zi-wishlist-custom-actions {
    right: auto !important;
    left: 24px !important;
    top: auto !important;
    bottom: 20px !important;
    transform: none !important;
  }

  .zi-wishlist-custom-btn {
    width: 52px !important;
    min-width: 52px !important;
  }
}

/* =========================================================
   WISHLIST PAGE - ACTIONS PROPRES FINAL
========================================================= */

.zi-wishlist-native-container .wishlist-list-item-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  color: inherit !important;
  text-decoration: none !important;
}

.zi-wishlist-native-container .zi-native-wishlist-hidden {
  display: none !important;
}

.zi-wishlist-native-container .wishlist-list-item {
  position: relative !important;
  padding-right: 230px !important;
}

.zi-wishlist-native-container .wishlist-list-item-title {
  margin: 0 !important;
}

.zi-wishlist-actions-clean {
  position: absolute !important;
  right: 32px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 50 !important;
}

.zi-wishlist-action-clean {
  width: 58px !important;
  height: 44px !important;
  min-width: 58px !important;
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #ff101c !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.zi-wishlist-action-clean i.material-icons {
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.zi-wishlist-action-clean:hover {
  background: #111 !important;
}

.zi-wishlist-action-clean:focus,
.zi-wishlist-action-clean:active {
  outline: none !important;
  box-shadow: none !important;
}

/* On cache le menu visuel, mais le JS peut encore cliquer dedans */
.zi-wishlist-native-container .dropdown-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  .zi-wishlist-native-container .wishlist-list-item {
    padding-right: 0 !important;
    padding-bottom: 78px !important;
  }

  .zi-wishlist-actions-clean {
    left: 24px !important;
    right: auto !important;
    top: auto !important;
    bottom: 20px !important;
    transform: none !important;
  }

  .zi-wishlist-action-clean {
    width: 52px !important;
    min-width: 52px !important;
  }
}

/* =========================================================
   WISHLIST PAGE - ACTIONS PROPRES STABLE
========================================================= */

.zi-wishlist-native-container .wishlist-list-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 34px 32px !important;
  min-height: 96px !important;
}

.zi-wishlist-native-container .wishlist-list-item-link {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: calc(100% - 230px) !important;
  min-width: 0 !important;

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

  color: inherit !important;
  text-decoration: none !important;
}

.zi-wishlist-native-container .wishlist-list-item-title {
  margin: 0 !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.zi-wishlist-native-container .wishlist-list-item-title span {
  margin-left: 8px !important;
  color: #999 !important;
  font-weight: 500 !important;
}

.zi-wishlist-native-container .wishlist-list-item-right,
.zi-wishlist-native-container .zi-native-wishlist-hidden {
  display: none !important;
}

.zi-wishlist-actions-clean {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-left: auto !important;
  z-index: 50 !important;
}

.zi-wishlist-action-clean {
  width: 58px !important;
  height: 44px !important;
  min-width: 58px !important;
  min-height: 44px !important;

  border: 0 !important;
  border-radius: 10px !important;
  background: #ff101c !important;
  color: #fff !important;

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

  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

.zi-wishlist-action-clean i.material-icons {
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

.zi-wishlist-action-clean:hover {
  background: #111 !important;
}

.zi-wishlist-action-clean:focus,
.zi-wishlist-action-clean:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Le dropdown natif reste utilisable par JS mais invisible */
.zi-wishlist-native-container .dropdown-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  .zi-wishlist-native-container .wishlist-list-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 24px !important;
  }

  .zi-wishlist-native-container .wishlist-list-item-link {
    max-width: 100% !important;
    width: 100% !important;
  }

  .zi-wishlist-actions-clean {
    width: 100% !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-top: 18px !important;
  }

  .zi-wishlist-action-clean {
    width: 52px !important;
    min-width: 52px !important;
  }
}

/* =========================================================
   WISHLIST PAGE - MASQUER SOUS-MENU NATIF
========================================================= */

.zi-wishlist-native-container .dropdown-menu,
.zi-wishlist-native-container .dropdown-menu.show,
.zi-wishlist-native-container .dropdown-menu[style],
.zi-wishlist-native-container .popover,
.zi-wishlist-native-container .wishlist-list-item-actions-menu,
.zi-wishlist-native-container .wishlist-list-item-actions-dropdown,
.zi-wishlist-native-container .wishlist-list-item-right .dropdown-menu,
.zi-wishlist-native-container .wishlist-list-item-right ul,
.zi-wishlist-native-container .wishlist-list-item-right .show {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* =========================================================
   WISHLIST - FIX DOUBLON SHARE SUR LISTE PAR DÉFAUT
========================================================= */

/* Cache tout bouton natif qui resterait visible dans la zone droite */
.zi-wishlist-native-container .wishlist-list-item-default .wishlist-list-item-right,
.zi-wishlist-native-container .wishlist-list-item-default .wishlist-list-item-right button,
.zi-wishlist-native-container .wishlist-list-item-default .wishlist-list-item-right a {
  display: none !important;
}

/* Sur la wishlist par défaut, on masque tout sauf le dernier bouton custom */
.zi-wishlist-native-container .wishlist-list-item-default .zi-wishlist-actions-clean .zi-wishlist-action-clean:not(:last-child) {
  display: none !important;
}

/* Sécurité : la wishlist par défaut ne doit jamais afficher edit/delete */
.zi-wishlist-native-container .wishlist-list-item-default .zi-wishlist-action-delete,
.zi-wishlist-native-container .wishlist-list-item-default .zi-wishlist-action-clean[title="Renommer"] {
  display: none !important;
}

/* =========================================================
   WISHLIST PAGE - FIX FINAL DOUBLON SHARE
========================================================= */

/* Cache définitivement la zone native à droite */
body#module-blockwishlist-lists .wishlist-container .wishlist-list .wishlist-list-item > a.wishlist-list-item-link > .wishlist-list-item-right,
body#module-blockwishlist-lists .wishlist-container .wishlist-list .wishlist-list-item > a.wishlist-list-item-link > .wishlist-list-item-right *,
body#module-blockwishlist-lists .wishlist-container .wishlist-list .wishlist-list-item .wishlist-list-item-right,
body#module-blockwishlist-lists .wishlist-container .wishlist-list .wishlist-list-item .wishlist-list-item-right button,
body#module-blockwishlist-lists .wishlist-container .wishlist-list .wishlist-list-item .wishlist-list-item-right a,
body#module-blockwishlist-lists .wishlist-container .wishlist-list .wishlist-list-item .zi-native-wishlist-hidden {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Empêche les anciennes règles [class*="share"] de restyler les boutons natifs */
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item-right [class*="share"],
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item-right button[class*="share"],
body#module-blockwishlist-lists .wishlist-container .wishlist-list-item-right button {
  display: none !important;
}

/* Garde uniquement les boutons custom */
body#module-blockwishlist-lists .wishlist-container .zi-wishlist-actions-clean {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-left: auto !important;
}

/* Première wishlist : uniquement le bouton partager */
body#module-blockwishlist-lists .wishlist-list-item-default .zi-wishlist-actions-clean .zi-wishlist-action-clean {
  display: none !important;
}

body#module-blockwishlist-lists .wishlist-list-item-default .zi-wishlist-actions-clean .zi-wishlist-action-clean[title="Partager"] {
  display: inline-flex !important;
}

/* Sécurité : pas de renommer / supprimer sur la wishlist par défaut */
body#module-blockwishlist-lists .wishlist-list-item-default .zi-wishlist-action-clean[title="Renommer"],
body#module-blockwishlist-lists .wishlist-list-item-default .zi-wishlist-action-delete {
  display: none !important;
}

/* =========================================================
   PRODUCT PAGE - PRIX / PROMO AFFICHAGE FINAL
========================================================= */

#product .product-prices,
#product .js-product-prices {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 22px 0 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Conteneur du prix actuel */
#product .product-price,
#product .current-price {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Prix actuel */
#product .current-price-value,
#product .current-price > span:first-child,
#product .product-price .current-price-value {
  color: #e30613 !important;
  font-size: 42px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Ancien prix */
#product .product-discount,
#product .regular-price {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#product .regular-price {
  color: #9c9c9c !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

/* Badge économie / promo */
#product .discount,
#product .discount-amount,
#product .discount-percentage {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 0 !important;
  height: auto !important;

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

  background: #111 !important;
  color: #fff !important;

  border-radius: 5px !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* Si la remise est dans current-price, elle reste en petit badge */
#product .current-price .discount,
#product .current-price .discount-amount,
#product .current-price .discount-percentage {
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

/* Nettoyage des labels inutiles */
#product .tax-shipping-delivery-label,
#product .product-prices div:empty,
#product .product-prices p:empty {
  display: none !important;
}

/* Mobile */
@media (max-width: 767px) {
  #product .current-price-value,
  #product .current-price > span:first-child,
  #product .product-price .current-price-value {
    font-size: 34px !important;
  }

  #product .discount,
  #product .discount-amount,
  #product .discount-percentage {
    font-size: 12px !important;
    padding: 7px 10px !important;
  }
}

/* =========================================================
   PRODUCT PAGE - FIX BADGE ÉCONOMIE INVISIBLE
========================================================= */

#product .current-price .discount,
#product .current-price .discount-amount,
#product .current-price .discount-percentage,
#product .product-price .discount,
#product .product-price .discount-amount,
#product .product-price .discount-percentage {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-left: 12px !important;
  padding: 8px 12px !important;

  background: #111 !important;
  color: #fff !important;

  border-radius: 5px !important;

  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;

  opacity: 1 !important;
  visibility: visible !important;
}

/* Ancien prix sous le prix */
#product .regular-price {
  display: inline-block !important;
  margin-top: 4px !important;
  color: #9c9c9c !important;
  font-size: 16px !important;
  text-decoration: line-through !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* =========================================================
   PRODUCT PAGE - GALERIE HAUTEUR MINIATURES + MODAL OFF
========================================================= */

/* Galerie : hauteur alignée aux 4 miniatures */
#product .images-container {
  grid-template-columns: 100px 420px !important;
  gap: 34px !important;
  align-items: start !important;
  max-width: none !important;
}

/* 4 miniatures de 92px + 3 gaps de 18px = 422px */
#product .product-cover {
  width: 420px !important;
  max-width: 420px !important;
  height: 422px !important;
  min-height: 422px !important;
  aspect-ratio: auto !important;
}

#product .product-cover picture {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#product .product-cover img,
#product .product-cover img.js-qv-product-cover {
  max-width: 88% !important;
  max-height: 88% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Miniatures */
#product .product-images {
  gap: 18px !important;
}

#product .product-images > li,
#product .product-images > li.thumb-container,
#product .product-images img,
#product .product-images img.thumb {
  width: 92px !important;
  height: 92px !important;
}

/* Désactive le clic zoom qui ouvre le modal gris */
#product .product-cover .layer {
  display: none !important;
  pointer-events: none !important;
}

/* Sécurité : cache le modal produit si jamais il s’ouvre encore */
#product-modal,
#product-modal.modal,
#product-modal.modal.in,
#product-modal.modal.show {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Sécurité : enlève le fond gris bloquant */
body.modal-open {
  overflow: auto !important;
  padding-right: 0 !important;
}

.modal-backdrop,
.modal-backdrop.in,
.modal-backdrop.show {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* =========================================================
   PRODUCT PAGE - QUANTITÉ SELECT
========================================================= */

#product .zi-quantity-select {
  width: 86px !important;
  height: 52px !important;
  padding: 0 34px 0 16px !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

#product .zi-quantity-select:focus {
  outline: none !important;
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.08) !important;
}

/* On cache l’ancien input quantité après création du select */
#product .zi-quantity-hidden {
  display: none !important;
}

/* Responsive */
@media (max-width: 768px) {
  #product .images-container {
    grid-template-columns: 1fr !important;
  }

  #product .product-cover {
    width: 100% !important;
    max-width: 100% !important;
    height: 360px !important;
    min-height: 360px !important;
  }
}
/* =========================================================
   PRODUCT PAGE - IMAGE CLICKABLE SANS MODAL
========================================================= */

#product .product-cover {
  cursor: pointer !important;
}

#product .product-cover .layer {
  display: none !important;
  pointer-events: none !important;
}

/* Le modal zoom ne doit jamais bloquer */
#product-modal,
#product-modal.modal,
#product-modal.modal.in,
#product-modal.modal.show {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.modal-open {
  overflow: auto !important;
  padding-right: 0 !important;
}

.modal-backdrop,
.modal-backdrop.in,
.modal-backdrop.show {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* =========================================================
   PRODUCT PAGE - GALERIE HOVER TYPE AMAZON
========================================================= */

/* Supprime les flèches custom */
#product .zi-gallery-arrow,
#product .zi-gallery-prev,
#product .zi-gallery-next {
  display: none !important;
}

/* Supprime les anciennes fausses flèches CSS */
#product .product-cover::before,
#product .product-cover::after {
  display: none !important;
  content: none !important;
}

/* Grande image non zoomable */
#product .product-cover {
  cursor: default !important;
}

/* Miniatures interactives */
#product .product-images img.thumb {
  cursor: pointer !important;
  border: 1px solid #e1e1e1 !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

/* Dernière miniature survolée / sélectionnée */
#product .product-images img.thumb.selected,
#product .product-images img.thumb.js-thumb-selected,
#product .product-images img.thumb.zi-last-hovered {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 2px rgba(227, 6, 19, 0.12) !important;
}

/* Pas de modal gris */
#product-modal,
#product-modal.modal,
#product-modal.modal.in,
#product-modal.modal.show,
.modal-backdrop,
.modal-backdrop.in,
.modal-backdrop.show {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.modal-open {
  overflow: auto !important;
  padding-right: 0 !important;
}


/* =========================================================
   WISHLIST - FIX APRÈS FILTRES AJAX FINAL
========================================================= */

#category .product-miniature .thumbnail-container,
#category .product-miniature .thumbnail-top,
#search .product-miniature .thumbnail-container,
#search .product-miniature .thumbnail-top {
  position: relative !important;
}

#category .zi-product-wishlist,
#search .zi-product-wishlist {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 20 !important;
  width: 42px !important;
  height: 42px !important;
  pointer-events: auto !important;
}

#category .zi-product-wishlist .wishlist-button-add,
#category .zi-product-wishlist .wishlist-button,
#search .zi-product-wishlist .wishlist-button-add,
#search .zi-product-wishlist .wishlist-button {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;

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

  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;

  background: #fff !important;
  color: #b8b8b8 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;

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

#category .zi-product-wishlist .wishlist-button-add i,
#category .zi-product-wishlist .wishlist-button i,
#search .zi-product-wishlist .wishlist-button-add i,
#search .zi-product-wishlist .wishlist-button i {
  color: #b8b8b8 !important;
  font-size: 23px !important;
  line-height: 1 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

#category .zi-product-wishlist .wishlist-button-add:hover i,
#category .zi-product-wishlist .wishlist-button:hover i,
#search .zi-product-wishlist .wishlist-button-add:hover i,
#search .zi-product-wishlist .wishlist-button:hover i {
  color: #e30613 !important;
}

/* Quand la modal wishlist est ouverte, aucun cœur de card ne doit passer devant */
body.modal-open #category .zi-product-wishlist,
body.modal-open #search .zi-product-wishlist,
body.modal-open .product-miniature .zi-product-wishlist {
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Modal wishlist toujours au-dessus */
.wishlist-add-to,
.wishlist-modal,
.modal:has(.wishlist-list),
.modal-dialog:has(.wishlist-list),
.modal-content:has(.wishlist-list) {
  z-index: 20000 !important;
}

.wishlist-add-to .modal-dialog,
.wishlist-modal .modal-dialog,
.modal-dialog:has(.wishlist-list) {
  position: relative !important;
  z-index: 20001 !important;
}

/* Le bouton natif hors zone custom ne doit pas être visible */
#category .thumbnail-container > .wishlist-button-add:not(.wishlist-button-product),
#search .thumbnail-container > .wishlist-button-add:not(.wishlist-button-product) {
  display: none !important;
}

body.zi-wishlist-modal-open .zi-product-wishlist {
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Wishlist modal au-dessus des coeurs produits */
body.modal-open .zi-product-wishlist,
body.zi-wishlist-modal-open .zi-product-wishlist {
  z-index: 1 !important;
  pointer-events: none !important;
}

.wishlist-add-to,
.wishlist-modal,
.modal:has(.wishlist-list) {
  z-index: 20000 !important;
}

.wishlist-add-to .modal-dialog,
.wishlist-modal .modal-dialog,
.modal-dialog:has(.wishlist-list) {
  z-index: 20001 !important;
}

/* =========================================================
   PAGE 404 - ZONE INTERDITE
========================================================= */

body#pagenotfound,
body#pagenotfound #wrapper {
  background: #f4f4f4 !important;
}

body#pagenotfound #wrapper > .container {
  width: 95vw !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 42px 0 80px !important;
}

body#pagenotfound .breadcrumb,
body#pagenotfound .page-header {
  display: none !important;
}

.zi-error-page {
  width: 100%;
}

.zi-error-card {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  min-height: 560px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}

.zi-error-visual {
  position: relative;
  background:
    radial-gradient(circle at 35% 35%, rgba(227, 6, 19, 0.22), transparent 28%),
    linear-gradient(135deg, #080808, #1d1d1d);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.zi-error-number {
  position: absolute;
  left: 42px;
  top: 42px;
  color: rgba(255, 255, 255, 0.08);
  font-size: 180px;
  line-height: 1;
  font-weight: 900;
}

.zi-error-icon {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.28);
  z-index: 2;
}

.zi-error-icon i {
  color: #e30613;
  font-size: 96px;
}

.zi-error-content {
  padding: 76px 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.zi-error-kicker {
  display: inline-block;
  margin-bottom: 16px;
  color: #e30613;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-error-content h1 {
  margin: 0 0 22px;
  color: #111;
  font-size: 48px;
  line-height: 1.08;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-error-content p {
  max-width: 570px;
  margin: 0 0 32px;
  color: #666;
  font-size: 16px;
  line-height: 1.65;
}

.zi-error-search {
  width: 100%;
  max-width: 560px;
  height: 58px;
  display: flex;
  margin-bottom: 28px;
}

.zi-error-search input {
  flex: 1;
  height: 58px;
  padding: 0 20px;
  border: 1px solid #dcdcdc;
  border-right: 0;
  border-radius: 6px 0 0 6px;
  color: #111;
  font-size: 15px;
  box-shadow: none;
}

.zi-error-search input:focus {
  outline: none;
  border-color: #e30613;
}

.zi-error-search button {
  width: 62px;
  height: 58px;
  border: 0;
  border-radius: 0 6px 6px 0;
  background: #e30613;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.zi-error-search button i {
  color: #fff;
  font-size: 25px;
}

.zi-error-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.zi-error-btn-primary,
.zi-error-btn-secondary {
  height: 52px;
  padding: 0 26px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none !important;
}

.zi-error-btn-primary {
  background: #e30613;
  color: #fff !important;
}

.zi-error-btn-primary:hover {
  background: #111;
}

.zi-error-btn-secondary {
  background: #fff;
  border: 1px solid #d7d7d7;
  color: #111 !important;
}

.zi-error-btn-secondary:hover {
  border-color: #e30613;
  color: #e30613 !important;
}

.zi-error-benefits {
  margin-top: 34px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 12px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
}

.zi-error-benefits div {
  padding: 24px 26px;
  border-right: 1px solid #e5e5e5;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 6px 14px;
  align-items: center;
}

.zi-error-benefits div:last-child {
  border-right: 0;
}

.zi-error-benefits i {
  grid-row: 1 / 3;
  color: #111;
  font-size: 32px;
}

.zi-error-benefits strong {
  color: #111;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-error-benefits span {
  color: #777;
  font-size: 13px;
}

/* =========================================================
   PAGE INSCRIPTION - ZONE INTERDITE
========================================================= */

body#registration,
body#registration #wrapper {
  background: #fff !important;
}

body#registration #wrapper > .container {
  width: 95vw !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 36px 0 80px !important;
}

body#registration .breadcrumb,
body#registration .page-header {
  display: none !important;
}

body#registration #content-wrapper,
body#registration #main,
body#registration #content {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.zi-register-breadcrumb {
  max-width: 1240px;
  margin: 0 auto 28px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #999;
  font-size: 13px;
}

.zi-register-breadcrumb a {
  color: #777 !important;
  text-decoration: none !important;
}

.zi-register-breadcrumb strong {
  color: #111;
  font-weight: 800;
}

.zi-register-card {
  width: 100%;
  max-width: 1240px;
  min-height: 680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}

.zi-register-visual {
  min-height: 680px;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.55)),
    url("../img/auth-workshop.jpg") center / cover no-repeat;
}

.zi-register-visual-overlay {
  height: 100%;
  padding: 72px 58px 46px;
  display: flex;
  flex-direction: column;
}

.zi-register-visual h2 {
  margin: 0;
  color: #fff;
  font-size: 36px;
  line-height: 1.12;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-register-visual h2 span {
  color: #e30613;
}

.zi-register-red-line {
  width: 56px;
  height: 4px;
  margin: 28px 0;
  background: #e30613;
}

.zi-register-visual p {
  max-width: 420px;
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 600;
}

.zi-register-visual-benefits {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.zi-register-visual-benefits div {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.zi-register-visual-benefits i {
  color: #fff;
  font-size: 26px;
}

.zi-register-visual-benefits span {
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

.zi-register-form-panel {
  padding: 66px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.zi-register-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: #e30613;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-register-form-panel h1 {
  margin: 0 0 14px;
  color: #111;
  font-size: 38px;
  line-height: 1.15;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-register-intro {
  margin: 0 0 30px;
  max-width: 480px;
  color: #666;
  font-size: 15px;
  line-height: 1.6;
}

.zi-register-form form,
.zi-register-form .form-fields {
  width: 100%;
}

.zi-register-form .form-group {
  margin-bottom: 18px !important;
}

.zi-register-form label,
.zi-register-form .form-control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: left !important;
}

.zi-register-form .form-control,
.zi-register-form input[type="text"],
.zi-register-form input[type="email"],
.zi-register-form input[type="password"],
.zi-register-form select {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

.zi-register-form .form-control:focus,
.zi-register-form input:focus,
.zi-register-form select:focus {
  border-color: #e30613 !important;
  box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.1) !important;
  outline: none !important;
}

.zi-register-form .custom-radio input[type="radio"] + span {
  border-color: #d7d7d7 !important;
}

.zi-register-form .custom-radio input[type="radio"]:checked + span {
  background-color: #e30613 !important;
  border-color: #e30613 !important;
}

.zi-register-form .form-footer {
  margin-top: 22px !important;
}

.zi-register-form .form-control-submit,
.zi-register-form button[type="submit"],
.zi-register-form .btn-primary {
  width: 100% !important;
  height: 56px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #e30613 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 20px rgba(227, 6, 19, 0.2) !important;
}

.zi-register-form .form-control-submit:hover,
.zi-register-form button[type="submit"]:hover,
.zi-register-form .btn-primary:hover {
  background: #111 !important;
}

.zi-register-login-link {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid #e5e5e5;
  text-align: center;
  color: #777;
  font-size: 14px;
}

.zi-register-login-link a {
  margin-left: 6px;
  color: #e30613 !important;
  font-weight: 900;
  text-decoration: none !important;
}

.zi-register-login-link a:hover {
  color: #111 !important;
}

.zi-register-benefits {
  width: 100%;
  max-width: 1240px;
  margin: 34px auto 0;
  padding: 20px 24px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 12px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.035);
}

.zi-register-benefit {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 0 22px;
  border-right: 1px solid #e5e5e5;
}

.zi-register-benefit:last-child {
  border-right: 0;
}

.zi-register-benefit i {
  color: #111;
  font-size: 32px;
}

.zi-register-benefit strong {
  display: block;
  margin-bottom: 4px;
  color: #111;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-register-benefit span {
  color: #777;
  font-size: 13px;
}

/* =========================================================
   RESPONSIVE 404 + INSCRIPTION
========================================================= */

@media (max-width: 991px) {
  .zi-error-card,
  .zi-register-card {
    grid-template-columns: 1fr;
  }

  .zi-error-visual,
  .zi-register-visual {
    min-height: 360px;
  }

  .zi-error-content,
  .zi-register-form-panel {
    padding: 44px 32px;
  }

  .zi-error-benefits,
  .zi-register-benefits {
    grid-template-columns: repeat(2, 1fr);
  }

  .zi-error-benefits div:nth-child(2),
  .zi-register-benefit:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 575px) {
  body#pagenotfound #wrapper > .container,
  body#registration #wrapper > .container {
    width: 92vw !important;
  }

  .zi-error-content h1,
  .zi-register-form-panel h1 {
    font-size: 30px;
  }

  .zi-error-number {
    font-size: 120px;
  }

  .zi-error-icon {
    width: 130px;
    height: 130px;
  }

  .zi-error-icon i {
    font-size: 72px;
  }

  .zi-error-actions {
    flex-direction: column;
  }

  .zi-error-btn-primary,
  .zi-error-btn-secondary {
    width: 100%;
  }

  .zi-error-benefits,
  .zi-register-benefits {
    grid-template-columns: 1fr;
  }

  .zi-error-benefits div,
  .zi-register-benefit {
    border-right: 0;
    border-bottom: 1px solid #e5e5e5;
  }

  .zi-error-benefits div:last-child,
  .zi-register-benefit:last-child {
    border-bottom: 0;
  }

  .zi-register-visual-overlay {
    padding: 44px 32px;
  }

  .zi-register-visual-benefits {
    grid-template-columns: 1fr;
    margin-top: 40px;
  }
}

#pagenotfound #main .page-content, #products #main .page-content{
  background-color: #f4f4f4 !important;
}

/* =========================================================
   REGISTER PAGE - MASQUER CHAMPS INUTILES
========================================================= */

/* Société */
body#registration .form-group:has(input[name="company"]) {
  display: none !important;
}

/* Numéro fiscal / identification */
body#registration .form-group:has(input[name="siret"]),
body#registration .form-group:has(input[name="ape"]),
body#registration .form-group:has(input[name="dni"]),
body#registration .form-group:has(input[name="vat_number"]) {
  display: none !important;
}

/* Date de naissance */
body#registration .form-group:has(input[name="birthday"]) {
  display: none !important;
}

/* Offres partenaires */
body#registration .form-group:has(input[name="optin"]) {
  display: none !important;
}

/* Newsletter */
body#registration .form-group:has(input[name="newsletter"]) {
  display: none !important;
}

/* Message confidentialité client */
body#registration .form-group:has(input[name="customer_privacy"]) {
  display: none !important;
}

/* Nettoyage visuel des checkboxes restantes */
body#registration .custom-checkbox {
  margin: 18px 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body#registration .custom-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin-top: 2px !important;
}

body#registration .custom-checkbox label,
body#registration .custom-checkbox span,
body#registration .custom-checkbox em {
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}

/* Bouton afficher mot de passe mieux aligné */
body#registration .input-group {
  display: flex !important;
}

body#registration .input-group input {
  flex: 1 !important;
}

body#registration .input-group .input-group-btn,
body#registration .input-group .btn {
  height: 52px !important;
}

body#registration .input-group .btn {
  border-radius: 0 6px 6px 0 !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

/* =========================================================
   PAGE 404 - CENTRER LE 404 DANS LE BLOC NOIR
========================================================= */

body#pagenotfound .zi-error-visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#pagenotfound .zi-error-number {
  position: absolute !important;
  left: 50% !important;
  top: 38% !important;
  transform: translate(-50%, -50%) !important;
  text-align: center !important;
  width: 100% !important;
}

body#pagenotfound .zi-error-icon {
  position: relative !important;
  z-index: 2 !important;
}

/* =========================================================
   REGISTER PAGE - CHAMPS PLUS LARGES + ESPACES RÉDUITS
========================================================= */

body#registration .zi-register-form-panel {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

/* Formulaire plus large */
body#registration .zi-register-form {
  width: 100% !important;
  max-width: 620px !important;
}

body#registration .zi-register-form form,
body#registration .zi-register-form .form-fields {
  width: 100% !important;
  max-width: 620px !important;
}

/* Réduit les espaces entre les champs */
body#registration .zi-register-form .form-group {
  margin-bottom: 14px !important;
}

/* Labels plus compacts */
body#registration .zi-register-form label,
body#registration .zi-register-form .form-control-label {
  margin-bottom: 6px !important;
  font-size: 13px !important;
}

/* Champs plus larges */
body#registration .zi-register-form .form-control,
body#registration .zi-register-form input[type="text"],
body#registration .zi-register-form input[type="email"],
body#registration .zi-register-form input[type="password"],
body#registration .zi-register-form select {
  width: 100% !important;
  max-width: 100% !important;
  height: 50px !important;
}

/* Colonnes PrestaShop : on force la largeur */
body#registration .zi-register-form .col-md-6,
body#registration .zi-register-form .col-md-8,
body#registration .zi-register-form .col-md-9 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Commentaires sous champs plus discrets */
body#registration .zi-register-form .form-control-comment,
body#registration .zi-register-form .help-block,
body#registration .zi-register-form .form-text {
  margin-top: 4px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* Radio civilité plus compact */
body#registration .zi-register-form .radio-inline,
body#registration .zi-register-form .custom-radio {
  margin-right: 18px !important;
  margin-bottom: 4px !important;
}

/* Mot de passe + bouton afficher */
body#registration .zi-register-form .input-group {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
}

body#registration .zi-register-form .input-group input {
  flex: 1 1 auto !important;
  width: 100% !important;
}

body#registration .zi-register-form .input-group .input-group-btn,
body#registration .zi-register-form .input-group .btn {
  height: 50px !important;
}

/* Bloc force mot de passe moins espacé */
body#registration .password-strength-feedback,
body#registration .password-requirements,
body#registration .js-visible-password + .progress {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

/* Checkbox conditions plus proche */
body#registration .zi-register-form .custom-checkbox {
  margin: 14px 0 !important;
}

/* Bouton enregistrer plus proche */
body#registration .zi-register-form .form-footer {
  margin-top: 16px !important;
}

body#registration .zi-register-form button[type="submit"],
body#registration .zi-register-form .btn-primary,
body#registration .zi-register-form .form-control-submit {
  height: 54px !important;
}

/* Lien connexion */
body#registration .zi-register-login-link {
  margin-top: 18px !important;
  padding-top: 18px !important;
}

/* =========================================================
   ORDER CONFIRMATION - ZONE INTERDITE
========================================================= */

body#order-confirmation,
body#order-confirmation #wrapper {
  background: #f4f4f4 !important;
}

body#order-confirmation #wrapper > .container {
  width: 95vw !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 38px 0 80px !important;
}

body#order-confirmation .breadcrumb,
body#order-confirmation .page-header {
  display: none !important;
}

body#order-confirmation #content-wrapper,
body#order-confirmation #main,
body#order-confirmation #content {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.zi-order-confirmation-page {
  width: 100%;
}

.zi-order-confirmation-card {
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}

/* ================= HERO ================= */

.zi-order-confirmation-hero {
  padding: 64px 48px 56px;
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 6, 19, 0.12), transparent 34%),
    linear-gradient(135deg, #111, #252525);
  text-align: center;
  color: #fff;
}

.zi-order-confirmation-icon {
  width: 92px;
  height: 92px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: #e30613;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.25);
}

.zi-order-confirmation-icon i {
  color: #fff;
  font-size: 56px;
}

.zi-order-confirmation-kicker {
  display: block;
  margin-bottom: 14px;
  color: #e30613;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.zi-order-confirmation-hero h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 42px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-order-confirmation-hero p {
  max-width: 680px;
  margin: 0 auto;
  color: #e8e8e8;
  font-size: 16px;
  line-height: 1.65;
}

.zi-order-reference {
  width: fit-content;
  max-width: 100%;
  margin: 30px auto 0;
  padding: 14px 22px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
}

.zi-order-reference span {
  color: #cfcfcf;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.zi-order-reference strong {
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}

/* ================= CONTENT ================= */

.zi-order-confirmation-content {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 34px;
  padding: 38px;
  background: #fff;
}

.zi-order-summary-box,
.zi-order-next-box {
  border: 1px solid #ededed;
  border-radius: 14px;
  background: #fff;
  padding: 30px;
}

.zi-order-summary-title,
.zi-order-next-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
}

.zi-order-summary-title i,
.zi-order-next-title i {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(227, 6, 19, 0.08);
  color: #e30613;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}

.zi-order-summary-title h2,
.zi-order-next-title h2 {
  margin: 0;
  color: #111;
  font-size: 22px;
  font-weight: 900;
  text-transform: uppercase;
}

/* Nettoyage du résumé natif */
body#order-confirmation .order-confirmation-table,
body#order-confirmation #order-items,
body#order-confirmation .order-line {
  background: transparent !important;
  border-color: #ededed !important;
}

body#order-confirmation .order-confirmation-table {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body#order-confirmation .order-confirmation-table h3,
body#order-confirmation .order-confirmation-table .h3 {
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body#order-confirmation .order-line {
  padding: 18px 0 !important;
  border-bottom: 1px solid #ededed !important;
}

body#order-confirmation .order-line:last-child {
  border-bottom: 0 !important;
}

body#order-confirmation .order-line img {
  max-width: 76px !important;
  border-radius: 8px !important;
  background: #fff !important;
  border: 1px solid #eee !important;
}

body#order-confirmation .order-line .details,
body#order-confirmation .order-line .qty,
body#order-confirmation .order-line .price {
  color: #555 !important;
  font-size: 14px !important;
}

body#order-confirmation .order-line .details strong,
body#order-confirmation .order-line .details a {
  color: #111 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body#order-confirmation .order-confirmation-table .total-value,
body#order-confirmation .order-confirmation-table .font-weight-bold,
body#order-confirmation .order-confirmation-table strong {
  color: #111 !important;
}

/* ================= STEPS ================= */

.zi-order-steps {
  display: grid;
  gap: 18px;
}

.zi-order-step {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 16px;
  align-items: start;
  position: relative;
}

.zi-order-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 20px;
  top: 48px;
  bottom: -16px;
  width: 2px;
  background: #e8e8e8;
}

.zi-order-step span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f2f2f2;
  color: #777;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  z-index: 2;
}

.zi-order-step.is-active span {
  background: #e30613;
  color: #fff;
}

.zi-order-step strong {
  display: block;
  margin-bottom: 5px;
  color: #111;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-order-step p {
  margin: 0;
  color: #777;
  font-size: 14px;
  line-height: 1.5;
}

.zi-order-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 30px;
}

.zi-order-btn-primary,
.zi-order-btn-secondary {
  height: 52px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none !important;
}

.zi-order-btn-primary {
  background: #e30613;
  color: #fff !important;
  padding: 0 10px 0 10px;
}

.zi-order-btn-primary:hover {
  background: #111;
}

.zi-order-btn-secondary {
  background: #fff;
  border: 1px solid #dcdcdc;
  color: #111 !important;
  padding: 0 10px 0 10px;
}

.zi-order-btn-secondary:hover {
  color: #e30613 !important;
  border-color: #e30613;
}

/* ================= HOOKS PAYMENT ================= */

.zi-order-confirmation-hooks {
  margin-top: 28px;
}

.zi-order-confirmation-hooks:empty {
  display: none;
}

.zi-order-confirmation-hooks > * {
  background: #fff !important;
  border: 1px solid #dedede !important;
  border-radius: 14px !important;
  padding: 24px !important;
  margin-bottom: 18px !important;
  color: #555 !important;
  box-shadow: none !important;
}

body#order-confirmation .card,
body#order-confirmation .card-block {
  border-radius: 14px !important;
  border-color: #dedede !important;
}

/* ================= BENEFITS ================= */

.zi-order-benefits {
  margin-top: 28px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 14px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.035);
}

.zi-order-benefits div {
  padding: 24px 26px;
  border-right: 1px solid #e5e5e5;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 5px 14px;
  align-items: center;
}

.zi-order-benefits div:last-child {
  border-right: 0;
}

.zi-order-benefits i {
  grid-row: 1 / 3;
  color: #e30613;
  font-size: 32px;
}

.zi-order-benefits strong {
  color: #111;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.zi-order-benefits span {
  color: #777;
  font-size: 13px;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 991px) {
  .zi-order-confirmation-content {
    grid-template-columns: 1fr;
    padding: 28px;
  }

  .zi-order-confirmation-hero {
    padding: 48px 28px;
  }

  .zi-order-confirmation-hero h1 {
    font-size: 32px;
  }

  .zi-order-benefits {
    grid-template-columns: repeat(2, 1fr);
  }

  .zi-order-benefits div:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 575px) {
  body#order-confirmation #wrapper > .container {
    width: 92vw !important;
  }

  .zi-order-confirmation-content {
    padding: 20px;
  }

  .zi-order-summary-box,
  .zi-order-next-box {
    padding: 22px;
  }

  .zi-order-confirmation-hero h1 {
    font-size: 28px;
  }

  .zi-order-reference {
    flex-direction: column;
    gap: 5px;
  }

  .zi-order-benefits {
    grid-template-columns: 1fr;
  }

  .zi-order-benefits div {
    border-right: 0;
    border-bottom: 1px solid #e5e5e5;
  }

  .zi-order-benefits div:last-child {
    border-bottom: 0;
  }
}

section.zi-order-confirmation-page{
  background-color: #f4f4f4;
}



body#order-confirmation .zi-order-confirmation-hooks a {
  color: #e30613 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body#order-confirmation .zi-order-confirmation-hooks a:hover {
  color: #111 !important;
}

/* Bloc montant / infos bancaires */
body#order-confirmation .zi-order-confirmation-hooks dl,
body#order-confirmation .zi-order-confirmation-hooks ul {
  margin: 18px 0 !important;
  padding: 22px 24px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
}

body#order-confirmation .zi-order-confirmation-hooks li {
  margin-bottom: 10px !important;
  color: #444 !important;
  font-size: 15px !important;
}

body#order-confirmation .zi-order-confirmation-hooks li:last-child {
  margin-bottom: 0 !important;
}

/* =========================================================
   ORDER CONFIRMATION - FIX CENTRAGE ICONES TITRES
========================================================= */

body#order-confirmation .zi-order-summary-title,
body#order-confirmation .zi-order-next-title {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

body#order-confirmation .zi-order-summary-title > i,
body#order-confirmation .zi-order-next-title > i,
body#order-confirmation .zi-order-summary-title > .material-icons,
body#order-confirmation .zi-order-next-title > .material-icons {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;

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

  border-radius: 14px !important;
  background: rgba(227, 6, 19, 0.08) !important;
  color: #e30613 !important;

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

  font-family: "Material Icons" !important;
  font-size: 28px !important;
  font-weight: normal !important;
  line-height: 52px !important;

  text-align: center !important;
  vertical-align: middle !important;
  text-indent: 0 !important;
  transform: none !important;
}

/* neutralise les marges globales des icônes dans cette zone */
body#order-confirmation .zi-order-summary-title .material-icons,
body#order-confirmation .zi-order-next-title .material-icons {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* titre bien aligné avec l'icône */
body#order-confirmation .zi-order-summary-title h2,
body#order-confirmation .zi-order-next-title h2 {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
}

/* =========================================================
   ORDER CONFIRMATION - FIX ICONE TITRE
========================================================= */

body#order-confirmation .zi-order-summary-title,
body#order-confirmation .zi-order-next-title {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 24px !important;
}

body#order-confirmation .zi-order-title-icon {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;

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

  background: rgba(227, 6, 19, 0.08) !important;
  border-radius: 14px !important;

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

body#order-confirmation .zi-order-title-icon i,
body#order-confirmation .zi-order-title-icon i.material-icons {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;

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

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;

  color: #e30613 !important;
  font-size: 28px !important;
  line-height: 1 !important;

  display: block !important;
  position: static !important;
  transform: none !important;
}

body#order-confirmation .zi-order-summary-title > i,
body#order-confirmation .zi-order-next-title > i {
  display: none !important;
}

/* =========================================================
   ORDER CONFIRMATION - RECENTRAGE FINAL ICONE
========================================================= */

body#order-confirmation .zi-order-title-icon {
  display: grid !important;
  place-items: center !important;
}

body#order-confirmation .zi-order-title-icon i.material-icons {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 28px !important;
  height: 28px !important;

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

  font-size: 28px !important;
  line-height: 28px !important;

  position: relative !important;
  left: 2px !important;
  top: 0 !important;
}

/* =========================================================
   ORDER CONFIRMATION - ICONE TITRE EN ROUGE
========================================================= */

body#order-confirmation .zi-order-title-icon > .material-icons,
body#order-confirmation .zi-order-title-icon > i.material-icons,
body#order-confirmation .zi-order-title-icon > span.material-icons {
  color: #e30613 !important;
  fill: #e30613 !important;
  background: transparent !important;
}

/* sécurité si un ancien style force le noir */
body#order-confirmation .zi-order-summary-title .zi-order-title-icon .material-icons,
body#order-confirmation .zi-order-next-title .zi-order-title-icon .material-icons {
  color: #e30613 !important;
}

/* =========================================================
   WISHLIST - IMAGE PAR DÉFAUT
========================================================= */

.wishlist-product img.zi-default-product-image,
.wishlist-products-container img.zi-default-product-image,
.wishlist-product-list img.zi-default-product-image {
  width: 100% !important;
  max-width: 150px !important;
  height: 150px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}