/*
  CMS pack � layout / structure seulement.
  Pas de font-size / line-height sur les titres :
  m�me typo que l�admin collections (styles.css FibLanc, sans themes.css).
*/

.cms-pack .no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.cms-pack .no-gutters > .col,
.cms-pack .no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.cms-pack .container-xxl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 1200px) {
  .cms-pack .container-xxl { max-width: 95%; }
}
@media (min-width: 1750px) {
  .cms-pack .container-xxl { max-width: 1750px; }
}

.cms-pack .font-weight-500 { font-weight: 500 !important; }
.cms-pack .font-weight-600 { font-weight: 600 !important; }
.cms-pack .font-weight-bold { font-weight: 700 !important; }
.cms-pack .letter-spacing-05 { letter-spacing: .05em; }
.cms-pack .text-white { color: #fff !important; }
.cms-pack .mxw-435px { max-width: 435px; }

.cms-pack .mb-4 { margin-bottom: 1.5rem !important; }
.cms-pack .mb-5 { margin-bottom: 2rem !important; }
.cms-pack .mb-6 { margin-bottom: 2.5rem !important; }
.cms-pack .mb-7 { margin-bottom: 3rem !important; }
.cms-pack .mb-8 { margin-bottom: 3.5rem !important; }
.cms-pack .pt-8 { padding-top: 3.5rem !important; }
.cms-pack .py-6 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
.cms-pack .pb-10 { padding-bottom: 4.375rem !important; }
.cms-pack .pb-11 { padding-bottom: 5rem !important; }
.cms-pack .pb-12 { padding-bottom: 5.5rem !important; }
.cms-pack .px-6 { padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
.cms-pack .px-7 { padding-left: 3rem !important; padding-right: 3rem !important; }
.cms-pack .pt-6 { padding-top: 2.5rem !important; }
.cms-pack .pb-7 { padding-bottom: 3rem !important; }

@media (min-width: 992px) {
  .cms-pack .mb-lg-0 { margin-bottom: 0 !important; }
  .cms-pack .mb-lg-10 { margin-bottom: 4.375rem !important; }
  .cms-pack .pb-lg-15 { padding-bottom: 7.5rem !important; }
  .cms-pack .pt-lg-11 { padding-top: 5rem !important; }
  .cms-pack .pl-lg-6 { padding-left: 2.5rem !important; }
  .cms-pack .pr-lg-6 { padding-right: 2.5rem !important; }
  .cms-pack .pl-lg-15 { padding-left: 7.5rem !important; }
  .cms-pack .pr-lg-15 { padding-right: 7.5rem !important; }
}
@media (min-width: 1200px) {
  .cms-pack .mb-xl-0 { margin-bottom: 0 !important; }
}
@media (min-width: 1400px) {
  .cms-pack .pr-xxl-8 { padding-right: 3.5rem !important; }
  .cms-pack .pl-xxl-9 { padding-left: 4rem !important; }
}

/* �� style-4 : CSS identique preview CMS (netadvisor), sans toucher aux fonts �� */
.cms-pack .tf-slideshow.style-4 {
  position: relative;
  background-color: var(--Surface, #f8f9fa);
}
.cms-pack .tf-slideshow.style-4 .wrap-slider {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 700px;
}
.cms-pack .tf-slideshow.style-4 .content-left {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cms-pack .tf-slideshow.style-4 .box-content {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  max-width: 440px;
  left: 32%;
  z-index: 5;
}
.cms-pack .tf-slideshow.style-4 .img-style {
  background-color: var(--Onsurface, #333);
  height: 100%;
  overflow: hidden;
}
.cms-pack .tf-slideshow.style-4 .img-style img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cms-pack .tf-slideshow.style-4 .wrap-pagination {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24px;
  z-index: 2;
}
.cms-pack .tf-slideshow.style-4 .sw-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 56px;
  height: 56px;
}
.cms-pack .tf-slideshow.style-4 .swiper-button-next { right: 28px; }
.cms-pack .tf-slideshow.style-4 .swiper-button-prev { left: 28px; }

@media (max-width: 1515px) {
  .cms-pack .tf-slideshow.style-4 .wrap-slider {
    grid-template-columns: 50% 50% !important;
  }
}
@media (max-width: 1199px) {
  .cms-pack .tf-slideshow.style-4 .box-content { left: 15%; }
  .cms-pack .tf-slideshow.style-4 .wrap-pagination { display: block; }
  .cms-pack .tf-slideshow.style-4 .wrap-slider { height: 650px; }
}
@media (max-width: 991px) {
  .cms-pack .tf-slideshow.style-4 { padding-bottom: 20px; }
  .cms-pack .tf-slideshow.style-4 .wrap-slider {
    height: 400px;
    grid-template-columns: 1fr;
  }
  .cms-pack .tf-slideshow.style-4 .content-left {
    order: 2;
    padding: 30px 20px;
  }
  .cms-pack .tf-slideshow.style-4 .img-style {
    order: 1;
    height: 300px;
  }
  .cms-pack .tf-slideshow.style-4 .box-content {
    position: relative;
    transform: none;
    left: 0;
    top: 0;
    max-width: 100%;
    text-align: center;
  }
}

/* �� collections / refresh room �� */
.cms-pack .collections-carousel-slider .card {
  overflow: hidden;
  background: #fff;
}
.cms-pack .collections-carousel-slider .card-img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  transform-origin: center center;
}
.cms-pack .collections-carousel-slider .card-img-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.45) 100%);
  border-radius: 0;
}
.cms-pack .collections-carousel-slider .slick-list {
  margin: 0 -12px;
}
.cms-pack .collections-carousel-slider .slick-slide {
  padding: 0 12px;
}
.cms-pack .collections-carousel-slider:not(.slick-initialized) {
  display: flex;
  gap: 24px;
  overflow: hidden;
}
.cms-pack .collections-carousel-slider:not(.slick-initialized) > .box {
  flex: 0 0 calc(50% - 12px);
  max-width: calc(50% - 12px);
}
.cms-pack .py-6 .collections-carousel-slider:not(.slick-initialized) > .box {
  flex: 0 0 calc(25% - 18px);
  max-width: calc(25% - 18px);
}

.cms-pack .custom-arrow .arrow {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e4e4e4;
  color: #000;
  border-radius: 50%;
  text-decoration: none;
  background: #fff;
  position: relative;
}
.cms-pack .custom-arrow .slick-prev { margin-right: 10px; }
.cms-pack .custom-arrow .slick-prev::before,
.cms-pack .custom-arrow .fa-arrow-left::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(-135deg);
  margin-left: 4px;
}
.cms-pack .custom-arrow .slick-next::before,
.cms-pack .custom-arrow .fa-arrow-right::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  margin-right: 4px;
}
.cms-pack .border-light-dark { border-color: rgba(255,255,255,.75) !important; }
.cms-pack .border-hover-primary:hover { border-color: var(--Primary, #c4a484) !important; color: #fff !important; }

/* �� dual banner �� */
.cms-pack .banner.banner-05 {
  overflow: hidden;
}
.cms-pack .banner.banner-05 .card-img {
  height: 300px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.cms-pack .banner.banner-05 .card-img.dual-banner-img-mode {
  overflow: hidden;
  padding: 0;
  background: #f5f5f5;
}
.cms-pack .banner.banner-05 .card-img.dual-banner-img-mode > img.dual-banner-direct-img {
  width: 100%;
  height: 100%;
  display: block;
  object-position: center;
}
.cms-pack .banner.banner-05 .card-img-overlay {
  background: rgba(0,0,0,.28);
}
.cms-pack .btn-white {
  color: #212529;
  background-color: #fff;
  border-color: #fff;
  padding: .75rem 1.5rem;
  display: inline-block;
  text-decoration: none;
}
.cms-pack .btn-white:hover {
  color: #212529;
  background-color: #f5f5f5;
}
@media (min-width: 576px) {
  .cms-pack .banner.banner-05 .card-img { height: 400px; }
}
@media (min-width: 1750px) {
  .cms-pack .banner.banner-05 .card-img { height: 515px; }
}

/* �� room inspiration / products �� */
.cms-pack .home-room-inspiration-slider img {
  width: 100%;
  display: block;
  object-fit: cover;
  min-height: 360px;
}
.cms-pack .home-room-inspiration-slider:not(.slick-initialized) > .box:not(:first-child) {
  display: none;
}
.cms-pack .elemonor-products-grid .card-img {
  aspect-ratio: 1 / 1;
  width: 100%;
  background-size: cover;
  background-position: center;
}
.cms-pack .products-grid-slider:not(.slick-initialized) {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.cms-pack .products-grid-slider:not(.slick-initialized) > * {
  width: calc(25% - 12px);
  min-width: 180px;
}

.cms-pack .fade-item {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* �� hero carousel (CMS block `carousel`) �� */
.cms-pack .bg-img-cover-center,
.cms-pack .hero-carousel-section .hero-slide {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.cms-pack .custom-vh-02,
.cms-pack .hero-carousel-section .hero-slide {
  height: calc(100vh - 72px);
  min-height: 420px;
}
@media (min-width: 1200px) {
  .cms-pack .custom-vh-02,
  .cms-pack .hero-carousel-section .hero-slide {
    height: calc(100vh - 210px);
  }
}
@media (max-width: 767.98px) {
  .cms-pack .custom-height-sm,
  .cms-pack .hero-carousel-section .hero-slide.custom-height-sm {
    height: 600px !important;
  }
}
.cms-pack .hero-carousel-section .hero-slide-inner h1 {
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: 1;
  font-weight: 700;
}
.cms-pack .hero-carousel-section .btn-white {
  background: #fff;
  color: #111;
  border: none;
  padding: 0.65rem 1.5rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  display: inline-block;
}

/* D�couvrez notre collection � carrousel 3 colonnes (cms-netadvisor) */
.cms-pack .s-categories-v04 .category-item {
  justify-content: flex-start;
}
.cms-pack .s-categories-v04 .category-item.style-2 .img-style {
  display: block;
  width: 100%;
  line-height: 0;
}
.cms-pack .s-categories-v04 .category-item.style-2 .img-style img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  visibility: visible !important;
}
.cms-pack .s-categories-v04 .category-item,
.cms-pack .s-categories-v04 .category-item * {
  visibility: visible !important;
}
.cms-pack .s-categories-v04 .swiper-slide {
  height: auto;
}

/* Services — alignements pilotés par CSS vars (--fsvc-*) du bloc */
.cms-pack .s-customer-services-v01 .box-icon_v01.style-col {
  align-items: stretch !important;
  text-align: var(--fsvc-item-title-align, center) !important;
  gap: 20px;
}
.cms-pack .s-customer-services-v01 .box-icon_v01.style-col .icon {
  display: flex !important;
  justify-content: var(--fsvc-icon-justify, center) !important;
  align-items: center !important;
  width: 100% !important;
  font-size: var(--fsvc-icon-size, 48px);
  line-height: 1;
  visibility: visible !important;
}
.cms-pack .s-customer-services-v01 .box-icon_v01.style-col,
.cms-pack .s-customer-services-v01 .box-icon_v01.style-col * {
  visibility: visible !important;
}
.cms-pack .s-customer-services-v01 .swiper-slide {
  height: auto;
}
.cms-pack .s-customer-services-v01 .content .h5 {
  margin-bottom: 8px;
  text-align: var(--fsvc-item-title-align, center) !important;
}
.cms-pack .s-customer-services-v01 .content p {
  text-align: var(--fsvc-item-text-align, center) !important;
}

/* NEW IN — carte produit (aligné sous l’image, surchargeable via --fp-product-align) */
.cms-pack .s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info {
  text-align: var(--fp-product-align, start);
  align-items: stretch;
}
.cms-pack .card-product .product-color-slot-empty {
  height: 40px;
  min-height: 40px;
  margin-top: 8px;
}
.cms-pack .s-product-main .swiper-slide {
  height: auto;
}
.cms-pack .s-product-main .product-img {
  display: block;
  position: relative;
  overflow: hidden;
}
.cms-pack .s-product-main .product-img .img-product,
.cms-pack .s-product-main .product-img .img-hover {
  width: 100%;
  height: auto;
  aspect-ratio: unset;
  object-fit: cover;
  display: block;
}
.cms-pack .s-product-main .sw-dots {
  display: flex !important;
  justify-content: center;
  margin-top: 24px;
}
.cms-pack .s-product-main .product-color_list .product-color-item.style-img .swatch-value {
  overflow: hidden;
  background-color: #f3f3f3;
}
.cms-pack .s-product-main .product-color_list .product-color-item.style-img .swatch-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Pastilles couleur — contour sur le disque (page d'accueil / blocs CMS) */
.cms-pack .product-color_list .product-color-item {
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

.cms-pack .product-color_list .product-color-item .swatch-value,
.cms-pack .product-color_list .product-color-item.style-img .swatch-value,
.cms-pack .product-color_list .product-color-item.fiblanc-color-swatch .swatch-value {
  border: 1px solid rgba(37, 37, 37, 0.5) !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

.cms-pack .product-color_list .product-color-item.active,
.cms-pack .product-color_list .product-color-item.style-img.active,
.cms-pack .product-color_list .product-color-item:hover,
.cms-pack .product-color_list .product-color-item.style-img:hover {
  border-color: var(--Black, #252525) !important;
  box-shadow: none !important;
}

.cms-pack .card-product .product-color_list .product-color-item,
.cms-pack .card-product .product-color_list .product-color-item.style-img,
.cms-pack .card-product .product-color_list .product-color-item.sz-large {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px;
  border: 1px solid transparent !important;
  box-sizing: border-box;
  overflow: hidden;
}
.cms-pack .card-product .product-color_list .product-color-item .swatch-value,
.cms-pack .card-product .product-color_list .product-color-item.style-img .swatch-value,
.cms-pack .card-product .product-color_list .product-color-item.sz-large .swatch-value {
  width: 100% !important;
  height: 100% !important;
  border: 1px solid rgba(37, 37, 37, 0.5) !important;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover !important;
  background-color: #f3f3f3;
}
.cms-pack .card-product .product-color_list .product-color-item.active,
.cms-pack .card-product .product-color_list .product-color-item:hover {
  border-color: var(--Black, #252525) !important;
}
.cms-pack .card-product .product-color_list .product-color-item.active .swatch-value,
.cms-pack .card-product .product-color_list .product-color-item:hover .swatch-value {
  border-color: rgba(37, 37, 37, 0.5) !important;
}
.cms-pack .card-product .product-color-item > img:not(.swatch-img):not(.swatch-fabric-img),
.cms-pack .card-product .product-color-item .variant-preview {
  display: none !important;
}
.cms-pack .card-product .product-color_list .product-color-item.style-img .swatch-value .swatch-img {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 50%;
  pointer-events: none;
}

/* Accueil NEW IN — pastilles toujours visibles (hex + tissu) */
.cms-pack .s-product-main .fiblanc-newin-color-host .product-color-item .swatch-value {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50%;
  overflow: hidden;
  box-sizing: border-box;
}
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--hex {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--empty,
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--broken {
  background-color: #f3f3f3 !important;
  background-image: none !important;
}
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--hex.swatch-value--light {
  background-color: #ffffff !important;
  border: 2px solid rgba(37, 37, 37, 0.65) !important;
  box-shadow: inset 0 0 0 1px rgba(37, 37, 37, 0.35) !important;
}

.cms-pack .s-product-main .fiblanc-newin-color-host .product-color-item:has(.swatch-value--light) {
  border: 1px solid rgba(37, 37, 37, 0.45) !important;
}

.s-product-main .fiblanc-newin-color-pinned {
  display: inline-flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.s-product-main .fiblanc-newin-color-row--has-pinned {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  margin-inline: auto;
  gap: 6px;
  justify-content: flex-start;
}

.s-product-main .fiblanc-newin-color-row--many:not(.fiblanc-newin-color-row--has-pinned) .fiblanc-newin-color-scroll-wrap {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 1 auto;
}

.s-product-main .fiblanc-newin-color-row--many:not(.fiblanc-newin-color-row--has-pinned) .fiblanc-newin-color-scroll-wrap .fiblanc-newin-color-arrow {
  position: static;
  transform: none;
}

.s-product-main .fiblanc-newin-color-row--many:not(.fiblanc-newin-color-row--has-pinned) .fiblanc-newin-color-scroll-wrap .fiblanc-newin-color-viewport {
  padding-inline: 0;
}

.s-product-main .fiblanc-newin-color-scroll-wrap {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  min-width: 0;
  max-width: 100%;
}

.s-product-main .fiblanc-newin-color-row--has-pinned .fiblanc-newin-color-scroll-wrap {
  flex: 0 1 auto;
}

.s-product-main .fiblanc-newin-color-row--has-pinned .fiblanc-newin-color-scroll-wrap .fiblanc-newin-color-viewport {
  flex: 1 1 auto;
  min-width: 0;
  max-width: min(
    100%,
    calc(var(--fp-color-swatch) * var(--fp-newin-visible) + 6px * (var(--fp-newin-visible) - 1))
  );
}

.s-product-main .fiblanc-newin-color-row--has-pinned .fiblanc-newin-color-scroll-wrap .fiblanc-newin-color-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  flex: none;
  margin: 0;
}

.s-product-main .fiblanc-newin-color-row--has-pinned .fiblanc-newin-color-scroll-wrap .fiblanc-newin-color-arrow--prev {
  left: 0;
}

.s-product-main .fiblanc-newin-color-row--has-pinned .fiblanc-newin-color-scroll-wrap .fiblanc-newin-color-arrow--next {
  right: 0;
}

.s-product-main .fiblanc-newin-color-row--has-pinned .fiblanc-newin-color-scroll-wrap .fiblanc-newin-color-viewport {
  padding-inline: 22px;
  box-sizing: border-box;
}

.s-product-main .fiblanc-newin-color-pinned .product-color-item {
  width: var(--fp-color-swatch, 40px) !important;
  height: var(--fp-color-swatch, 40px) !important;
  min-width: var(--fp-color-swatch, 40px) !important;
  max-width: var(--fp-color-swatch, 40px) !important;
  flex: 0 0 var(--fp-color-swatch, 40px) !important;
  flex-shrink: 0 !important;
}

.s-product-main .fiblanc-newin-color-row--has-pinned {
  --fp-newin-visible: 3;
}

@media (min-width: 992px) {
  .s-product-main .fiblanc-newin-color-row--has-pinned {
    --fp-newin-visible: 4;
  }
}
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--fabric .swatch-fabric-img,
.s-product-main .fiblanc-newin-color-host .swatch-value--fabric .swatch-fabric-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 50%;
}
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--fabric,
.cms-pack .card-product .product-color_list .swatch-value--fabric {
  background-color: #f3f3f3;
  background-image: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

/* Parité cms-netadvisor — pastilles rondes + sélection */
.cms-pack .s-product-main .fiblanc-newin-color-host .product-color-item {
  border-radius: 50%;
  border: 1px solid transparent !important;
  box-sizing: border-box;
}
.cms-pack .s-product-main .fiblanc-newin-color-host .product-color-item.active {
  border: 2px solid var(--Black, #252525) !important;
}
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--hex,
.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--fabric {
  border-radius: 50%;
  border: 1px solid rgba(37, 37, 37, 0.45) !important;
  box-sizing: border-box;
}

/* Parité cms-netadvisor : annuler le swatch 22px du thème (styles.css) */
.cms-pack .s-product-main .fiblanc-newin-color-host .product-color_list .product-color-item,
.s-product-main .fiblanc-newin-color-host .product-color_list .product-color-item {
  width: var(--fp-color-swatch, 40px) !important;
  height: var(--fp-color-swatch, 40px) !important;
  min-width: var(--fp-color-swatch, 40px) !important;
  max-width: var(--fp-color-swatch, 40px) !important;
  flex: 0 0 var(--fp-color-swatch, 40px) !important;
  border: 1px solid transparent !important;
  box-sizing: border-box;
  overflow: hidden;
}

.cms-pack .s-product-main .fiblanc-newin-color-host .product-color_list .product-color-item .swatch-value,
.s-product-main .fiblanc-newin-color-host .product-color_list .product-color-item .swatch-value {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  border: 1px solid rgba(37, 37, 37, 0.45) !important;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover !important;
}

.cms-pack .s-product-main .fiblanc-newin-color-host .swatch-value--fabric,
.s-product-main .fiblanc-newin-color-host .swatch-value--fabric {
  background-size: cover !important;
}

.cms-pack .s-product-main .fiblanc-newin-color-host .product-color_list .product-color-item.active,
.s-product-main .fiblanc-newin-color-host .product-color_list .product-color-item.active {
  border: 2px solid var(--Black, #252525) !important;
}
.cms-pack .card-product:not(.fiblanc-card-meta-one-line) .product-color-swiper-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 8px;
  padding: 0 22px;
  box-sizing: border-box;
  height: 40px;
  min-height: 40px;
  flex-shrink: 0;
  overflow: visible;
}
.cms-pack .s-product-main .product-color-swiper,
.cms-pack .card-product .product-color-swiper {
  width: 100%;
  height: 40px !important;
  min-height: 40px;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}
.cms-pack .card-product .product-color_list--swiper {
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  margin-top: 0;
  padding: 0;
  justify-content: flex-start;
}
.cms-pack .s-product-main .product-color-swiper .swiper-slide,
.cms-pack .card-product .product-color-swiper .swiper-slide {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 40px !important;
  box-sizing: border-box !important;
}
.cms-pack .card-product .product-color-swiper .product-color-item {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.cms-pack .card-product .product-color-swiper-wrap .product-color-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--Black, #252525);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  font-size: 9px;
}
.cms-pack .card-product .product-color-swiper-wrap .product-color-nav.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
.cms-pack .card-product .product-color-swiper-wrap .product-color-prev { left: 0; }
.cms-pack .card-product .product-color-swiper-wrap .product-color-next { right: 0; }
.cms-pack .s-product-main .card-product .product-color-swiper-wrap .product-color-nav {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
}

@media (max-width: 575px) {
  .cms-pack .s-product-main .product-action_list .wishlist {
    display: list-item !important;
  }

  .cms-pack .s-product-main .product-action_list {
    gap: 4px;
  }

  .cms-pack .s-product-main .product-action_list .box-icon {
    width: 28px;
    height: 28px;
  }

  .cms-pack .s-product-main .product-action_list .icon {
    font-size: 14px;
  }
}

/* FibLanc hero — tailles gérées plus bas (padding contenu), pas de hauteur fixe sur .thumb */
.fiblanc-hero-size-sm .thumb,
.fiblanc-hero-size-md .thumb,
.fiblanc-hero-size-lg .thumb,
.fiblanc-hero-size-xl .thumb {
  /* ne pas forcer height: ça casse position:absolute inset:0 */
  overflow: hidden;
}
.fiblanc-hero-size-sm .thumb img,
.fiblanc-hero-size-md .thumb img,
.fiblanc-hero-size-lg .thumb img,
.fiblanc-hero-size-xl .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* FibLanc hero — taille via padding Swiper + overlay/bouton */
.hero-banner-v04.fiblanc-hero-size-sm .content { padding: 140px 0 160px !important; }
.hero-banner-v04.fiblanc-hero-size-md .content { padding: 220px 0 240px !important; }
.hero-banner-v04.fiblanc-hero-size-lg .content { padding: 280px 0 300px !important; }
.hero-banner-v04.fiblanc-hero-size-xl .content { padding: 324px 0 356px !important; }
@media (max-width: 1199px) {
  .hero-banner-v04.fiblanc-hero-size-sm .content { padding: 100px 0 !important; }
  .hero-banner-v04.fiblanc-hero-size-md .content { padding: 140px 0 !important; }
  .hero-banner-v04.fiblanc-hero-size-lg .content { padding: 180px 0 !important; }
  .hero-banner-v04.fiblanc-hero-size-xl .content { padding: 200px 0 !important; }
}
@media (max-width: 767px) {
  .hero-banner-v04.fiblanc-hero-size-sm .content { padding: 60px 0 80px !important; }
  .hero-banner-v04.fiblanc-hero-size-md .content { padding: 80px 0 100px !important; }
  .hero-banner-v04.fiblanc-hero-size-lg .content { padding: 100px 0 120px !important; }
  .hero-banner-v04.fiblanc-hero-size-xl .content { padding: 110px 0 130px !important; }
}
.hero-banner-v04 .fiblanc-hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--fh-overlay, rgba(0,0,0,.35));
  pointer-events: none;
  z-index: 1;
}
.hero-banner-v04 .fiblanc-hero-btn {
  display: inline-block;
  padding: 4px 0 6px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--fh-btn-color, #ffffff);
  text-decoration: none;
}
.hero-banner-v04 .fiblanc-hero-btn.hover-underline-link {
  background-color: transparent !important;
  background-image: linear-gradient(90deg, currentColor 0, currentColor 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
  background-position: 100% calc(100% - 1px) !important;
}
.hero-banner-v04 .fiblanc-hero-btn.has-bg {
  padding: 10px 22px;
  background: var(--fh-btn-bg, #fff) !important;
  background-image: none !important;
  text-decoration: none;
  border-radius: 2px;
}

/* ???????????????????????????????????????????????????????????
   Parit� aper�u admin cms-netadvisor (layouts/fiblanc-cms)
   Positionnement / visibility / structure
   ??????????????????????????????????????????????????????????? */

.cms-pack {
  display: flow-root;
  position: relative;
  overflow: visible;
}

.cms-pack > .cms-block-wrap {
  display: flow-root;
  position: relative !important;
  overflow: visible !important;
  height: auto !important;
  min-height: 1px;
  /* Parité admin #dynamic-blocks-container > .block-wrapper */
  margin: 0 !important;
  padding: 0 !important;
}

.cms-pack > .cms-block-wrap > section,
.cms-pack > .cms-block-wrap > .tf-slideshow,
.cms-pack > .cms-block-wrap > .elemonor-block,
.cms-pack > .cms-block-wrap > .hero-banner-v04,
.cms-pack > .cms-block-wrap > .s-colection-v03,
.cms-pack > .cms-block-wrap > .s-banner-v03,
.cms-pack > .cms-block-wrap > .s-testimonials,
.cms-pack > .cms-block-wrap > .s-instagram-gram,
.cms-pack > .cms-block-wrap > .s-product-main {
  position: relative !important;
  display: block;
  height: auto !important;
  overflow: visible !important;
}

/*
 * Accueil : blocs collés (hero / collections / bannières) — CMS + front.
 * L’espacement admin (.elemonor-block-spacing) reste prioritaire s’il est renseigné.
 */
.cms-pack > .cms-block-wrap > section:not(.s-lookbook):not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap > div.s-colection-v03:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap > div.hero-banner-v04:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap > section.elemonor-dual-banner:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap > .s-instagram-gram:not(.elemonor-block-spacing) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#dynamic-blocks-container > .block-wrapper > section:not(.s-lookbook):not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper > div.s-colection-v03:not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper > div.hero-banner-v04:not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper > section.elemonor-dual-banner:not(.elemonor-block-spacing) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.cms-pack > .cms-block-wrap:first-child > section:not(.s-lookbook):not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap:first-child > .s-instagram-gram:not(.elemonor-block-spacing) {
  padding-top: 0 !important;
}

.cms-pack .flat-spacing-2,
.cms-pack .flat-spacing-3,
.cms-pack .flat-spacing-4,
.cms-pack .flat-spacing-5,
.cms-pack .flat-spacing-6,
.cms-pack .flat-spacing-7,
.cms-pack .flat-spacing-8,
.cms-pack .tf-spacing-1,
.cms-pack .tf-spacing-2,
.cms-pack .tf-spacing-3,
.cms-pack .tf-spacing-4,
.cms-pack .tf-spacing-5,
.cms-pack .tf-spacing-6,
.cms-pack .tf-spacing-7,
.cms-pack .tf-spacing-8,
.cms-pack .tf-spacing-9,
.cms-pack .tf-spacing-10 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.cms-pack > .cms-block-wrap:first-child .tf-spacing-1,
.cms-pack > .cms-block-wrap:first-child .tf-spacing-2,
.cms-pack > .cms-block-wrap:first-child .tf-spacing-3,
.cms-pack > .cms-block-wrap:first-child .tf-spacing-4,
.cms-pack > .cms-block-wrap:first-child .tf-spacing-5 {
  padding-top: 0 !important;
}

.cms-pack > .cms-block-wrap:not(:first-child) > .hero-banner-v04:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap:not(:first-child) > .s-colection-v03:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap:not(:first-child) > .s-banner-v03:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap:not(:first-child) > .s-testimonials:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap:not(:first-child) > section.elemonor-dual-banner:not(.elemonor-block-spacing),
.cms-pack > .cms-block-wrap:not(:first-child) > div[data-block-config]:first-child:not(.elemonor-block-spacing) {
  margin-top: 0 !important;
}

#dynamic-blocks-container > .block-wrapper:not(:first-child) > .hero-banner-v04:not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper:not(:first-child) > .s-colection-v03:not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper:not(:first-child) > .s-banner-v03:not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper:not(:first-child) > .s-testimonials:not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper:not(:first-child) > section.elemonor-dual-banner:not(.elemonor-block-spacing),
#dynamic-blocks-container > .block-wrapper:not(:first-child) > div[data-block-config]:first-child:not(.elemonor-block-spacing) {
  margin-top: 0 !important;
}

/* Hero → collections : pas de bande blanche (template home04) */
#content > .block-wrapper.cms-block-wrap + .main-content,
.cms-pack > .block-wrapper.cms-block-wrap + .main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.cms-home-cms #dynamic-blocks-container > .block-wrapper + .block-wrapper,
body.cms-home-cms .cms-pack > .block-wrapper + .block-wrapper,
body.cms-home-cms .cms-pack > .cms-block-wrap + .cms-block-wrap {
  margin-top: 0 !important;
}

.cms-pack .hero-banner-v04 .sw-dots {
  position: absolute !important;
  left: 50%;
  transform: translateX(-50%);
  bottom: 32px;
  margin-top: 0 !important;
}

.cms-pack .hero-banner-v04 .swiper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/*
 * Espacement CMS : plus spécifique que les règles « blocs collés »
 * pour que margin/padding admin s’appliquent aussi sur le front.
 */
.cms-block-wrap > .elemonor-block-spacing,
.cms-pack > .cms-block-wrap > .elemonor-block-spacing,
.cms-pack > .cms-block-wrap > section.elemonor-block-spacing,
.cms-pack > .cms-block-wrap:not(:first-child) > .elemonor-block-spacing,
.cms-pack > .cms-block-wrap:not(:first-child) > div.elemonor-block-spacing[data-block-config]:first-child,
#dynamic-blocks-container > .block-wrapper > .elemonor-block-spacing,
#dynamic-blocks-container > .block-wrapper > section.elemonor-block-spacing,
#dynamic-blocks-container > .block-wrapper:not(:first-child) > .elemonor-block-spacing,
#dynamic-blocks-container > .block-wrapper:not(:first-child) > div.elemonor-block-spacing[data-block-config]:first-child {
  box-sizing: border-box;
  padding-top: var(--esp-pt, 0px) !important;
  padding-bottom: var(--esp-pb, 0px) !important;
  margin-top: var(--esp-mt, 0px) !important;
  margin-bottom: var(--esp-mb, 0px) !important;
}

@media (max-width: 767.98px) {
  .cms-block-wrap > .elemonor-block-spacing,
  .cms-pack > .cms-block-wrap > .elemonor-block-spacing,
  .cms-pack > .cms-block-wrap > section.elemonor-block-spacing,
  .cms-pack > .cms-block-wrap:not(:first-child) > .elemonor-block-spacing,
  .cms-pack > .cms-block-wrap:not(:first-child) > div.elemonor-block-spacing[data-block-config]:first-child,
  #dynamic-blocks-container > .block-wrapper > .elemonor-block-spacing,
  #dynamic-blocks-container > .block-wrapper > section.elemonor-block-spacing,
  #dynamic-blocks-container > .block-wrapper:not(:first-child) > .elemonor-block-spacing,
  #dynamic-blocks-container > .block-wrapper:not(:first-child) > div.elemonor-block-spacing[data-block-config]:first-child {
    padding-top: var(--esp-pt-m, var(--esp-pt, 0px)) !important;
    padding-bottom: var(--esp-pb-m, var(--esp-pb, 0px)) !important;
    margin-top: var(--esp-mt-m, var(--esp-mt, 0px)) !important;
    margin-bottom: var(--esp-mb-m, var(--esp-mb, 0px)) !important;
  }
}

/* Hero : titres toujours visibles (fade-item sinon opacity 0) */
.cms-pack .slider_effect_fade .fade-item,
.cms-pack .hero-banner-v04 .fade-item,
.cms-pack .fade-item {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Hero : image en fond (absolute), contenu par-dessus — comme l’admin */
.cms-pack .hero-banner-v04 {
  position: relative;
  overflow: hidden;
}
.cms-pack .hero-banner-v04 .swiper,
.cms-pack .hero-banner-v04 .swiper-wrapper,
.cms-pack .hero-banner-v04 .swiper-slide {
  position: relative;
  height: auto;
}
.cms-pack .hero-banner-v04 .thumb {
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  z-index: 0;
  overflow: hidden;
}
.cms-pack .hero-banner-v04 .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cms-pack .hero-banner-v04 .content {
  position: relative;
  z-index: 2;
}
.cms-pack .hero-banner-v04 .fiblanc-hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--fh-overlay, rgba(0,0,0,.35));
  pointer-events: none;
  z-index: 1;
}

/* Tailles hero via padding du contenu (hauteur du bloc) */
.cms-pack .hero-banner-v04.fiblanc-hero-size-sm .content { padding: 140px 0 160px !important; }
.cms-pack .hero-banner-v04.fiblanc-hero-size-md .content { padding: 220px 0 240px !important; }
.cms-pack .hero-banner-v04.fiblanc-hero-size-lg .content { padding: 280px 0 300px !important; }
.cms-pack .hero-banner-v04.fiblanc-hero-size-xl .content { padding: 324px 0 356px !important; }
@media (max-width: 1199px) {
  .cms-pack .hero-banner-v04.fiblanc-hero-size-sm .content { padding: 100px 0 !important; }
  .cms-pack .hero-banner-v04.fiblanc-hero-size-md .content { padding: 140px 0 !important; }
  .cms-pack .hero-banner-v04.fiblanc-hero-size-lg .content { padding: 180px 0 !important; }
  .cms-pack .hero-banner-v04.fiblanc-hero-size-xl .content { padding: 200px 0 !important; }
}
@media (max-width: 767px) {
  .cms-pack .hero-banner-v04.fiblanc-hero-size-sm .content { padding: 60px 0 80px !important; }
  .cms-pack .hero-banner-v04.fiblanc-hero-size-md .content { padding: 80px 0 100px !important; }
  .cms-pack .hero-banner-v04.fiblanc-hero-size-lg .content { padding: 100px 0 120px !important; }
  .cms-pack .hero-banner-v04.fiblanc-hero-size-xl .content { padding: 110px 0 130px !important; }
}

.cms-pack .hero-banner-v04 .fiblanc-hero-btn {
  display: inline-block;
  padding: 4px 0 6px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--fh-btn-color, #ffffff);
  text-decoration: none;
}
.cms-pack .hero-banner-v04 .fiblanc-hero-btn.hover-underline-link {
  background-color: transparent !important;
  background-image: linear-gradient(90deg, currentColor 0, currentColor 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
  background-position: 100% calc(100% - 1px) !important;
}
.cms-pack .hero-banner-v04 .fiblanc-hero-btn.has-bg {
  padding: 10px 22px;
  background: var(--fh-btn-bg, #fff) !important;
  background-image: none !important;
  text-decoration: none;
  border-radius: 2px;
}

/* Marquee ? layout avant init JS */
.cms-pack .wrap-marquee-slide {
  overflow: hidden;
  width: 100%;
}
.cms-pack .wrap-marquee-slide .infiniteslide {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  width: max-content;
  white-space: nowrap;
}
.cms-pack .wrap-marquee-slide .marquee-inner {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap;
}
.cms-pack .wrap-marquee-slide .marquee-inner .h1.title {
  white-space: nowrap;
}

/* Lookbook — split 50/50 (desktop + mobile, comme maisonfilblanc.fr) */
.cms-pack .s-lookbook {
  display: flex !important;
  flex-direction: row !important;
  width: 100%;
  align-items: stretch;
}
.cms-pack .s-lookbook .left-img,
.cms-pack .s-lookbook .right-product {
  width: 50% !important;
  flex: 0 0 50% !important;
  max-width: 50% !important;
  min-width: 0;
}
.cms-pack .s-lookbook .left-img {
  min-height: 640px;
  position: relative;
  overflow: visible;
}
.cms-pack .s-lookbook .left-img .cls-lookbook {
  overflow: visible;
}
.cms-pack .s-lookbook .left-img .cls-lookbook,
.cms-pack .s-lookbook .left-img > .cls-lookbook > .img-style {
  height: 100% !important;
  min-height: 640px;
}
.cms-pack .s-lookbook .left-img .img-cover {
  width: 100% !important;
  height: 100% !important;
  min-height: 640px;
  object-fit: cover !important;
  display: block;
}
.cms-pack .s-lookbook .right-product {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center;
  padding: 48px 24px !important;
  background: #fff;
  min-height: 420px;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Lookbook mobile + tablette : image | produit côte à côte (50/50) */
@media (max-width: 991.98px) {
  .cms-pack .s-lookbook,
  #dynamic-blocks-container .s-lookbook.fiblanc-lookbook-styled,
  body.cms-fiblanc .s-lookbook,
  body.cms-fiblanc .s-lookbook.fiblanc-lookbook-styled {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    overflow-x: hidden !important;
  }
  .cms-pack .s-lookbook .left-img,
  body.cms-fiblanc .s-lookbook .left-img {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    aspect-ratio: 3 / 4;
    min-height: 0 !important;
    align-self: stretch;
  }
  .cms-pack .s-lookbook .right-product,
  body.cms-fiblanc .s-lookbook .right-product {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 991.98px) {
  .cms-pack .s-lookbook .wrap-swiper,
  body.cms-fiblanc .s-lookbook .wrap-swiper,
  .fiblanc-lookbook-styled .wrap-swiper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    max-width: 100% !important;
    width: 100% !important;
    padding-inline: 0 !important;
    margin-inline: auto !important;
  }
  .cms-pack .s-lookbook .tf-sw-lookbook,
  body.cms-fiblanc .s-lookbook .tf-sw-lookbook,
  .fiblanc-lookbook-styled .tf-sw-lookbook {
    overflow: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: 0 0 auto;
  }
  .fiblanc-lookbook-styled .wrap-swiper > .fiblanc-lookbook-cta-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-inline: 0;
    overflow: visible !important;
  }
  .cms-pack .s-lookbook .tf-sw-lookbook .swiper-slide,
  body.cms-fiblanc .s-lookbook .tf-sw-lookbook .swiper-slide {
    width: 100% !important;
    box-sizing: border-box;
  }
  .cms-pack .s-lookbook .lookbook-slide-card .product-action_list,
  .cms-pack .s-lookbook .product-action_list,
  .fiblanc-lookbook-styled .product-action_list,
  body.cms-fiblanc .s-lookbook .product-action_list {
    display: none !important;
  }
  .cms-pack .s-lookbook .lookbook-slide-card .card-product_wrapper .product-img,
  .fiblanc-lookbook-styled .lookbook-slide-card .product-img {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: min(32vh, 140px);
    overflow: hidden;
  }
  .cms-pack .s-lookbook .lookbook-slide-card .product-img img,
  .fiblanc-lookbook-styled .lookbook-slide-card .product-img img {
    max-height: min(32vh, 140px) !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
  .cms-pack .s-lookbook .tf-pin-btn span,
  .fiblanc-lookbook-styled .tf-pin-btn span {
    width: 26px !important;
    height: 26px !important;
    border-width: 8px !important;
  }
  .cms-pack .s-lookbook .left-img {
    min-height: 0 !important;
  }
  .cms-pack .s-lookbook .left-img > .cls-lookbook > .img-style {
    min-height: 100% !important;
    height: 100% !important;
  }
  .cms-pack .s-lookbook .left-img .cls-lookbook,
  .cms-pack .s-lookbook .left-img > .cls-lookbook > .img-style,
  .cms-pack .s-lookbook .left-img .img-cover,
  body.cms-fiblanc .s-lookbook .left-img .cls-lookbook,
  body.cms-fiblanc .s-lookbook .left-img .img-cover {
    min-height: unset !important;
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }
  .cms-pack .s-lookbook .right-product {
    min-height: 0 !important;
    justify-content: flex-start !important;
    padding: 14px 10px 12px !important;
  }
  .cms-pack .s-lookbook .wrap-swiper,
  .cms-pack .s-lookbook .tf-sw-lookbook {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto;
    margin-right: auto;
  }
  .cms-pack .s-lookbook .wrap-swiper.has-lookbook-arrows {
    max-width: 100% !important;
    padding-inline: 28px;
    box-sizing: border-box;
  }
  .cms-pack .s-lookbook .right-product .heading-seciton,
  .cms-pack .s-lookbook .right-product h2 {
    margin-bottom: 8px !important;
    font-size: clamp(0.75rem, 3.2vw, 1.125rem);
    line-height: 1.2;
  }
  .cms-pack .s-lookbook .tf-sw-lookbook .swiper-slide > .tf-btn,
  .cms-pack .s-lookbook .tf-btn.w-full,
  .fiblanc-lookbook-styled .tf-sw-lookbook .swiper-slide > .tf-btn,
  .fiblanc-lookbook-styled a.fiblanc-lookbook-cta {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    font-size: clamp(11px, 3vw, 13px) !important;
    padding: 12px 10px !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    line-height: 1.35 !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  .fiblanc-lookbook-styled .tf-sw-lookbook .swiper-slide,
  .cms-pack .s-lookbook .tf-sw-lookbook .swiper-slide {
    height: auto !important;
    overflow: visible !important;
    align-items: stretch;
  }
  .fiblanc-lookbook-styled .tf-sw-lookbook .swiper-wrapper {
    align-items: stretch;
  }
  .cms-pack .s-lookbook .wrap-swiper > .sw-pagination-lookbook,
  .cms-pack .s-lookbook .fiblanc-lookbook-dots,
  .fiblanc-lookbook-styled .wrap-swiper > .sw-pagination-lookbook {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    width: 100%;
    margin-top: 22px !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
  }
  .fiblanc-lookbook-styled .tf-sw-lookbook.swiper-initialized,
  .fiblanc-lookbook-styled .tf-sw-lookbook .swiper-wrapper,
  .cms-pack .s-lookbook .tf-sw-lookbook.swiper-initialized,
  .cms-pack .s-lookbook .tf-sw-lookbook .swiper-wrapper {
    height: auto !important;
    min-height: 0 !important;
  }
  .fiblanc-lookbook-styled .lookbook-slide-card {
    margin-bottom: 0 !important;
  }
  .fiblanc-lookbook-styled .fiblanc-lookbook-cta-wrap {
    width: 100%;
    flex: 0 0 auto;
    margin-top: 10px;
  }
  .fiblanc-lookbook-styled .fiblanc-lookbook-cta-wrap .fiblanc-lookbook-cta,
  .fiblanc-lookbook-styled a.fiblanc-lookbook-cta.tf-btn.w-full {
    margin: 0 !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 12px 10px !important;
    line-height: 1.35 !important;
    border: 1px solid #703737 !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  .cms-pack .s-lookbook .lookbook-slide-card,
  .fiblanc-lookbook-styled .lookbook-slide-card {
    margin-bottom: 8px !important;
  }
  .cms-pack .s-lookbook .lookbook-slide-card .card-product_wrapper,
  .cms-pack .s-lookbook .lookbook-slide-card .product-img img {
    max-width: 100%;
  }
  .cms-pack .s-lookbook .name-product {
    height: auto !important;
    min-height: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
}

.cms-pack .s-lookbook .right-product .heading-seciton,
.cms-pack .s-lookbook .right-product h2 {
  color: #111 !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-bottom: 32px !important;
}
.cms-pack .s-lookbook .wrap-swiper {
  width: 100%;
  max-width: 338px;
  margin-left: auto;
  margin-right: auto;
  visibility: visible !important;
  opacity: 1 !important;
}
.cms-pack .s-lookbook .wrap-swiper.has-lookbook-arrows {
  max-width: 454px;
  padding-inline: 58px;
}
.cms-pack .s-lookbook .tf-sw-lookbook {
  width: 100%;
  max-width: 338px;
  margin-left: auto;
  margin-right: auto;
  visibility: visible !important;
  opacity: 1 !important;
}
.cms-pack .s-lookbook .sw-button {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--Secondary, #252525);
  align-items: center;
  justify-content: center;
}

.cms-pack .s-lookbook .sw-button.style-border i[class*="icon-caret"] {
  font-size: 14px;
  line-height: 1;
  display: block;
  color: inherit;
}

.cms-pack .s-lookbook .sw-button.nav-prev-lookbook,
.cms-pack .s-lookbook .sw-button.nav-next-lookbook {
  top: clamp(72px, 22vw, 169px);
  width: 40px;
  height: 40px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

@media (max-width: 991.98px) {
  .cms-pack .s-lookbook .wrap-swiper.has-lookbook-arrows .nav-prev-lookbook,
  .cms-pack .s-lookbook .wrap-swiper.has-lookbook-arrows .nav-next-lookbook,
  .fiblanc-lookbook-styled .wrap-swiper.has-lookbook-arrows .nav-prev-lookbook,
  .fiblanc-lookbook-styled .wrap-swiper.has-lookbook-arrows .nav-next-lookbook {
    display: none !important;
  }

  .cms-pack .s-lookbook .wrap-swiper.has-lookbook-arrows {
    padding-inline: 0 !important;
  }
}

.cms-pack .s-lookbook .fiblanc-newin-color-host,
.cms-pack .s-lookbook .product-color-swiper-wrap,
.cms-pack .s-lookbook .product-color-nav {
  display: none !important;
}
.cms-pack .s-lookbook .tf-sw-lookbook:not(.swiper-initialized) .swiper-wrapper {
  display: flex !important;
}
.cms-pack .s-lookbook .tf-sw-lookbook:not(.swiper-initialized) .swiper-slide {
  width: 100% !important;
  flex-shrink: 0;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.cms-pack .s-lookbook .tf-sw-lookbook:not(.swiper-initialized) .swiper-slide:not(:first-child) {
  display: none !important;
}
.cms-pack .s-lookbook .card-product,
.cms-pack .s-lookbook .name-product,
.cms-pack .s-lookbook .tf-btn {
  visibility: visible !important;
  opacity: 1 !important;
}
.cms-pack .s-lookbook .lookbook-slide-card {
  margin-bottom: 20px;
}
.cms-pack .s-lookbook .name-product {
  margin-bottom: 2px !important;
  height: 56px;
  line-height: 28px;
  min-height: 56px !important;
}
.cms-pack .s-lookbook .card-product_info {
  min-height: 0 !important;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cms-pack .s-lookbook .card-product .price-wrap,
.cms-pack .s-lookbook .card-product .wrap-price {
  margin: 0;
  min-height: 22px;
  line-height: 22px;
}
.cms-pack .s-lookbook .product-color_list {
  display: none;
}
.cms-pack .s-lookbook .lookbook-item {
  right: auto !important;
  bottom: auto !important;
}
.cms-pack .s-lookbook .lookbook-item.position1 {
  --hotspot-x: 31%;
  --hotspot-y: 59%;
  left: 31% !important;
  top: 59% !important;
}
.cms-pack .s-lookbook .lookbook-item.position2 {
  --hotspot-x: 80%;
  --hotspot-y: 42.5%;
  left: 80% !important;
  top: 42.5% !important;
}

/* Banniere � visible sans WOW ; .s2 = texte sur image, .style-2 = carte blanche */
.cms-pack .s-banner-v03 {
  position: relative !important;
  min-height: 420px;
  overflow: hidden;
}
.cms-pack .s-banner-v03 .banner-img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.cms-pack .s-banner-v03 .banner-img img,
.cms-pack .s-banner-v03 .banner-img .fiblanc-banner-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cms-pack .s-banner-v03 .content {
  position: relative;
  z-index: 1;
}
.cms-pack .s-banner-v03 .content,
.cms-pack .s-banner-v03 .content .wow {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}
.cms-pack .s-banner-v03.style-2 .content > div {
  background-color: #ffffff;
}
.cms-pack .s-banner-v03.s2 .content > div {
  background: transparent;
}
.cms-pack .s-banner-v03 .fiblanc-banner-btn-link,
.cms-pack .s-banner-v03.s2 .btn_link.hover-underline-link {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.cms-pack .s-banner-v03 .hover-underline-link.fiblanc-banner-btn-link,
.cms-pack .s-banner-v03.s2 .hover-underline-link {
  background-image: linear-gradient(90deg, currentColor 0, currentColor 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
  background-position: 100% calc(100% - 1px) !important;
}

/* Produits NEW IN — actions visibles */
.cms-pack .fiblanc-products-block .product-action_list,
.cms-pack .fiblanc-products-block .product-action_list li,
.cms-pack .s-product-main .product-action_list,
.cms-pack .s-product-main .product-action_list li {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Testimonials — contenu visible (markup template tf-thumb-tes) */
.cms-pack .s-testimonials,
.cms-pack .s-testimonials .box-img,
.cms-pack .s-testimonials .img-style,
.cms-pack .s-testimonials .content,
#dynamic-blocks-container .s-testimonials.fiblanc-testimonials-styled,
body.cms-fiblanc .s-testimonials.fiblanc-testimonials-styled {
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 767.98px) {
  .cms-pack .s-testimonials.fiblanc-testimonials-styled,
  #dynamic-blocks-container .s-testimonials.fiblanc-testimonials-styled,
  body.cms-fiblanc .s-testimonials.fiblanc-testimonials-styled {
    display: block !important;
    overflow: visible !important;
    min-height: 1px;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .s-testimonials.fiblanc-testimonials-styled .flat-thumbs-tes > .row {
    flex-direction: column !important;
    row-gap: 20px;
  }
  .s-testimonials.fiblanc-testimonials-styled .flat-thumbs-tes > .row > .col-lg-6 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
  .s-testimonials.fiblanc-testimonials-styled .flat-thumbs-tes .box-content,
  .cms-pack .s-testimonials .flat-thumbs-tes .box-content {
    overflow: visible !important;
  }
  .s-testimonials.fiblanc-testimonials-styled .tf-tes-main .swiper-slide,
  .s-testimonials.fiblanc-testimonials-styled .tf-tes-main:not(.swiper-initialized) .swiper-slide {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .s-testimonials.fiblanc-testimonials-styled .tf-tes-main {
    width: 100% !important;
    max-width: 100% !important;
  }
  .s-testimonials.fiblanc-testimonials-styled .flat-thumbs-tes .box-content {
    margin-left: 0 !important;
    max-width: 100% !important;
  }
  .cms-pack > .cms-block-wrap > .s-testimonials.fiblanc-testimonials-styled,
  #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-testimonials"] {
    overflow: visible !important;
  }
  .s-testimonials.fiblanc-testimonials-styled .testimonial-item .desc.h4 {
    overflow-wrap: break-word !important;
    word-break: normal !important;
    max-width: 100% !important;
  }
  .s-testimonials.fiblanc-testimonials-styled .tf-tes-main .swiper-slide .testimonial-item {
    gap: 12px !important;
  }
}

/* Dual banner — collé au reste de l’accueil */
#dynamic-blocks-container .elemonor-dual-banner,
.cms-pack .elemonor-dual-banner {
  padding: 0 !important;
}
#dynamic-blocks-container .elemonor-dual-banner .dual-banner-row,
.cms-pack .elemonor-dual-banner .dual-banner-row {
  gap: 0 !important;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}

/* Collections triptyque — grille collée (CMS + front) */
#dynamic-blocks-container .s-colection-v03,
.cms-pack .s-colection-v03 {
  margin: 0 !important;
  padding: 0 !important;
}
#dynamic-blocks-container .s-colection-v03 .tf-grid-layout,
.cms-pack .s-colection-v03 .tf-grid-layout,
.cms-pack .s-colection-v03 .tf-grid-layout.gap-0 {
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  --spacing: 0;
}
@media (min-width: 992px) {
  .cms-pack .s-colection-v03 .tf-grid-layout.lg-col-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.cms-pack .s-colection-v03 .colection-item,
.cms-pack .s-colection-v03 .colection-item img {
  visibility: visible !important;
  opacity: 1 !important;
}
.cms-pack .s-colection-v03 .colection-item .img-style img {
  width: 100%;
  display: block;
  object-fit: cover;
}

/* FibLanc Collections — template home04 : colonnes portrait 640×800 (CMS + site) */
.fiblanc-collections-styled .colection-item.style-2 .img-style,
body.cms-fiblanc .fiblanc-collections-styled .colection-item.style-2 .img-style,
#dynamic-blocks-container .fiblanc-collections-styled .colection-item.style-2 .img-style {
  max-height: none !important;
}
.fiblanc-collections-styled .tf-grid-layout.lg-col-3 {
  align-items: stretch;
}
@media (min-width: 992px) {
  .fiblanc-collections-styled .tf-grid-layout.lg-col-3,
  #dynamic-blocks-container .fiblanc-collections-styled .tf-grid-layout.lg-col-3,
  body.cms-fiblanc .fiblanc-collections-styled .tf-grid-layout.lg-col-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.fiblanc-collections-styled .colection-item.fiblanc-col-side {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 0;
}
.fiblanc-collections-styled .colection-item.fiblanc-col-side .img-style {
  position: relative;
  overflow: hidden;
  width: 100%;
  flex: 1 1 auto;
  height: auto !important;
  min-height: 0;
  aspect-ratio: 640 / 800;
}
.fiblanc-collections-styled .colection-item.fiblanc-col-side .img-style img,
.fiblanc-collections-styled .colection-item.fiblanc-col-side .img-style img.img-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fiblanc-collections-size-sm { --fcol-min-h: 420px; }
.fiblanc-collections-size-md { --fcol-min-h: 560px; }
.fiblanc-collections-size-lg { --fcol-min-h: 720px; }
.fiblanc-collections-size-xl { --fcol-min-h: 900px; }
@media (max-width: 991.98px) {
  .fiblanc-collections-styled .colection-item.fiblanc-col-side .img-style {
    min-height: 0;
  }
}

/* FibLanc Collections — positionnement boutons overlay */
.fiblanc-collections-styled .colection-item.fiblanc-col-side > .tf-btn {
  width: max-content;
  max-width: calc(100% - 48px);
}
.fiblanc-collections-styled .colection-item.fiblanc-side-btn-align-left > .tf-btn {
  left: 24px !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.fiblanc-collections-styled .colection-item.fiblanc-side-btn-align-right > .tf-btn {
  left: auto !important;
  right: 24px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}
.fiblanc-collections-styled .colection-item.fiblanc-side-btn-align-center > .tf-btn {
  left: 0 !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Instagram — follow our gram (client + CMS preview) */
.s-instagram-gram {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
.s-instagram-gram .fiblanc-ig-head {
  padding-left: 15px;
  padding-right: 15px;
}
.s-instagram-gram .instagram-gram-grid .gallery-item .image img,
.cms-pack .s-instagram-gram .instagram-gram-grid .gallery-item .image img {
  visibility: visible !important;
  opacity: 1 !important;
  display: block;
  object-fit: cover;
}
/* CMS Netadvisor : le Swiper générique ne doit pas casser la grille 6 cols desktop */
body.cms-fiblanc .s-instagram-gram .fiblanc-ig-head.wow,
body.cms-fiblanc .s-instagram-gram .instagram-gram-grid.wow {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}
@media (min-width: 992px) {
  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active),
  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active).swiper,
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active),
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active).swiper {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    overflow: visible !important;
  }
  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-wrapper,
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-wrapper {
    display: contents !important;
    transform: none !important;
  }
  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-slide,
  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .gallery-item,
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-slide,
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .gallery-item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active,
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active.swiper-initialized {
    display: block !important;
    overflow: hidden !important;
    width: 100%;
  }
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active .swiper-wrapper {
    display: flex !important;
    align-items: stretch;
  }
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active .swiper-slide {
    flex-shrink: 0;
    height: auto;
    box-sizing: border-box;
  }
}

/* Instagram — bande collée au bloc réassurance (trait / Paiement · Livraison · SAV) */
.s-instagram-gram.tf-spacing-1.pt-0 {
  padding-bottom: 0 !important;
}

.s-instagram-gram .fiblanc-ig-slider,
.s-instagram-gram .instagram-gram-grid.swiper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

@media (min-width: 992px) {
  .s-instagram-gram .instagram-gram-grid .gallery-item,
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid .gallery-item,
  .cms-pack .s-instagram-gram .instagram-gram-grid .gallery-item {
    display: block;
  }

  .s-instagram-gram .instagram-gram-grid .gallery-item .image,
  body.cms-fiblanc .s-instagram-gram .instagram-gram-grid .gallery-item .image,
  .cms-pack .s-instagram-gram .instagram-gram-grid .gallery-item .image {
    aspect-ratio: auto !important;
    line-height: 0;
  }
}

main#content + .s-customer-services,
#content + .s-customer-services,
#wrapper > .s-customer-services {
  margin-top: 0 !important;
}

body.cms-home-cms #dynamic-blocks-container > .block-wrapper:last-child,
body.cms-home-cms .main-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 991.98px) {
  .s-instagram-gram .fiblanc-ig-head {
    margin-bottom: 24px !important;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }

  .s-instagram-gram .fiblanc-ig-slider {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    min-width: 0;
  }

  /* Avant init JS : 2 vignettes visibles (pas une grille de toutes les photos) */
  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active),
  .cms-pack .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) {
    display: block !important;
    overflow: hidden !important;
    width: 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }

  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-wrapper,
  .cms-pack .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 8px;
    transform: none !important;
    width: 100%;
    box-sizing: border-box;
  }

  .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-slide,
  .cms-pack .s-instagram-gram .instagram-gram-grid:not(.fiblanc-ig-swiper-active) .swiper-slide {
    flex: 0 0 calc((100% - 8px) / 2) !important;
    width: calc((100% - 8px) / 2) !important;
    max-width: calc((100% - 8px) / 2) !important;
    min-width: 0;
    height: auto;
    box-sizing: border-box;
  }

  /* Carrousel actif : laisser Swiper gérer les largeurs (évite conflits loop / autoplay) */
  .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active,
  .cms-pack .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active {
    display: block !important;
    overflow: hidden !important;
    width: 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }

  .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active .swiper-wrapper,
  .cms-pack .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active .swiper-wrapper {
    display: flex !important;
    align-items: stretch;
    box-sizing: border-box;
  }

  .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active .swiper-slide,
  .cms-pack .s-instagram-gram .instagram-gram-grid.fiblanc-ig-swiper-active .swiper-slide {
    height: auto !important;
    box-sizing: border-box;
    flex-shrink: 0;
  }

  .s-instagram-gram .instagram-gram-grid .gallery-item .image,
  .cms-pack .s-instagram-gram .instagram-gram-grid .gallery-item .image {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto !important;
    overflow: hidden;
  }

  .s-instagram-gram .instagram-gram-grid .gallery-item.hover-overlay::before,
  .s-instagram-gram .instagram-gram-grid .gallery-item.hover-overlay::after {
    opacity: 0;
    pointer-events: none;
  }

  .s-instagram-gram .fiblanc-ig-slider--swiper .fiblanc-ig-arrows,
  .s-instagram-gram .fiblanc-ig-slider.fiblanc-ig-slider--swiper .wrap-sw-button.fiblanc-ig-arrows {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
    padding: 0 15px;
  }
}

/* Slideshow style-4 : points comme admin */
.cms-pack .tf-slideshow.style-4 .wrap-pagination {
  display: block !important;
  padding: 20px 0 28px;
}
.cms-pack .tf-slideshow.style-4 > .sw-button,
.cms-pack .tf-slideshow.style-4 .navigation-next-slider,
.cms-pack .tf-slideshow.style-4 .navigation-prev-slider {
  display: none !important;
}
.cms-pack .tf-slideshow.style-4 .sw-dots {
  display: flex !important;
  justify-content: center;
  gap: 10px;
}

/* NEW IN — flèches swiper + actions produit (parité cms-netadvisor) */
#dynamic-blocks-container .s-product-main .wrap-sw-button,
.cms-pack .s-product-main .wrap-sw-button {
  position: absolute;
  top: calc(50% - 30px);
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  pointer-events: none;
  z-index: 3;
  padding: 0 4px;
}

#dynamic-blocks-container .s-product-main .wrap-sw-button .sw-button,
.cms-pack .s-product-main .wrap-sw-button .sw-button {
  opacity: 1 !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  pointer-events: auto;
}

#dynamic-blocks-container .s-product-main .product-action_list,
#dynamic-blocks-container .s-product-main .product-action_list li,
.cms-pack .s-product-main .product-action_list,
.cms-pack .s-product-main .product-action_list li {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

#dynamic-blocks-container .s-product-main .product-action_list,
.cms-pack .s-product-main .product-action_list {
  z-index: 10 !important;
}

/* NEW IN — alignement titre / description (parité cms-netadvisor) */
.s-product-main .fiblanc-products-title {
  text-align: var(--fp-title-align, center) !important;
}

.s-product-main .fiblanc-products-desc {
  text-align: var(--fp-desc-align, center) !important;
}

/* FibLanc Produits — options carousel (front) */
.fiblanc-products-arrows-off .wrap-sw-button {
  display: none !important;
}

.fiblanc-products-arrows-off .sw-layout > .swiper {
  padding-left: 0;
  padding-right: 0;
}

.fiblanc-products-layout-swipe .sw-dots.sw-pagination-layout:empty {
  display: none !important;
}

/* Avis — carousel images + texte synchronisés */
#dynamic-blocks-container .flat-thumbs-tes .tf-thumb-tes,
#dynamic-blocks-container .flat-thumbs-tes .tf-tes-main,
.cms-pack .flat-thumbs-tes .tf-thumb-tes,
.cms-pack .flat-thumbs-tes .tf-tes-main {
  visibility: visible !important;
  opacity: 1 !important;
}

#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button,
.cms-pack .flat-thumbs-tes .wrap-sw-button {
  display: flex;
  gap: 15px;
  margin-top: 24px;
}

/* Avis — flèches comme accueil front (icomoon dans <i>, pas pseudo Swiper) */
#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button,
.cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button,
body.cms-fiblanc .s-testimonials .flat-thumbs-tes .wrap-sw-button .sw-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: var(--Secondary, #252525);
}

#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button::after,
.cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button::after,
body.cms-fiblanc .s-testimonials .flat-thumbs-tes .wrap-sw-button .sw-button::after {
  display: none !important;
  content: none !important;
}

#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button::before,
.cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button::before,
body.cms-fiblanc .s-testimonials .flat-thumbs-tes .wrap-sw-button .sw-button::before {
  content: none !important;
  display: none !important;
}

#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button i[class*="icon-caret"],
.cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button i[class*="icon-caret"] {
  display: none !important;
}

#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .fiblanc-tes-nav-arrow,
.cms-pack .flat-thumbs-tes .wrap-sw-button .fiblanc-tes-nav-arrow,
body.cms-fiblanc .s-testimonials .flat-thumbs-tes .wrap-sw-button .fiblanc-tes-nav-arrow,
.fiblanc-testimonials-styled .wrap-sw-button .fiblanc-tes-nav-arrow {
  display: block !important;
  width: 7px;
  height: 7px;
  box-sizing: border-box;
  border-style: solid;
  border-color: currentColor;
  flex-shrink: 0;
}

#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .fiblanc-tes-nav-arrow--prev,
.cms-pack .flat-thumbs-tes .wrap-sw-button .fiblanc-tes-nav-arrow--prev,
.fiblanc-testimonials-styled .wrap-sw-button .fiblanc-tes-nav-arrow--prev {
  border-width: 0 0 1.5px 1.5px;
  transform: rotate(45deg);
  margin-left: 2px;
}

#dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .fiblanc-tes-nav-arrow--next,
.cms-pack .flat-thumbs-tes .wrap-sw-button .fiblanc-tes-nav-arrow--next,
.fiblanc-testimonials-styled .wrap-sw-button .fiblanc-tes-nav-arrow--next {
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(-45deg);
  margin-right: 2px;
}

/* Avis — hover / clic / focus : beige #f0e2d5 (pas violet Bootstrap / CMS) */
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border {
  background-color: var(--White, #fff);
  border: 1px solid var(--Secondary, #252525);
  color: var(--Secondary, #252525);
  -webkit-tap-highlight-color: transparent;
}

body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:hover,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:active,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus-visible,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:hover,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:active,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus-visible,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:hover,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:active,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:focus,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:focus-visible {
  background-color: #f0e2d5 !important;
  border-color: #342f2b !important;
  color: #342f2b !important;
  outline: none !important;
  box-shadow: none !important;
}

body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:hover .fiblanc-tes-nav-arrow,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:active .fiblanc-tes-nav-arrow,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus .fiblanc-tes-nav-arrow,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus-visible .fiblanc-tes-nav-arrow,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:hover .fiblanc-tes-nav-arrow,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:active .fiblanc-tes-nav-arrow,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus .fiblanc-tes-nav-arrow,
body.cms-fiblanc .cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button.style-border:focus-visible .fiblanc-tes-nav-arrow,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:hover .fiblanc-tes-nav-arrow,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:active .fiblanc-tes-nav-arrow,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:focus .fiblanc-tes-nav-arrow,
.fiblanc-testimonials-styled .wrap-sw-button .sw-button.style-border:focus-visible .fiblanc-tes-nav-arrow {
  border-color: #342f2b !important;
}

body.cms-fiblanc #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-testimonials"] > .s-testimonials,
body.cms-fiblanc #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-testimonials"] > section.s-testimonials,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button,
body.cms-fiblanc #dynamic-blocks-container .flat-thumbs-tes .wrap-sw-button .sw-button,
.cms-pack .flat-thumbs-tes .wrap-sw-button,
.cms-pack .flat-thumbs-tes .wrap-sw-button .sw-button {
  pointer-events: auto !important;
}

/* home04 : air autour des avis — CMS padding prioritaire s’il est renseigné */
#dynamic-blocks-container > .block-wrapper > .s-lookbook.tf-spacing-15,
.cms-pack > .cms-block-wrap > .s-lookbook.tf-spacing-15 {
  padding-top: var(--esp-pt, 120px) !important;
  padding-bottom: var(--esp-pb, 142px) !important;
}

#dynamic-blocks-container .tf-spacing-1:has(.s-banner-v03.s2),
.cms-pack .tf-spacing-1:has(.s-banner-v03.s2) {
  padding-top: var(--esp-pt, 120px) !important;
  padding-bottom: var(--esp-pb, 120px) !important;
}

@media (max-width: 991.98px) {
  #dynamic-blocks-container > .block-wrapper > .s-lookbook.tf-spacing-15,
  .cms-pack > .cms-block-wrap > .s-lookbook.tf-spacing-15,
  #dynamic-blocks-container > .block-wrapper > .s-lookbook.elemonor-block-spacing,
  .cms-pack > .cms-block-wrap > .s-lookbook.elemonor-block-spacing,
  #dynamic-blocks-container .tf-spacing-1:has(.s-banner-v03.s2),
  .cms-pack .tf-spacing-1:has(.s-banner-v03.s2) {
    margin-top: var(--esp-mt-m, 0px) !important;
    padding-top: var(--esp-pt-m, 16px) !important;
    padding-bottom: var(--esp-pb-m, 16px) !important;
  }

  .cms-pack .wrap-marquee-slide,
  .wrap-marquee-slide.fiblanc-marquee-styled {
    overflow: hidden;
    min-height: 52px;
    padding: 8px 0 12px;
    margin-bottom: var(--esp-mb-m, 12px) !important;
  }

  .cms-pack .wrap-marquee-slide .marquee-inner,
  .wrap-marquee-slide.fiblanc-marquee-styled .marquee-inner {
    gap: 16px !important;
    margin-right: 16px !important;
  }

  .cms-pack .wrap-marquee-slide .marquee-inner .h1.title,
  .cms-pack .wrap-marquee-slide .marquee-inner .title,
  .wrap-marquee-slide.fiblanc-marquee-styled .marquee-inner .h1.title,
  .wrap-marquee-slide.fiblanc-marquee-styled .marquee-inner .title {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  .cms-pack .wrap-marquee-slide .marquee-inner i,
  .wrap-marquee-slide.fiblanc-marquee-styled .marquee-inner i {
    font-size: 18px !important;
  }

  .cms-pack .s-categories-v04 .category-item.style-2 .link span,
  .s-categories-v04 .category-item.style-2 .fiblanc-cat-btn span {
    margin-right: 0 !important;
  }

  .cms-pack .s-categories-v04 .category-item.style-2 .img-style img {
    width: 100%;
    height: auto !important;
    min-height: 0;
    object-fit: cover;
  }

  .cms-pack .s-categories-v04 .fiblanc-cat-item-title,
  .cms-pack .s-categories-v04 .fiblanc-cat-item-title a {
    font-size: 20px;
    line-height: 26px;
  }
}

@media (max-width: 767.98px) {
  #dynamic-blocks-container > .block-wrapper > .s-lookbook.tf-spacing-15,
  .cms-pack > .cms-block-wrap > .s-lookbook.tf-spacing-15,
  #dynamic-blocks-container > .block-wrapper > .s-lookbook.elemonor-block-spacing,
  .cms-pack > .cms-block-wrap > .s-lookbook.elemonor-block-spacing {
    margin-top: var(--esp-mt-m, 0px) !important;
    padding-top: var(--esp-pt-m, 12px) !important;
    padding-bottom: var(--esp-pb-m, 12px) !important;
  }

  .cms-pack .wrap-marquee-slide .marquee-inner .h1.title,
  .cms-pack .wrap-marquee-slide .marquee-inner .title,
  .wrap-marquee-slide.fiblanc-marquee-styled .marquee-inner .h1.title,
  .wrap-marquee-slide.fiblanc-marquee-styled .marquee-inner .title {
    font-size: 20px !important;
    line-height: 26px !important;
  }
}

/* Accueil produits — grille / titre / cartes en responsive */
.s-product-main,
.s-product-main .sw-layout,
.s-product-main .swiper,
.s-product-main .swiper-slide,
.s-product-main .card-product,
.s-product-main .card-product_info,
.s-product-main .fiblanc-products-grid {
  min-width: 0;
  max-width: 100%;
}

.s-product-main .fiblanc-products-title {
  width: 100%;
  max-width: 100%;
  font-size: var(--fp-title-size, 48px);
  line-height: 1.2;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .name-product {
  font-size: var(--fp-name-size, 18px);
  line-height: 28px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 6px;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info .name-product {
  margin-bottom: 0 !important;
}

.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .product-card-subtitle {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: 100%;
  margin: 0 0 4px;
  color: var(--Secondary, #252525);
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}

.s-product-main .price-wrap,
.s-product-main .wrap-price {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  max-width: 100%;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .price-wrap,
.s-product-main .card-product.fiblanc-card-meta-one-line .wrap-price {
  justify-content: flex-start;
  align-items: baseline;
}

.s-product-main .wrap-price > .price-wrap {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto !important;
  max-width: 100%;
  flex: 0 1 auto;
}

.s-product-main .price-from,
.s-product-main .price-new,
.s-product-main .price-old {
  display: inline !important;
  white-space: nowrap !important;
  flex-shrink: 0;
}

.s-product-main .price-from {
  width: auto;
  font-weight: 500;
  color: inherit;
  margin-right: 0;
}

.s-product-main .wrap-price .discount {
  flex-shrink: 0;
  white-space: nowrap;
  margin: 0;
}

.s-product-main.has-fp-title2-color .product-card-subtitle {
  color: var(--fp-title2-color) !important;
}

.s-product-main.has-fp-price-color .price-wrap,
.s-product-main.has-fp-price-color .price-new,
.s-product-main.has-fp-price-color .price-old,
.s-product-main.has-fp-price-color .price-from {
  color: var(--fp-price-color) !important;
}

.s-product-main .fiblanc-products-grid {
  display: grid;
  gap: 20px;
  width: 100%;
  align-items: stretch;
}

.s-product-main .fiblanc-products-grid > .card-product {
  width: 100%;
  min-height: 100%;
  height: auto;
}

/* Grille desktop / swiper + flèches en responsive (<1200px) */
.fiblanc-products-layout-grid .fiblanc-products-grid--static {
  display: none;
  width: 100%;
  align-items: stretch;
}

.fiblanc-products-layout-grid .fiblanc-products-grid-swiper {
  display: block;
  width: 100%;
}

@media (min-width: 1200px) {
  .fiblanc-products-layout-grid .fiblanc-products-grid--static {
    display: grid !important;
  }

  .fiblanc-products-layout-grid .fiblanc-products-grid-swiper {
    display: none !important;
  }
}

@media (max-width: 1199.98px) {
  .fiblanc-products-layout-grid .fiblanc-products-grid--static {
    display: none !important;
  }

  .s-product-main .sw-layout {
    position: relative;
    padding-left: 40px;
    padding-right: 40px;
    box-sizing: border-box;
  }

  .s-product-main .wrap-sw-button {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    top: 38%;
    left: 0;
    right: 0;
    padding: 0;
    pointer-events: none;
    z-index: 4;
  }

  .s-product-main .wrap-sw-button .sw-button {
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    pointer-events: auto;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    background: #fff !important;
    color: var(--Secondary, #252525) !important;
    border: 1px solid rgba(37, 37, 37, 0.15);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .s-product-main .wrap-sw-button .sw-button i[class*="icon-caret"] {
    font-size: 12px;
    line-height: 1;
    display: block;
    color: inherit !important;
  }

  .s-product-main .nav-prev-layout,
  .s-product-main .nav-next-layout {
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
  }
}

/* NEW IN — hauteur de cartes + grilles de pastilles alignées entre produits */
.s-product-main .swiper-slide {
  height: auto;
  display: flex;
}

.s-product-main .fiblanc-products-grid > .card-product,
.s-product-main .swiper-slide > .card-product {
  height: 100%;
}

.s-product-main .card-product {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.s-product-main .card-product_wrapper {
  flex: 0 0 auto;
}

.s-product-main .card-product_info {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 auto;
  width: 100%;
  text-align: center;
  justify-content: flex-start;
  min-height: 0;
  padding-top: 10px;
  box-sizing: border-box;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  align-items: start !important;
  justify-items: stretch !important;
  text-align: start;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .name-product {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  box-sizing: border-box;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .product-card-subtitle {
  width: 100%;
  margin: 0 0 4px !important;
  padding: 0;
  min-height: var(--fp-meta-subtitle-h, 24px);
  box-sizing: border-box;
}

.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .card-product_info > .name-product {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  line-height: 1.2;
  box-sizing: border-box;
}

.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .card-product_info > .product-card-subtitle {
  width: 100%;
  margin: 0 0 4px !important;
  padding: 0;
  line-height: 1.25;
  min-height: var(--fp-meta-subtitle-h, 24px);
  box-sizing: border-box;
}

.s-product-main .card-product_info > .product-card-subtitle--placeholder {
  visibility: hidden;
  pointer-events: none;
}

.s-product-main .card-product_info > .wrap-price,
.s-product-main .card-product_info > .price-wrap {
  width: 100%;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: center;
  margin: 0;
  min-height: var(--fp-meta-price-h, 28px);
  gap: 10px;
  box-sizing: border-box;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .wrap-price,
.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .price-wrap {
  justify-content: flex-start;
  align-items: baseline;
}

.s-product-main {
  --fp-meta-subtitle-h: 24px;
  --fp-meta-price-h: 28px;
  --fp-color-dock-h: 48px;
  --fp-color-swatch: 40px;
  --fp-color-row-h: 40px;
}

@media (min-width: 1200px) {
  .s-product-main {
    --fp-color-dock-h: 40px;
    --fp-color-swatch: 40px;
    --fp-color-row-h: 40px;
  }
}


.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .card-product_info > .product-color_list,
.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .card-product_info > .product-color-slot-empty,
.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .card-product_info > .product-color-dock {
  margin-top: auto !important;
  padding-top: 0;
  width: 100%;
  flex: 0 0 var(--fp-color-row-h, 40px);
  height: var(--fp-color-row-h, 40px);
  min-height: var(--fp-color-row-h, 40px);
  max-height: var(--fp-color-row-h, 40px);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .card-product_info > .fiblanc-newin-color-host {
  margin-top: auto !important;
  padding: 6px 0 2px;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: var(--fp-color-swatch, 40px) !important;
  max-height: none !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.s-product-main .card-product.fiblanc-card-meta-one-line {
  height: auto !important;
  align-self: start;
}

.s-product-main .swiper-slide > .card-product.fiblanc-card-meta-one-line,
.s-product-main .fiblanc-products-grid > .card-product.fiblanc-card-meta-one-line {
  height: auto !important;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info {
  flex: 0 1 auto !important;
  padding-top: 6px !important;
  justify-content: flex-start !important;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .fiblanc-newin-color-host {
  margin-top: 8px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .product-color_list,
.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .product-color-slot-empty,
.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .product-color-dock,
.s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .product-color-swiper-wrap {
  margin-top: 4px !important;
  flex: 0 0 auto !important;
}

.cms-pack .s-product-main .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host .product-color-swiper-wrap,
.cms-pack .s-product-main .card-product.fiblanc-card-meta-one-line .product-color-swiper-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.cms-fiblanc .s-product-main .card-product.fiblanc-card-meta-one-line .card-product_info > .fiblanc-newin-color-host {
  margin-top: 4px !important;
}

.s-product-main .fiblanc-newin-color-host .product-color-slot-empty {
  width: 100%;
  height: 100%;
  margin: 0;
}

/* NEW IN — pastilles sans Swiper (centrage stable mobile + desktop) */
.s-product-main .fiblanc-newin-color-row {
  box-sizing: border-box;
  max-width: 100%;
}

.s-product-main .fiblanc-newin-color-row--few {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.s-product-main .fiblanc-newin-color-track--center {
  display: inline-flex !important;
  flex-wrap: nowrap;
  justify-content: center !important;
  align-items: center;
  gap: 6px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  max-width: 100%;
  height: var(--fp-color-swatch) !important;
}

.s-product-main .fiblanc-newin-color-row--many {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.s-product-main .fiblanc-newin-color-host {
  --fp-color-swatch: 40px;
  --fp-color-row-h: 40px;
  --fp-newin-visible: 4;
}

@media (min-width: 992px) {
  .s-product-main .fiblanc-newin-color-host {
    --fp-newin-visible: 5;
  }
}

@media (min-width: 1200px) {
  .s-product-main .fiblanc-newin-color-host {
    --fp-newin-visible: 4;
  }
}

.s-product-main .fiblanc-newin-color-viewport {
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 2px;
  flex: 1 1 auto;
  min-width: 0;
  max-width: min(
    100%,
    calc(var(--fp-color-swatch) * var(--fp-newin-visible) + 6px * (var(--fp-newin-visible) - 1))
  );
}

.s-product-main .fiblanc-newin-color-viewport::-webkit-scrollbar {
  display: none;
}

.s-product-main .fiblanc-newin-color-row--many .fiblanc-newin-color-track {
  display: inline-flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: max-content;
  height: var(--fp-color-swatch) !important;
}

.s-product-main .fiblanc-newin-color-arrow {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #252525;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  cursor: pointer;
}

.s-product-main .fiblanc-newin-color-arrow:disabled {
  opacity: 0.3;
  pointer-events: none;
}

.s-product-main .fiblanc-newin-color-row--many.is-all-visible .fiblanc-newin-color-arrow {
  display: none;
}

.s-product-main .fiblanc-newin-color-row--many.is-all-visible .fiblanc-newin-color-viewport {
  max-width: 100%;
  overflow: visible;
}

.s-product-main .fiblanc-newin-color-row .product-color-item,
.s-product-main .fiblanc-newin-color-track .product-color-item {
  width: var(--fp-color-swatch) !important;
  height: var(--fp-color-swatch) !important;
  min-width: var(--fp-color-swatch) !important;
  max-width: var(--fp-color-swatch) !important;
  min-height: var(--fp-color-swatch) !important;
  max-height: var(--fp-color-swatch) !important;
  flex: 0 0 var(--fp-color-swatch) !important;
  flex-shrink: 0 !important;
  scroll-snap-align: start;
  aspect-ratio: 1 / 1;
}

@media (max-width: 767.98px) {
  .s-product-main .fiblanc-newin-color-arrow {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    font-size: 8px;
  }

  .s-product-main .fiblanc-newin-color-host {
    --fp-newin-visible: 3;
  }
}

/* NEW IN — pastilles : taille responsive (cartes carrousel étroites) */
@media (max-width: 1199.98px) {
  .s-product-main .fiblanc-newin-color-host {
    --fp-color-swatch: 22px !important;
    --fp-color-row-h: 26px !important;
  }
}

@media (max-width: 767.98px) {
  .s-product-main .fiblanc-newin-color-host {
    --fp-color-swatch: 20px !important;
    --fp-color-row-h: 24px !important;
  }
}

@media (max-width: 575.98px) {
  .s-product-main .fiblanc-newin-color-host {
    --fp-color-swatch: 18px !important;
    --fp-color-row-h: 22px !important;
    --fp-newin-visible: 3;
  }
}

@media (hover: none) and (pointer: coarse) {
  .s-product-main .fiblanc-newin-color-host .product-color-item:hover:not(.active) {
    border-color: transparent !important;
    box-shadow: none !important;
  }
  .s-product-main .fiblanc-newin-color-host .product-color-item {
    touch-action: manipulation;
  }
}

.s-product-main .card-product:not(.fiblanc-card-meta-one-line) .fiblanc-newin-color-host .product-color-swiper-wrap {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  height: var(--fp-color-swatch) !important;
  min-height: var(--fp-color-swatch) !important;
  max-height: var(--fp-color-swatch) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  box-sizing: border-box;
  position: relative;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host .product-color-swiper-wrap {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) 20px !important;
  align-items: center !important;
  column-gap: 4px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: var(--fp-color-row-h, 24px) !important;
  max-height: none !important;
  flex-wrap: nowrap !important;
}

.s-product-main .fiblanc-newin-color-host .product-color-swiper-wrap .product-color-nav {
  flex: 0 0 20px;
  width: 20px !important;
  height: 20px !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
}

.s-product-main .fiblanc-newin-color-host .product-color-swiper-wrap .product-color-swiper {
  flex: 0 1 auto;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  height: var(--fp-color-swatch) !important;
  min-height: var(--fp-color-swatch) !important;
  overflow: hidden !important;
}

.s-product-main .fiblanc-newin-color-host.fiblanc-color-row-fits .product-color-nav,
.s-product-main .fiblanc-newin-color-host .product-color-swiper-wrap.fiblanc-color-row-fits .product-color-nav {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.s-product-main .fiblanc-newin-color-host .product-color-swiper-wrap.fiblanc-color-row-fits {
  gap: 0 !important;
}

.s-product-main .fiblanc-newin-color-host .product-color_list:not(.product-color_list--swiper) {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center;
  width: auto !important;
  max-width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  gap: 6px;
  height: var(--fp-color-swatch) !important;
  flex: 0 0 auto;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host .product-color_list:not(.product-color_list--swiper) {
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host .product-color-swiper-wrap {
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.s-product-main .fiblanc-newin-color-host > .product-color_list:not(.product-color_list--swiper) {
  align-self: center;
}

.s-product-main .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host > .product-color_list:not(.product-color_list--swiper) {
  align-self: stretch;
}

.s-product-main .card-product_info > .product-color-dock {
  flex-direction: column;
  overflow: visible;
}

.s-product-main .product-color-dock--adaptive .product-color-list--desktop-lg,
.s-product-main .product-color-dock--adaptive .product-color-swiper-wrap--mobile-lg {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.s-product-main .product-color-dock--adaptive .product-color-swiper-wrap--mobile-lg {
  display: none !important;
}

.s-product-main .product-color-dock--adaptive .product-color-list--desktop-lg {
  display: flex !important;
}

/* Accueil NEW IN : ≤4 pastilles centrées sans flèches ; >4 = carousel + flèches */
.s-product-main .card-product .product-color_list:not(.product-color_list--swiper) {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: center !important;
  align-items: center;
  gap: 6px;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 4px;
  height: var(--fp-color-swatch) !important;
  min-height: var(--fp-color-swatch) !important;
  overflow: visible !important;
}

.s-product-main .card-product .product-color-swiper-wrap:not(.product-color-swiper-wrap--mobile-lg) {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) 22px;
  grid-template-rows: 1fr;
  align-items: center;
  justify-items: center;
  column-gap: 6px;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  box-sizing: border-box;
}

.s-product-main .card-product .product-color-swiper-wrap:not(.product-color-swiper-wrap--mobile-lg) .product-color-prev {
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  position: static !important;
  left: auto !important;
  transform: none !important;
}

.s-product-main .card-product .product-color-swiper-wrap:not(.product-color-swiper-wrap--mobile-lg) .product-color-swiper {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
}

.s-product-main .card-product .product-color-swiper-wrap:not(.product-color-swiper-wrap--mobile-lg) .product-color-next {
  grid-column: 3;
  grid-row: 1;
  justify-self: center;
  position: static !important;
  right: auto !important;
  transform: none !important;
}

.s-product-main .card-product .product-color-swiper-wrap.fiblanc-color-row-fits:not(.product-color-swiper-wrap--mobile-lg) .product-color-nav {
  visibility: hidden !important;
  pointer-events: none !important;
}

.cms-pack .s-product-main .card-product .product-color-swiper-wrap {
  padding: 0 !important;
}

.cms-pack .s-product-main .card-product .product-color-swiper {
  width: auto !important;
}

.s-product-main .card-product_info > ul.product-color_list:not(.product-color_list--swiper) {
  list-style: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: stretch;
}

.s-product-main .card-product .product-color-swiper-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  overflow: visible !important;
}

.s-product-main .card-product .product-color-swiper {
  width: auto;
  height: var(--fp-color-swatch) !important;
  min-height: var(--fp-color-swatch) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.s-product-main .card-product .product-color-swiper .swiper-wrapper,
.s-product-main .card-product .product-color_list--swiper {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  width: auto !important;
  height: var(--fp-color-swatch) !important;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 1199.98px) {
  .s-product-main .product-color-dock--adaptive .product-color-list--desktop-lg {
    display: none !important;
  }

  .s-product-main .product-color-dock--adaptive .product-color-swiper-wrap--mobile-lg {
    display: grid !important;
  }
}

@media (min-width: 1200px) {
  .s-product-main .product-color-dock--adaptive .product-color-list--desktop-lg {
    display: flex !important;
  }

  .s-product-main .product-color-dock--adaptive .product-color-swiper-wrap--mobile-lg {
    display: none !important;
  }
}

.s-product-main .card-product .product-color-swiper-wrap .product-color-nav {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #252525;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  font-size: 10px;
  z-index: 2;
  position: static !important;
  transform: none !important;
}

.s-product-main .card-product .product-color-swiper-wrap .product-color-nav.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.s-product-main .card-product .product-color_list .product-color-item,
.s-product-main .card-product .product-color-swiper .swiper-slide,
.s-product-main .card-product .product-color-swiper .product-color-item {
  width: var(--fp-color-swatch) !important;
  height: var(--fp-color-swatch) !important;
  min-width: var(--fp-color-swatch) !important;
  max-width: var(--fp-color-swatch) !important;
  min-height: var(--fp-color-swatch) !important;
  max-height: var(--fp-color-swatch) !important;
  flex: 0 0 var(--fp-color-swatch) !important;
  margin: 0 !important;
}

.s-product-main .fiblanc-newin-color-host .product-color_list .product-color-item {
  width: var(--fp-color-swatch, 40px) !important;
  height: var(--fp-color-swatch, 40px) !important;
  min-width: var(--fp-color-swatch, 40px) !important;
  max-width: var(--fp-color-swatch, 40px) !important;
  min-height: var(--fp-color-swatch, 40px) !important;
  max-height: var(--fp-color-swatch, 40px) !important;
  flex: 0 0 var(--fp-color-swatch, 40px) !important;
}

.s-product-main .card-product .product-color-slot-empty {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 1199.98px) {
  .s-product-main .fiblanc-products-title {
    font-size: clamp(28px, 4vw, var(--fp-title-size, 40px));
    line-height: 1.15;
  }

  .s-product-main .heading-seciton {
    margin-bottom: 28px;
  }

  .s-product-main .heading-seciton.mb_50 {
    margin-bottom: 28px;
  }

  .s-product-main {
    --fp-meta-subtitle-h: 22px;
    --fp-meta-price-h: 26px;
    --fp-color-dock-h: 48px;
  }

  .s-product-main .fiblanc-newin-color-host {
    --fp-newin-visible: 4;
  }

  .s-product-main .fiblanc-products-swiper .swiper-wrapper,
  .s-product-main .tf-sw-products .swiper-wrapper {
    align-items: stretch !important;
  }

  .s-product-main .fiblanc-products-swiper .swiper-slide,
  .s-product-main .tf-sw-products .swiper-slide {
    display: flex !important;
    height: auto !important;
    align-self: stretch !important;
    box-sizing: border-box;
  }

  .s-product-main .card-product .product-color-swiper-wrap:not(.product-color-swiper-wrap--mobile-lg),
  .s-product-main .card-product .product-color-swiper-wrap--mobile-lg {
    max-width: 100% !important;
    padding: 0 !important;
    grid-template-columns: 20px minmax(0, 1fr) 20px !important;
    column-gap: 4px !important;
  }

  .s-product-main .card-product .product-color-swiper-wrap .product-color-nav {
    width: 20px !important;
    height: 20px !important;
    font-size: 9px !important;
  }
}

@media (max-width: 767.98px) {
  .s-product-main.tf-container {
    padding-left: 15px;
    padding-right: 15px;
  }

  .s-product-main .fiblanc-products-title {
    font-size: clamp(22px, 7vw, 28px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.02em;
  }

  .s-product-main .heading-seciton,
  .s-product-main .heading-seciton.mb_50 {
    margin-bottom: 20px !important;
    gap: 8px;
  }

  .s-product-main .fiblanc-products-desc,
  .s-product-main .fiblanc-products-desc.mb_50 {
    margin-bottom: 20px !important;
    margin-top: 8px !important;
    font-size: 13px;
    line-height: 1.4;
  }

  .s-product-main .tab-product_list {
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 6px;
  }

  .s-product-main .swiper-slide {
    height: auto;
    display: flex;
  }

  .s-product-main .card-product {
    gap: 10px;
    width: 100%;
    height: 100%;
  }

  .s-product-main .card-product {
    height: 100%;
  }

  .s-product-main .card-product .product-color-swiper-wrap,
  .s-product-main .card-product .product-color-swiper-wrap--mobile-lg {
    grid-template-columns: 18px minmax(0, 1fr) 18px !important;
    column-gap: 4px !important;
  }

  .s-product-main .card-product_info > .product-color-swiper-wrap,
  .s-product-main .card-product_info > .product-color-dock {
    flex: 0 0 var(--fp-color-row-h, 28px);
  }

  .s-product-main .product-color-dock--adaptive {
    width: 100%;
    align-self: stretch;
  }

  .s-product-main .product-color-dock--adaptive .product-color-swiper-wrap--mobile-lg {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) 18px !important;
    align-items: center;
    justify-items: center;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
  }

  .s-product-main .product-color-dock--adaptive .product-color-swiper-wrap--mobile-lg .product-color-swiper {
    grid-column: 2;
    justify-self: center;
    width: auto !important;
    max-width: 100%;
  }

  .s-product-main .card-product_info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 2px;
    width: 100%;
    flex: 1 1 auto;
  }

  .s-product-main .name-product {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .s-product-main .card-product_info > .name-product {
    margin-bottom: 0 !important;
  }

  .s-product-main .product-card-subtitle {
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin: 0 0 4px !important;
  }

  .s-product-main .price-wrap,
  .s-product-main .wrap-price,
  .s-product-main .has-discount .price-wrap,
  .s-product-main .has-discount .wrap-price {
    flex-wrap: nowrap !important;
    gap: 6px;
    font-size: 13px;
    line-height: 20px;
  }

  .s-product-main .price-new,
  .s-product-main .price-old,
  .s-product-main .price-from {
    font-size: 13px;
    line-height: 20px;
    white-space: nowrap !important;
  }

  .s-product-main .fiblanc-products-grid {
    gap: 12px 10px !important;
  }

  .s-product-main .product-img .img-product,
  .s-product-main .product-img .img-hover {
    aspect-ratio: unset;
  }

  .s-product-main .sw-dots {
    margin-top: 16px;
  }
}

@media (max-width: 767.98px) {
  .cms-pack .s-product-main:not(.fiblanc-products-arrows-off) .sw-layout,
  .s-product-main:not(.fiblanc-products-arrows-off) .sw-layout,
  .cms-pack .s-product-main:not(.fiblanc-products-arrows-off) .fiblanc-products-grid-swiper,
  .s-product-main:not(.fiblanc-products-arrows-off) .fiblanc-products-grid-swiper,
  body.cms-home-cms .cms-pack .s-product-main:not(.fiblanc-products-arrows-off) .sw-layout {
    position: relative;
    padding-left: 32px !important;
    padding-right: 32px !important;
    box-sizing: border-box;
  }

  .cms-pack .s-product-main:not(.fiblanc-products-arrows-off) .wrap-sw-button,
  .s-product-main:not(.fiblanc-products-arrows-off) .wrap-sw-button,
  .cms-pack .s-product-main:not(.fiblanc-products-arrows-off) .fiblanc-products-grid-arrows,
  .s-product-main:not(.fiblanc-products-arrows-off) .fiblanc-products-grid-arrows {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    top: 34%;
    left: 0;
    right: 0;
    padding: 0;
    pointer-events: none;
    z-index: 4;
  }

  .s-product-main:not(.fiblanc-products-arrows-off) .wrap-sw-button .sw-button,
  .s-product-main:not(.fiblanc-products-arrows-off) .nav-prev-layout,
  .s-product-main:not(.fiblanc-products-arrows-off) .nav-next-layout {
    display: inline-flex !important;
    opacity: 1 !important;
    pointer-events: auto;
    width: 30px;
    height: 30px;
    min-width: 30px;
  }
}

@media (max-width: 575.98px) {
  .s-product-main .fiblanc-products-title {
    font-size: 22px !important;
    line-height: 28px !important;
  }

  .s-product-main .name-product {
    font-size: 14px !important;
    line-height: 20px !important;
  }

  .s-product-main .product-card-subtitle {
    font-size: 12px !important;
    line-height: 16px !important;
    margin-bottom: 4px !important;
  }

  .s-product-main .price-new,
  .s-product-main .price-old,
  .s-product-main .price-from {
    font-size: 12px;
    line-height: 18px;
  }

  .s-product-main .product-action_list .box-icon {
    width: 28px;
    height: 28px;
  }

  .s-product-main {
    --fp-color-dock-h: 46px;
  }

  .s-product-main:not(.wishlist-page-wrap) .fiblanc-newin-color-host {
    --fp-newin-visible: 3;
  }
}

/* —— Accueil CMS : harmonisation responsive (priorité fin de fichier) —— */
body.cms-home-cms #wrapper,
body.cms-home-cms .main-content,
body.cms-home-cms #dynamic-blocks-container.cms-pack {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 991.98px) {
  body.cms-home-cms .cms-pack .tf-container,
  body.cms-home-cms .cms-pack .s-product-main.tf-container {
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }

  body.cms-home-cms .cms-pack .s-product-main .sw-layout {
    padding-left: 28px;
    padding-right: 28px;
  }

  body.cms-home-cms .cms-pack .s-categories-v04 .heading-seciton {
    font-size: clamp(22px, 5vw, 32px) !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 767.98px) {
  body.cms-home-cms .cms-pack .tf-container,
  body.cms-home-cms .cms-pack .s-product-main.tf-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  body.cms-home-cms .cms-pack > .cms-block-wrap > .s-product-main:not(.elemonor-block-spacing) {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body.cms-home-cms .cms-pack .hero-banner-v04 .sw-dots {
    bottom: 16px;
  }
}

@media (max-width: 575.98px) {
  body.cms-home-cms .cms-pack > .cms-block-wrap > .s-product-main:not(.elemonor-block-spacing) {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}

/* —— Chevrons carrousel NEW IN (sans icomoon) —— */
.s-product-main .wrap-sw-button .sw-button::after,
.s-product-main .fiblanc-products-grid-arrows .sw-button::after,
.cms-pack .s-product-main .wrap-sw-button .sw-button::after {
  display: none !important;
  content: none !important;
}

.s-product-main .wrap-sw-button .sw-button::before,
.s-product-main .fiblanc-products-grid-arrows .sw-button::before,
.cms-pack .s-product-main .wrap-sw-button .sw-button::before {
  content: none !important;
  display: none !important;
}

.s-product-main .wrap-sw-button .sw-button i[class*="icon-caret"],
.s-product-main .fiblanc-products-grid-arrows .sw-button i[class*="icon-caret"] {
  display: none !important;
}

.fiblanc-sw-chevron,
.fiblanc-tes-nav-arrow {
  display: block;
  width: 7px;
  height: 7px;
  box-sizing: border-box;
  border-style: solid;
  border-color: currentColor;
  flex-shrink: 0;
}

.fiblanc-sw-chevron--prev,
.fiblanc-tes-nav-arrow--prev {
  border-width: 0 0 1.5px 1.5px;
  transform: rotate(45deg);
  margin-left: 2px;
}

.fiblanc-sw-chevron--next,
.fiblanc-tes-nav-arrow--next {
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(-45deg);
  margin-right: 2px;
}

.s-product-main .wrap-sw-button .sw-button,
.s-product-main .fiblanc-products-grid-arrows .sw-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Bulles actions produit — icomoon dans le pack CMS */
body.cms-fiblanc .cms-pack .product-action_list .box-icon span.icon,
body.cms-fiblanc .cms-pack .product-action_list .box-icon [class*="icon-"],
body.cms-fiblanc #dynamic-blocks-container .product-action_list .box-icon span.icon,
body.cms-fiblanc #dynamic-blocks-container .product-action_list .box-icon [class*="icon-"] {
  font-family: "icomoon" !important;
  font-style: normal !important;
  font-weight: normal !important;
  line-height: 1 !important;
  display: inline-block !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
}

body.cms-fiblanc #dynamic-blocks-container .product-action_list .box-icon span.icon::before,
body.cms-fiblanc #dynamic-blocks-container .product-action_list .box-icon [class*="icon-"]::before {
  font-family: "icomoon" !important;
}

body.cms-fiblanc #dynamic-blocks-container .product-action_list .icon-shopping-cart-simple::before,
body.cms-fiblanc .cms-pack .product-action_list .icon-shopping-cart-simple::before {
  content: "\e926" !important;
}

body.cms-fiblanc #dynamic-blocks-container .product-action_list .icon-heart::before,
body.cms-fiblanc .cms-pack .product-action_list .icon-heart::before {
  content: "\e902" !important;
}

body.cms-fiblanc #dynamic-blocks-container .product-action_list .icon-compare::before,
body.cms-fiblanc .cms-pack .product-action_list .icon-compare::before {
  content: "\e907" !important;
}

body.cms-fiblanc #dynamic-blocks-container .product-action_list .icon-view::before,
body.cms-fiblanc .cms-pack .product-action_list .icon-view::before {
  content: "\e906" !important;
}

body.cms-fiblanc #dynamic-blocks-container .product-action_list .box-icon,
body.cms-fiblanc .cms-pack .product-action_list .box-icon {
  color: var(--Secondary, #1a1a1a);
}

/* —— Accueil FibLanc (CMS + vitrine) : espacement entre chaque bloc —— */
body.cms-home-cms {
  --fib-cms-section-gap: 64px;
}

@media (max-width: 767.98px) {
  body.cms-home-cms {
    --fib-cms-section-gap: 40px;
  }
}

body.cms-fiblanc.cms-home-cms #dynamic-blocks-container > .block-wrapper:not([data-block-type="fiblanc-hero"]) + .block-wrapper,
body.cms-home-cms #dynamic-blocks-container > .cms-block-wrap:not([data-block-type="fiblanc-hero"]) + .cms-block-wrap,
body.cms-home-cms .cms-pack > .block-wrapper:not([data-block-type="fiblanc-hero"]) + .block-wrapper,
body.cms-home-cms .cms-pack > .cms-block-wrap:not([data-block-type="fiblanc-hero"]) + .cms-block-wrap {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 16px !important;
}

body.cms-home-cms #wrapper > .s-customer-services {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}

body.cms-home-cms #wrapper > .footer.footer-fiblanc {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}

body.cms-home-cms #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-instagram"],
body.cms-home-cms .cms-pack > .block-wrapper[data-block-type="fiblanc-instagram"],
body.cms-home-cms .cms-pack > .cms-block-wrap[data-block-type="fiblanc-instagram"] {
  margin-bottom: 0 !important;
}

/* Même écart entre le titre et le texte de chaque bloc d'accueil */
.fiblanc-collections-styled h2.heading,
.fiblanc-categories-styled .fiblanc-cat-title,
.s-product-main .fiblanc-products-title,
.fiblanc-testimonials-styled .fiblanc-testimonials-title,
.s-instagram-gram .fiblanc-ig-head h2 {
  margin-bottom: 0 !important;
}

.fiblanc-collections-styled h2.heading + p,
.fiblanc-categories-styled .fiblanc-cat-desc,
.s-product-main .fiblanc-products-desc,
.fiblanc-testimonials-styled .fiblanc-testimonials-intro,
.s-instagram-gram .fiblanc-ig-head h2 + p {
  margin-top: 12px !important;
}

.s-product-main > .heading-seciton:has(+ .fiblanc-products-desc) {
  margin-bottom: 0 !important;
}

/* Même écart : bloc précédent → titre, et description → contenu suivant */
body.cms-home-cms .s-product-main .heading-seciton,
body.cms-home-cms .s-product-main .heading-seciton.mb_50,
body.cms-home-cms .fiblanc-categories-styled .heading-seciton,
body.cms-home-cms .fiblanc-categories-styled .heading-seciton.mb_32,
body.cms-home-cms .s-instagram-gram .fiblanc-ig-head,
body.cms-home-cms .s-instagram-gram .fiblanc-ig-head.mb_48,
body.cms-home-cms .fiblanc-testimonials-styled .heading,
body.cms-home-cms .fiblanc-collections-styled > .tf-container:has(> h2.heading) {
  margin-bottom: 16px !important;
}

body.cms-home-cms .s-product-main .fiblanc-products-desc,
body.cms-home-cms .s-product-main .fiblanc-products-desc.mb_50 {
  margin-bottom: 16px !important;
}

body.cms-home-cms .fiblanc-testimonials-styled .fiblanc-testimonials-title {
  margin-bottom: 0 !important;
}

body.cms-home-cms .s-product-main > .heading-seciton:has(+ .fiblanc-products-desc) {
  margin-bottom: 0 !important;
}

body.cms-home-cms .fiblanc-testimonials-styled .flat-thumbs-tes > .row {
  align-items: flex-start !important;
}

body.cms-home-cms .fiblanc-collections-styled > .tf-container:has(> h2.heading) {
  padding-top: 16px !important;
  padding-bottom: 0 !important;
}

body.cms-fiblanc.cms-home-cms #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-hero"] + .block-wrapper,
body.cms-home-cms .cms-pack > .block-wrapper[data-block-type="fiblanc-hero"] + .block-wrapper,
body.cms-home-cms .cms-pack > .cms-block-wrap[data-block-type="fiblanc-hero"] + .cms-block-wrap {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.cms-fiblanc.cms-home-cms .s-product-main .card-product_wrapper .product-img,
body.cms-home-cms .s-product-main .card-product_wrapper .product-img {
  height: auto !important;
}

body.cms-fiblanc.cms-home-cms .s-product-main .card-product_wrapper img,
body.cms-home-cms .s-product-main .card-product_wrapper img {
  height: auto !important;
  width: 100% !important;
  max-width: 100%;
}

body.cms-fiblanc.cms-home-cms .cms-pack .s-product-main .product-img .img-product,
body.cms-fiblanc.cms-home-cms .cms-pack .s-product-main .product-img .img-hover,
body.cms-fiblanc.cms-home-cms #dynamic-blocks-container .s-product-main .product-img .img-product,
body.cms-fiblanc.cms-home-cms #dynamic-blocks-container .s-product-main .product-img .img-hover,
body.cms-home-cms .cms-pack .s-product-main .product-img .img-product,
body.cms-home-cms .cms-pack .s-product-main .product-img .img-hover {
  aspect-ratio: unset !important;
  height: auto !important;
  object-fit: cover;
}

body.cms-fiblanc.cms-home-cms .s-categories-v04 .category-item.style-2 .img-style img,
body.cms-fiblanc.cms-home-cms .cms-pack .s-categories-v04 .category-item.style-2 .img-style img,
body.cms-home-cms .s-categories-v04 .category-item.style-2 .img-style img {
  height: auto !important;
  width: 100% !important;
  object-fit: cover;
}

/* Instagram : pastille blanche, puis couleur du footer au clic / survol */
.s-instagram-gram .gallery-item .box-icon,
.instagram-gram-grid .gallery-item .box-icon {
  background-color: #ffffff !important;
  color: #342f2b !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.s-instagram-gram .gallery-item .box-icon .icon-instagram,
.s-instagram-gram .gallery-item .box-icon .icon-instagram::before,
.instagram-gram-grid .gallery-item .box-icon .icon-instagram,
.instagram-gram-grid .gallery-item .box-icon .icon-instagram::before {
  color: #342f2b !important;
}

.s-instagram-gram .gallery-item .box-icon:hover,
.s-instagram-gram .gallery-item .box-icon:active,
.s-instagram-gram .gallery-item .box-icon:focus-visible,
.s-instagram-gram .gallery-item .box-icon.is-active,
.instagram-gram-grid .gallery-item .box-icon:hover,
.instagram-gram-grid .gallery-item .box-icon:active,
.instagram-gram-grid .gallery-item .box-icon:focus-visible,
.instagram-gram-grid .gallery-item .box-icon.is-active {
  background-color: #342f2b !important;
  border-color: #342f2b !important;
  color: #ffffff !important;
}

.s-instagram-gram .gallery-item .box-icon:hover .icon-instagram,
.s-instagram-gram .gallery-item .box-icon:hover .icon-instagram::before,
.s-instagram-gram .gallery-item .box-icon:active .icon-instagram,
.s-instagram-gram .gallery-item .box-icon:active .icon-instagram::before,
.s-instagram-gram .gallery-item .box-icon:focus-visible .icon-instagram,
.s-instagram-gram .gallery-item .box-icon:focus-visible .icon-instagram::before,
.s-instagram-gram .gallery-item .box-icon.is-active .icon-instagram,
.s-instagram-gram .gallery-item .box-icon.is-active .icon-instagram::before,
.instagram-gram-grid .gallery-item .box-icon:hover .icon-instagram,
.instagram-gram-grid .gallery-item .box-icon:hover .icon-instagram::before,
.instagram-gram-grid .gallery-item .box-icon:active .icon-instagram,
.instagram-gram-grid .gallery-item .box-icon:active .icon-instagram::before,
.instagram-gram-grid .gallery-item .box-icon:focus-visible .icon-instagram,
.instagram-gram-grid .gallery-item .box-icon:focus-visible .icon-instagram::before,
.instagram-gram-grid .gallery-item .box-icon.is-active .icon-instagram,
.instagram-gram-grid .gallery-item .box-icon.is-active .icon-instagram::before {
  color: #ffffff !important;
}

.s-instagram-gram .hover-tooltip:hover .tooltip,
.s-instagram-gram .hover-tooltip:active .tooltip,
.s-instagram-gram .hover-tooltip:focus-visible .tooltip,
.s-instagram-gram .hover-tooltip.is-active .tooltip,
.instagram-gram-grid .hover-tooltip:hover .tooltip,
.instagram-gram-grid .hover-tooltip:active .tooltip,
.instagram-gram-grid .hover-tooltip:focus-visible .tooltip,
.instagram-gram-grid .hover-tooltip.is-active .tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}

.s-instagram-gram .hover-tooltip .tooltip,
.instagram-gram-grid .hover-tooltip .tooltip {
  display: block;
  background-color: #342f2b !important;
  background: #342f2b !important;
  color: #ffffff !important;
}

.s-instagram-gram .hover-tooltip .tooltip::before,
.instagram-gram-grid .hover-tooltip .tooltip::before {
  background: #342f2b !important;
  background-color: #342f2b !important;
}
