/* ==========================================================================
   KANTEN — SYSTÈME DE DESIGN GLOBAL & COHÉRENCE CHROMATIQUE (v1.8.0)
   Palette officielle cinématique Kanten :
   - Papier / Fond général       : #efeee9
   - Papier contrasté / Cartes    : #e7e7e0
   - Encre minérale noire         : #20221f
   - Encre estompée / Secondaire  : #55594e
   - Ligne / Bordures             : #cecec6
   - Vert acide signature         : #d7e1ad
   - Noir atelier / Footer        : #141715
   ========================================================================== */

/* --- 1. POLICE DE MARQUE KANTEN --- */
@font-face {
  font-family: 'Kanten';
  src: url('https://www.kanten.fr/wp-content/uploads/2021/11/Kanten-Regular-1-1.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Kanten';
  src: url('https://www.kanten.fr/wp-content/uploads/2021/11/Kanten-Bold-6.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --kc-paper: #efeee9;
  --kc-paper-card: #e7e7e0;
  --kc-ink: #20221f;
  --kc-ink-muted: #55594e;
  --kc-line: #cecec6;
  --kc-line-light: #dadbd4;
  --kc-acid: #d7e1ad;
  --kc-dark: #141715;
  --kc-font: 'Kanten', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Surcharges forcées des variables internes YITH Ajax Filter */
  --yith-wcan-filters_colors_titles: #20221f !important;
  --yith-wcan-filters_colors_background: transparent !important;
  --yith-wcan-filters_colors_accent: #20221f !important;
  --yith-wcan-filters_colors_accent_r: 32 !important;
  --yith-wcan-filters_colors_accent_g: 34 !important;
  --yith-wcan-filters_colors_accent_b: 31 !important;
  --yith-wcan-labels_style_background: #efeee9 !important;
  --yith-wcan-labels_style_background_hover: #d7e1ad !important;
  --yith-wcan-labels_style_background_active: #20221f !important;
  --yith-wcan-labels_style_text: #20221f !important;
  --yith-wcan-labels_style_text_hover: #20221f !important;
  --yith-wcan-labels_style_text_active: #efeee9 !important;
  --yith-wcan-anchors_style_text: #20221f !important;
  --yith-wcan-anchors_style_text_hover: #55594e !important;
  --yith-wcan-anchors_style_text_active: #20221f !important;
}

/* --- 2. FOND DU SITE & STRUCTURE GÉNÉRALE --- */
body,
#page,
.site,
.site-content,
.content-area,
.site-main,
.col-full,
.woocommerce-page,
.archive.woocommerce,
.single-product.woocommerce {
  background-color: var(--kc-paper) !important;
  color: var(--kc-ink) !important;
}

/* Anti-débordement horizontal global (supprime l'effet 'taille immense' et zoom mobile) */
html,
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.single-product,
.single-product .site-content,
.single-product .content-area,
.single-product .col-full {
  overflow-x: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* En-tête Shoptimizer unifié avec le papier Kanten (#efeee9) */
body:not(.header-4) .site-header,
.header-4-container {
  background-color: var(--kc-paper) !important;
  border-bottom: 1px solid var(--kc-line) !important;
  box-shadow: none !important;
}

/* Neutralisation ciblée des conteneurs internes */
.header-4 .header-4-inner,
.header-4 .site-header,
.header-4 .main-header,
.header-4 .site-branding {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  box-shadow: none !important;
}

/* Logo du site : conteneur inline-flex sur desktop */
.header-4 .site-header .custom-logo-link,
.site-header .custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  line-height: 1 !important;
}

@media (min-width: 993px) {
  .header-4 .site-header {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 30px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .header-4 .site-header .site-branding {
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .header-4 .site-header .custom-logo-link img,
  body.theme-shoptimizer .site-header .custom-logo-link img,
  body.wp-custom-logo .site-header .custom-logo-link img {
    max-height: 32px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }

  /* Desktop : Navigation, Panier et Recherche alignés */
  .header-4 .col-full-nav {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    margin-left: auto !important;
    padding: 0 !important;
  }
  /* Masquer le panier mobile sur desktop pour éliminer le panier doublon à gauche */
  .site-header .site-header-cart {
    display: none !important;
  }
  /* Seul le panier de la barre de navigation desktop est affiché à droite */
  .col-full-nav .site-header-cart {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }
  .header-4 .shoptimizer-cart,
  .header-4 .shoptimizer-cart a.cart-contents {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }
  .header-4 .search-trigger {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    line-height: 1 !important;
    border: none !important;
    background: transparent !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
  }
  .header-4 .search-trigger span {
    border-right: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
}

@media (max-width: 992px) {
  /* 1. Header mobile & branding : hauteur 70px unifiée */
  .site-header {
    position: relative !important;
  }
  .main-header,
  .site-branding {
    height: 70px !important;
    min-height: 70px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: 100% !important;
  }
  body:not(.mobile-toggled).sticky-m .site-header,
  body:not(.mobile-toggled).sticky-m .header-4-container {
    background-color: var(--kc-paper) !important;
    border-bottom: 1px solid var(--kc-line) !important;
    box-shadow: none !important;
  }

  /* 2. Bouton hamburger mobile : calé à gauche et centré verticalement */
  .site-branding button.menu-toggle,
  .header-4 .site-branding button.menu-toggle {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    z-index: 15 !important;
  }
  .site-branding button.menu-toggle .bar {
    background-color: var(--kc-ink, #20221f) !important;
  }
  .site-branding button.menu-toggle .bar-text {
    display: none !important;
  }

  /* 3. Logo Kanten mobile : centré, format horizontal naturel */
  .site-header .custom-logo-link,
  .header-4 .site-header .custom-logo-link,
  .site-branding .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 70px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }
  .site-header .custom-logo-link img,
  .header-4 .site-header .custom-logo-link img,
  .site-branding .custom-logo-link img,
  body.theme-shoptimizer .site-header .custom-logo-link img,
  body.wp-custom-logo .site-header .custom-logo-link img,
  .custom-logo {
    height: 24px !important;
    max-height: 24px !important;
    width: auto !important;
    max-width: 140px !important;
    display: block !important;
    object-fit: contain !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 auto !important;
  }

  /* 4. Panier mobile : calé à droite à 15px et parfaitement centré verticalement */
  .site-header .site-header-cart,
  .header-4 .site-header-cart,
  .main-header .site-header-cart {
    position: absolute !important;
    right: 15px !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: transparent !important;
    border: none !important;
    z-index: 15 !important;
  }
  .site-header .site-header-cart .shoptimizer-cart,
  .header-4 .site-header-cart .shoptimizer-cart,
  .site-header-cart .shoptimizer-cart a.cart-contents {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }
  .site-header-cart .shoptimizer-cart a.cart-contents .amount {
    display: none !important;
  }
  .site-header-cart .shoptimizer-cart-icon {
    position: relative !important;
    top: 0 !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .site-header-cart .shoptimizer-cart-icon svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    stroke: var(--kc-ink, #20221f) !important;
  }
  .site-header-cart .shoptimizer-cart a.cart-contents .count {
    font-family: var(--kc-font, sans-serif) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    background: var(--kc-ink, #20221f) !important;
    color: var(--kc-paper, #efeee9) !important;
    border-radius: 50% !important;
    line-height: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    text-align: center !important;
  }

  /* 5. Tiroir de navigation mobile Shoptimizer aux couleurs Kanten */
  .col-full-nav {
    background-color: var(--kc-paper, #efeee9) !important;
    background: var(--kc-paper, #efeee9) !important;
    color: var(--kc-ink, #20221f) !important;
    border-right: 1px solid var(--kc-line, #cecec6) !important;
    box-shadow: 4px 0 25px rgba(0, 0, 0, 0.15) !important;
    z-index: 999999 !important;
    padding: 40px 24px !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .col-full-nav .main-navigation ul.menu > li > a,
  .col-full-nav .secondary-navigation ul.menu > li > a,
  .col-full-nav a {
    color: var(--kc-ink, #20221f) !important;
    font-family: var(--kc-font) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    padding: 12px 0 !important;
    display: block !important;
    text-decoration: none !important;
  }
  .col-full-nav .main-navigation ul.menu > li,
  .col-full-nav .secondary-navigation ul.menu > li {
    border-bottom: 1px solid var(--kc-line-light, #dadbd4) !important;
  }
  .col-full-nav .main-navigation ul.menu > li:last-child {
    border-bottom: none !important;
  }
  .mobile-menu.close-drawer {
    color: var(--kc-ink, #20221f) !important;
    z-index: 1000000 !important;
  }
  .mobile-toggled .mobile-overlay,
  .mobile-overlay {
    background: rgba(20, 23, 21, 0.65) !important;
    z-index: 999998 !important;
    backdrop-filter: blur(2px) !important;
  }
}

/* Fil d'Ariane sans surépaisseur ni décalage */
.archive-header,
.single-product .archive-header {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.header-4 .menu-primary-menu-container > ul > li > a,
.main-navigation ul.menu > li > a,
.secondary-navigation .menu a {
  font-family: var(--kc-font) !important;
  color: var(--kc-ink) !important;
  letter-spacing: -0.02em;
  text-decoration: none !important;
  transition: opacity 0.2s ease !important;
}

.header-4 .menu-primary-menu-container > ul > li > a:hover,
.main-navigation ul.menu > li > a:hover,
.secondary-navigation .menu a:hover {
  text-decoration: none !important;
  opacity: 0.65 !important;
}

/* Seule la page active reçoit un soulignement cohérent */
.header-4 .menu-primary-menu-container > ul > li.current-menu-item > a,
.header-4 .menu-primary-menu-container > ul > li.current_page_item > a,
.header-4 .menu-primary-menu-container > ul > li.current-menu-ancestor > a,
.header-4 .menu-primary-menu-container > ul > li.active > a,
.header-4 .menu-primary-menu-container > ul > li > a.active,
.header-4 .menu-primary-menu-container > ul > li > a.is-active,
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.menu > li.current_page_item > a,
.main-navigation ul.menu > li.current-menu-ancestor > a,
.main-navigation ul.menu > li.active > a,
.main-navigation ul.menu > li > a.active,
.main-navigation ul.menu > li > a.is-active {
  text-decoration: underline !important;
  text-underline-offset: 6px !important;
  text-decoration-thickness: 1.5px !important;
  opacity: 1 !important;
}

.main-navigation ul.menu ul.sub-menu {
  background-color: var(--kc-paper) !important;
  border: 1px solid var(--kc-line) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}
.main-navigation ul.menu ul li a {
  color: var(--kc-ink) !important;
  font-family: var(--kc-font) !important;
}

/* Fil d'Ariane (Breadcrumb) */
.woocommerce-breadcrumb {
  background: transparent !important;
  color: var(--kc-ink-muted) !important;
  font-family: var(--kc-font) !important;
  font-size: 13px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--kc-line-light) !important;
  margin-bottom: 24px !important;
}
.woocommerce-breadcrumb a {
  color: var(--kc-ink) !important;
}
.woocommerce-breadcrumb a:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.woocommerce-breadcrumb .breadcrumb-separator {
  color: var(--kc-line) !important;
  opacity: 1 !important;
}

/* Bannières et en-têtes d'archives */
header.woocommerce-products-header,
.shoptimizer-category-banner {
  background-color: transparent !important;
  border: none !important;
  padding: 1rem 0 !important;
}
.woocommerce-products-header__title,
.shoptimizer-category-banner h1,
.page-title {
  font-family: var(--kc-font) !important;
  color: var(--kc-ink) !important;
  font-weight: 400 !important;
  letter-spacing: -0.03em !important;
}

/* --- 3. FILTRES PRODUITS (YITH AJAX FILTER & SIDEBAR) --- */
/* Suppression du rectangle blanc parasite */
#secondary,
.secondary-wrapper,
#secondary .widget,
.yith-wcan-filters,
.yith-wcan-filters .filters-container,
.yith-wcan-filters.custom-style {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

#secondary .widget {
  border-bottom: 1px solid var(--kc-line) !important;
  padding-bottom: 22px !important;
  margin-bottom: 22px !important;
}

/* Titre principal 'Filtrer les produits' */
.yith-wcan-filters .filters-container h3,
#secondary .widget .widget-title,
#secondary .widgettitle {
  font-family: var(--kc-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--kc-ink) !important;
  border-bottom: 1px solid var(--kc-line) !important;
  padding-bottom: 10px !important;
  margin-bottom: 20px !important;
}

/* Titres des rubriques ('Catégories', 'Taille', 'Drop') */
.yith-wcan-filter .filter-title,
.yith-wcan-filters .yith-wcan-filter h4.filter-title {
  font-family: var(--kc-font) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--kc-ink) !important;
  margin-bottom: 12px !important;
}

/* Libellés de filtres parfaitement lisibles et contrastés */
.yith-wcan-filters .filter-items .filter-item label,
.yith-wcan-filters .filter-items .filter-item a,
.yith-wcan-filters .filter-items .filter-item .term-label {
  font-family: var(--kc-font) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  color: var(--kc-ink) !important;
  letter-spacing: -0.015em !important;
  line-height: 1.8 !important;
  transition: color 0.2s ease !important;
}
.yith-wcan-filters .filter-items .filter-item:hover a,
.yith-wcan-filters .filter-items .filter-item:hover .term-label {
  color: var(--kc-ink-muted) !important;
}
.yith-wcan-filters .filter-items .filter-item.active a,
.yith-wcan-filters .filter-items .filter-item.active .term-label {
  font-weight: 600 !important;
  color: var(--kc-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

/* Cases à cocher (Checkboxes) minimalistes Kanten */
.yith-wcan-filters.custom-style span.checkboxbutton,
.filter-item.checkbox label {
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
}

.yith-wcan-filters.custom-style span.checkboxbutton:before,
.filter-item.checkbox input[type='checkbox'] {
  width: 15px !important;
  height: 15px !important;
  border: 1.5px solid var(--kc-ink) !important;
  background-color: transparent !important;
  border-radius: 0px !important;
  margin-right: 10px !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

.yith-wcan-filters.custom-style span.checkboxbutton.checked:before,
.filter-item.checkbox input[type='checkbox']:checked {
  background-color: var(--kc-ink) !important;
  border-color: var(--kc-ink) !important;
}

/* Boutons Réinitialiser les filtres */
.yith-wcan-reset-filters,
.yith-wcan-filters a.reset-filters {
  display: inline-block !important;
  font-family: var(--kc-font) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background-color: var(--kc-ink) !important;
  color: var(--kc-paper) !important;
  padding: 10px 18px !important;
  border: 1px solid var(--kc-ink) !important;
  border-radius: 0px !important;
  transition: all 0.25s ease !important;
}
.yith-wcan-reset-filters:hover,
.yith-wcan-filters a.reset-filters:hover {
  background-color: var(--kc-acid) !important;
  color: var(--kc-ink) !important;
  border-color: var(--kc-acid) !important;
}

/* --- 4. CARTES PRODUITS (CATALOGUE & GRILLES) --- */
ul.products li.product {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* SUPPRESSION DU CADRE BLANC FLASHY AU SURVOL DU THEME SHOPTIMIZER */
ul.products li.product:not(.product-category):before {
  display: none !important;
}

/* Image produit et zoom soigné */
ul.products li.product .woocommerce-image__wrapper {
  background-color: var(--kc-paper-card) !important;
  position: relative;
  overflow: hidden;
}
ul.products li.product .woocommerce-image__wrapper img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  transition: transform 0.65s cubic-bezier(0.2, 0.65, 0.3, 1) !important;
}
ul.products li.product:hover .woocommerce-image__wrapper img {
  transform: scale(1.035) !important;
}

/* Titre du produit */
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--kc-font) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  color: var(--kc-ink) !important;
  padding-top: 14px !important;
  padding-bottom: 4px !important;
}
ul.products li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title {
  color: var(--kc-ink-muted) !important;
}

/* Prix */
ul.products li.product .price,
ul.products li.product .price ins,
ul.products li.product .price .amount {
  font-family: var(--kc-font) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--kc-ink) !important;
  letter-spacing: -0.01em !important;
}
ul.products li.product .price del,
ul.products li.product .price del .amount {
  color: var(--kc-ink-muted) !important;
  opacity: 0.65;
}

/* --- PASTILLES & VARIANTES COMMERCEKIT (CATALOGUE PLP & FICHE PDP) --- */
/* --- PASTILLES & VARIANTES COMMERCEKIT : RESPECT STRICT DU LAYOUT DU THÈME, CUSTOMISATION CHROMATIQUE KANTEN SEULEMENT --- */

/* Anneau de sélection circulaire sur la pastille active */
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color > button.cgkit-swatch-selected,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color > button.active,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color > button[aria-checked="true"] {
  box-shadow: 0 0 0 2px var(--kc-paper, #efeee9), 0 0 0 3.5px var(--kc-ink, #20221f) !important;
}

/* Filet subtil pour couleurs claires */
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-color span.color-div {
  box-shadow: inset 0 0 0 1px rgba(32, 34, 31, 0.12) !important;
}

/* Boutons de sélection de taille (XS, S, M, L, XL) : Palette Kanten */
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button > button,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button .swatch {
  border: 1px solid var(--kc-line, #cecec6) !important;
  background-color: var(--kc-paper, #efeee9) !important;
  color: var(--kc-ink, #20221f) !important;
  font-family: var(--kc-font, sans-serif) !important;
  transition: all 0.2s ease !important;
}

.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button:hover,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button > button:hover {
  border-color: var(--kc-acid, #d7e1ad) !important;
  background-color: var(--kc-acid, #d7e1ad) !important;
  color: var(--kc-ink, #20221f) !important;
}

.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch-selected,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.active,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button > button.cgkit-swatch-selected,
.cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button > button.active {
  background-color: var(--kc-ink, #20221f) !important;
  color: var(--kc-paper, #efeee9) !important;
  border-color: var(--kc-ink, #20221f) !important;
}

/* Badges Promo & Archives (style Kanten .kc-tag) */
.product-label,
.onsale,
.wc-block-grid__product-onsale,
.product-label.type-bubble {
  background-color: var(--kc-ink) !important;
  color: var(--kc-paper) !important;
  font-family: var(--kc-font) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 0px !important;
  padding: 4px 8px !important;
  top: 12px !important;
  left: 12px !important;
  border: none !important;
}

/* Cœur Liste de souhaits */
.commercekit-wishlist a i:before,
.summary .commercekit-wishlist a i:before,
ul.products li.product .commercekit-wishlist a em:before {
  color: var(--kc-ink) !important;
}

/* --- 5. BOUTONS GLOBAUX & INTERACTIONS SIGNATURE KANTEN --- */
.button,
button.button,
input[type='submit'],
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-proceed-to-checkout a.button,
.woocommerce-cart p.return-to-shop a,
.single_add_to_cart_button,
.shoptimizer-sticky-add-to-cart__content-button a.button {
  font-family: var(--kc-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background-color: var(--kc-ink) !important;
  color: var(--kc-paper) !important;
  border: 1px solid var(--kc-ink) !important;
  border-radius: 0px !important;
  padding: 13px 26px !important;
  transition: all 0.25s ease !important;
  box-shadow: none !important;
}

/* Survol Signature : Fond Acide #d7e1ad + Texte Encre #20221f */
.button:hover,
button.button:hover,
input[type='submit']:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-proceed-to-checkout a.button:hover,
.woocommerce-cart p.return-to-shop a:hover,
.single_add_to_cart_button:hover,
.shoptimizer-sticky-add-to-cart__content-button a.button:hover {
  background-color: var(--kc-acid) !important;
  color: var(--kc-ink) !important;
  border-color: var(--kc-acid) !important;
}

/* --- 6. FICHE PRODUIT INDIVIDUELLE (PDP) --- */
.single-product .product_title {
  font-family: var(--kc-font) !important;
  font-size: clamp(26px, 3.2vw, 44px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.03em !important;
  color: var(--kc-ink) !important;
  line-height: 1.15 !important;
}

.single-product p.price,
.single-product .woocommerce-variation-price .price {
  font-family: var(--kc-font) !important;
  font-size: 22px !important;
  color: var(--kc-ink) !important;
  letter-spacing: -0.02em !important;
}

/* Neutralisation du débordement 100vw de Shoptimizer */
.product_meta {
  max-width: 100% !important;
}
@media (max-width: 992px) {
  .single-product .content-area {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .product_meta {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
  }
}

/* Mobile Single Product Typography & Spacing */
@media (max-width: 768px) {
  .single-product .product_title {
    font-size: 24px !important;
    line-height: 1.2 !important;
    margin-bottom: 6px !important;
  }
  .single-product p.price,
  .single-product .woocommerce-variation-price .price {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }
  .single-product .product-details-wrapper {
    padding-bottom: 1rem !important;
  }
}

.single-product .single_add_to_cart_button,
.single_add_to_cart_button,
.single_add_to_cart_button.button,
.single_add_to_cart_button.button.alt {
  margin: 16px 0 !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 16px 28px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

#lumise-customize-button,
.lumise-customize-button {
  margin: 8px 0 16px 0 !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 16px 28px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* Sélecteur de quantité */
.quantity input.qty {
  border: 1px solid var(--kc-line) !important;
  background-color: transparent !important;
  color: var(--kc-ink) !important;
  font-family: var(--kc-font) !important;
  border-radius: 0px !important;
}

/* Onglets & Accordéons Shoptimizer / WooCommerce */
.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--kc-line) !important;
}
.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
}
.woocommerce-tabs ul.tabs li a {
  font-family: var(--kc-font) !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--kc-ink-muted) !important;
}
.woocommerce-tabs ul.tabs li.active a {
  color: var(--kc-ink) !important;
  border-bottom: 2px solid var(--kc-ink) !important;
}
.woocommerce-Tabs-panel {
  color: var(--kc-ink) !important;
  font-family: var(--kc-font) !important;
}

/* Bandeau Sticky Add to Cart en bas de page */
.shoptimizer-sticky-add-to-cart,
.commercekit-sticky-add-to-cart {
  background-color: var(--kc-paper) !important;
  border-top: 1px solid var(--kc-line) !important;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.05) !important;
}
.shoptimizer-sticky-add-to-cart__content-title {
  font-family: var(--kc-font) !important;
  color: var(--kc-ink) !important;
}

/* --- 7. TIROIR PANIER (CART DRAWER) & COMMANDE (CHECKOUT) --- */
.shoptimizer-mini-cart-wrap {
  background-color: var(--kc-paper) !important;
  border-left: 1px solid var(--kc-line) !important;
  color: var(--kc-ink) !important;
}
.cart-drawer-heading {
  font-family: var(--kc-font) !important;
  color: var(--kc-ink) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.shoptimizer-mini-cart-wrap .widget_shopping_cart_content {
  background: transparent !important;
}
.shoptimizer-mini-cart-wrap ul.cart_list li {
  border-bottom: 1px solid var(--kc-line-light) !important;
}
.shoptimizer-mini-cart-wrap a {
  color: var(--kc-ink) !important;
}

/* Formulaires & Champs de saisie */
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='password'],
input[type='search'],
textarea,
select {
  background-color: var(--kc-paper) !important;
  border: 1px solid var(--kc-line) !important;
  color: var(--kc-ink) !important;
  border-radius: 0px !important;
  font-family: var(--kc-font) !important;
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--kc-ink) !important;
  outline: none !important;
}

/* Table de commande / Checkout */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background-color: var(--kc-paper-card) !important;
  border: 1px solid var(--kc-line) !important;
  padding: 24px !important;
}

/* --- 8. PIED DE PAGE (FOOTER) UNIFIÉ --- */
footer.site-footer,
footer.copyright {
  background-color: var(--kc-dark) !important;
  color: #c5ccc2 !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
}
footer.site-footer .widget .widget-title,
footer.site-footer h2,
footer.site-footer h3,
footer.site-footer h4 {
  font-family: var(--kc-font) !important;
  color: var(--kc-paper) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
footer.site-footer a,
footer.copyright a {
  color: #c5ccc2 !important;
}
footer.site-footer a:hover,
footer.copyright a:hover {
  color: var(--kc-acid) !important;
}

/* --- 9. NOTICES & MESSAGES WOOCOMMERCE (CALAGE DU BOUTON & CENTRAGE) --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background-color: var(--kc-ink, #20221f) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  padding: 14px 24px !important;
  min-height: 52px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: #ffffff !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button {
  float: none !important;
  margin: 0 !important;
  align-self: center !important;
  height: 38px !important;
  min-height: 38px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  border: 1px solid #ffffff !important;
  background-color: transparent !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  order: 2 !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover {
  background-color: #ffffff !important;
  color: var(--kc-ink, #20221f) !important;
  border-color: #ffffff !important;
}

/* --- 10. TIROIR MINI-PANIER SHOPTIMIZER (CENTRAGE TEXTES ET ICÔNES) --- */
.shoptimizer-mini-cart-wrap .woocommerce-mini-cart__buttons,
.widget_shopping_cart .woocommerce-mini-cart__buttons,
#shoptimizerCartDrawer .woocommerce-mini-cart__buttons,
#shoptimizerCartDrawer .buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 16px 0 0 0 !important;
}

.shoptimizer-mini-cart-wrap .woocommerce-mini-cart__buttons a.button,
.widget_shopping_cart .woocommerce-mini-cart__buttons a.button,
#shoptimizerCartDrawer .woocommerce-mini-cart__buttons a.button,
#shoptimizerCartDrawer .buttons a.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

#shoptimizerCartDrawer .woocommerce-mini-cart__buttons a.button svg,
#shoptimizerCartDrawer .woocommerce-mini-cart__buttons a.button i,
.widget_shopping_cart .woocommerce-mini-cart__buttons a.button svg,
.widget_shopping_cart .woocommerce-mini-cart__buttons a.button i {
  display: inline-flex !important;
  align-items: center !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
  height: 16px !important;
  width: 16px !important;
}

/* --- 11. PAGE PANIER (/panier/) : ALIGNEMENT PARFAIT FORMULAIRE ET BOUTONS --- */
table.cart td.actions {
  padding: 20px 0 !important;
}

table.cart td.actions .coupon {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  float: left !important;
  margin: 0 !important;
}

table.cart td.actions .coupon input.input-text {
  height: 44px !important;
  min-height: 44px !important;
  line-height: 44px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--kc-line) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

table.cart td.actions .coupon button.button,
table.cart td.actions button[name="apply_coupon"] {
  height: 44px !important;
  min-height: 44px !important;
  line-height: 1 !important;
  padding: 0 20px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  border-radius: 0 !important;
}

table.cart td.actions button[name="update_cart"],
table.cart td.actions > button.button {
  height: 44px !important;
  min-height: 44px !important;
  line-height: 1 !important;
  padding: 0 24px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: right !important;
  vertical-align: middle !important;
  border-radius: 0 !important;
}

@media (max-width: 768px) {
  table.cart td.actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  table.cart td.actions .coupon {
    display: flex !important;
    width: 100% !important;
    float: none !important;
  }
  table.cart td.actions .coupon input.input-text {
    flex: 1 !important;
    width: auto !important;
  }
  table.cart td.actions button[name="update_cart"],
  table.cart td.actions > button.button {
    width: 100% !important;
    float: none !important;
  }
}

/* --- 12. RESTRICTION STRICTE DU BOUTON CUSTOM LAB AUX 3 SEULS PRODUITS --- */
body.single-product:not(.postid-29749):not(.postid-29811):not(.postid-29860) #lumise-customize-button,
body.single-product:not(.postid-29749):not(.postid-29811):not(.postid-29860) .lumise-customize-button,
body.single-product:not(.postid-29749):not(.postid-29811):not(.postid-29860) a[href*="module-de-personnalisation"],
body.single-product:not(.postid-29749):not(.postid-29811):not(.postid-29860) button[data-href*="module-de-personnalisation"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- 13. SUPPRESSION DÉFINITIVE DE MINIMAXX SHOWROOM --- */
.elementor-element-c05b7c4,
.elementor-element-3886dfb,
[data-id="c05b7c4"],
[data-id="3886dfb"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* --- 14. YITH INFINITE SCROLLING & AJAX : SPINNER MINIMALISTE TRANSPARENT KANTEN --- */
.yith-infs-loader {
  text-align: center !important;
  margin: 40px auto !important;
  padding: 10px 0 !important;
  clear: both !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}

.yith-infs-loader img {
  display: none !important;
}

.yith-infs-loader::after {
  content: '' !important;
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 2.5px solid rgba(32, 34, 31, 0.14) !important;
  border-top-color: var(--kc-ink, #20221f) !important;
  border-right-color: var(--kc-acid, #d7e1ad) !important;
  box-sizing: border-box !important;
  animation: kantenInfsSpin 0.75s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}

@keyframes kantenInfsSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.blockUI.blockOverlay,
.woocommerce .blockUI.blockOverlay {
  background-color: transparent !important;
  background: transparent !important;
  opacity: 0.3 !important;
}

.blockUI.blockMsg,
.woocommerce .blockUI.blockMsg {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.blockUI.blockMsg img,
.woocommerce .blockUI.blockMsg img {
  display: none !important;
}

.blockUI.blockMsg::after,
.woocommerce .blockUI.blockMsg::after {
  content: '' !important;
  display: inline-block !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 2.5px solid rgba(32, 34, 31, 0.14) !important;
  border-top-color: #20221f !important;
  border-right-color: #d7e1ad !important;
  animation: kantenInfsSpin 0.75s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}
