@charset "utf-8";
/* CSS Document */

/* ==========================================================
   BLACK FRIDAY - STRUCTURE
   ========================================================== */
.main.landing{padding:0}
/* BLACK FRIDAY 2026 - STRUCTURE (ne dépend que des variables du thème) */
.landing.bf{background:var(--bf-page-bg);color:var(--bf-text);font-family:var(--bf-font-text)}
.landing.bf section{padding:40px 16px}
.landing.bf .bf-wrap{max-width:1500px;margin:0 auto}
.landing.bf h2{font-family:var(--bf-font-title);color:var(--bf-text);text-align:center;font-size:clamp(22px,3vw,34px);margin:0 0 24px}

/* ==========================================================
   HEADER / HERO
   ========================================================== */
	
	
.landing .banner{margin: 0 auto; text-align: center;}
.landing .banner img{border: solid 1px #6e1512; border-radius: 20px; max-width:100%; height:auto;}
.landing.bf .bf-hero{
  position:relative;overflow:hidden;padding:0;
  height:14vw;min-height:120px;max-height:250px;
  background:var(--bf-hero-bg-3);
}
.landing.bf .bf-hero:before{
  content:"";position:absolute;inset:-60% -5%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 160% at 40% 50%,var(--bf-hero-bg-1) 0%,var(--bf-hero-bg-2) 45%,var(--bf-hero-bg-3) 72%,var(--bf-hero-bg-3) 100%);
}

.landing.bf .bf-hero__ribbon{
  position:absolute;left:15%;width:130%;z-index:1;
  padding:5px 0;background:var(--bf-hero-ribbon-bg);
  overflow:hidden;white-space:nowrap;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);
}
.landing.bf .bf-hero__ribbon span{
  display:inline-block;color:var(--bf-hero-ribbon-text);
  font:700 13px/1.6 var(--bf-font-text);letter-spacing:4px;text-transform:uppercase;
}
.landing.bf .bf-hero__ribbon--top{top:30%;transform:rotate(-8deg)}
.landing.bf .bf-hero__ribbon--bottom{top:52%;transform:rotate(12deg)}
.landing.bf .bf-hero__inner{
  position:relative;z-index:3;max-width:1000px;margin:0 auto;
  height:100%;display:flex;align-items:center;
}
.landing.bf .bf-hero__products{
  position:absolute;left:-140px;z-index:2;
  object-fit:contain;object-position:left bottom;
 
}
	
	
	
.landing.bf .bf-hero__content{
  position:relative;z-index:3;margin-left:auto;
  padding:0 0 0 4%;text-align:center;
}
.landing.bf .bf-hero__title{
  margin:0;font-family:var(--bf-font-hero);font-weight:400;font-synthesis:none;line-height:.82;letter-spacing:.02em;
  text-transform:uppercase;font-size:clamp(26px,4.6vw,58px);
}
.landing.bf .bf-hero__title span{display:block}
.landing.bf .bf-hero__title-black{
  font-size:1.14em;
  color:#080808;
  -webkit-text-stroke:1px #111;
text-shadow: #FFF 0px 0px 5px, #FFF 0px 0px 10px, #ef2f2e 0px 0px 15px, #ef2f2e 0px 0px 20px, #ef2f2e 0px 0px 30px, #ef2f2e 0px 0px 40px, #ef2f2e 0px 0px 50px, #ef2f2e 0px 0px 75px, 2px 2px 2px rgba(239,47,46,0);
}
.landing.bf .bf-hero__title-friday{
  font-size:1.10em;line-height: 1.0em;
  color:var(--bf-hero-friday-color);
  text-shadow:0 6px 26px var(--bf-hero-friday-shadow);
}
.landing.bf .bf-hero__tag{
  position:relative;display:inline-block;margin-top:8px;
  padding:8px 12px;border-radius:6px;
  background:var(--bf-hero-accroche-bg);color:var(--bf-hero-accroche-text);
  font:700 18px/1.3 var(--bf-font-text);letter-spacing:.5px;text-transform:uppercase;
}
.landing.bf .bf-hero__tag:after{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:6px;
  background:var(--bf-hero-accroche-shadow);transform:translateY(4px);
}
@media(max-width:991px){
  .landing.bf .bf-hero__title{font-size:clamp(24px,6vw,42px)}
}
@media(max-width:767px){
  .landing.bf .bf-hero{height:auto;max-height:300px;min-height:0;padding:40px 16px 0 16px}
  .landing.bf .bf-hero__inner{flex-direction:column}
  .landing.bf .bf-hero__content{margin:0;padding:0;text-align:center;order:1}
  .landing.bf .bf-hero__title{font-size:clamp(30px,11vw,52px)}
  .landing.bf .bf-hero__products{position:static;order:2;height:auto;max-width:100%;margin:14px auto 0}
	.landing.bf .bf-hero__title-black {font-size: 1.5em;}
	.landing.bf .bf-hero__title-friday {font-size: 1.45em;}
}

/* ANCRES */
.landing.bf .bf-anchors{padding:40px 16px;background:var(--bf-sec-b);position:sticky;top:0;z-index:20}
.landing.bf .bf-anchors ul{list-style:none;margin:0 auto;padding:0;max-width:1500px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.landing.bf .bf-anchors a{display:block;padding:8px 18px;border:2px solid var(--bf-accent);border-radius:100px;color:var(--bf-text);text-decoration:none;font-size:16px;white-space:nowrap;transition:.3s}
.landing.bf .bf-anchors a:hover{background:var(--bf-accent);color:var(--bf-accent-text)}
@media(max-width:991px){
  .landing.bf .bf-anchors{position:static}
  .landing.bf .bf-anchors ul{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
  .landing.bf .bf-anchors ul.is-dragging{cursor:grabbing;scroll-snap-type:none}
  .landing.bf .bf-anchors ul.is-dragging a{pointer-events:none}
}

/* BEST OF (anciens blocs) */
.landing.bf .bf-bestof a{display:block;background:var(--bf-card-bg);color:var(--bf-card-text);border-radius:24px;overflow:hidden;text-decoration:none;text-align:center;height:100%;transition:transform .3s}
.landing.bf .bf-bestof a:hover{transform:translateY(-6px)}
.landing.bf .bf-bestof img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.landing.bf .bf-bestof span{display:block;padding:14px;font-family:var(--bf-font-title);font-size:20px}

/* TOP DEALS : flex auto 1 / 2 / 3 / 4 (par défaut) ou grille 4x2 (mode --grid8) */
.landing.bf .bf-topdeals{background:var(--bf-topdeals-bg)}
.landing.bf .bf-topdeals .content{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:1500px;margin:0 auto}
.landing.bf .bf-topdeals .tag{flex:1 1 calc(50% - 24px);min-width:min(100%,420px);max-width:735px;padding-top:0}
.landing.bf .bf-topdeals .tag:only-child{flex-basis:735px}
/* 3 deals : le dernier se centre au lieu de s'étirer */
.landing.bf .bf-topdeals .tag:nth-child(3):last-child{flex:0 1 calc(50% - 12px)}
@media(max-width:991px){.landing.bf .bf-topdeals .tag{flex-basis:100%}}
/* Mode 8 blocs : 4 par ligne, 2 lignes -> ajouter la classe "content--grid8" sur .content */
.landing.bf .bf-topdeals .content.content--grid8{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1500px}
.landing.bf .bf-topdeals .content.content--grid8 .tag{flex:none;min-width:0;max-width:none}
.landing.bf .bf-topdeals .content.content--grid8 .tag .product-listing ul li{
  grid-template-columns:1fr;grid-template-areas:"pic" "infos" "price" "button";
}
.landing.bf .bf-topdeals .content.content--grid8 .tag li .pic{min-height:180px}
.landing.bf .bf-topdeals .content.content--grid8 .tag li .listing-product__infos{height:auto;min-height:60px}
@media(max-width:1199px){.landing.bf .bf-topdeals .content.content--grid8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){.landing.bf .bf-topdeals .content.content--grid8{grid-template-columns:1fr}}
	
	
/* carte deal (reprend le style existant, couleurs via variables) */
.landing.bf .tag .product-listing{background:none;border-top:none!important}
.product-listing{ grid-template-columns: auto 1fr!important;}
@media screen and (max-width: 1399.98px) {
 .product-listing{ grid-template-columns: auto 1fr!important;
    }
}
.landing.bf .tag .product-listing ul{display:block;margin:0;padding:0}
.landing.bf .tag .product-listing ul li{display:grid;grid-template-columns:50% 1fr;grid-template-areas:"pic infos" "pic price" "pic button";border:2px solid var(--bf-text);border-radius:10px;overflow:hidden;color:var(--bf-text);background:none;padding:0;list-style:none}
.landing.bf .tag .listing-product__head{display:contents}
.landing.bf .tag li .pic{grid-area:pic;background:#fff;position:relative;min-height:260px;overflow:hidden}
.landing.bf .tag li .pic a{position:absolute;inset:20px;display:block}
.landing.bf .tag li .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:.5s}
.landing.bf .tag li .pic:hover img{transform:scale(.95)}
.landing.bf .tag li .ratingClient,.landing.bf .tag li .listing-product__desc{display:none}
.landing.bf .tag li .listing-product__infos{grid-area:infos;align-self:end;padding:20px 20px 0; height: 75px;}
.landing.bf .tag li h3{font-size:18px;line-height:25px;font-weight:400;color:var(--bf-text);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.landing.bf .tag li .price{grid-area:price;padding:0 20px}
.landing.bf .tag li .price .price,.landing.bf .tag li .price .old-price,.landing.bf .tag li .price .new-price{color:var(--bf-text);display:block}
.landing.bf .tag li .price .old-price{font-size:18px;font-weight:600}
.landing.bf .tag li .price .new-price{font-size:25px;font-weight:800; color: var(--bf-accent)}
.landing.bf .tag li .button.add-to-cart{grid-area:button;justify-self:start;position:static;background:none;border:0;padding:0;margin:10px 20px 20px;height:auto!important;width:auto!important}
.landing.bf .tag li .button.add-to-cart span{position:relative;display:inline-block;background:none;top:0;transition:.2s}
.landing.bf .tag li .button.add-to-cart span:before{    font-family: 'Bricolage Grotesque';content:"Commander ›";display:block;padding:14px 24px;font-size:18px;color:#fff;background:var(--bf-cta);border-radius:30px}
.landing.bf .tag li .add-to-cart span:after{content:"";position:absolute;height:41px;width:100%;bottom:-5px;left:0;background:var(--bf-cta-shadow);border-radius:60px;z-index:-1;transition:.2s}
.landing.bf .tag li .add-to-cart:hover span{transform:translateY(5px)}
.landing.bf .tag li .add-to-cart:hover span:after{bottom:0}
@media(max-width:575px){.landing.bf .tag li{grid-template-columns:40% 1fr}.landing.bf .tag li .pic{min-height:200px}.landing.bf .tag li h3{font-size:15px;line-height:20px}}

	
/* ==========================================================
   TOP DEALS - BLACK FRIDAY  8 produits : 4 par ligne / 2 lignes
   ========================================================== */

.landing.bf .bf-topdeals{
  background:var(--bf-topdeals-bg);
}


/* ==========================================================
   GRILLE
   ========================================================== */

.landing.bf .bf-topdeals .content.content--bf-grid8{
  display:block;
  width:100%;
  max-width:1500px;
  margin:0 auto;
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .tag{
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  padding:0;
}

/* Le wrapper des produits devient la grille */
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-wrapper{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;

  width:100% !important;
  height:auto !important;

  transform:none !important;
}

/* Neutralisation des dimensions injectées par Swiper */
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  flex:none !important;
}


/* ==========================================================
   CARTE PRODUIT
   ========================================================== */

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide{
  display:grid;

  grid-template-columns:1fr;
  grid-template-rows:auto auto auto 1fr;

  grid-template-areas:
    "pic"
    "infos"
    "price"
    "button";

  border:2px solid var(--bf-text);
  border-radius:10px;
  overflow:hidden;

  color:var(--bf-text);
  background:none;

  padding:0;
  list-style:none;

  height:100%;
  min-width:0;
  transition:transform .25s ease;
  
}
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide:hover{
	transform:translateY(-10px);
	}

/* ==========================================================
   IMG PRODUIT
   ========================================================== */

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide > img{
  grid-area:pic;

  display:block;
  width:100%;
  height:220px;
  min-height:0;

  padding:15px;
  background:#fff;

  object-fit:contain;

}
/* ==========================================================
   NOM PRODUIT
   ========================================================== */

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .text{
  grid-area:infos;
  padding:16px 16px 0;
  height:65px;
  box-sizing:border-box;
  font-size:0;
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .text a{
  display:-webkit-box;

  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;

  overflow:hidden;

  font-size:16px;
  line-height:21px;
  font-weight:400;

  color:var(--bf-text);
  text-decoration:none;
}


/* ==========================================================
   PRIX
   ========================================================== */

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .price{
  grid-area:price;

  padding:16px;
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .price .old-price,
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .price .new-price{
  display:inline-block;
  color:var(--bf-text);
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .price .old-price{
  font-size:16px;
  font-weight:600;
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .price .new-price{
  font-size:23px;
  font-weight:800;
  color:var(--bf-accent);
}


/* ==========================================================
   BTN COMMANDER
   ========================================================== */

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .listing-product .button.add-to-cart{
  grid-area:button;

  justify-self:start;

  position:static;

  background:none;
  border:0;

  padding:0;
  margin:12px 16px 16px;

  height:auto !important;
  width:auto !important;
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .listing-product .button.add-to-cart span{
  position:relative;

  display:inline-block;

  background:none;

  top:0;

  transition:.2s;
}

/* Texte du bouton */
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .listing-product .button.add-to-cart span:before{
  font-family:'Bricolage Grotesque';

  content:"Commander ›";

  display:block;

  padding:11px 20px;

  font-size:16px;

  color:#fff;

  background:var(--bf-cta);

  border-radius:30px;
}

/* Ombre */
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .listing-product .button.add-to-cart span:after{
  content:"";

  position:absolute;

  height:100%;
  width:100%;

  bottom:-5px;
  left:0;

  background:var(--bf-cta-shadow);

  border-radius:60px;

  z-index:-1;

  transition:.2s;
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .listing-product .button.add-to-cart:hover span{
  transform:translateY(5px);
}

.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .listing-product .button.add-to-cart:hover span:after{
  bottom:0;
}
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide{
  position:relative;
}

.landing.bf .content--bf-grid8 .price .price {color: var(--bf-accent);}
.landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .price .price-percent{
  position:absolute;
  top:0;
  left:0;

  align-self:auto;
  margin:0;

  background-color:#cf0000;
  border-radius:0 0 4px 0;

  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:20px;

  padding:3px 10px 3px 9px;

  z-index:5;
}

/* ==========================================================
   TABLETTE
   ========================================================== */

@media(max-width:1199px){

  .landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-wrapper{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:575px){

  .landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-wrapper{
    grid-template-columns:1fr;
  }

  .landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide > img{
    height:200px;
  }

  .landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .text{
    padding:14px 14px 0;
  }

  .landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .text a{
    font-size:15px;
    line-height:20px;
  }

  .landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .price{
    padding:0 14px 20px;
  }

  .landing.bf .bf-topdeals .content.content--bf-grid8 .swiper-slide .listing-product .button.add-to-cart{
    margin:12px 14px 14px;
  }

}
	
	
	
/* GRILLES (remplacent les .row Bootstrap : gap garanti quelle que soit la version chargée) */
.landing.bf .bf-grid{display:grid;gap:24px}
.landing.bf .bf-grid--4{grid-template-columns:repeat(4,1fr)}
.landing.bf .bf-grid--2{grid-template-columns:repeat(2,1fr);gap:16px}
.landing.bf .bf-grid--brands{grid-template-columns:repeat(auto-fit,minmax(150px,220px));justify-content:center;gap:16px}
@media(max-width:991px){.landing.bf .bf-grid--4{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:767px){.landing.bf .bf-grid--2{grid-template-columns:1fr}}

/* TRADE MARKETING */
.landing.bf .bf-trade img{width:100%;border-radius:16px;display:block}
/* >2 visuels : carrousel, même look de flèches que la mosaïque */
.landing.bf .bf-trade__slider{position:relative}
.landing.bf .bf-trade__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;user-select:none;-webkit-user-select:none}
/* desktop : empêche le glisser-déposer natif des images/liens, qui interrompait le swipe à la souris */
.landing.bf .bf-mosaic__track img,.landing.bf .bf-mosaic__track a,.landing.bf .bf-trade__track img,.landing.bf .bf-trade__track a{-webkit-user-drag:none;user-drag:none}
.landing.bf .bf-trade__track::-webkit-scrollbar{display:none}
.landing.bf .bf-trade__track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.landing.bf .bf-trade__item{flex:0 0 calc(50% - 8px);min-width:280px;scroll-snap-align:start}
.landing.bf .bf-trade__item a{display:block}
@media(max-width:767px){.landing.bf .bf-trade__item{flex-basis:85%}}
/* positions des flèches (manquaient : les deux boutons se superposaient à gauche) */
.landing.bf .bf-trade__prev{left:8px}
.landing.bf .bf-trade__next{right:8px}

/* CARROUSELS */
.landing.bf .bf-carousel:nth-of-type(even){background:var(--bf-sec-b)}
.landing.bf .bf-carousel .bf-wrap{position:relative}
.landing.bf .bf-carousel .swiper__products{padding-bottom:25px}
.landing.bf .bf-carousel .swiper-button-next,.landing.bf .bf-carousel .swiper-button-prev{color:var(--bf-accent)}
.landing.bf .bf-carousel .swiper-slide{background:var(--bf-card-bg);color:var(--bf-card-text);border-radius:10px;overflow:hidden}
.swiper-product .swiper-button-next:after, .swiper.home-swiper__wrapper .swiper-button-next:after, .swiper.swiper__associated-products .swiper-button-next:after, .swiper.swiper__brands .swiper-button-next:after, .swiper.swiper__category .swiper-button-next:after, .swiper.swiper__othersCategories .swiper-button-next:after, .swiper.swiper__products .swiper-button-next:after, .swiper.swiper__reinsurance .swiper-button-next:after, .swiper.swiper__similar .swiper-button-next:after, .swiper.swiper__tips .swiper-button-next:after, .swiper.swiper__unavoidable .swiper-button-next:after, .swiper__related-search .swiper-button-next:after {
    background-color: var(--bf-accent)!important;
}
.swiper-product .swiper-button-next.swiper-button-disabled:after, .swiper-product .swiper-button-prev.swiper-button-disabled:after, .swiper.home-swiper__wrapper .swiper-button-next.swiper-button-disabled:after, .swiper.home-swiper__wrapper .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__associated-products .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__associated-products .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__brands .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__brands .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__category .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__category .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__othersCategories .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__othersCategories .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__products .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__products .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__reinsurance .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__reinsurance .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__similar .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__similar .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__tips .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__tips .swiper-button-prev.swiper-button-disabled:after, .swiper.swiper__unavoidable .swiper-button-next.swiper-button-disabled:after, .swiper.swiper__unavoidable .swiper-button-prev.swiper-button-disabled:after, .swiper__related-search .swiper-button-next.swiper-button-disabled:after, .swiper__related-search .swiper-button-prev.swiper-button-disabled:after {
    background-color: var(--bf-accent)!important;
}
.swiper-product .swiper-button-next:before, .swiper.home-swiper__wrapper .swiper-button-next:before, .swiper.swiper__associated-products .swiper-button-next:before, .swiper.swiper__brands .swiper-button-next:before, .swiper.swiper__category .swiper-button-next:before, .swiper.swiper__othersCategories .swiper-button-next:before, .swiper.swiper__products .swiper-button-next:before, .swiper.swiper__reinsurance .swiper-button-next:before, .swiper.swiper__similar .swiper-button-next:before, .swiper.swiper__tips .swiper-button-next:before, .swiper.swiper__unavoidable .swiper-button-next:before, .swiper__related-search .swiper-button-next:before {
    color: #ffffff!important;
}
.landing.bf .bf-carousel h2 span{color: var(--bf-accent)}
	
	
/* BOUTONS */
.landing.bf .bf-btn{display:block;width:fit-content;margin:24px auto 0;padding:10px 24px;border-radius:100px;background:var(--bf-btn);color:var(--bf-btn-text)!important;border:1px solid var(--bf-btn);text-decoration:none;font-size:18px;transition:.3s}
.landing.bf .bf-btn:hover{background:transparent;color:var(--bf-btn)!important}
.landing.bf .bf-mosaic__block--visual .bf-btn{
  position:absolute;
  z-index:3;
  left:20px;
  top:115px;
  margin:0;
}
/* MARQUES */
.landing.bf .bf-brands a{display:flex;align-items:center;justify-content:center;background:var(--bf-card-bg);border-radius:16px;padding:20px;height:100%;min-height:110px;transition:transform .3s}
.landing.bf .bf-brands a:hover{transform:translateY(-4px)}
.landing.bf .bf-brands img{max-width:100%;max-height:70px;object-fit:contain;width:auto}

/* ==========================================================
   MOSAÏQUE
   Couleurs par bloc : style="--bf-block-bg:#xxx;--bf-block-text:#xxx"
   ========================================================== */
.landing.bf .bf-mosaic__slider{position:relative}
.landing.bf .bf-mosaic__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;user-select:none;-webkit-user-select:none}
.landing.bf .bf-mosaic__track::-webkit-scrollbar{display:none}
.landing.bf .bf-mosaic__track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.landing.bf .bf-mosaic__track.is-animating,.landing.bf .bf-trade__track.is-animating{scroll-snap-type:none}
/* clic long : dès que le swipe est "armé" (clic maintenu) ou en cours, curseur de saisie partout */
.landing.bf .bf-mosaic__track.is-armed,.landing.bf .bf-mosaic__track.is-armed *,.landing.bf .bf-mosaic__track.is-dragging *,
.landing.bf .bf-trade__track.is-armed,.landing.bf .bf-trade__track.is-armed *,.landing.bf .bf-trade__track.is-dragging *{cursor:grabbing!important}
/* peu de blocs : ils se partagent la largeur ; beaucoup : ils gardent 340px mini et ça défile */
.landing.bf .bf-mosaic__block{flex:1 0 340px;min-height:440px;position:relative;overflow:hidden;border-radius:16px;scroll-snap-align:start;container-type:inline-size;background:var(--bf-block-bg,var(--bf-mosaic-bg));color:var(--bf-block-text,var(--bf-mosaic-text))}
@media(max-width:575px){.landing.bf .bf-mosaic__block{flex-basis:82%;min-height:400px}}
.landing.bf .bf-mosaic__title{margin:0;padding:20px 20px 0;font-family:var(--bf-font-title);font-size:clamp(20px,2vw,28px);line-height:1.15;text-align:left;color:inherit}

	.landing.bf .bf-mosaic__title span{color:var(--bf-accent);font-size:34px;}
	.landing.bf .bf-mosaic__title a{color:var(--bf-text)!important}
/* bloc visuel */
.landing.bf .bf-mosaic__block--visual>a{display:block;position:absolute;inset:0;color:inherit;text-decoration:none}
/* Image de fond du bloc visuel uniquement */
.landing.bf .bf-mosaic__block--visual .bf-mosaic__visual-bg{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Image décorative sous le titre */
.landing.bf .bf-mosaic__block--visual .bf-mosaic__visual-product{
  position:absolute;
  z-index:2;
  width:80%;
  height:auto;
  left:10%;
  top:calc(50% + 50px);
  transform:translateY(-50%);
  object-fit:contain;
}

/* Titre au-dessus des images */
.landing.bf .bf-mosaic__block--visual .bf-mosaic__title, .landing.bf .bf-mosaic__block--visual .bf-mosaic__title-big{
  position:relative;
  z-index:2;
}

/* Dégradé au-dessus du fond, sans masquer l'image décorative */
.landing.bf .bf-mosaic__block--visual>a:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(
    circle,
    var(--bf-mosaic-visual-gradient-1) 16%,
    var(--bf-mosaic-visual-gradient-2) 66%
  );
}
.landing.bf .bf-mosaic__block--visual .bf-mosaic__title, .landing.bf .bf-mosaic__block--visual .bf-mosaic__title-big{position:relative;z-index:2}
/* bloc produits : 2x2 (4 en ligne si le bloc est large) */
	
	
/* bloc produits — structure réelle générée par le template 51 :
   .swiper.swiper__products > .swiper-wrapper > .swiper-slide{ img, .text{ a.stretched-link + texte }, .price } */
.landing.bf .bf-mosaic__block--products{
  padding-bottom:16px;
}

.landing.bf .bf-mosaic__block--products .bf-mosaic__title, .landing.bf .bf-mosaic__block--visual .bf-mosaic__title-big{
  padding-bottom:16px;
}

/* on neutralise le comportement horizontal de Swiper : grille 2x2 statique (4 en ligne si le bloc est large) */
.landing.bf .bf-mosaic__block--products .swiper__products{
  padding:0 16px;
  height:auto!important;
  overflow:visible!important;
  position:relative;
  z-index:1;
}
.landing.bf .bf-mosaic__block--products .swiper-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:auto!important;
  height:auto!important;
  transform:none!important;
}
@container (min-width:640px){
  .landing.bf .bf-mosaic__block--products .swiper-wrapper{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}


.landing.bf .bf-mosaic__block--products .swiper-slide{
  position:relative;
  display:flex;flex-direction:column;
  aspect-ratio:1/1.25;
  width:auto!important;height:auto!important;min-width:0!important;margin:0!important;flex:none!important;
  padding:0;border:0;background:#fff;color:#0d0d0d;border-radius:8px;overflow:hidden;
}


.landing.bf .bf-mosaic__block--products .swiper-slide>img{
position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-height: 0;
    width: 90%;
    object-fit: contain;
    padding: 10px 10px 0 10px;
    box-sizing: border-box;
    pointer-events: none;
    margin: 0 auto;
}
.swiper.swiper__associated-products .swiper-slide img, .swiper.swiper__brands .swiper-slide img, .swiper.swiper__category .swiper-slide img, .swiper.swiper__othersCategories .swiper-slide img, .swiper.swiper__products .swiper-slide img, .swiper.swiper__similar .swiper-slide img, .swiper.swiper__tips .swiper-slide img, .swiper.swiper__unavoidable .swiper-slide img {
    margin-bottom: 0;
    max-width: 100%;
}

/* Zone cliquable = toute la tuile. Le CSS du site (ex. .swiper.swiper__products .swiper-slide .text / .stretched-link:after)
   peut imposer une hauteur : sans width/height 100% forcés, seule une bande en haut de la tuile restait cliquable. */
.landing.bf .bf-mosaic__block--products .swiper-slide .text,
.landing.bf .bf-mosaic__block--products .swiper-slide .text *{
  position:absolute!important;inset:0!important;margin:0!important;padding:0!important;
  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;
  font-size:0!important;line-height:0!important;color:transparent!important;overflow:hidden!important;
}
.landing.bf .bf-mosaic__block--products .swiper-slide .text a{
  z-index:5!important;display:block!important;cursor:pointer!important;
}
/* le pseudo-élément du stretched-link (Bootstrap / CSS du site) couvre lui aussi toute la tuile */
.landing.bf .bf-mosaic__block--products .swiper-slide .text a::before,
.landing.bf .bf-mosaic__block--products .swiper-slide .text a::after,
.landing.bf .bf-mosaic__block--products .swiper-slide .stretched-link::after{
  content:""!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  display:block!important;z-index:6!important;
}


.landing.bf .bf-mosaic__block--products .swiper-slide .price{
  position:static;z-index:3;flex:0 0 auto;
  padding:0 8px 8px;pointer-events:none;
}
.landing.bf .bf-mosaic__block--products .swiper-slide .price .old-price{
  display:block;font-size:13px;font-weight:600;color:#8a8a8a;text-decoration:line-through;line-height:1.3;
}
.landing.bf .bf-mosaic__block--products .swiper-slide .price .new-price{
  display:block;font-size:18px;font-weight:800;color:#0d0d0d;line-height:1.3;
}
.landing.bf .bf-mosaic__block--products .swiper-slide .price .label--promo{
  position:absolute;top:8px;left:8px;z-index:4;
  background:#c21f2f;color:#fff;font:700 13px/1.3 var(--bf-font-text);
  padding:3px 8px;border-radius:4px;text-indent:0;width:auto;max-height:none;
}
.landing.bf .bf-mosaic__block--products .swiper-slide .price .label--promo:before{display:none}
/* flèches (affichées par le JS uniquement si ça déborde) */
.landing.bf .bf-mosaic__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:84px;border:0;border-radius:8px;background:#fff;color:#0d0d0d;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}
.landing.bf .bf-mosaic__nav[hidden]{display:none}
.landing.bf .bf-mosaic__prev{left:8px}
.landing.bf .bf-mosaic__next{right:8px}
@media(max-width:575px){.landing.bf .bf-mosaic__nav{width:36px;height:52px}}