:root{--cd-text:#151515;--cd-muted:#686868;--cd-border:#e9e5df;--cd-bg:#fff;--cd-promo:#4a4745;--cd-max:1440px;--cd-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--cd-bg);color:var(--cd-text);font-family:var(--cd-font);font-weight:400;line-height:1.45;text-rendering:optimizeSpeed}a{color:inherit;text-decoration:none}img,svg{display:block}img{max-width:100%;height:auto}button,input{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer}.cd-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* CAPDECO Fast - hide useless homepage breadcrumb */
.page-index .breadcrumb,
body#index .breadcrumb {
  display: none !important;
}


/* === CAPDECO_CART_CHECKOUT_POLISH_START === */

/* =========================
   PAGE PANIER NATIVE
   ========================= */

body#cart #content,
body.page-cart #content {
  max-width: 1180px;
  margin: 0 auto;
  padding: 34px 30px 90px;
}

body#cart h1,
body.page-cart h1 {
  margin: 28px 0 28px;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -.03em;
}

body#cart .cart-grid,
body.page-cart .cart-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 56px !important;
  align-items: start !important;
}

body#cart .cart-grid-body,
body.page-cart .cart-grid-body,
body#cart .cart-grid-right,
body.page-cart .cart-grid-right {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}

/* Produit panier : reset Bootstrap + layout propre */
body#cart .cart-items,
body.page-cart .cart-items {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#cart .cart-item,
body.page-cart .cart-item {
  display: block !important;
  margin: 0 !important;
  padding: 28px 0 !important;
  border-top: 1px solid #e6ded5 !important;
  list-style: none !important;
}

body#cart .product-line-grid,
body.page-cart .product-line-grid {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) 160px !important;
  gap: 24px !important;
  align-items: center !important;
  margin: 0 !important;
}

body#cart .product-line-grid > *,
body.page-cart .product-line-grid > *,
body#cart .product-line-grid-left,
body.page-cart .product-line-grid-left,
body#cart .product-line-grid-body,
body.page-cart .product-line-grid-body,
body#cart .product-line-grid-right,
body.page-cart .product-line-grid-right,
body#cart .product-line-actions,
body.page-cart .product-line-actions {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: static !important;
}

body#cart .product-line-grid-left,
body.page-cart .product-line-grid-left {
  text-align: center !important;
}

body#cart .product-line-grid-left img,
body.page-cart .product-line-grid-left img,
body#cart .product-image img,
body.page-cart .product-image img {
  width: 86px !important;
  height: 120px !important;
  object-fit: contain !important;
  background: #faf8f5 !important;
}

body#cart .product-line-grid-body,
body.page-cart .product-line-grid-body {
  min-width: 0 !important;
}

body#cart .product-line-info,
body.page-cart .product-line-info {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body#cart .product-line-info a,
body.page-cart .product-line-info a,
body#cart .label,
body.page-cart .label {
  color: #111 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

body#cart .product-line-grid-right,
body.page-cart .product-line-grid-right {
  text-align: right !important;
}

body#cart .product-line-grid-right .row,
body.page-cart .product-line-grid-right .row {
  display: block !important;
  margin: 0 !important;
}

body#cart .product-line-grid-right [class*="col-"],
body.page-cart .product-line-grid-right [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}

body#cart .js-cart-line-product-quantity,
body.page-cart .js-cart-line-product-quantity,
body#cart input[name^="product-quantity"],
body.page-cart input[name^="product-quantity"] {
  width: 76px !important;
  height: 44px !important;
  border: 1px solid #d8d0c7 !important;
  text-align: center !important;
  font-size: 15px !important;
  margin: 0 0 10px auto !important;
}

body#cart .current-price,
body.page-cart .current-price,
body#cart .product-price,
body.page-cart .product-price {
  font-weight: 700 !important;
}

body#cart .remove-from-cart,
body.page-cart .remove-from-cart,
body#cart .cart-line-product-actions a,
body.page-cart .cart-line-product-actions a {
  color: #6f675f !important;
  font-size: 13px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Résumé panier */
body#cart .cart-grid-right,
body.page-cart .cart-grid-right,
body#cart .cart-summary,
body.page-cart .cart-summary {
  background: #f5f1eb !important;
  border: 1px solid #e2dbd2 !important;
  padding: 26px !important;
}

body#cart .cart-summary-line,
body.page-cart .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 15px !important;
}

body#cart .cart-summary-line .value,
body.page-cart .cart-summary-line .value {
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body#cart .cart-summary-totals,
body.page-cart .cart-summary-totals {
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid #ded8cf !important;
}

body#cart .btn,
body.page-cart .btn,
body#cart .btn-primary,
body.page-cart .btn-primary,
body#cart a[href*="commande"],
body.page-cart a[href*="commande"] {
  display: inline-flex !important;
  min-height: 50px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #111 !important;
  background: #111 !important;
  color: #fff !important;
  padding: 0 28px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* Masque les textes de modal qui fuient */
body#cart .modal:not(.show),
body.page-cart .modal:not(.show),
body#cart .modal-backdrop:not(.show),
body.page-cart .modal-backdrop:not(.show) {
  display: none !important;
}

/* =========================
   CHECKOUT : BASE SHOPIFY-LIKE
   ========================= */

body#checkout #content {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 34px 30px 90px !important;
}

body#checkout .breadcrumb {
  max-width: 1180px !important;
  margin: 24px auto 0 !important;
  padding: 0 30px !important;
}

/* Layout classique PrestaShop checkout */
body#checkout #content > .row,
body#checkout .cart-grid,
body#checkout .checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 700px) 360px !important;
  gap: 56px !important;
  align-items: start !important;
}

body#checkout #content > .row > *,
body#checkout .cart-grid > *,
body#checkout .checkout-grid > *,
body#checkout .cart-grid-body,
body#checkout .cart-grid-right {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Colonne résumé checkout */
body#checkout .cart-grid-right,
body#checkout #js-checkout-summary,
body#checkout .cart-summary {
  background: #f5f1eb !important;
  border: 1px solid #e2dbd2 !important;
  padding: 26px !important;
  align-self: start !important;
}

body#checkout #js-checkout-summary,
body#checkout .cart-summary {
  position: sticky !important;
  top: 100px !important;
}

/* Étapes */
body#checkout .checkout-step {
  border-top: 1px solid #e6ded5 !important;
  padding: 28px 0 !important;
  background: transparent !important;
}

body#checkout .checkout-step .step-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 24px !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
}

body#checkout .step-number {
  display: inline-flex !important;
  width: 28px !important;
  height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #111 !important;
  border-radius: 50% !important;
  font-size: 13px !important;
}

body#checkout .step-edit,
body#checkout a.step-edit {
  margin-left: auto !important;
  color: #111 !important;
  border-bottom: 1px solid #111 !important;
  padding-bottom: 2px !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body#checkout .material-icons,
body#checkout i.material-icons {
  display: none !important;
}

/* Formulaire checkout */
body#checkout .form-group {
  margin-bottom: 18px !important;
}

body#checkout .form-group.row {
  display: block !important;
}

body#checkout .form-group [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body#checkout label,
body#checkout .form-control-label {
  display: block !important;
  margin-bottom: 7px !important;
  color: #2f2a25 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

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 select,
body#checkout textarea,
body#checkout .form-control {
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #d9d1c8 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111 !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
}

body#checkout .btn,
body#checkout .btn-primary,
body#checkout button.continue,
body#checkout input[type="submit"],
body#checkout button[name="confirm-addresses"],
body#checkout button[name="confirmDeliveryOption"],
body#checkout #payment-confirmation button {
  display: inline-flex !important;
  min-height: 50px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #111 !important;
  background: #111 !important;
  color: #fff !important;
  padding: 0 30px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* Responsive */
@media (max-width: 900px) {
  body#cart .cart-grid,
  body.page-cart .cart-grid,
  body#checkout #content > .row,
  body#checkout .cart-grid,
  body#checkout .checkout-grid {
    display: block !important;
  }

  body#cart #content,
  body.page-cart #content,
  body#checkout #content {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body#cart .product-line-grid,
  body.page-cart .product-line-grid {
    grid-template-columns: 86px 1fr !important;
  }

  body#cart .product-line-grid-right,
  body.page-cart .product-line-grid-right {
    grid-column: 2 !important;
    text-align: left !important;
  }

  body#cart .cart-grid-right,
  body.page-cart .cart-grid-right,
  body#checkout .cart-grid-right,
  body#checkout #js-checkout-summary,
  body#checkout .cart-summary {
    margin-top: 28px !important;
    position: static !important;
  }
}

/* === CAPDECO_CART_CHECKOUT_POLISH_END === */


/* === CAPDECO_CHECKOUT_SHOPIFY_POLISH_START === */

/* Checkout uniquement */
body#checkout {
  background: #fff !important;
}

/* Header plus proche Shopify sur checkout */
body#checkout #header {
  border-bottom: 1px solid #e5ddd4 !important;
  background: #fff !important;
}

body#checkout #header .cd-topbar,
body#checkout #header .header-banner,
body#checkout #header .topbar {
  display: none !important;
}

body#checkout #header .header-top,
body#checkout #header .container,
body#checkout #header .row {
  min-height: 96px !important;
}

/* On garde logo + panier, mais on masque menu pour simplifier le tunnel */
body#checkout #header nav,
body#checkout #header .menu,
body#checkout #header .top-menu,
body#checkout #header .search-widget,
body#checkout #header #search_widget,
body#checkout #header #_desktop_user_info,
body#checkout #header .user-info,
body#checkout #header .language-selector {
  display: none !important;
}

/* Layout principal */
body#checkout #content {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 28px 30px 90px !important;
}

body#checkout .breadcrumb {
  display: none !important;
}

body#checkout #content > .row,
body#checkout .cart-grid,
body#checkout .checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 660px) 360px !important;
  gap: 64px !important;
  align-items: start !important;
}

/* Colonne gauche */
body#checkout .cart-grid-body,
body#checkout #content > .row > [class*="col-md-8"],
body#checkout #content > .row > [class*="col-sm-8"],
body#checkout #content > .row > [class*="col-xs-12"]:first-child {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}

/* Colonne résumé */
body#checkout .cart-grid-right,
body#checkout #content > .row > [class*="col-md-4"],
body#checkout #content > .row > [class*="col-sm-4"] {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}

/* Étapes */
body#checkout .checkout-step {
  border-top: 1px solid #e4dcd3 !important;
  padding: 26px 0 32px !important;
  margin: 0 !important;
}

body#checkout .checkout-step .step-title {
  margin: 0 0 24px !important;
  font-size: 23px !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
}

body#checkout .step-number {
  width: 28px !important;
  height: 28px !important;
  font-size: 13px !important;
}

body#checkout .step-edit,
body#checkout a.step-edit {
  margin-left: auto !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: #111 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #111 !important;
}

/* Onglets invité / connexion */
body#checkout .nav-inline,
body#checkout .nav-tabs,
body#checkout ul.nav {
  display: flex !important;
  gap: 20px !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  border-bottom: 1px solid #e4dcd3 !important;
  list-style: none !important;
}

body#checkout .nav-inline li,
body#checkout .nav-tabs li,
body#checkout ul.nav li {
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout .nav-inline a,
body#checkout .nav-tabs a,
body#checkout .nav-link {
  display: block !important;
  padding: 0 0 12px !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
}

body#checkout .nav-link.active,
body#checkout .nav-tabs .active a {
  border-bottom-color: #111 !important;
}

/* Formulaire type Shopify */
body#checkout .form-group {
  margin-bottom: 17px !important;
}

body#checkout label,
body#checkout .form-control-label {
  margin-bottom: 7px !important;
  color: #2f2a25 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

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 select,
body#checkout textarea,
body#checkout .form-control {
  min-height: 50px !important;
  border: 1px solid #d8d0c7 !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: 0 14px !important;
  font-size: 15px !important;
}

/* Résumé droite */
body#checkout #js-checkout-summary,
body#checkout .cart-summary {
  position: sticky !important;
  top: 112px !important;
  background: #f5f1eb !important;
  border: 1px solid #e2dbd2 !important;
  padding: 26px !important;
  box-shadow: none !important;
}

/* Nettoyage textes parasites */
body#checkout .cart-summary-products > p,
body#checkout .cart-summary-products .summary-label,
body#checkout .cart-summary-products .js-show-details,
body#checkout .cart-summary-products a[href="#"],
body#checkout .cart-summary-products .collapse-button {
  display: none !important;
}

/* Produit résumé */
body#checkout .cart-summary-product-list,
body#checkout .cart-summary-products .media-list {
  margin: 0 0 24px !important;
  padding: 0 0 22px !important;
  border-bottom: 1px solid #ded8cf !important;
}

body#checkout .cart-summary-product-list .media,
body#checkout .cart-summary-products .media {
  display: grid !important;
  grid-template-columns: 64px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  border: 0 !important;
}

body#checkout .cart-summary-product-list img,
body#checkout .cart-summary-products img,
body#checkout #js-checkout-summary img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  background: #fff !important;
}

/* Lignes de prix */
body#checkout .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 14px !important;
}

body#checkout .cart-summary-line .value {
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body#checkout .cart-summary-totals {
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid #ded8cf !important;
}

body#checkout .cart-summary-totals .cart-summary-line,
body#checkout .cart-total {
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* Code promo */
body#checkout .block-promo,
body#checkout .promo-code {
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid #ded8cf !important;
}

body#checkout .block-promo form,
body#checkout .promo-code form {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 8px !important;
}

body#checkout .block-promo input,
body#checkout .promo-code input {
  min-height: 46px !important;
  border: 1px solid #d8d0c7 !important;
  padding: 0 13px !important;
}

body#checkout .block-promo button,
body#checkout .promo-code button {
  min-height: 46px !important;
  border: 1px solid #111 !important;
  background: #111 !important;
  color: #fff !important;
  padding: 0 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Cache "Fermer" parasite dans le résumé */
body#checkout #js-checkout-summary > a,
body#checkout #js-checkout-summary > button:not(.btn):not(.btn-primary),
body#checkout .cart-summary > a[href="#"],
body#checkout .cart-summary > button:not(.btn):not(.btn-primary) {
  display: none !important;
}

/* Boutons */
body#checkout .btn,
body#checkout .btn-primary,
body#checkout button.continue,
body#checkout input[type="submit"],
body#checkout button[name="confirm-addresses"],
body#checkout button[name="confirmDeliveryOption"],
body#checkout #payment-confirmation button {
  min-height: 52px !important;
  border: 1px solid #111 !important;
  background: #111 !important;
  color: #fff !important;
  padding: 0 30px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

/* Responsive */
@media (max-width: 900px) {
  body#checkout #content > .row,
  body#checkout .cart-grid,
  body#checkout .checkout-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  body#checkout .cart-grid-right,
  body#checkout #content > .row > [class*="col-md-4"],
  body#checkout #content > .row > [class*="col-sm-4"] {
    order: -1 !important;
  }

  body#checkout #js-checkout-summary,
  body#checkout .cart-summary {
    position: static !important;
  }
}

/* === CAPDECO_CHECKOUT_SHOPIFY_POLISH_END === */


/* === CAPDECO_EXPRESS_PAYMENT_MOCK_START === */

body#checkout .cd-express-payment-mock {
  margin: 0 0 30px !important;
  padding: 0 0 28px !important;
  border-bottom: 1px solid #e4dcd3 !important;
}

body#checkout .cd-express-payment-mock__title {
  margin: 0 0 14px !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

body#checkout .cd-express-payment-mock__buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

body#checkout .cd-express-payment-mock__btn {
  min-height: 50px !important;
  width: 100% !important;
  border-radius: 6px !important;
  border: 1px solid transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: default !important;
  box-shadow: none !important;
}

body#checkout .cd-express-payment-mock__btn--paypal {
  background: #ffc439 !important;
  border-color: #ffc439 !important;
  color: #111 !important;
}

body#checkout .cd-express-payment-mock__btn--apple {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body#checkout .cd-express-payment-mock__note {
  margin: 9px 0 0 !important;
  color: #8a8178 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body#checkout .cd-express-payment-mock__separator {
  position: relative !important;
  margin: 24px 0 0 !important;
  text-align: center !important;
  color: #8a8178 !important;
  font-size: 13px !important;
}

body#checkout .cd-express-payment-mock__separator::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: #e4dcd3 !important;
}

body#checkout .cd-express-payment-mock__separator span {
  position: relative !important;
  display: inline-block !important;
  background: #fff !important;
  padding: 0 12px !important;
}

@media (max-width: 520px) {
  body#checkout .cd-express-payment-mock__buttons {
    grid-template-columns: 1fr !important;
  }
}

/* === CAPDECO_EXPRESS_PAYMENT_MOCK_END === */


/* === CAPDECO_APPLEPAY_SVG_STYLE_START === */

body#checkout .cd-express-payment-mock__note {
  display: none !important;
}

body#checkout .cd-express-payment-mock__separator {
  margin-top: 26px !important;
}

body#checkout .cd-express-payment-mock__separator span {
  text-transform: lowercase !important;
}

body#checkout .cd-express-payment-mock__apple-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: #fff !important;
}

body#checkout .cd-express-payment-mock__apple-icon {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

body#checkout .cd-express-payment-mock__btn--apple {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* === CAPDECO_APPLEPAY_SVG_STYLE_END === */


/* CAPDECO remove express payment extra lines */
body#checkout .cd-express-payment-mock {
  border-bottom: 0 !important;
  padding-bottom: 16px !important;
}

body#checkout .cd-express-payment-mock__separator {
  display: none !important;
}

body#checkout .cd-express-payment-mock + .checkout-step {
  border-top: 0 !important;
}


/* CAPDECO checkout express separator + right grey panel */

body#checkout .cd-express-payment-mock__separator {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 18px 0 22px !important;
  color: #8a8478;
  font-size: 14px;
  line-height: 1;
  text-transform: lowercase;
}

body#checkout .cd-express-payment-mock__separator::before,
body#checkout .cd-express-payment-mock__separator::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #d8d2c7;
}

/* Colonne de droite façon Shopify */
@media (min-width: 1100px) {
  body#checkout #main {
    position: relative;
  }

  body#checkout #main::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 37%;
    background: #f5f2eb;
    border-left: 1px solid #e2dbcf;
    z-index: 0;
    pointer-events: none;
  }

  body#checkout #main .container,
  body#checkout #main .row,
  body#checkout #main #content,
  body#checkout #main #js-checkout-summary {
    position: relative;
    z-index: 1;
  }

  body#checkout #js-checkout-summary {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 28px 26px !important;
  }

  body#checkout #js-checkout-summary .card-block,
  body#checkout #js-checkout-summary .cart-summary-products,
  body#checkout #js-checkout-summary .cart-summary-line,
  body#checkout #js-checkout-summary .cart-summary-subtotals-container,
  body#checkout #js-checkout-summary .cart-summary-totals {
    background: transparent !important;
  }
}

/* Mobile / tablette : on garde un rendu simple */
@media (max-width: 1099px) {
  body#checkout #main::after {
    display: none !important;
  }
}

/* END CAPDECO checkout express separator + right grey panel */


/* CAPDECO checkout v52 - OU centré + fond gris côté droit complet */

/* Fond Shopify : gauche blanc, droite gris */
@media (min-width: 1100px) {
  body#checkout {
    background: linear-gradient(
      90deg,
      #fff 0,
      #fff calc(50% + 134px),
      #f5f2eb calc(50% + 134px),
      #f5f2eb 100%
    ) !important;
  }

  body#checkout #wrapper,
  body#checkout #main,
  body#checkout #content-wrapper,
  body#checkout #content,
  body#checkout #main .container,
  body#checkout #content > .row {
    background: transparent !important;
  }

  /* On neutralise l’ancien pseudo-fond qui ne prenait pas toute la zone */
  body#checkout #main::after {
    display: none !important;
    content: none !important;
  }

  /* Le résumé ne doit plus être une carte grise, il repose sur le fond gris */
  body#checkout .cart-grid-right,
  body#checkout #js-checkout-summary,
  body#checkout .cart-summary {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body#checkout #js-checkout-summary,
  body#checkout .cart-summary {
    padding: 28px 0 !important;
  }
}

/* Mobile/tablette : fond blanc simple */
@media (max-width: 1099px) {
  body#checkout {
    background: #fff !important;
  }
}

/* Séparateur OU centré */
body#checkout .cd-express-payment-mock__separator {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 24px 0 34px !important;
  color: #8a8478 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: lowercase !important;
}

body#checkout .cd-express-payment-mock__separator::before,
body#checkout .cd-express-payment-mock__separator::after {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  background: #d8d2c7 !important;
}

body#checkout .cd-express-payment-mock__separator span {
  display: block !important;
  padding: 0 4px !important;
  background: transparent !important;
  color: #8a8478 !important;
}


/* CAPDECO checkout separator OU final override */
body#checkout .cd-express-payment-mock__separator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 22px 0 36px !important;
  padding: 0 !important;
  color: #8a8478 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: lowercase !important;
  background: transparent !important;
}

body#checkout .cd-express-payment-mock__separator::before,
body#checkout .cd-express-payment-mock__separator::after {
  content: "" !important;
  display: block !important;
  flex: 1 1 auto !important;
  height: 1px !important;
  background: #d8d2c7 !important;
}

body#checkout .cd-express-payment-mock__separator i {
  display: none !important;
}

body#checkout .cd-express-payment-mock__separator span {
  display: inline-block !important;
  flex: 0 0 auto !important;
  min-width: auto !important;
  margin: 0 !important;
  padding: 0 4px !important;
  background: #fff !important;
  color: #8a8478 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: lowercase !important;
  position: relative !important;
  top: 0 !important;
}


/* CAPDECO checkout OU final: trait / ou / trait */
html body#checkout .cd-express-payment-mock .cd-express-payment-mock__separator,
html body#checkout .cd-express-payment-mock__separator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 24px 0 36px !important;
  padding: 0 !important;
  position: static !important;
  color: #8a8478 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-align: center !important;
  background: transparent !important;
}

html body#checkout .cd-express-payment-mock__separator::before,
html body#checkout .cd-express-payment-mock__separator::after {
  display: none !important;
  content: none !important;
}

html body#checkout .cd-express-payment-mock__separator i {
  display: none !important;
}

html body#checkout .cd-express-payment-mock__separator > .cd-express-payment-mock__sep-line {
  display: block !important;
  flex: 1 1 0 !important;
  height: 1px !important;
  min-width: 0 !important;
  background: #d8d2c7 !important;
}

html body#checkout .cd-express-payment-mock__separator > .cd-express-payment-mock__sep-label {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 2px !important;
  color: #8a8478 !important;
  background: #fff !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-transform: lowercase !important;
  position: static !important;
}


/* CAPDECO checkout - hide useless Modifier links */
body#checkout .checkout-step .step-edit,
body#checkout .checkout-step a.step-edit {
  display: none !important;
}


/* CAPDECO checkout - reduce space after express payment */
body#checkout .cd-express-payment-mock {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

body#checkout .cd-express-payment-mock__separator {
  margin: 20px 0 18px !important;
}

body#checkout .cd-express-payment-mock + .checkout-step {
  padding-top: 12px !important;
}

body#checkout #checkout-personal-information-step {
  margin-top: 0 !important;
}


/* CAPDECO checkout - express title centered + tighter spacing */
body#checkout .cd-express-payment-mock__title {
  text-align: center !important;
  width: 100% !important;
  margin: 0 0 14px !important;
}

body#checkout .cd-express-payment-mock {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body#checkout .cd-express-payment-mock__separator {
  margin: 18px 0 10px !important;
}

body#checkout .cd-express-payment-mock + .checkout-step,
body#checkout #checkout-personal-information-step {
  padding-top: 4px !important;
  margin-top: 0 !important;
}


/* CAPDECO checkout form UX v59 */

/* Ne jamais afficher les tab panes inactifs */
body#checkout .tab-content > .tab-pane:not(.active) {
  display: none !important;
}

body#checkout .tab-content > .tab-pane.active {
  display: block !important;
}

/* Formulaire invité en grille */
body#checkout #customer-form > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: 14px !important;
  row-gap: 16px !important;
}

/* Par défaut tous les champs prennent toute la largeur */
body#checkout #customer-form > div > .form-group,
body#checkout #customer-form > div > .field-password-policy,
body#checkout #customer-form > div > .form-informations {
  grid-column: 1 / -1 !important;
  margin-bottom: 0 !important;
}

/* E-mail en premier */
body#checkout #customer-form > div > .form-group:has(#field-email) {
  order: 1 !important;
  grid-column: 1 / -1 !important;
}

/* Prénom / Nom sur la même ligne */
body#checkout #customer-form > div > .form-group:has(#field-firstname) {
  order: 2 !important;
  grid-column: 1 !important;
}

body#checkout #customer-form > div > .form-group:has(#field-lastname) {
  order: 3 !important;
  grid-column: 2 !important;
}

/* Checkboxes après les champs principaux */
body#checkout #customer-form > div > .form-group:has(input[type="checkbox"]) {
  order: 20 !important;
  grid-column: 1 / -1 !important;
}

/* Bouton continuer après */
body#checkout #customer-form .form-footer {
  margin-top: 22px !important;
}

/* Masquer champs inutiles dans le tunnel */
body#checkout #customer-form .form-group:has(#field-id_gender),
body#checkout #customer-form .form-group:has(#field-company),
body#checkout #customer-form .form-group:has(#field-siret),
body#checkout #customer-form .form-group:has(#field-birthday),
body#checkout #customer-form .field-password-policy,
body#checkout #customer-form .form-informations {
  display: none !important;
}

/* Masquer optin partenaire et newsletter pour alléger la maquette */
body#checkout #customer-form .form-group:has(input[name="optin"]),
body#checkout #customer-form .form-group:has(input[name="newsletter"]) {
  display: none !important;
}

/* Supprimer les messages d'aide inutiles sous prénom/nom */
body#checkout #customer-form .form-group:has(#field-firstname) .form-control-comment,
body#checkout #customer-form .form-group:has(#field-lastname) .form-control-comment {
  display: none !important;
}

/* Labels/champs plus propres */
body#checkout #customer-form label,
body#checkout #login-form label {
  margin-bottom: 7px !important;
}

body#checkout #customer-form input.form-control,
body#checkout #login-form input.form-control {
  height: 52px !important;
  min-height: 52px !important;
}

/* Checkboxes légales propres */
body#checkout #customer-form .custom-checkbox label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body#checkout #customer-form .custom-checkbox input[type="checkbox"] {
  flex: 0 0 auto !important;
  margin-top: 2px !important;
}

/* Masquer le long paragraphe RGPD, garder l'intitulé */
body#checkout #customer-form .form-group:has(input[name="customer_privacy"]) em {
  display: none !important;
}

/* Bouton continuer plus propre */
body#checkout #customer-form .form-footer,
body#checkout #login-form .form-footer {
  display: flex !important;
  justify-content: flex-start !important;
  padding-top: 6px !important;
}

body#checkout #customer-form button.continue,
body#checkout #login-form button.continue {
  min-width: 170px !important;
}

/* Responsive */
@media (max-width: 640px) {
  body#checkout #customer-form > div {
    grid-template-columns: 1fr !important;
  }

  body#checkout #customer-form > div > .form-group:has(#field-firstname),
  body#checkout #customer-form > div > .form-group:has(#field-lastname) {
    grid-column: 1 / -1 !important;
  }
}


/* CAPDECO checkout - polish address and delivery steps */

/* Masquer le "Fermer" parasite du code promo dans le résumé */
body#checkout #js-checkout-summary .cancel-promo,
body#checkout #js-checkout-summary .promo-code-button.cancel-promo,
body#checkout #js-checkout-summary a[data-target="#promo-code"] {
  display: none !important;
}

/* Étapes suivantes */
body#checkout #checkout-addresses-step,
body#checkout #checkout-delivery-step,
body#checkout #checkout-payment-step {
  padding-top: 28px !important;
  padding-bottom: 30px !important;
}

body#checkout #checkout-addresses-step .content,
body#checkout #checkout-delivery-step .content,
body#checkout #checkout-payment-step .content {
  max-width: 100% !important;
}

/* Texte d’intro adresse */
body#checkout #checkout-addresses-step p {
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Bloc adresse */
body#checkout .address-selector,
body#checkout .js-address-selector {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin: 20px 0 18px !important;
}

body#checkout .address-item,
body#checkout article.address-item {
  display: block !important;
  border: 1px solid #ded6cc !important;
  background: #fff !important;
  padding: 18px 20px !important;
  margin: 0 !important;
  color: #111 !important;
}

body#checkout .address-item.selected,
body#checkout article.address-item.selected {
  border-color: #111 !important;
  box-shadow: inset 0 0 0 1px #111 !important;
}

/* Radio adresse */
body#checkout .address-item .custom-radio,
body#checkout .address-item input[type="radio"] {
  margin-right: 8px !important;
}

body#checkout .address-alias,
body#checkout .address-item .h4 {
  display: inline-block !important;
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Texte adresse */
body#checkout .address,
body#checkout .address-item address {
  margin: 8px 0 0 !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-style: normal !important;
}

/* Footer adresse */
body#checkout .address-footer {
  display: flex !important;
  gap: 18px !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid #eee7df !important;
}

body#checkout .address-footer a,
body#checkout a[data-link-action="edit-address"],
body#checkout a[data-link-action="delete-address"] {
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Ajouter nouvelle adresse / adresse facturation */
body#checkout .add-address,
body#checkout .js-address-form .add-address,
body#checkout a[data-link-action="add-address"] {
  display: inline-flex !important;
  margin: 16px 0 14px !important;
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body#checkout .js-address-form .custom-checkbox,
body#checkout #checkout-addresses-step .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 18px 0 !important;
}

/* Options livraison */
body#checkout .delivery-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin: 20px 0 20px !important;
}

body#checkout .delivery-option {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 14px !important;
  align-items: center !important;
  border: 1px solid #ded6cc !important;
  background: #fff !important;
  padding: 16px 18px !important;
  margin: 0 !important;
}

body#checkout .delivery-option input[type="radio"] {
  margin: 0 !important;
}

body#checkout .delivery-option label {
  margin: 0 !important;
}

body#checkout .carrier-name,
body#checkout .delivery-option .carrier-name {
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body#checkout .carrier-delay,
body#checkout .delivery-option .carrier-delay {
  display: block !important;
  margin-top: 4px !important;
  color: #6f675f !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body#checkout .carrier-price,
body#checkout .delivery-option .carrier-price {
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* Logos transporteurs */
body#checkout .delivery-option img {
  max-width: 58px !important;
  max-height: 34px !important;
  object-fit: contain !important;
}

/* Texte additionnel livraison */
body#checkout .delivery-options-list,
body#checkout .order-options {
  margin-top: 18px !important;
}

body#checkout .order-options label,
body#checkout .delivery-options-list label {
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Boutons étapes */
body#checkout #checkout-addresses-step button.continue,
body#checkout #checkout-delivery-step button.continue,
body#checkout #checkout-payment-step button.continue {
  margin-top: 18px !important;
}

/* Petits nettoyages Material Icons texte */
body#checkout #checkout-addresses-step .material-icons,
body#checkout #checkout-delivery-step .material-icons {
  display: none !important;
}


/* CAPDECO checkout - final payment polish */

/* Message commande livraison */
body#checkout #checkout-delivery-step textarea,
body#checkout textarea[name="delivery_message"] {
  min-height: 92px !important;
  border: 1px solid #ded6cc !important;
  background: #fff !important;
  padding: 14px !important;
  resize: vertical !important;
}

body#checkout #checkout-delivery-step .form-group,
body#checkout #checkout-delivery-step .delivery-options-list {
  margin-top: 18px !important;
}

/* Bloc paiement */
body#checkout #checkout-payment-step {
  padding-top: 30px !important;
}

body#checkout #checkout-payment-step .content {
  max-width: 100% !important;
}

/* Nettoie le rendu "Sélectionnés" */
body#checkout #checkout-payment-step .payment-options {
  display: grid !important;
  gap: 14px !important;
  margin: 22px 0 22px !important;
  padding: 0 !important;
}

body#checkout #checkout-payment-step .payment-options > * {
  margin: 0 !important;
}

/* Option paiement en carte */
body#checkout #checkout-payment-step .payment-option {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  border: 1px solid #111 !important;
  background: #fff !important;
  padding: 18px 20px !important;
  margin: 0 !important;
}

body#checkout #checkout-payment-step .payment-option input[type="radio"] {
  margin: 0 !important;
  width: 18px !important;
  height: 18px !important;
  accent-color: #111 !important;
}

body#checkout #checkout-payment-step .payment-option label {
  margin: 0 !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/* Texte explicatif virement */
body#checkout #checkout-payment-step .payment-option + div,
body#checkout #checkout-payment-step .payment-option + section,
body#checkout #checkout-payment-step .js-payment-option-form,
body#checkout #checkout-payment-step .payment-option-form {
  border: 1px solid #e4dcd3 !important;
  border-top: 0 !important;
  background: #faf8f5 !important;
  padding: 18px 20px !important;
  margin: -14px 0 22px !important;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

body#checkout #checkout-payment-step p {
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Conditions générales */
body#checkout #conditions-to-approve,
body#checkout .conditions-to-approve,
body#checkout #checkout-payment-step ul {
  margin: 22px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout #conditions-to-approve li,
body#checkout .conditions-to-approve li,
body#checkout #checkout-payment-step li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #conditions-to-approve li::marker,
body#checkout .conditions-to-approve li::marker,
body#checkout #checkout-payment-step li::marker {
  content: "" !important;
}

body#checkout .condition-label,
body#checkout #conditions-to-approve label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body#checkout #conditions-to-approve input[type="checkbox"],
body#checkout .conditions-to-approve input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin: 1px 0 0 !important;
  accent-color: #111 !important;
}

body#checkout #conditions-to-approve a,
body#checkout .conditions-to-approve a,
body#checkout .condition-label a {
  color: #111 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Bouton commander final */
body#checkout #payment-confirmation,
body#checkout .payment-confirmation {
  margin-top: 24px !important;
}

body#checkout #payment-confirmation button,
body#checkout .payment-confirmation button,
body#checkout #checkout-payment-step button[type="submit"] {
  min-width: 190px !important;
  height: 54px !important;
  border: 1px solid #111 !important;
  background: #111 !important;
  color: #fff !important;
  padding: 0 34px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body#checkout #payment-confirmation button:hover,
body#checkout .payment-confirmation button:hover {
  background: #2b2927 !important;
  border-color: #2b2927 !important;
}

/* Espacement final entre étapes */
body#checkout #checkout-payment-step {
  border-bottom: 1px solid #e4dcd3 !important;
  margin-bottom: 60px !important;
}

/* Petit nettoyage texte parasite éventuel */
body#checkout #checkout-payment-step .material-icons {
  display: none !important;
}


/* ===== Checkout paiement : CGV alignées + nettoyage ===== */

/* bloc CGV : plus de puce / retour à la ligne bizarre */
body#checkout #checkout-payment-step .conditions-to-approve,
body#checkout #checkout-payment-step #conditions-to-approve {
  margin: 18px 0 22px !important;
  padding: 0 !important;
}

body#checkout #checkout-payment-step .conditions-to-approve ul,
body#checkout #checkout-payment-step #conditions-to-approve ul,
body#checkout #checkout-payment-step .conditions-to-approve li,
body#checkout #checkout-payment-step #conditions-to-approve li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* case + texte sur la même ligne */
body#checkout #checkout-payment-step .custom-checkbox,
body#checkout #checkout-payment-step .condition-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
}

body#checkout #checkout-payment-step .custom-checkbox input[type="checkbox"],
body#checkout #checkout-payment-step .condition-label input[type="checkbox"] {
  margin: 3px 0 0 0 !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

body#checkout #checkout-payment-step .custom-checkbox label,
body#checkout #checkout-payment-step .condition-label label,
body#checkout #checkout-payment-step .custom-checkbox span,
body#checkout #checkout-payment-step .condition-label span {
  margin: 0 !important;
  display: inline !important;
  line-height: 1.45 !important;
  font-size: 14px !important;
}

/* enlève le petit point / puce parasite éventuel */
body#checkout #checkout-payment-step li::before,
body#checkout #checkout-payment-step li::marker {
  content: none !important;
}

/* masque "Sélectionnés" dans le bloc moyen de paiement */
body#checkout #checkout-payment-step .payment-option .h6,
body#checkout #checkout-payment-step .payment-option .payment-option-title {
  display: none !important;
}


/* ===== Checkout paiement : CGV alignées + nettoyage ===== */

/* bloc CGV : plus de puce / retour à la ligne bizarre */
body#checkout #checkout-payment-step .conditions-to-approve,
body#checkout #checkout-payment-step #conditions-to-approve {
  margin: 18px 0 22px !important;
  padding: 0 !important;
}

body#checkout #checkout-payment-step .conditions-to-approve ul,
body#checkout #checkout-payment-step #conditions-to-approve ul,
body#checkout #checkout-payment-step .conditions-to-approve li,
body#checkout #checkout-payment-step #conditions-to-approve li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* case + texte sur la même ligne */
body#checkout #checkout-payment-step .custom-checkbox,
body#checkout #checkout-payment-step .condition-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
}

body#checkout #checkout-payment-step .custom-checkbox input[type="checkbox"],
body#checkout #checkout-payment-step .condition-label input[type="checkbox"] {
  margin: 3px 0 0 0 !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

body#checkout #checkout-payment-step .custom-checkbox label,
body#checkout #checkout-payment-step .condition-label label,
body#checkout #checkout-payment-step .custom-checkbox span,
body#checkout #checkout-payment-step .condition-label span {
  margin: 0 !important;
  display: inline !important;
  line-height: 1.45 !important;
  font-size: 14px !important;
}

/* enlève le petit point / puce parasite éventuel */
body#checkout #checkout-payment-step li::before,
body#checkout #checkout-payment-step li::marker {
  content: none !important;
}

/* masque "Sélectionnés" dans le bloc moyen de paiement */
body#checkout #checkout-payment-step .payment-option .h6,
body#checkout #checkout-payment-step .payment-option .payment-option-title {
  display: none !important;
}


/* CAPDECO checkout payment final clean */

/* Carte moyen de paiement */
body#checkout #checkout-payment-step .payment-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 70px !important;
  border: 1px solid #111 !important;
  background: #fff !important;
  padding: 18px 20px !important;
}

body#checkout #checkout-payment-step .payment-option label {
  margin: 0 !important;
  color: #111 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* CGV : case + phrase sur la même ligne */
body#checkout #checkout-payment-step #conditions-to-approve,
body#checkout #checkout-payment-step .conditions-to-approve {
  margin: 22px 0 24px !important;
  padding: 0 !important;
}

body#checkout #checkout-payment-step #conditions-to-approve ul,
body#checkout #checkout-payment-step .conditions-to-approve ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout #checkout-payment-step #conditions-to-approve li,
body#checkout #checkout-payment-step .conditions-to-approve li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout #checkout-payment-step #conditions-to-approve li::before,
body#checkout #checkout-payment-step #conditions-to-approve li::marker,
body#checkout #checkout-payment-step .conditions-to-approve li::before,
body#checkout #checkout-payment-step .conditions-to-approve li::marker {
  display: none !important;
  content: none !important;
}

body#checkout #checkout-payment-step #conditions-to-approve .float-xs-left,
body#checkout #checkout-payment-step .conditions-to-approve .float-xs-left {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

body#checkout #checkout-payment-step #conditions-to-approve .condition-label,
body#checkout #checkout-payment-step .conditions-to-approve .condition-label {
  display: block !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #checkout-payment-step #conditions-to-approve label,
body#checkout #checkout-payment-step .conditions-to-approve label {
  display: inline !important;
  margin: 0 !important;
  color: #111 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body#checkout #checkout-payment-step #conditions-to-approve input[type="checkbox"],
body#checkout #checkout-payment-step .conditions-to-approve input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  accent-color: #111 !important;
}

body#checkout #checkout-payment-step #conditions-to-approve a,
body#checkout #checkout-payment-step .conditions-to-approve a {
  color: #111 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Bouton commander */
body#checkout #checkout-payment-step #payment-confirmation,
body#checkout #checkout-payment-step .payment-confirmation {
  margin-top: 22px !important;
}

/* CAPDECO_FOOTER_PAGES_POLISH_START */

/*
Pages footer concernées :
- Promotions
- Nouveaux produits
- Meilleures ventes
- Suivi de commande invité
- Connexion
- Création de compte
*/

/* Fond général des pages simples */
body#prices-drop,
body#new-products,
body#best-sales,
body#guest-tracking,
body#authentication,
body#registration {
  background: #f7f3ed;
}

body#prices-drop #wrapper,
body#new-products #wrapper,
body#best-sales #wrapper,
body#guest-tracking #wrapper,
body#authentication #wrapper,
body#registration #wrapper {
  background: #f7f3ed;
  padding: 42px 20px 72px;
}

body#prices-drop #wrapper > .container,
body#new-products #wrapper > .container,
body#best-sales #wrapper > .container,
body#guest-tracking #wrapper > .container,
body#authentication #wrapper > .container,
body#registration #wrapper > .container {
  max-width: 1220px;
  margin: 0 auto;
}

/* Breadcrumb discret */
body#prices-drop .breadcrumb,
body#new-products .breadcrumb,
body#best-sales .breadcrumb,
body#guest-tracking .breadcrumb,
body#authentication .breadcrumb,
body#registration .breadcrumb,
body#prices-drop nav.breadcrumb,
body#new-products nav.breadcrumb,
body#best-sales nav.breadcrumb,
body#guest-tracking nav.breadcrumb,
body#authentication nav.breadcrumb,
body#registration nav.breadcrumb {
  margin: 0 0 28px;
  padding: 0;
  background: transparent;
  color: rgba(17, 17, 17, .52);
  font-size: 13px;
}

body#prices-drop .breadcrumb a,
body#new-products .breadcrumb a,
body#best-sales .breadcrumb a,
body#guest-tracking .breadcrumb a,
body#authentication .breadcrumb a,
body#registration .breadcrumb a {
  color: rgba(17, 17, 17, .55);
  text-decoration: none;
}

body#prices-drop .breadcrumb a:hover,
body#new-products .breadcrumb a:hover,
body#best-sales .breadcrumb a:hover,
body#guest-tracking .breadcrumb a:hover,
body#authentication .breadcrumb a:hover,
body#registration .breadcrumb a:hover {
  color: #111;
}

/* Titres */
body#prices-drop h1,
body#new-products h1,
body#best-sales h1,
body#guest-tracking h1,
body#authentication h1,
body#registration h1,
body#prices-drop .page-header h1,
body#new-products .page-header h1,
body#best-sales .page-header h1,
body#guest-tracking .page-header h1,
body#authentication .page-header h1,
body#registration .page-header h1 {
  margin: 0 0 24px;
  color: #111;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.04em;
}

/* Intro / textes */
body#prices-drop #content p,
body#new-products #content p,
body#best-sales #content p,
body#guest-tracking #content p,
body#authentication #content p,
body#registration #content p,
body#prices-drop .page-content p,
body#new-products .page-content p,
body#best-sales .page-content p,
body#guest-tracking .page-content p,
body#authentication .page-content p,
body#registration .page-content p {
  color: rgba(17, 17, 17, .68);
  font-size: 15px;
  line-height: 1.65;
}

/* =========================
   Pages produits footer
   Promotions / Nouveaux / Meilleures ventes
   ========================= */

body#prices-drop #content,
body#new-products #content,
body#best-sales #content {
  width: 100%;
}

body#prices-drop .page-header,
body#new-products .page-header,
body#best-sales .page-header {
  max-width: 760px;
  margin-bottom: 34px;
}

body#prices-drop #js-product-list-header,
body#new-products #js-product-list-header,
body#best-sales #js-product-list-header {
  margin-bottom: 28px;
}

/* Barre de tri / nombre de produits */
body#prices-drop .products-selection,
body#new-products .products-selection,
body#best-sales .products-selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 28px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .04);
}

body#prices-drop .products-selection .sort-by,
body#new-products .products-selection .sort-by,
body#best-sales .products-selection .sort-by,
body#prices-drop .products-selection .total-products,
body#new-products .products-selection .total-products,
body#best-sales .products-selection .total-products {
  color: rgba(17, 17, 17, .64);
  font-size: 13px;
}

/* Grille produits */
body#prices-drop #products .products,
body#new-products #products .products,
body#best-sales #products .products,
body#prices-drop .products,
body#new-products .products,
body#best-sales .products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 26px;
  margin: 0;
}

/* Cartes produits */
body#prices-drop .product-miniature,
body#new-products .product-miniature,
body#best-sales .product-miniature {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body#prices-drop .product-miniature .thumbnail-container,
body#new-products .product-miniature .thumbnail-container,
body#best-sales .product-miniature .thumbnail-container {
  width: 100%;
  height: auto;
  min-height: 100%;
  margin: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body#prices-drop .product-miniature:hover .thumbnail-container,
body#new-products .product-miniature:hover .thumbnail-container,
body#best-sales .product-miniature:hover .thumbnail-container {
  transform: translateY(-3px);
  border-color: rgba(0, 0, 0, .14);
  box-shadow: 0 20px 44px rgba(0, 0, 0, .075);
}

body#prices-drop .product-miniature .thumbnail-top,
body#new-products .product-miniature .thumbnail-top,
body#best-sales .product-miniature .thumbnail-top {
  background: #f9f7f3;
  padding: 18px;
}

body#prices-drop .product-miniature img,
body#new-products .product-miniature img,
body#best-sales .product-miniature img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

body#prices-drop .product-miniature .product-description,
body#new-products .product-miniature .product-description,
body#best-sales .product-miniature .product-description {
  position: static;
  width: auto;
  height: auto;
  padding: 18px 18px 20px;
  background: #fff;
}

body#prices-drop .product-miniature .product-title,
body#new-products .product-miniature .product-title,
body#best-sales .product-miniature .product-title {
  margin: 0 0 10px;
  text-align: left;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 500;
}

body#prices-drop .product-miniature .product-title a,
body#new-products .product-miniature .product-title a,
body#best-sales .product-miniature .product-title a {
  color: #111;
  text-decoration: none;
}

body#prices-drop .product-miniature .product-price-and-shipping,
body#new-products .product-miniature .product-price-and-shipping,
body#best-sales .product-miniature .product-price-and-shipping {
  text-align: left;
  color: #111;
  font-size: 14px;
  font-weight: 700;
}

body#prices-drop .product-miniature .regular-price,
body#new-products .product-miniature .regular-price,
body#best-sales .product-miniature .regular-price {
  color: rgba(17, 17, 17, .42);
  font-size: 13px;
}

body#prices-drop .highlighted-informations,
body#new-products .highlighted-informations,
body#best-sales .highlighted-informations {
  display: none !important;
}

/* Pagination */
body#prices-drop .pagination,
body#new-products .pagination,
body#best-sales .pagination {
  margin-top: 42px;
}

body#prices-drop .pagination a,
body#new-products .pagination a,
body#best-sales .pagination a,
body#prices-drop .pagination span,
body#new-products .pagination span,
body#best-sales .pagination span {
  border-radius: 0;
}

/* =========================
   Pages compte footer
   Suivi commande / Connexion / Création compte
   ========================= */

body#guest-tracking #content,
body#authentication #content,
body#registration #content,
body#guest-tracking .page-content,
body#authentication .page-content,
body#registration .page-content {
  max-width: 650px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .06);
  padding: 46px 48px 44px;
}

body#authentication .login-form,
body#authentication .register-form,
body#authentication #login-form,
body#authentication #customer-form,
body#registration .register-form,
body#registration #customer-form,
body#guest-tracking form {
  max-width: 500px;
  margin: 0;
}

/* Nettoyage colonnes Bootstrap dans formulaires */
body#guest-tracking .form-control-label,
body#authentication .form-control-label,
body#registration .form-control-label,
body#guest-tracking .col-md-3,
body#authentication .col-md-3,
body#registration .col-md-3,
body#guest-tracking .col-md-6,
body#authentication .col-md-6,
body#registration .col-md-6,
body#guest-tracking .col-md-9,
body#authentication .col-md-9,
body#registration .col-md-9 {
  float: none;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body#guest-tracking .form-group,
body#authentication .form-group,
body#registration .form-group {
  margin-bottom: 18px;
}

body#guest-tracking label,
body#authentication label,
body#registration label {
  display: block;
  margin: 0 0 8px;
  color: #111;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Champs formulaires */
body#guest-tracking input[type="text"],
body#guest-tracking input[type="email"],
body#guest-tracking input[type="password"],
body#authentication input[type="text"],
body#authentication input[type="email"],
body#authentication input[type="password"],
body#registration input[type="text"],
body#registration input[type="email"],
body#registration input[type="password"],
body#guest-tracking .form-control,
body#authentication .form-control,
body#registration .form-control {
  width: 100%;
  height: 52px;
  padding: 0 15px;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: 0;
  background: #fff;
  color: #111;
  font-size: 15px;
  outline: none;
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

body#guest-tracking input:focus,
body#authentication input:focus,
body#registration input:focus,
body#guest-tracking .form-control:focus,
body#authentication .form-control:focus,
body#registration .form-control:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, .06);
}

/* Aides / exemple */
body#guest-tracking .form-control-comment,
body#authentication .form-control-comment,
body#registration .form-control-comment,
body#guest-tracking .help-block,
body#authentication .help-block,
body#registration .help-block,
body#guest-tracking small,
body#authentication small,
body#registration small {
  display: block;
  margin-top: 7px;
  color: rgba(17, 17, 17, .55);
  font-size: 13px;
  line-height: 1.4;
}

/* Boutons */
body#guest-tracking button[type="submit"],
body#guest-tracking input[type="submit"],
body#guest-tracking .btn-primary,
body#authentication button[type="submit"],
body#authentication input[type="submit"],
body#authentication .btn-primary,
body#registration button[type="submit"],
body#registration input[type="submit"],
body#registration .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  height: 52px;
  margin-top: 8px;
  padding: 0 28px;
  border: 1px solid #111;
  border-radius: 0;
  background: #111;
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

body#guest-tracking button[type="submit"]:hover,
body#guest-tracking input[type="submit"]:hover,
body#guest-tracking .btn-primary:hover,
body#authentication button[type="submit"]:hover,
body#authentication input[type="submit"]:hover,
body#authentication .btn-primary:hover,
body#registration button[type="submit"]:hover,
body#registration input[type="submit"]:hover,
body#registration .btn-primary:hover {
  background: #fff;
  color: #111 !important;
  transform: translateY(-1px);
}

/* Liens secondaires connexion */
body#authentication .forgot-password,
body#authentication .no-account,
body#registration .forgot-password,
body#registration .no-account {
  margin-top: 18px;
  font-size: 14px;
}

body#authentication .forgot-password a,
body#authentication .no-account a,
body#registration .forgot-password a,
body#registration .no-account a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Cases à cocher propres */
body#authentication input[type="checkbox"],
body#registration input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: middle;
}

body#authentication .custom-checkbox,
body#registration .custom-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 14px 0;
  color: rgba(17, 17, 17, .68);
  font-size: 13px;
  line-height: 1.45;
}

/* Alertes */
body#guest-tracking .alert,
body#authentication .alert,
body#registration .alert,
body#prices-drop .alert,
body#new-products .alert,
body#best-sales .alert {
  border-radius: 0;
  border: 1px solid rgba(0, 0, 0, .12);
  box-shadow: none;
}

/* Responsive */
@media (max-width: 767px) {
  body#prices-drop #wrapper,
  body#new-products #wrapper,
  body#best-sales #wrapper,
  body#guest-tracking #wrapper,
  body#authentication #wrapper,
  body#registration #wrapper {
    padding: 28px 16px 48px;
  }

  body#prices-drop h1,
  body#new-products h1,
  body#best-sales h1,
  body#guest-tracking h1,
  body#authentication h1,
  body#registration h1 {
    font-size: 34px;
  }

  body#prices-drop .products-selection,
  body#new-products .products-selection,
  body#best-sales .products-selection {
    display: block;
    padding: 16px;
  }

  body#prices-drop #products .products,
  body#new-products #products .products,
  body#best-sales #products .products,
  body#prices-drop .products,
  body#new-products .products,
  body#best-sales .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  body#guest-tracking #content,
  body#authentication #content,
  body#registration #content,
  body#guest-tracking .page-content,
  body#authentication .page-content,
  body#registration .page-content {
    max-width: none;
    padding: 32px 22px 30px;
  }

  body#guest-tracking button[type="submit"],
  body#guest-tracking input[type="submit"],
  body#guest-tracking .btn-primary,
  body#authentication button[type="submit"],
  body#authentication input[type="submit"],
  body#authentication .btn-primary,
  body#registration button[type="submit"],
  body#registration input[type="submit"],
  body#registration .btn-primary {
    width: 100%;
  }
}

@media (max-width: 420px) {
  body#prices-drop #products .products,
  body#new-products #products .products,
  body#best-sales #products .products,
  body#prices-drop .products,
  body#new-products .products,
  body#best-sales .products {
    grid-template-columns: 1fr;
  }
}

/* CAPDECO_FOOTER_PAGES_POLISH_END */

/* CAPDECO_FOOTER_PRODUCT_TREE_CLEAN_CSS_START */

body#prices-drop.capdeco-footer-products-cleaned #content-wrapper,
body#new-products.capdeco-footer-products-cleaned #content-wrapper,
body#best-sales.capdeco-footer-products-cleaned #content-wrapper,
body#prices-drop.capdeco-footer-products-cleaned #content,
body#new-products.capdeco-footer-products-cleaned #content,
body#best-sales.capdeco-footer-products-cleaned #content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

body#prices-drop.capdeco-footer-products-cleaned .page-header,
body#new-products.capdeco-footer-products-cleaned .page-header,
body#best-sales.capdeco-footer-products-cleaned .page-header {
  margin-top: 0 !important;
}

body#prices-drop.capdeco-footer-products-cleaned h1,
body#new-products.capdeco-footer-products-cleaned h1,
body#best-sales.capdeco-footer-products-cleaned h1 {
  margin-top: 0 !important;
}

/* CAPDECO_FOOTER_PRODUCT_TREE_CLEAN_CSS_END */

/* CAPDECO_FOOTER_PRODUCTS_PAGER_FORCE_CSS_START */

/* Pages produits footer */
body#prices-drop #main,
body#new-products #main,
body#best-sales #main {
  max-width: 1120px;
  margin: 0 auto;
}

/* Enlève les carrés d'icônes cassées dans la zone contenu */
body#prices-drop #wrapper .material-icons,
body#new-products #wrapper .material-icons,
body#best-sales #wrapper .material-icons {
  display: none !important;
}

/* Grille produits */
body#prices-drop #js-product-list .products,
body#new-products #js-product-list .products,
body#best-sales #js-product-list .products,
body#prices-drop #products .products,
body#new-products #products .products,
body#best-sales #products .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#prices-drop .product-miniature,
body#new-products .product-miniature,
body#best-sales .product-miniature {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#prices-drop .product-miniature .thumbnail-container,
body#new-products .product-miniature .thumbnail-container,
body#best-sales .product-miniature .thumbnail-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .07) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045) !important;
}

body#prices-drop .product-miniature .thumbnail-top,
body#new-products .product-miniature .thumbnail-top,
body#best-sales .product-miniature .thumbnail-top {
  aspect-ratio: 1 / 1;
  background: #fbfaf7 !important;
}

/* Flags promo en puces : masqués */
body#prices-drop .product-miniature .product-flags,
body#prices-drop .product-miniature ul.product-flags,
body#prices-drop .product-miniature .discount-percentage,
body#prices-drop .product-miniature .discount-amount {
  display: none !important;
}

/* Pagination native PrestaShop : force large, pas seulement #js-product-list-bottom */
body#prices-drop nav.pagination,
body#new-products nav.pagination,
body#best-sales nav.pagination,
body#prices-drop .pagination,
body#new-products .pagination,
body#best-sales .pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 44px auto 0 !important;
  padding: 22px 26px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .07) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045) !important;
  color: rgba(17, 17, 17, .68) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Colonnes Bootstrap dans la pagination */
body#prices-drop nav.pagination > *,
body#new-products nav.pagination > *,
body#best-sales nav.pagination > *,
body#prices-drop .pagination > *,
body#new-products .pagination > *,
body#best-sales .pagination > * {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Liste pagination horizontale */
body#prices-drop nav.pagination ul,
body#new-products nav.pagination ul,
body#best-sales nav.pagination ul,
body#prices-drop .pagination ul,
body#new-products .pagination ul,
body#best-sales .pagination ul,
body#prices-drop .page-list,
body#new-products .page-list,
body#best-sales .page-list {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#prices-drop nav.pagination li,
body#new-products nav.pagination li,
body#best-sales nav.pagination li,
body#prices-drop .pagination li,
body#new-products .pagination li,
body#best-sales .pagination li,
body#prices-drop .page-list li,
body#new-products .page-list li,
body#best-sales .page-list li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#prices-drop nav.pagination li::marker,
body#new-products nav.pagination li::marker,
body#best-sales nav.pagination li::marker,
body#prices-drop .pagination li::marker,
body#new-products .pagination li::marker,
body#best-sales .pagination li::marker {
  content: "" !important;
}

/* Boutons pagination */
body#prices-drop nav.pagination a,
body#new-products nav.pagination a,
body#best-sales nav.pagination a,
body#prices-drop nav.pagination span,
body#new-products nav.pagination span,
body#best-sales nav.pagination span,
body#prices-drop .pagination a,
body#new-products .pagination a,
body#best-sales .pagination a,
body#prices-drop .pagination span,
body#new-products .pagination span,
body#best-sales .pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(0, 0, 0, .14) !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body#prices-drop nav.pagination .current a,
body#new-products nav.pagination .current a,
body#best-sales nav.pagination .current a,
body#prices-drop nav.pagination .current span,
body#new-products nav.pagination .current span,
body#best-sales nav.pagination .current span,
body#prices-drop .pagination .current a,
body#new-products .pagination .current a,
body#best-sales .pagination .current a,
body#prices-drop .pagination .current span,
body#new-products .pagination .current span,
body#best-sales .pagination .current span {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

body#prices-drop nav.pagination a:hover,
body#new-products nav.pagination a:hover,
body#best-sales nav.pagination a:hover,
body#prices-drop .pagination a:hover,
body#new-products .pagination a:hover,
body#best-sales .pagination a:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

/* Retour en haut */
body#prices-drop .capdeco-back-top,
body#new-products .capdeco-back-top,
body#best-sales .capdeco-back-top {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin: 18px 0 0 !important;
  padding: 0 18px !important;
  border: 1px solid rgba(0, 0, 0, .14) !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body#prices-drop .capdeco-back-top:hover,
body#new-products .capdeco-back-top:hover,
body#best-sales .capdeco-back-top:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Page Nouveaux produits vide */
body#new-products #content,
body#new-products .page-content {
  min-height: 220px;
}

/* Responsive */
@media (max-width: 991px) {
  body#prices-drop #js-product-list .products,
  body#new-products #js-product-list .products,
  body#best-sales #js-product-list .products,
  body#prices-drop #products .products,
  body#new-products #products .products,
  body#best-sales #products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body#prices-drop nav.pagination,
  body#new-products nav.pagination,
  body#best-sales nav.pagination,
  body#prices-drop .pagination,
  body#new-products .pagination,
  body#best-sales .pagination {
    display: block !important;
  }

  body#prices-drop nav.pagination ul,
  body#new-products nav.pagination ul,
  body#best-sales nav.pagination ul,
  body#prices-drop .pagination ul,
  body#new-products .pagination ul,
  body#best-sales .pagination ul {
    justify-content: flex-start !important;
    margin-top: 16px !important;
  }
}

@media (max-width: 767px) {
  body#prices-drop #js-product-list .products,
  body#new-products #js-product-list .products,
  body#best-sales #js-product-list .products,
  body#prices-drop #products .products,
  body#new-products #products .products,
  body#best-sales #products .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 420px) {
  body#prices-drop #js-product-list .products,
  body#new-products #js-product-list .products,
  body#best-sales #js-product-list .products,
  body#prices-drop #products .products,
  body#new-products #products .products,
  body#best-sales #products .products {
    grid-template-columns: 1fr !important;
  }
}

/* CAPDECO_FOOTER_PRODUCTS_PAGER_FORCE_CSS_END */

/* CAPDECO_FOOTER_SORT_DROPDOWN_FIX_START */

/* Sélecteur de tri haut : promotions / nouveaux produits / meilleures ventes */
body#prices-drop .products-selection,
body#new-products .products-selection,
body#best-sales .products-selection {
  display: grid !important;
  grid-template-columns: 160px 1fr auto !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 0 0 34px !important;
  padding: 24px 28px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .07) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045) !important;
}

body#prices-drop .products-selection .total-products,
body#new-products .products-selection .total-products,
body#best-sales .products-selection .total-products {
  margin: 0 !important;
  color: rgba(17, 17, 17, .62) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body#prices-drop .products-selection .sort-by-row,
body#new-products .products-selection .sort-by-row,
body#best-sales .products-selection .sort-by-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

body#prices-drop .products-selection .sort-by,
body#new-products .products-selection .sort-by,
body#best-sales .products-selection .sort-by {
  flex: 0 0 auto !important;
  margin: 0 !important;
  color: rgba(17, 17, 17, .58) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Conteneur dropdown */
body#prices-drop .products-sort-order,
body#new-products .products-sort-order,
body#best-sales .products-sort-order {
  position: relative !important;
  width: 100% !important;
  max-width: 360px !important;
  min-width: 260px !important;
}

/* Bouton valeur sélectionnée */
body#prices-drop .products-sort-order .select-title,
body#new-products .products-sort-order .select-title,
body#best-sales .products-sort-order .select-title {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 12px 44px 12px 14px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .16) !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* On remplace l'icône cassée par une vraie flèche CSS */
body#prices-drop .products-sort-order .select-title .material-icons,
body#new-products .products-sort-order .select-title .material-icons,
body#best-sales .products-sort-order .select-title .material-icons,
body#prices-drop .products-sort-order .select-title i,
body#new-products .products-sort-order .select-title i,
body#best-sales .products-sort-order .select-title i {
  display: none !important;
}

body#prices-drop .products-sort-order .select-title::after,
body#new-products .products-sort-order .select-title::after,
body#best-sales .products-sort-order .select-title::after {
  content: "" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 1px solid #111 !important;
  border-bottom: 1px solid #111 !important;
  transform: translateY(-65%) rotate(45deg) !important;
  pointer-events: none !important;
}

/* Menu fermé par défaut */
body#prices-drop .products-sort-order .dropdown-menu,
body#new-products .products-sort-order .dropdown-menu,
body#best-sales .products-sort-order .dropdown-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: auto !important;
  z-index: 80 !important;
  min-width: 100% !important;
  max-width: 380px !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .12) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .12) !important;
}

/* Menu ouvert via notre JS */
body#prices-drop .products-sort-order.capdeco-sort-open .dropdown-menu,
body#new-products .products-sort-order.capdeco-sort-open .dropdown-menu,
body#best-sales .products-sort-order.capdeco-sort-open .dropdown-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Liens du menu */
body#prices-drop .products-sort-order .dropdown-menu a,
body#new-products .products-sort-order .dropdown-menu a,
body#best-sales .products-sort-order .dropdown-menu a {
  display: block !important;
  padding: 11px 14px !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

body#prices-drop .products-sort-order .dropdown-menu a:hover,
body#new-products .products-sort-order .dropdown-menu a:hover,
body#best-sales .products-sort-order .dropdown-menu a:hover {
  background: #f7f3ed !important;
}

/* Colonne affichage */
body#prices-drop .products-selection .showing,
body#new-products .products-selection .showing,
body#best-sales .products-selection .showing {
  justify-self: end !important;
  color: rgba(17, 17, 17, .72) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Responsive */
@media (max-width: 991px) {
  body#prices-drop .products-selection,
  body#new-products .products-selection,
  body#best-sales .products-selection {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body#prices-drop .products-sort-order,
  body#new-products .products-sort-order,
  body#best-sales .products-sort-order {
    max-width: none !important;
    min-width: 0 !important;
  }

  body#prices-drop .products-selection .showing,
  body#new-products .products-selection .showing,
  body#best-sales .products-selection .showing {
    justify-self: start !important;
  }
}

/* CAPDECO_FOOTER_SORT_DROPDOWN_FIX_END */

/* CAPDECO_CATEGORY_TEXT_ONLY_CSS_START */

/* Page catégorie */
body#category {
  background: #f7f3ed;
}

body#category #wrapper {
  background: #f7f3ed;
  padding: 34px 20px 72px;
}

body#category #wrapper > .container {
  max-width: 1220px;
  margin: 0 auto;
}

/* Breadcrumb propre */
body#category .breadcrumb,
body#category nav.breadcrumb {
  margin: 0 0 32px;
  padding: 0;
  background: transparent;
  color: rgba(17, 17, 17, .52);
  font-size: 13px;
}

body#category .breadcrumb a {
  color: rgba(17, 17, 17, .55);
  text-decoration: none;
}

body#category .breadcrumb a:hover {
  color: #111;
}

/* Header catégorie : texte uniquement */
body#category #js-product-list-header,
body#category .block-category,
body#category .category-header {
  max-width: 980px;
  margin: 0 auto 42px;
  padding: 0 0 38px;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  background: transparent !important;
  box-shadow: none !important;
}

/* Supprimer toutes les photos de présentation catégorie */
body#category #js-product-list-header img,
body#category .block-category img,
body#category .category-cover,
body#category .category-image,
body#category .category-description img {
  display: none !important;
}

/* Titre catégorie */
body#category h1,
body#category .page-header h1,
body#category .block-category h1 {
  margin: 0 0 22px !important;
  color: #111;
  font-size: clamp(42px, 5vw, 68px);
  line-height: .98;
  font-weight: 400;
  letter-spacing: -0.055em;
  text-align: center;
}

/* Texte description */
body#category .category-description,
body#category #category-description,
body#category .block-category .category-description,
body#category #js-product-list-header p,
body#category .block-category p {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(17, 17, 17, .76);
  font-size: 15px;
  line-height: 1.75;
  text-align: center;
}

body#category .category-description p,
body#category #category-description p {
  margin: 0 0 12px;
}

/* Layout contenu : produits visibles dessous */
body#category #content-wrapper,
body#category #content,
body#category #main {
  float: none !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Garder le filtre facetté s'il existe, mais propre */
body#category #left-column,
body#category #search_filters_wrapper {
  display: block;
}

body#category #search_filters_wrapper,
body#category #search_filters {
  margin: 0 0 26px;
}

body#category #search_filters {
  padding: 22px 24px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .07);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045);
}

body#category #search_filters .facet {
  margin: 0;
  padding: 18px 0;
  border-top: 1px solid rgba(0, 0, 0, .08);
}

body#category #search_filters .facet:first-child {
  padding-top: 0;
  border-top: 0;
}

body#category #search_filters .facet-title,
body#category #search_filters .h6 {
  margin: 0 0 12px;
  color: #111;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body#category #search_filters label {
  color: rgba(17, 17, 17, .74);
  font-size: 13px;
  line-height: 1.4;
}

/* Barre tri / filtre au-dessus des produits */
body#category .products-selection {
  display: grid !important;
  grid-template-columns: 160px 1fr auto !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 0 0 34px !important;
  padding: 24px 28px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .07) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045) !important;
}

body#category .products-selection .total-products {
  margin: 0 !important;
  color: rgba(17, 17, 17, .62) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body#category .products-selection .sort-by-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

body#category .products-selection .sort-by {
  flex: 0 0 auto !important;
  margin: 0 !important;
  color: rgba(17, 17, 17, .58) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body#category .products-sort-order {
  position: relative !important;
  width: 100% !important;
  max-width: 360px !important;
  min-width: 260px !important;
}

body#category .products-sort-order .select-title {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 12px 44px 12px 14px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .16) !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body#category .products-sort-order .select-title .material-icons,
body#category .products-sort-order .select-title i {
  display: none !important;
}

body#category .products-sort-order .select-title::after {
  content: "" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 1px solid #111 !important;
  border-bottom: 1px solid #111 !important;
  transform: translateY(-65%) rotate(45deg) !important;
  pointer-events: none !important;
}

body#category .products-sort-order .dropdown-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  z-index: 80 !important;
  min-width: 100% !important;
  max-width: 380px !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .12) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .12) !important;
}

body#category .products-sort-order.capdeco-sort-open .dropdown-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body#category .products-sort-order .dropdown-menu a {
  display: block !important;
  padding: 11px 14px !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

body#category .products-sort-order .dropdown-menu a:hover {
  background: #f7f3ed !important;
}

body#category .products-selection .showing {
  justify-self: end !important;
  color: rgba(17, 17, 17, .72) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Filtres actifs vide */
body#category #js-active-search-filters {
  margin: 0 !important;
}

body#category #js-active-search-filters:empty {
  display: none !important;
}

/* Grille produits */
body#category #js-product-list .products,
body#category #products .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#category .product-miniature {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#category .product-miniature .thumbnail-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .07) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045) !important;
}

body#category .product-miniature .thumbnail-top {
  aspect-ratio: 1 / 1;
  background: #fbfaf7 !important;
}

body#category .product-miniature .thumbnail-top img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Pagination catégorie */
body#category nav.pagination,
body#category .pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 44px auto 0 !important;
  padding: 22px 26px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, .07) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .045) !important;
  color: rgba(17, 17, 17, .68) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body#category nav.pagination > *,
body#category .pagination > * {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#category nav.pagination ul,
body#category .pagination ul,
body#category .page-list {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#category nav.pagination li,
body#category .pagination li,
body#category .page-list li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#category nav.pagination a,
body#category nav.pagination span,
body#category .pagination a,
body#category .pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(0, 0, 0, .14) !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body#category nav.pagination .current a,
body#category nav.pagination .current span,
body#category .pagination .current a,
body#category .pagination .current span {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

body#category nav.pagination a:hover,
body#category .pagination a:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

/* Retour en haut */
body#category .capdeco-back-top {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin: 18px 0 0 !important;
  padding: 0 18px !important;
  border: 1px solid rgba(0, 0, 0, .14) !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body#category .capdeco-back-top:hover {
  background: #111 !important;
  color: #fff !important;
}

/* Responsive */
@media (max-width: 991px) {
  body#category .products-selection {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body#category .products-sort-order {
    max-width: none !important;
    min-width: 0 !important;
  }

  body#category .products-selection .showing {
    justify-self: start !important;
  }

  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body#category nav.pagination,
  body#category .pagination {
    display: block !important;
  }

  body#category nav.pagination ul,
  body#category .pagination ul {
    justify-content: flex-start !important;
    margin-top: 16px !important;
  }
}

@media (max-width: 767px) {
  body#category #wrapper {
    padding: 28px 16px 52px;
  }

  body#category h1,
  body#category .page-header h1,
  body#category .block-category h1 {
    font-size: 40px;
  }

  body#category .category-description,
  body#category #category-description,
  body#category .block-category .category-description,
  body#category #js-product-list-header p,
  body#category .block-category p {
    text-align: left;
  }

  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 420px) {
  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: 1fr !important;
  }
}

/* CAPDECO_CATEGORY_TEXT_ONLY_CSS_END */

/* CAPDECO_CATEGORY_JUSTIFY_BIGGER_PRODUCTS_START */

/* Texte catégorie : justifié */
body#category .category-description,
body#category #category-description,
body#category .block-category .category-description,
body#category #js-product-list-header p,
body#category .block-category p {
  text-align: justify !important;
  text-justify: inter-word !important;
  max-width: 1020px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Produits plus gros sur les pages catégorie */
body#category #content-wrapper,
body#category #content,
body#category #main {
  max-width: 1240px !important;
}

/* Passer de 4 à 3 colonnes pour agrandir les cartes */
body#category #js-product-list .products,
body#category #products .products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 30px !important;
}

/* Zone image un peu plus généreuse */
body#category .product-miniature .thumbnail-top {
  min-height: 320px !important;
}

/* Titres / prix un peu plus présents */
body#category .product-miniature .product-title,
body#category .product-miniature .product-title a {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

body#category .product-miniature .price,
body#category .product-miniature .regular-price,
body#category .product-miniature .discount-percentage {
  font-size: 18px !important;
}

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

  body#category .product-miniature .thumbnail-top {
    min-height: 260px !important;
  }
}

@media (max-width: 575px) {
  body#category .category-description,
  body#category #category-description,
  body#category .block-category .category-description,
  body#category #js-product-list-header p,
  body#category .block-category p {
    text-align: left !important;
  }

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

  body#category .product-miniature .thumbnail-top {
    min-height: 220px !important;
  }
}

/* CAPDECO_CATEGORY_JUSTIFY_BIGGER_PRODUCTS_END */

/* CAPDECO_CATEGORY_FULL_WIDTH_PRODUCTS_START */

/*
Page catégorie :
- texte gardé lisible au centre ;
- produits / tri / pagination élargis presque pleine largeur.
*/

body#category #wrapper > .container {
  max-width: none !important;
  width: 100% !important;
}

/* Breadcrumb et texte catégorie restent contenus */
body#category .breadcrumb,
body#category nav.breadcrumb,
body#category #js-product-list-header,
body#category .block-category,
body#category .category-header {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Texte catégorie justifié mais pas trop large */
body#category .category-description,
body#category #category-description,
body#category .block-category .category-description,
body#category #js-product-list-header p,
body#category .block-category p {
  max-width: 1040px !important;
  text-align: justify !important;
  text-justify: inter-word !important;
}

/* Zone principale plus large */
body#category #content-wrapper,
body#category #content,
body#category #main {
  width: 100% !important;
  max-width: none !important;
}

/* Largeur commune tri + produits + pagination */
body#category .products-selection,
body#category #products,
body#category #js-product-list,
body#category nav.pagination,
body#category .pagination {
  width: min(1680px, calc(100vw - 96px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Barre de tri alignée sur la grille */
body#category .products-selection {
  grid-template-columns: 180px minmax(260px, 420px) auto !important;
}

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

/* Cartes produit plus généreuses */
body#category .product-miniature .thumbnail-container {
  min-height: 100% !important;
}

body#category .product-miniature .thumbnail-top {
  min-height: 360px !important;
}

/* Image produit mieux centrée dans la grande carte */
body#category .product-miniature .thumbnail-top img {
  max-width: 88% !important;
  max-height: 88% !important;
  object-fit: contain !important;
}

/* Texte produit un peu plus confortable */
body#category .product-miniature .product-description {
  padding: 20px 22px 24px !important;
}

body#category .product-miniature .product-title,
body#category .product-miniature .product-title a {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

body#category .product-miniature .product-price-and-shipping,
body#category .product-miniature .price {
  font-size: 18px !important;
}

/* Très grands écrans : on garde 4 colonnes, donc produits vraiment grands */
@media (min-width: 1700px) {
  body#category .products-selection,
  body#category #products,
  body#category #js-product-list,
  body#category nav.pagination,
  body#category .pagination {
    width: min(1760px, calc(100vw - 120px)) !important;
  }

  body#category .product-miniature .thumbnail-top {
    min-height: 390px !important;
  }
}

/* Tablette */
@media (max-width: 1199px) {
  body#category .products-selection,
  body#category #products,
  body#category #js-product-list,
  body#category nav.pagination,
  body#category .pagination {
    width: calc(100vw - 48px) !important;
  }

  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  body#category .product-miniature .thumbnail-top {
    min-height: 300px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body#category .products-selection,
  body#category #products,
  body#category #js-product-list,
  body#category nav.pagination,
  body#category .pagination {
    width: calc(100vw - 32px) !important;
  }

  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body#category .product-miniature .thumbnail-top {
    min-height: 220px !important;
  }
}

@media (max-width: 430px) {
  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: 1fr !important;
  }
}

/* CAPDECO_CATEGORY_FULL_WIDTH_PRODUCTS_END */

/* CAPDECO_CATEGORY_REMOVE_OK_QUICKVIEW_CSS_START */

/* Supprimer l'aperçu rapide qui pollue les cartes produit catégorie */
body#category .product-miniature .highlighted-informations,
body#category .product-miniature .quick-view,
body#category .product-miniature a.quick-view,
body#category .product-miniature button.quick-view,
body#category .product-miniature [class*="quick-view"],
body#category .product-miniature [data-link-action="quickview"],
body#category .product-miniature [data-link-action="quick-view"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Nettoyer les icônes cassées dans les cartes */
body#category .product-miniature .material-icons,
body#category .product-miniature i.material-icons {
  display: none !important;
}

/* Recentrer proprement le titre et le prix après suppression de l'aperçu rapide */
body#category .product-miniature .product-description {
  position: static !important;
  height: auto !important;
  min-height: 110px !important;
  padding: 20px 22px 24px !important;
  background: #fff !important;
  text-align: center !important;
}

body#category .product-miniature .product-title {
  margin: 0 0 10px !important;
  text-align: center !important;
}

body#category .product-miniature .product-title a {
  color: #111 !important;
  text-decoration: none !important;
}

body#category .product-miniature .product-price-and-shipping {
  text-align: center !important;
}

/* CAPDECO_CATEGORY_REMOVE_OK_QUICKVIEW_CSS_END */

/* CAPDECO_CATEGORY_PRODUCTS_TIGHTER_START */

/*
Catégories :
- produits plus collés ;
- largeur écran mieux exploitée ;
- cartes toujours grandes.
*/

body#category .products-selection,
body#category #products,
body#category #js-product-list,
body#category nav.pagination,
body#category .pagination {
  width: min(1760px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Grille plus serrée */
body#category #js-product-list .products,
body#category #products .products {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

/* Cartes plus collées visuellement */
body#category .product-miniature .thumbnail-container {
  box-shadow: none !important;
  border: 1px solid rgba(0, 0, 0, .055) !important;
}

/* Image haute conservée, mais sans padding visuel inutile */
body#category .product-miniature .thumbnail-top {
  min-height: 360px !important;
  padding: 0 !important;
  background: #fbfaf7 !important;
}

/* Description plus compacte */
body#category .product-miniature .product-description {
  min-height: 96px !important;
  padding: 16px 16px 20px !important;
}

/* Titre/prix propres */
body#category .product-miniature .product-title {
  margin-bottom: 8px !important;
}

body#category .product-miniature .product-price-and-shipping {
  margin-top: 4px !important;
}

/* Très grands écrans */
@media (min-width: 1700px) {
  body#category .products-selection,
  body#category #products,
  body#category #js-product-list,
  body#category nav.pagination,
  body#category .pagination {
    width: min(1840px, calc(100vw - 56px)) !important;
  }

  body#category #js-product-list .products,
  body#category #products .products {
    gap: 16px !important;
  }

  body#category .product-miniature .thumbnail-top {
    min-height: 390px !important;
  }
}

/* Tablette */
@media (max-width: 1199px) {
  body#category .products-selection,
  body#category #products,
  body#category #js-product-list,
  body#category nav.pagination,
  body#category .pagination {
    width: calc(100vw - 32px) !important;
  }

  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body#category .product-miniature .thumbnail-top {
    min-height: 300px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body#category .products-selection,
  body#category #products,
  body#category #js-product-list,
  body#category nav.pagination,
  body#category .pagination {
    width: calc(100vw - 20px) !important;
  }

  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body#category .product-miniature .thumbnail-top {
    min-height: 220px !important;
  }

  body#category .product-miniature .product-description {
    padding: 14px 12px 16px !important;
  }
}

@media (max-width: 430px) {
  body#category #js-product-list .products,
  body#category #products .products {
    grid-template-columns: 1fr !important;
  }
}

/* CAPDECO_CATEGORY_PRODUCTS_TIGHTER_END */

/* CAPDECO_CATEGORY_SWATCHES_SAFE_CSS_START */

/* Déclinaisons couleur sur cartes catégorie */
body#category .capdeco-category-swatches {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 14px auto 0 !important;
  min-height: 26px !important;
}

body#category .capdeco-category-swatches .variant-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body#category .capdeco-category-swatches .variant-links a,
body#category .capdeco-category-swatches a.color,
body#category .capdeco-category-swatches .color,
body#category .capdeco-category-swatches .texture {
  display: inline-flex !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0, 0, 0, .22) !important;
  background-size: cover !important;
  background-position: center !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: 0 0 0 2px #fff !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

body#category .capdeco-category-swatches .variant-links a:hover,
body#category .capdeco-category-swatches a.color:hover,
body#category .capdeco-category-swatches .color:hover,
body#category .capdeco-category-swatches .texture:hover {
  transform: translateY(-1px) scale(1.08) !important;
  border-color: #111 !important;
  box-shadow: 0 0 0 2px #fff, 0 4px 10px rgba(0, 0, 0, .14) !important;
}

body#category .capdeco-category-swatches .capdeco-swatches-more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 22px !important;
  padding: 0 3px !important;
  color: rgba(17, 17, 17, .72) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Carte produit : place pour les pastilles */
body#category .product-miniature .product-description {
  min-height: 150px !important;
  padding-bottom: 24px !important;
}

/* CAPDECO_CATEGORY_SWATCHES_SAFE_CSS_END */

/* CAPDECO_CATEGORY_SWATCHES_ENDPOINT_CSS_START */

body#category .capdeco-category-swatches,
body#prices-drop .capdeco-category-swatches,
body#best-sales .capdeco-category-swatches,
body#new-products .capdeco-category-swatches {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 14px auto 0 !important;
  min-height: 26px !important;
}

body#category .capdeco-dynamic-swatch,
body#prices-drop .capdeco-dynamic-swatch,
body#best-sales .capdeco-dynamic-swatch,
body#new-products .capdeco-dynamic-swatch {
  display: inline-flex !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0, 0, 0, .22) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: 0 0 0 2px #fff !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

body#category .capdeco-dynamic-swatch:hover,
body#prices-drop .capdeco-dynamic-swatch:hover,
body#best-sales .capdeco-dynamic-swatch:hover,
body#new-products .capdeco-dynamic-swatch:hover {
  transform: translateY(-1px) scale(1.08) !important;
  border-color: #111 !important;
  box-shadow: 0 0 0 2px #fff, 0 4px 10px rgba(0, 0, 0, .14) !important;
}

body#category .capdeco-swatches-more,
body#prices-drop .capdeco-swatches-more,
body#best-sales .capdeco-swatches-more,
body#new-products .capdeco-swatches-more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 22px !important;
  padding: 0 3px !important;
  color: rgba(17, 17, 17, .72) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Place suffisante dans la carte */
body#category .product-miniature .product-description {
  min-height: 150px !important;
}

/* CAPDECO_CATEGORY_SWATCHES_ENDPOINT_CSS_END */

/* CAPDECO_CATEGORY_SWATCHES_HOME_STYLE_START */

/* Style pastilles catégorie proche home */
body#category .capdeco-dynamic-swatch,
body#prices-drop .capdeco-dynamic-swatch,
body#best-sales .capdeco-dynamic-swatch,
body#new-products .capdeco-dynamic-swatch {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  max-width: 26px !important;
  max-height: 26px !important;
  border-radius: 3px !important;
  border: 1px solid rgba(0, 0, 0, .20) !important;
  box-shadow: inset 0 0 0 2px #fff !important;
}

body#category .capdeco-category-swatches,
body#prices-drop .capdeco-category-swatches,
body#best-sales .capdeco-category-swatches,
body#new-products .capdeco-category-swatches {
  gap: 8px !important;
  margin-top: 14px !important;
}

/* CAPDECO_CATEGORY_SWATCHES_HOME_STYLE_END */

/* CAPDECO_CATEGORY_COMPACT_EDITORIAL_START */

/* Éditorial catégorie compact et premium */
body#category #js-product-list-header {
  max-width: 1180px !important;
  margin: 34px auto 34px !important;
  padding: 0 24px 34px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

body#category #js-product-list-header .block-category,
body#category .block-category,
body#category .category-header {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Label unique */
body#category #js-product-list-header::before {
  content: "COLLECTION" !important;
  display: block !important;
  margin: 0 0 18px !important;
  color: rgba(17, 17, 17, .45) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

body#category .block-category::before,
body#category .category-header::before,
body#category .block-category::after,
body#category .category-header::after {
  content: none !important;
  display: none !important;
}

/* Titre */
body#category h1,
body#category .page-header h1,
body#category .block-category h1 {
  max-width: 980px !important;
  margin: 0 auto 26px !important;
  color: #111 !important;
  font-size: clamp(48px, 5.4vw, 72px) !important;
  line-height: .98 !important;
  font-weight: 400 !important;
  letter-spacing: -0.06em !important;
  text-align: center !important;
}

/* Texte en bloc compact */
body#category .category-description,
body#category #category-description,
body#category .block-category .category-description {
  position: relative !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  color: rgba(17, 17, 17, .72) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  columns: auto !important;
  overflow: hidden !important;
  max-height: 190px !important;
  transition: max-height .35s ease !important;
}

body#category.capdeco-category-desc-open .category-description,
body#category.capdeco-category-desc-open #category-description,
body#category.capdeco-category-desc-open .block-category .category-description {
  max-height: 1200px !important;
}

/* Dégradé de fin quand le texte est replié */
body#category .category-description::after,
body#category #category-description::after,
body#category .block-category .category-description::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 70px !important;
  background: linear-gradient(to bottom, rgba(247, 243, 237, 0), #f7f3ed 80%) !important;
  pointer-events: none !important;
}

body#category.capdeco-category-desc-open .category-description::after,
body#category.capdeco-category-desc-open #category-description::after,
body#category.capdeco-category-desc-open .block-category .category-description::after {
  display: none !important;
}

/* Bouton Lire la suite */
body#category .capdeco-category-readmore {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 22px auto 0 !important;
  padding: 0 0 5px !important;
  border: 0 !important;
  border-bottom: 1px solid #111 !important;
  background: transparent !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

/* Ligne fine sous éditorial */
body#category #js-product-list-header::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  margin: 34px auto 0 !important;
  background: rgba(17, 17, 17, .10) !important;
}

/* Produits plus proches */
body#category .products-selection {
  margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#category #js-product-list-header {
    margin: 24px auto 28px !important;
    padding: 0 18px 28px !important;
  }

  body#category h1,
  body#category .page-header h1,
  body#category .block-category h1 {
    font-size: 42px !important;
    letter-spacing: -0.045em !important;
  }

  body#category .category-description,
  body#category #category-description,
  body#category .block-category .category-description {
    text-align: left !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
    max-height: 210px !important;
  }
}

/* CAPDECO_CATEGORY_COMPACT_EDITORIAL_END */

/* CAPDECO_CATEGORY_COMPACT_SPACING_START */

/* Remonter toute la zone catégorie */
body#category #wrapper {
  padding-top: 24px !important;
}

/* Breadcrumb plus compact */
body#category .breadcrumb,
body#category nav.breadcrumb {
  margin-bottom: 18px !important;
}

/* Bloc éditorial plus court */
body#category #js-product-list-header {
  margin: 18px auto 24px !important;
  padding-bottom: 24px !important;
}

/* Label plus proche du titre */
body#category #js-product-list-header::before {
  margin-bottom: 12px !important;
}

/* Titre un peu moins haut */
body#category h1,
body#category .page-header h1,
body#category .block-category h1 {
  margin-bottom: 18px !important;
  font-size: clamp(44px, 5vw, 66px) !important;
}

/* Texte replié plus court */
body#category .category-description,
body#category #category-description,
body#category .block-category .category-description {
  max-height: 138px !important;
  line-height: 1.68 !important;
}

/* Dégradé plus court */
body#category .category-description::after,
body#category #category-description::after,
body#category .block-category .category-description::after {
  height: 48px !important;
}

/* Bouton lire la suite plus proche */
body#category .capdeco-category-readmore {
  margin-top: 12px !important;
  padding-bottom: 4px !important;
}

/* Ligne de séparation plus proche */
body#category #js-product-list-header::after {
  margin-top: 22px !important;
}

/* Barre tri plus compacte */
body#category .products-selection {
  margin-top: 0 !important;
  margin-bottom: 26px !important;
  padding: 16px 24px !important;
  min-height: 68px !important;
}

/* Champs tri moins hauts */
body#category .products-sort-order .select-title {
  min-height: 42px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Réduire l'espace juste avant les produits */
body#category #products,
body#category #js-product-list {
  margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#category #wrapper {
    padding-top: 18px !important;
  }

  body#category #js-product-list-header {
    margin: 14px auto 20px !important;
    padding-bottom: 22px !important;
  }

  body#category h1,
  body#category .page-header h1,
  body#category .block-category h1 {
    margin-bottom: 16px !important;
    font-size: 38px !important;
  }

  body#category .category-description,
  body#category #category-description,
  body#category .block-category .category-description {
    max-height: 150px !important;
  }

  body#category .products-selection {
    padding: 14px 16px !important;
    margin-bottom: 18px !important;
  }
}

/* CAPDECO_CATEGORY_COMPACT_SPACING_END */

/* CAPDECO_CATEGORY_HORIZONTAL_SCROLL_FIX_START */

/*
Correction scroll horizontal catégorie :
éviter 100vw dans les blocs produits, car 100vw inclut la scrollbar verticale.
*/

html,
body,
body#category,
body#category #wrapper {
  overflow-x: hidden !important;
}

body#category *,
body#category *::before,
body#category *::after {
  box-sizing: border-box;
}

/* Les grandes zones catégorie ne doivent jamais dépasser le viewport */
body#category #wrapper > .container,
body#category #content-wrapper,
body#category #content,
body#category #main {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Remplace les anciens calc(100vw - Xpx) par une largeur sûre */
body#category .products-selection,
body#category #products,
body#category #js-product-list,
body#category nav.pagination,
body#category .pagination {
  width: calc(100% - 48px) !important;
  max-width: 1760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* La grille ne doit pas pousser la page horizontalement */
body#category #js-product-list .products,
body#category #products .products {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body#category .product-miniature,
body#category .product-miniature .thumbnail-container,
body#category .product-miniature .thumbnail-top,
body#category .product-miniature .product-description {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Images produit : ne jamais dépasser leur carte */
body#category .product-miniature img {
  max-width: 100% !important;
}

/* Barre de tri : empêcher le sélecteur de créer un débordement */
body#category .products-selection {
  overflow: visible !important;
}

body#category .products-sort-order,
body#category .products-sort-order .select-title {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#category .products-selection,
  body#category #products,
  body#category #js-product-list,
  body#category nav.pagination,
  body#category .pagination {
    width: calc(100% - 24px) !important;
  }
}

/* CAPDECO_CATEGORY_HORIZONTAL_SCROLL_FIX_END */

/* CAPDECO_HOME_HERO_SLIDER_START */

/*
Slider home hero :
- utilise hero.webp + hero2.webp
- fondu automatique
- sans module PrestaShop
- ciblé uniquement sur la page d'accueil
*/

/* Sélecteurs volontairement larges pour attraper le hero existant */
body#index .capdeco-hero,
body#index .home-hero,
body#index .hero,
body#index [class*="hero"] {
  position: relative !important;
  overflow: hidden !important;
}

/* Si le hero actuel est une image <img src="hero.webp">, on la garde comme structure mais on la rend invisible */
body#index img[src*="hero.webp"] {
  opacity: 0 !important;
}

/* Le conteneur parent de l'image devient la scène du slider */
body#index img[src*="hero.webp"] {
  display: block !important;
  width: 100% !important;
}

/* Fond slide 1 + slide 2 sur le parent direct */
body#index img[src*="hero.webp"] + *,
body#index img[src*="hero.webp"] {
  position: relative;
}

body#index img[src*="hero.webp"] {
  z-index: 1;
}

/*
Cas le plus courant : l'image hero est dans un bloc.
On injecte les deux slides sur le parent direct.
*/
body#index img[src*="hero.webp"] {
  pointer-events: none;
}

body#index img[src*="hero.webp"]::before,
body#index img[src*="hero.webp"]::after {
  display: none !important;
}

body#index img[src*="hero.webp"] {
  background: transparent !important;
}

body#index img[src*="hero.webp"] {
  min-height: inherit;
}

/* Parent direct du hero */
body#index img[src*="hero.webp"] {
  transform: translateZ(0);
}

/* Fallback moderne via :has */
@supports selector(div:has(> img)) {
  body#index div:has(> img[src*="hero.webp"]),
  body#index section:has(> img[src*="hero.webp"]),
  body#index figure:has(> img[src*="hero.webp"]) {
    position: relative !important;
    overflow: hidden !important;
    background: #f7f3ed !important;
  }

  body#index div:has(> img[src*="hero.webp"])::before,
  body#index section:has(> img[src*="hero.webp"])::before,
  body#index figure:has(> img[src*="hero.webp"])::before,
  body#index div:has(> img[src*="hero.webp"])::after,
  body#index section:has(> img[src*="hero.webp"])::after,
  body#index figure:has(> img[src*="hero.webp"])::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    animation-duration: 9s !important;
    animation-timing-function: ease-in-out !important;
    animation-iteration-count: infinite !important;
  }

  body#index div:has(> img[src*="hero.webp"])::before,
  body#index section:has(> img[src*="hero.webp"])::before,
  body#index figure:has(> img[src*="hero.webp"])::before {
    background-image: url("../../img/capdeco/hero.webp") !important;
    animation-name: capdecoHeroSlideOne !important;
  }

  body#index div:has(> img[src*="hero.webp"])::after,
  body#index section:has(> img[src*="hero.webp"])::after,
  body#index figure:has(> img[src*="hero.webp"])::after {
    background-image: url("../../img/capdeco/hero2.webp") !important;
    animation-name: capdecoHeroSlideTwo !important;
  }

  body#index div:has(> img[src*="hero.webp"]) > *,
  body#index section:has(> img[src*="hero.webp"]) > *,
  body#index figure:has(> img[src*="hero.webp"]) > * {
    position: relative !important;
    z-index: 2 !important;
  }

  body#index div:has(> img[src*="hero.webp"]) > img[src*="hero.webp"],
  body#index section:has(> img[src*="hero.webp"]) > img[src*="hero.webp"],
  body#index figure:has(> img[src*="hero.webp"]) > img[src*="hero.webp"] {
    opacity: 0 !important;
  }
}

@keyframes capdecoHeroSlideOne {
  0%, 42% {
    opacity: 1;
    transform: scale(1);
  }
  50%, 92% {
    opacity: 0;
    transform: scale(1.025);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes capdecoHeroSlideTwo {
  0%, 42% {
    opacity: 0;
    transform: scale(1.025);
  }
  50%, 92% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.025);
  }
}

/* Respect accessibilité : pas d'animation si l'utilisateur réduit les animations */
@media (prefers-reduced-motion: reduce) {
  body#index div:has(> img[src*="hero.webp"])::before,
  body#index section:has(> img[src*="hero.webp"])::before,
  body#index figure:has(> img[src*="hero.webp"])::before,
  body#index div:has(> img[src*="hero.webp"])::after,
  body#index section:has(> img[src*="hero.webp"])::after,
  body#index figure:has(> img[src*="hero.webp"])::after {
    animation: none !important;
  }

  body#index div:has(> img[src*="hero.webp"])::after,
  body#index section:has(> img[src*="hero.webp"])::after,
  body#index figure:has(> img[src*="hero.webp"])::after {
    display: none !important;
  }
}

/* CAPDECO_HOME_HERO_SLIDER_END */

/* CAPDECO_HOME_HERO_SLIDER_JS_CLASS_START */

body#index .capdeco-home-hero-slider {
  position: relative !important;
  overflow: hidden !important;
  background: #f7f3ed !important;
}

body#index .capdeco-home-hero-slider::before,
body#index .capdeco-home-hero-slider::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  animation-duration: 9s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
}

body#index .capdeco-home-hero-slider::before {
  background-image: url("../../img/capdeco/hero.webp") !important;
  animation-name: capdecoHeroSlideOne !important;
}

body#index .capdeco-home-hero-slider::after {
  background-image: url("../../img/capdeco/hero2.webp") !important;
  animation-name: capdecoHeroSlideTwo !important;
}

body#index .capdeco-home-hero-slider > * {
  position: relative !important;
  z-index: 2 !important;
}

body#index .capdeco-home-hero-slider > img[src*="hero.webp"] {
  opacity: 0 !important;
}

/* CAPDECO_HOME_HERO_SLIDER_JS_CLASS_END */

/* CAPDECO_HOME_HERO_SLIDER_PATH_FIX_START */

/*
Correction chemin slider home :
les images sont dans /assets/img/capdeco/menu/
*/

body#index .capdeco-home-hero-slider {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: #f7f3ed !important;
}

body#index .capdeco-home-hero-slider::before,
body#index .capdeco-home-hero-slider::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  animation-duration: 9s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
}

body#index .capdeco-home-hero-slider::before {
  background-image: url("/themes/capdeco_fast/assets/img/capdeco/menu/hero.webp") !important;
  animation-name: capdecoHeroSlideOne !important;
}

body#index .capdeco-home-hero-slider::after {
  background-image: url("/themes/capdeco_fast/assets/img/capdeco/menu/hero2.webp") !important;
  animation-name: capdecoHeroSlideTwo !important;
}

body#index .capdeco-home-hero-slider > * {
  position: relative !important;
  z-index: 2 !important;
}

body#index .capdeco-home-hero-slider img[src*="hero.webp"],
body#index .capdeco-home-hero-slider source[srcset*="hero.webp"] {
  opacity: 0 !important;
}

/* Correction aussi pour les règles :has de l'ancien patch */
@supports selector(div:has(> img)) {
  body#index div:has(> img[src*="hero.webp"])::before,
  body#index section:has(> img[src*="hero.webp"])::before,
  body#index figure:has(> img[src*="hero.webp"])::before,
  body#index picture:has(> img[src*="hero.webp"])::before {
    background-image: url("/themes/capdeco_fast/assets/img/capdeco/menu/hero.webp") !important;
  }

  body#index div:has(> img[src*="hero.webp"])::after,
  body#index section:has(> img[src*="hero.webp"])::after,
  body#index figure:has(> img[src*="hero.webp"])::after,
  body#index picture:has(> img[src*="hero.webp"])::after {
    background-image: url("/themes/capdeco_fast/assets/img/capdeco/menu/hero2.webp") !important;
  }
}

/* CAPDECO_HOME_HERO_SLIDER_PATH_FIX_END */

/* CAPDECO_HOME_HERO_SLIDER_TEXT_FIX_START */

/*
Fix slider home :
- le slider est porté par la section hero ;
- le texte garde son positionnement d'origine ;
- on ne force plus tous les enfants en position:relative.
*/

body#index .cd-hero.capdeco-home-hero-slider,
body#index section.capdeco-home-hero-slider {
  position: relative !important;
  overflow: hidden !important;
  background: #f7f3ed !important;
}

/* Les deux images du slider */
body#index .cd-hero.capdeco-home-hero-slider::before,
body#index .cd-hero.capdeco-home-hero-slider::after,
body#index section.capdeco-home-hero-slider::before,
body#index section.capdeco-home-hero-slider::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  animation-duration: 9s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
  pointer-events: none !important;
}

body#index .cd-hero.capdeco-home-hero-slider::before,
body#index section.capdeco-home-hero-slider::before {
  background-image: url("/themes/capdeco_fast/assets/img/capdeco/menu/hero.webp") !important;
  animation-name: capdecoHeroSlideOne !important;
}

body#index .cd-hero.capdeco-home-hero-slider::after,
body#index section.capdeco-home-hero-slider::after {
  background-image: url("/themes/capdeco_fast/assets/img/capdeco/menu/hero2.webp") !important;
  animation-name: capdecoHeroSlideTwo !important;
}

/* Le picture/image d'origine sert seulement à garder la hauteur */
body#index .cd-hero.capdeco-home-hero-slider picture,
body#index section.capdeco-home-hero-slider picture {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* IMPORTANT : le texte repasse au-dessus sans changer sa position */
body#index .cd-hero.capdeco-home-hero-slider > :not(picture),
body#index section.capdeco-home-hero-slider > :not(picture) {
  z-index: 3 !important;
}

/* Neutraliser les anciennes règles qui forçaient tous les enfants */
body#index .capdeco-home-hero-slider > * {
  position: revert-layer;
}

/* Mais on garde les éléments texte au-dessus si leur position existe déjà */
body#index .capdeco-home-hero-slider .container,
body#index .capdeco-home-hero-slider .row,
body#index .capdeco-home-hero-slider [class*="text"],
body#index .capdeco-home-hero-slider [class*="content"],
body#index .capdeco-home-hero-slider [class*="caption"],
body#index .capdeco-home-hero-slider h1,
body#index .capdeco-home-hero-slider h2,
body#index .capdeco-home-hero-slider p,
body#index .capdeco-home-hero-slider a {
  z-index: 4 !important;
}

/* CAPDECO_HOME_HERO_SLIDER_TEXT_FIX_END */

