/** Shopify CDN: Minification failed

Line 1006:29 The "+" operator only works if there is whitespace on both sides

**/
/* Fix hero section — supprime le fond blanc qui crée le contour */
.section-template--29610545578322__ss_hero_33_KrW8kN.hero-template--29610545578322__ss_hero_33_KrW8kN {
  background-color: transparent !important;
}

/* S'assure que le wrapper hero est en pleine largeur sans espace */
#shopify-section-template--29610545578322__ss_hero_33_KrW8kN {
  padding: 0 !important;
  margin: 0 !important;
}

/* Force l'image bg à couvrir tout le conteneur */
.section-template--29610545578322__ss_hero_33_KrW8kN-settings {
  position: relative;
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   Réassurance produit — badges sur image
   -------------------------------------------------------------------------- */
.product-gallery__reassurance-zone.product-gallery__reassurance-zone--badges {
  display: block;
}
.product-reassurance-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  min-width: 0;
}

.product-reassurance-item__icon {
  flex-shrink: 0;
  line-height: 0;
}

.product-reassurance-item__icon img {
  width: auto;
  height: auto;
  max-width: var(--reassurance-icon-width, 32px);
  max-height: var(--reassurance-icon-width, 32px);
  object-fit: contain;
  display: block;
}

.product-reassurance-item__label {
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.25;
}
.product-gallery__media--reassurance .product-gallery__reassurance-stack {
  display: flex !important;
}
.product-gallery__media img {
  width: 100% !important;
}

/* Conteneur image : arrondi + crop des overlays */
.product-gallery__media--reassurance {
  overflow: hidden;
  border-radius: var(--rounded);
  isolation: isolate;
}

.product-gallery__media--reassurance > .rounded,
.product-gallery__media--reassurance video-media,
.product-gallery__media--reassurance model-media {
  border-radius: inherit;
}

/* Loupe au-dessus des badges (haut droite) */
.product-gallery__media--reassurance .product-gallery__zoom--on-media,
.product-gallery__media-list-wrapper:has(.product-gallery__media--reassurance) > .product-gallery__zoom {
  z-index: 4;
  top: var(--spacing-3);
  right: var(--spacing-3);
}

.product-gallery__media--reassurance .product-gallery__reassurance-stack {
  position: absolute;
  z-index: 2;
  inset: auto 0 0 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  pointer-events: none;
}

.product-gallery__reassurance-zone--badges {
  padding: var(--spacing-3);
  padding-bottom: var(--spacing-2);
  align-self: flex-start;
  max-width: calc(100% - var(--spacing-4));
  pointer-events: none;
}

.product-reassurance-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-2);
}

.product-reassurance-item--badge {
  padding: var(--spacing-1-5) var(--spacing-3);
  background: var(--reassurance-badge-bg, rgb(var(--background-primary)));
  color: var(--reassurance-badge-color, rgb(var(--text-color)));
  border-radius: 200px;
  border: 1px solid var(--reassurance-badge-border, #2e6b5e);
  pointer-events: auto;
}

.product-reassurance-item--badge .product-reassurance-item__label {
  font-size: var(--text-xs);
}

@media screen and (max-width: 699px) {
  .product-gallery__reassurance-zone--badges {
    padding: var(--spacing-2);
    padding-bottom: var(--spacing-8);
  }

  .product-gallery__media--reassurance .product-gallery__zoom--on-media,
  .product-gallery__media-list-wrapper:has(.product-gallery__media--reassurance) > .product-gallery__zoom {
    top: var(--spacing-2);
    right: var(--spacing-2);
  }
}
.section-template--29610545578322__ss_hero_33_KrW8kN.hero-template--29610545578322__ss_hero_33_KrW8kN {
  background-color: transparent !important;
}
#shopify-section-template--29610545578322__ss_hero_33_KrW8kN {
  padding: 0 !important;
  margin: 0 !important;
}
.section-template--29610545578322__ss_hero_33_KrW8kN-settings {
  position: relative;
  overflow: hidden;
}
.qty-stepper {
  display: flex;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  overflow: hidden;
  height: 34px;
}
.qty-stepper__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  color: currentColor;
  transition: background 0.15s;
  flex-shrink: 0;
  padding: 0;
}
.qty-stepper__btn:hover {
  background: rgba(0, 0, 0, 0.06);
}
.qty-stepper .quantity-input {
  width: 36px;
  text-align: center;
  border: none;
  border-left: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  height: 34px;
  padding: 0;
  font-size: 14px;
  background: transparent;
  box-shadow: none;
}
cart-drawer,
.cart-drawer {
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
cart-drawer::-webkit-scrollbar,
.cart-drawer::-webkit-scrollbar {
  display: none;
}
.cart-drawer__ticker {
  overflow: hidden;
  background: #ecf6ef;
  border: 1px solid #b8e0c6;
  border-radius: 8px;
  margin: 10px 0 20px;
  padding: 8px 14px;
}
.cart-drawer__ticker-stack {
  display: grid;
  width: 100%;
}
.cart-drawer__ticker-slide {
  grid-row: 1;
  grid-column: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateX(20px);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
  pointer-events: none;
}
.cart-drawer__ticker-slide.is-active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.cart-drawer__ticker-slide.is-leaving {
  opacity: 0;
  transform: translateX(-20px);
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .cart-drawer__ticker-slide {
    transition: none;
    transform: none;
  }
  .cart-drawer__ticker-slide.is-leaving {
    transform: none;
  }
}
.cart-drawer__ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #2d7849;
  letter-spacing: 0.01em;
  line-height: 1;
  white-space: nowrap;
}
.cart-drawer__ticker-item .icon {
  flex-shrink: 0;
  display: block;
  color: #2d7849;
}
cart-drawer::part(body) {
  overflow-x: hidden !important;
}
.cart-drawer__complementary-products {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 12px 14px;
  box-sizing: border-box;
  gap: 0 !important;
}
.cart-drawer__complementary-header {
  padding-bottom: 10px;
  border-bottom: 1px solid #ececec;
  margin-bottom: 10px;
}
.cart-drawer__complementary-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #1f2421;
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.1px;
}
.cart-drawer__complementary-nav .circle-chevron {
  background: #2e6b5e;
  color: #fff;
  cursor: pointer;
  width: 28px;
  height: 28px;
}
.cart-drawer__complementary-nav .circle-chevron:not([disabled]):hover {
  background: #5dbb84;
  color: #fff;
}
.cart-drawer__complementary-nav .circle-chevron[disabled] {
  background: #2e6b5e;
  opacity: 0.4;
  cursor: default;
}
.cart-drawer__complementary-carousel,
.cart-drawer__complementary-carousel:not(.separate),
.cart-drawer__complementary-carousel > .horizontal-product-list,
.cart-drawer__complementary-carousel > .horizontal-product-list.border {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.cart-drawer__complementary-carousel > .horizontal-product-list.divide-x > * + * {
  border-inline-start: none !important;
}
.cart-drawer__complementary-carousel {
  -webkit-overflow-scrolling: touch;
  grid-template-columns: minmax(0, 1fr);
}
.cart-drawer__complementary-carousel > .horizontal-product-list {
  display: grid;
  grid: auto / auto-flow calc(100% - 48px) !important;
  gap: 10px;
}
@media screen and (min-width: 700px) {
  .cart-drawer__complementary-carousel > .horizontal-product-list {
    grid: auto / auto-flow calc(50% - 5px) !important;
  }
}
.cart-drawer__complementary-carousel::-webkit-scrollbar {
  display: none;
}
.cart-drawer__complementary-carousel {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cart-drawer__complementary-products .horizontal-product {
  padding: 10px;
  gap: 10px;
  align-items: flex-start;
}
.cart-drawer__complementary-products .horizontal-product__image {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid rgb(var(--border-color));
}
.cart-drawer__complementary-products .horizontal-product__info .text-sm.bold,
.cart-drawer__complementary-products .horizontal-product__info span.bold {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
}
.cart-drawer__complementary-products .horizontal-product__info > .v-stack {
  min-width: 0;
}
.cart-drawer__complementary-products .horizontal-product__info .text-sm.text-subdued {
  font-size: 12px;
  line-height: 1.3;
}
.cart-drawer__complementary-products .horizontal-product__qty-stepper {
  height: 30px;
}
.cart-drawer__complementary-products .horizontal-product__qty-btn {
  width: 22px;
  height: 30px;
  font-size: 14px;
}
.cart-drawer__complementary-products .horizontal-product__qty-input {
  width: 26px;
  height: 30px;
  font-size: 13px;
}
.cart-drawer__complementary-products .horizontal-product__qty-row {
  gap: 6px;
}
.cart-drawer__complementary-products .button--subdued {
  --button-background: none !important;
  --button-text-color: none !important;
  background: #fff
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232e6b5e'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96C5 16.1 6.1 17 7 17h11v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63H16c.75 0 1.41-.41 1.75-1.03l3.58-6.49A1 1 0 0 0 20.42 4H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E")
    center / 16px no-repeat !important;
  color: transparent !important;
  border: 1.5px solid #2e6b5e !important;
  font-size: 0 !important;
  width: 32px;
  height: 32px;
  min-width: 32px;
  padding: 0 !important;
  border-radius: 50% !important;
  flex-shrink: 0;
}
.cart-drawer__complementary-products .button--subdued:hover {
  background-color: #ecf6ef !important;
}
.cart-drawer__complementary-products .horizontal-product__cta {
  margin-inline-end: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 699px) {
  .cart-drawer__complementary-nav {
    display: none !important;
  }
}
@media screen and (min-width: 700px) {
  .cart-drawer__complementary-products .horizontal-product__info {
    display: grid !important;
    align-items: stretch;
    gap: 8px;
  }
  .cart-drawer__complementary-products .horizontal-product__cta {
    margin-inline-end: 0;
    justify-self: start;
  }
}
@media (max-width: 999px) {
  div[class*="kl-teaser"],
  div[aria-label="Show"][tabindex="0"] {
    transition: bottom 0.25s ease !important;
  }
  body.sticky-atc-visible div[class*="kl-teaser"],
  body.sticky-atc-visible div[aria-label="Show"][tabindex="0"] {
    bottom: 80px !important;
  }
  body.drawer-open div[class*="kl-teaser"],
  body.drawer-open div[aria-label="Show"][tabindex="0"] {
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body:has(cart-drawer[open]) div[class*="kl-teaser"],
  body:has(cart-drawer[open]) div[aria-label="Show"][tabindex="0"] {
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body:has(navigation-drawer[open]) div[class*="kl-teaser"],
  body:has(navigation-drawer[open]) div[aria-label="Show"][tabindex="0"] {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
.cart-guide-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid #d9eee3;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(45, 120, 73, 0.04);
  font-size: 12px;
  font-weight: 500;
  color: #1f1f1f;
  line-height: 1.3;
  margin-top: -8px;
  margin-bottom: -8px;
}
.cart-guide-banner > .icon {
  flex-shrink: 0;
  display: block;
  color: #2d7849;
}
.cart-guide-banner__text {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cart-guide-banner__text strong {
  font-weight: 600;
  color: #2d7849;
}
cart-drawer .cart-drawer__top {
  padding-top: 0 !important;
  padding-bottom: 4px !important;
  gap: 6px !important;
}
cart-drawer,
.cart-drawer,
.drawer {
  overflow-x: hidden !important;
}
.cart-drawer__payments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 4px;
}
.cart-drawer__payments .payment-icon,
.cart-drawer__payments svg {
  height: 22px;
  width: auto;
  max-height: 22px;
  display: block;
}
@media (max-width: 639px) {
  .qty-stepper {
    height: 26px;
  }
  .qty-stepper__btn {
    width: 26px;
    height: 26px;
    font-size: 14px;
  }
  .qty-stepper .quantity-input {
    width: 26px;
    height: 26px;
    font-size: 12px;
  }
  .line-item__actions {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 80px;
    align-self: center;
  }
  .line-item__remove-btn {
    color: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .line-item__remove-btn:hover {
    color: rgba(0, 0, 0, 0.7);
  }
}
cart-drawer [slot="footer"] {
  gap: 8px !important;
  padding-bottom: 0 !important;
}
cart-drawer.cart-drawer,
cart-drawer {
  --drawer-body-padding: 0.5rem 1.5rem 1.5rem 1.5rem !important;
  --drawer-footer-padding: 1rem 1.5rem 1.75rem 1.5rem !important;
}
@media screen and (min-width: 700px) {
  cart-drawer.cart-drawer,
  cart-drawer {
    --drawer-body-padding: 0.75rem 2.5rem 1.5rem 2.5rem !important;
    --drawer-footer-padding: 1.25rem 2.5rem 1.875rem 2.5rem !important;
  }
}
cart-drawer [slot="footer"] .button {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  font-size: 14.5px !important;
  min-height: 0 !important;
}
cart-drawer [slot="footer"] .h5 {
  font-size: 15px !important;
}
cart-drawer .cart-drawer__top > .h-stack {
  min-height: 0 !important;
}
cart-drawer .cart-drawer__top .h5 {
  font-size: 14px !important;
  line-height: 1.2 !important;
}
cart-drawer .cart-drawer__top .count-bubble {
  font-size: 10px !important;
  min-width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  padding: 0 4px !important;
}
cart-drawer .drawer__close-icon {
  width: 26px !important;
  height: 26px !important;
  padding: 2px !important;
}
cart-drawer .drawer__close-icon svg {
  width: 14px !important;
  height: 14px !important;
}
.product-info__title.h1 {
  font-size: 18px;
  line-height: 1.2;
}
@media (min-width: 1000px) {
  .product-info__title.h1 {
    font-size: 28px;
    line-height: 1.15;
  }
}
.badge--best-seller {
  --badge-background: 127 209 160;
  --badge-color: 255 255 255;
}
.product-gallery__badges {
  position: absolute;
  top: var(--spacing-3);
  inset-inline-start: var(--spacing-3);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-1-5);
  pointer-events: none;
  max-width: calc(100% - var(--spacing-6));
}
.product-gallery__badges .badge {
  padding: 6px var(--spacing-3);
  font-size: 11px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  pointer-events: auto;
}
@media screen and (max-width: 749px) {
  .product-gallery__badges {
    top: var(--spacing-2);
    inset-inline-start: var(--spacing-2);
    gap: var(--spacing-1);
  }
  .product-gallery__badges .badge {
    padding: 5px var(--spacing-2-5);
    font-size: 10.5px;
  }
}
@media screen and (min-width: 1000px) {
  .product-gallery__badges {
    top: var(--spacing-4);
    inset-inline-start: var(--spacing-4);
  }
  .product-gallery__badges .badge {
    padding: 7px var(--spacing-3-5);
    font-size: 12px;
  }
}
@media screen and (min-width: 1000px) {
  .product-gallery--desktop-grid .product-gallery__media img {
    width: 100%;
    height: auto;
  }
}
.product-info__complementary-products {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 12px 14px;
  box-sizing: border-box;
}
.product-info__complementary-products > .h-stack {
  padding-bottom: 10px;
  border-bottom: 1px solid #ececec;
  margin-bottom: 10px;
}
.product-info__complementary-products > .h-stack p {
  font-size: 13.5px;
  font-weight: 600;
  color: #1f2421;
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.1px;
}
.product-info__complementary-products.v-stack {
  gap: 0 !important;
}
.product-info__complementary-products .horizontal-product-list-carousel,
.product-info__complementary-products .horizontal-product-list-carousel:not(.separate),
.product-info__complementary-products .horizontal-product-list.border,
.product-info__complementary-products .horizontal-product-list {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.product-info__complementary-products .horizontal-product-list.divide-x > * + * {
  border-inline-start: none !important;
}
@media screen and (max-width: 999px) {
  .product-info__complementary-products .horizontal-product-list-carousel.bleed {
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
    scroll-padding-inline: 0;
  }
  .product-info__complementary-products .horizontal-product-list-carousel > .horizontal-product-list {
    grid-auto-columns: calc(100% - 56px) !important;
    gap: 8px;
  }
}
@media screen and (min-width: 1000px) {
  .product-info__complementary-products .horizontal-product-list-carousel > .horizontal-product-list {
    grid-auto-columns: calc(50% - 4px) !important;
    gap: 8px;
  }
}
.product-info__complementary-products .horizontal-product {
  padding: 10px;
  gap: 10px;
}
.product-info__complementary-products .horizontal-product__image {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 10px;
}
.product-info__complementary-products .horizontal-product__info .text-sm.bold,
.product-info__complementary-products .horizontal-product__info span.bold {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  display: block;
  white-space: nowrap;
  overflow: hidden;
}
.product-info__complementary-products .horizontal-product__info > .v-stack {
  min-width: 0;
}
.product-info__complementary-products .horizontal-product__info .text-sm.text-subdued {
  font-size: 12px;
  line-height: 1.3;
}
.product-info__complementary-products .horizontal-product__qty-stepper {
  height: 30px;
}
.product-info__complementary-products .horizontal-product__qty-btn {
  width: 22px;
  height: 30px;
  font-size: 14px;
}
.product-info__complementary-products .horizontal-product__qty-input {
  width: 26px;
  height: 30px;
  font-size: 13px;
}
.product-info__complementary-products .horizontal-product__qty-row {
  gap: 6px;
}
.product-info__complementary-products .button--subdued {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  background-size: 16px !important;
}
@media screen and (min-width: 700px) {
  .product-info__complementary-products .horizontal-product__info {
    gap: 8px;
  }
  .product-info__complementary-products .horizontal-product__cta {
    margin-inline-end: 0;
  }
}
klarna-placement::part(osm-container) {
  border: none;
  box-shadow: none;
  padding-top: 0px;
  padding-bottom: 8px;
}
@media (min-width: 1000px) {
  klarna-placement::part(osm-container) {
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 749px) {
  klarna-placement::part(osm-message) {
    font-size: 13px;
    line-height: 1.4;
  }
  klarna-placement::part(osm-legal) {
    font-size: 11px;
    line-height: 1.4;
  }
}
@media (pointer: fine) {
  .product-card__badge-list {
    transition:
      opacity 0.2s ease-in-out,
      transform 0.2s ease-in-out;
    will-change: opacity, transform;
  }
  .product-card--show-secondary-media:has(.product-card__figure:hover) .product-card__badge-list {
    opacity: 0;
    transform: translateX(-10px);
  }
}
.variant-badge {
  display: inline-block;
  margin-inline-start: 0.5rem;
  padding: 0.2rem 0.6rem;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  border-radius: 999px;
  color: #ffffff;
  white-space: nowrap;
  vertical-align: middle;
}
.variant-badge--rupture {
  background-color: #b85e5e;
}
.variant-badge--bestseller {
  background-color: #2e6b5e;
}
.popover-listbox__option .variant-badge {
  margin-inline-start: 0;
}
.popover-listbox__option.is-disabled {
  text-decoration: none;
}
.popover-listbox__option.is-disabled > span:first-child {
  text-decoration: line-through;
}
.badge--nouveaute {
  --badge-background: 122 154 168;
  --badge-color: 255 255 255;
}
.badge--fibre-vegetale {
  --badge-background: 166 124 91;
  --badge-color: 255 255 255;
}
.horizontal-product__qty-stepper {
  display: flex;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  overflow: hidden;
}
.horizontal-product__qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: currentColor;
  flex-shrink: 0;
  padding: 0;
  line-height: 1;
}
.horizontal-product__qty-input {
  text-align: center;
  border: none;
  border-left: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  background: transparent;
  padding: 0;
  color: inherit;
  -moz-appearance: textfield;
  appearance: textfield;
  box-shadow: none;
}
.horizontal-product__qty-input::-webkit-outer-spin-button,
.horizontal-product__qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.horizontal-product__qty-row {
  display: flex;
  align-items: center;
}
@media (max-width: 639px) {
  .line-item__info .sm:hidden {
    display: none !important;
  }
  .line-item__actions .quantity-input {
    width: 32px;
    height: 32px;
    font-size: 13px;
    text-align: center;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    -moz-appearance: textfield;
    appearance: textfield;
  }
  .line-item__actions .quantity-input::-webkit-outer-spin-button,
  .line-item__actions .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
}
.line-item__remove-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(0, 0, 0, 0.35);
  transition: color 0.15s;
}
.line-item__remove-btn:hover {
  color: rgba(0, 0, 0, 0.7);
}
.product-info__grouping .product-info__variant-picker .variant-picker__button {
  justify-content: flex-start !important;
  gap: 0 !important;
}
.product-info__grouping.product-info__grouping {
  align-items: flex-start !important;
}
.product-info__grouping .product-info__variant-picker .variant-picker {
  gap: 0 !important;
}
body.template--product product-quick-add.is-visible,
body.template--product .product-quick-add.is-visible {
  display: none !important;
  pointer-events: none !important;
}
body.template--product.sticky-atc-visible product-quick-add.is-visible,
body.template--product.sticky-atc-visible .product-quick-add.is-visible {
  display: block !important;
  pointer-events: auto !important;
  z-index: 10000 !important;
}
:root {
  color-scheme: light;
}
html,
body {
  color-scheme: light;
}
.stepper__button {
  min-width: 40px !important;
  min-height: 40px !important;
}
.stepper input {
  min-height: 40px !important;
}
.drawer__close,
[aria-label="Close"],
button[is="close-button"] {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.drawer__close svg,
button[is="close-button"] svg {
  width: 20px !important;
  height: 20px !important;
}
@media (max-width: 699px) {
  navigation-drawer[mobile-opening="bottom"] > button[is="close-button"] {
    display: none !important;
  }
  navigation-drawer[mobile-opening="bottom"]::part(outside-close-button) {
    display: grid !important;
    opacity: 1 !important;
    z-index: 100 !important;
  }
  navigation-drawer li.h3 {
    font-size: calc(var(--text-h3) * 0.9) !important;
  }
}
.collection-featured-product > * {
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
}
.header {
  will-change: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  @keyframes ping {
    from,
    to {
      opacity: 0;
      transform: none;
    }
  }
  @keyframes pulse {
    from,
    to {
      opacity: 1;
      transform: none;
    }
  }
  .skeleton {
    animation: none !important;
  }
}
.vdo-install__modal-overlay,
.vdo-acc__modal-overlay {
  cursor: pointer;
}
@media (max-width: 767px) {
  .qty-stepper .quantity-input,
  .line-item__actions .quantity-input,
  .horizontal-product__qty-input,
  input[is="quantity-input"] {
    font-size: 16px !important;
  }
}
@media (max-width: 767px) {
  .qty-stepper__btn,
  .horizontal-product__qty-btn {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}
@media (max-width: 767px) {
  .collection-featured-product > * {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(255, 255, 255, 0.95) !important;
  }
}
cart-drawer [slot="footer"] {
  padding-bottom: calc(1.5rem+env(safe-area-inset-bottom, 0px)) !important;
}
@media (max-width: 999px) {
  .drawer {
    max-height: 100dvh;
  }
  .drawer__inner {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px));
  }
}
.cart-drawer__line-items {
  overscroll-behavior: contain;
}
.line-item__remove-btn {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 600px) {
  .vdo-guides-row.vdo-guides-row--desktop,
  .vdo-guides-row.vdo-guides-row--mobile {
    display: flex !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
}
.vdo-guides-row.vdo-guides-row--desktop > .vdo-install,
.vdo-guides-row.vdo-guides-row--desktop > .vdo-acc,
.vdo-guides-row.vdo-guides-row--mobile > .vdo-install,
.vdo-guides-row.vdo-guides-row--mobile > .vdo-acc {
  margin: 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.vdo-guides-row.vdo-guides-row--desktop .vdo-install__pill,
.vdo-guides-row.vdo-guides-row--desktop .vdo-acc__pill,
.vdo-guides-row.vdo-guides-row--mobile .vdo-install__pill,
.vdo-guides-row.vdo-guides-row--mobile .vdo-acc__pill {
  margin: 0 !important;
  flex: 1 !important;
}
@media (max-width: 999px) {
  x-popover {
    z-index: 10001 !important;
  }
}

.cross-sell-checkboxes {
  display: block;
}

.cross-sell-checkboxes__title {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: rgb(var(--text-color));
}

.cross-sell-checkboxes__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 0 12px;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}

.cross-sell-checkboxes__tab {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  margin: 0;
  padding: 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: rgb(var(--text-color) / 0.06);
  color: rgb(var(--text-color) / 0.55);
  cursor: pointer;
  text-align: start;
  font: inherit;
}

.cross-sell-checkboxes__tab.is-active {
  background: rgb(var(--success-background));
  color: rgb(var(--text-color));
  border-bottom-color: rgb(var(--success-text));
}

.cross-sell-checkboxes__tab-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.cross-sell-checkboxes__tab-description {
  font-size: 12px;
  line-height: 1;
}

.cross-sell-checkboxes__tab-count {
  position: absolute;
  inset-block-start: 8px;
  inset-inline-end: 8px;
  min-width: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: rgb(var(--success-text));
  color: rgb(var(--background));
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
}

/* A forced tab comes from the bundle offer: the list is locked, so the tab bar
   has nothing left to switch. */
.cross-sell-checkboxes.is-tabs-locked .cross-sell-checkboxes__tabs {
  display: none;
}

.cross-sell-checkboxes__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cross-sell-checkboxes__item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  border: 1px solid rgb(var(--border-color));
  border-radius: 14px;
  background: rgb(var(--background));
  overflow: hidden;
}

.cross-sell-checkboxes__item.is-disabled {
  opacity: 0.55;
}

.cross-sell-checkboxes__item:has(.cross-sell-checkboxes__input:checked) {
  border: 2px solid rgb(var(--success-text));
  background: rgb(var(--success-background));
}

.cross-sell-checkboxes__header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
}

.cross-sell-checkboxes__header.is-disabled {
  cursor: not-allowed;
}

.cross-sell-checkboxes__media {
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
}

.cross-sell-checkboxes__image {
  width: 50px;
  height: 50px;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}

.cross-sell-checkboxes__content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cross-sell-checkboxes__name {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  color: rgb(var(--text-color));
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.cross-sell-checkboxes__subtitle {
  font-size: 14px;
  line-height: 1.25;
  color: rgb(var(--text-color));
}

.cross-sell-checkboxes__price {
  margin-top: 2px;
  font-size: 15px;
  line-height: 1.25;
  color: rgb(var(--text-color));
}

.cross-sell-checkboxes__checkbox {
  position: relative;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
}

.cross-sell-checkboxes__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

.cross-sell-checkboxes__input:disabled {
  cursor: not-allowed;
}

.cross-sell-checkboxes__checkmark {
  display: block;
  width: 28px;
  height: 28px;
  border: 1.5px solid rgb(var(--text-color) / 0.2);
  border-radius: 8px;
  background: rgb(var(--background));
  box-sizing: border-box;
  position: relative;
}

.cross-sell-checkboxes__input:checked + .cross-sell-checkboxes__checkmark {
  border-color: rgb(var(--success-text));
  background: rgb(var(--success-text));
}

.cross-sell-checkboxes__input:checked + .cross-sell-checkboxes__checkmark::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 5px;
  width: 7px;
  height: 12px;
  border: solid rgb(var(--background));
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.cross-sell-checkboxes__input:focus-visible + .cross-sell-checkboxes__checkmark {
  outline: 2px solid rgb(var(--success-text));
  outline-offset: 2px;
}

.cross-sell-checkboxes__variants {
  display: none;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 0 14px 12px;
}

.cross-sell-checkboxes__item.has-variants:has(.cross-sell-checkboxes__input:checked) .cross-sell-checkboxes__variants {
  display: grid;
}

.cross-sell-checkboxes__variants:has(.cross-sell-checkboxes__select-wrap + .cross-sell-checkboxes__select-wrap) {
  grid-template-columns: 1fr 1fr;
}

.cross-sell-checkboxes__select-wrap {
  position: relative;
  min-width: 0;
}

.cross-sell-checkboxes__select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  height: 24px;
  padding: 0 32px 0 12px;
  border: 1px solid rgb(var(--border-color));
  border-radius: 999px;
  background-color: rgb(var(--background));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  color: rgb(var(--text-color));
  font: inherit;
  font-size: 12px;
  font-weight: 400;
  cursor: pointer;
}

.cross-sell-checkboxes__badge {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 4px 12px;
  background: rgb(var(--success-text));
  color: rgb(var(--background));
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.cross-sell-checkboxes__badge-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

.product-info__cross-sell-checkboxes {
  margin-block: 0.5rem;
}

/* ============================================================
   FIX MOBILE — Débordements écrans étroits (iPhone Mini/14 Pro)
   Appliqué le 2026-08-25
   ============================================================ */

/* Fix 1 — Galerie produit : clipping du carrousel scroll-snap */
@media screen and (max-width: 699px) {
  .product-gallery {
    overflow-x: clip;
  }
  .product-gallery__media-list {
    overflow-x: auto;
    overflow-y: visible;
  }
}

/* Fix 2 — Sections horizontales : text-with-icons et multi-column */
@media screen and (max-width: 699px) {
  .text-with-icons__scroll-area,
  .multi-column__scroll-area {
    overflow-x: clip;
  }
  .text-with-icons__item {
    min-width: calc(100vw - 48px);
    max-width: calc(100vw - 48px);
    flex-shrink: 0;
  }
  .multi-column__item {
    min-width: calc(100vw - 48px);
    max-width: calc(100vw - 48px);
    flex-shrink: 0;
  }
}

/* Fix 3 — Ligne sélecteur dimension + quantité (Intelligems / product-form) */
@media screen and (max-width: 699px) {
  .variant-input-wrapper,
  .product-form__quantity-wrapper,
  .product-form__controls {
    flex-wrap: wrap;
    gap: 8px;
  }
  .product-form__controls > * {
    min-width: 0;
    flex-shrink: 1;
  }
}


/* ============================================================
   FIX STORIES — Sursaut visuel au changement de variante
   Appliqué le 2026-08-25
   ============================================================ */

/* Fix A : désactiver l'animation pulse du fond des slides (skeleton caché par la vidéo mais visible au reflow) */
[class*="video-slide-video-"] {
  animation: none !important;
}

/* Fix B : transition uniquement sur hover (évite d'animer le recalcul Swiper au reflow) */
[class*="video-slide-"]:not(:hover) {
  transition: none !important;
}


/* ============================================================
   FIX CART ORDER — Label "Accessoires associés à votre filet"
   ============================================================ */
.cart-drawer__accessories-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #888;
  margin: 8px 0 4px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
}


/* ============================================================
   FIX STORIES FOUC v2 — Slides "énormes" pendant la réinit Swiper
   Cause : .swiper-wrapper perd overflow:hidden entre classList.remove("preview")
           et new Swiper(...), les slides s'étendent en plein écran puis se recadrent
   ============================================================ */

/* Le conteneur Swiper doit clipper son contenu à tout moment */
[class*="video-slider-wrapper-"] {
  overflow: hidden !important;
}
[class*="video-slider-"] {
  overflow: hidden !important;
}

/* Le swiper-wrapper ne peut pas déborder hors du conteneur */
[class*="video-slider-"] .swiper-wrapper {
  overflow: hidden;
}


/* ============================================================
   FIX STORIES FOUC v3 — Masquage pendant la phase preview
   Cause : en mode .preview, les slides ont width:100% + aspect-ratio 9.6/16
           → hauteur explosive visible pendant le chargement
   Fix : opacity:0 pendant preview, transition 0.2s après init Swiper
   ============================================================ */

[class*="video-slider-"].preview {
  opacity: 0 !important;
  pointer-events: none;
}

[class*="video-slider-"]:not(.preview) {
  opacity: 1;
  transition: opacity 0.2s ease;
}


/* ============================================================
   FIX STORIES FOUC v4 — Collapse complet (plus de blanc pendant preview)
   v3 masquait visuellement (opacity:0) mais l'espace restait.
   v4 : max-height:0 + overflow:hidden pour écraser l'espace occupé.
   ============================================================ */

/* Collapse le slider pendant preview */
[class*="video-slider-"].preview {
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Collapse le wrapper parent grâce à :has() */
[class*="video-slider-wrapper-"]:has([class*="video-slider-"].preview) {
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Après init Swiper : retour taille naturelle, fondu rapide */
[class*="video-slider-"]:not(.preview) {
  max-height: none;
  overflow: visible;
}
[class*="video-slider-wrapper-"]:not(:has([class*="video-slider-"].preview)) {
  max-height: none;
  overflow: visible;
}


/* ============================================================
   SHOP THE LOOK — Bottom sheet mobile (clic sur pastille)
   Le scroll-carousel mobile devient un panel fixe en bas d'écran.
   Caché par défaut, révélé via .stl-open au clic d'un pin.
   ============================================================ */
@media screen and (max-width: 699px) {
  .shop-the-look .shop-the-look__carousel {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 300 !important;
    background: #fff !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 -4px 32px rgba(0,0,0,.2) !important;
    transform: translateY(110%) !important;
    transition: transform 0.38s cubic-bezier(.32,.72,0,1) !important;
    margin: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 16px) !important;
    overflow-y: auto !important;
    max-height: 60vh !important;
  }
  .shop-the-look .shop-the-look__carousel.stl-open {
    transform: translateY(0) !important;
  }
  .stl-sheet-handle {
    display: block;
    width: 40px;
    height: 4px;
    background: #d1d1d6;
    border-radius: 2px;
    margin: 12px auto 10px;
  }
  .stl-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 299;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .stl-backdrop.stl-open {
    opacity: 1;
    pointer-events: auto;
  }
}

/* ==========================================================================
   ENCADRÉS DE VARIANTES — fiche produit
   Repris du thème source : le sélecteur de taille et le sélecteur de quantité
   sont présentés dans un même encadré, côte à côte. Les pastilles de couleur
   codées en dur qui accompagnaient ces règles ont été retirées : le maillage
   entre pages couleur est géré dynamiquement par le snippet vdo-blk-couleur.
   ========================================================================== */
/* ============================================================
     ENCADRÉ COULEUR
     ============================================================ */
  .vdo-variant-card {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 14px 16px;
    box-sizing: border-box;
  }
.vdo-variant-card .variant-picker__option {
    margin: 0;
    padding: 0;
    border: 0;
  }
.vdo-variant-card--no-label-border {
    background: transparent;
    border: 0;
    padding: 0;
  }
.vdo-variant-card--no-label-border .variant-picker__option-info {
    display: none;
  }
/* ============================================================
     ENCADRÉ TAILLE + QUANTITÉ
     ============================================================ */
  .product-info__grouping {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 14px 16px;
    box-sizing: border-box;
    display: flex !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 16px !important;
    flex-wrap: nowrap !important;
  }
.product-info__grouping .product-info__variant-picker {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
.product-info__grouping .product-info__quantity-selector {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
.product-info__grouping .product-info__variant-picker > *,
  .product-info__grouping .product-info__quantity-selector > * {
    flex-grow: 0;
  }
/* Le dropdown taille remplit 100% de son parent flex */
  .product-info__grouping .product-info__variant-picker .variant-picker,
  .product-info__grouping .product-info__variant-picker .select {
    width: 100% !important;
  }
/* Le stepper quantité garde sa largeur naturelle compacte */
  .product-info__grouping .product-info__quantity-selector .quantity-selector {
    width: auto !important;
  }
.vdo-variant-card,
    .product-info__grouping {
      padding: 12px 14px;
    }
.product-info__grouping {
      gap: 10px !important;
    }
.variant-picker__option-values.wrap {
      flex-wrap: nowrap !important;
      gap: 0 !important;
      justify-content: space-between !important;
      width: 100%;
    }
/* === Stepper quantité ultra-compact sur mobile === */
    .product-info__grouping .product-info__quantity-selector .quantity-selector__button {
      padding-inline-start: 0.4rem !important;
      padding-inline-end: 0.4rem !important;
    }
.product-info__grouping .product-info__quantity-selector .quantity-selector__input {
      min-width: 1rem !important;
      padding-inline: 0.25rem !important;
    }
/* Align stepper et label sur le bord droit de la colonne */
    .product-info__grouping .product-info__quantity-selector,
    .product-info__grouping .product-info__quantity-selector .form-control {
      align-items: flex-end !important;
    }
