/* ==========================================================================
   MonCornerB Homepage Redesign 2026
   ========================================================================== */

/* --- Boutons generiques --- */
.mcb-btn {
  display: inline-block;
  text-transform: uppercase;
  font-family: var(--mcb-font-body);
  font-size: var(--mcb-btn-font-size);
  letter-spacing: var(--mcb-btn-letter-spacing);
  padding: var(--mcb-btn-padding);
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}
.mcb-btn--outline {
  border: var(--mcb-btn-border);
  color: var(--mcb-dark);
  background: transparent;
}
.mcb-btn--outline:hover {
  background: var(--mcb-dark);
  color: var(--mcb-white);
  text-decoration: none;
}
.mcb-btn--outline-white {
  border: 1px solid var(--mcb-white);
  color: var(--mcb-white);
  background: transparent;
}
.mcb-btn--outline-white:hover {
  background: var(--mcb-white);
  color: var(--mcb-dark);
  text-decoration: none;
}

/* --- Separateur de section (bande peche) --- */
.mcb-section-separator {
  height: 6px;
  background-color: var(--mcb-peach);
  margin-bottom: 40px;
}

/* Titres de section */
.mcb-section-overtitle {
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: 26px;
  line-height: 26px;
  letter-spacing: 1.52px;
  color: #282828;
  text-align: left;
  margin-bottom: 8px;
}
.mcb-section-title {
  font-family: var(--mcb-font-body);
  font-weight: 100;
  font-size: 48px;
  line-height: 48px;
  letter-spacing: -1.22px;
  color: #000000;
  text-align: left;
  text-transform: uppercase;
  margin-bottom: 20px;
}

/* --- Hero 3 colonnes --- */
.mcb-hero { padding: 0; overflow: hidden; }
.mcb-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px; /* T22: leger espace entre les 3 home banners */
}
.mcb-hero__col { overflow: hidden; }
.mcb-hero__visual { position: relative; overflow: hidden; }
.mcb-hero__link { display: block; position: relative; text-decoration: none; }
.mcb-hero__link img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.mcb-hero__visual:hover img { transform: scale(1.03); }
.mcb-hero__title {
  position: absolute;
  top: 20px;
  left: 20px;
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: calc(16px + 1.590625vw);
  line-height: calc(16px + 1.590625vw);
  letter-spacing: 5.76px;
  color: #000000; /* default ; T3 : overrideable via style inline ou classe modifier */
  text-transform: uppercase;
  margin: 0;
}
/* T3 : variations couleur de titre */
.mcb-hero .mcb-hero__title.mcb-hero__title--white { color: #ffffff !important; }
.mcb-hero .mcb-hero__title.mcb-hero__title--peach { color: #FFD4A9 !important; }
.mcb-hero .mcb-hero__title.mcb-hero__title--orange { color: #f5a860 !important; }

/* --- Best-sellers / Nouveautes --- */
/* T4 : reduire espace autour */
.mcb-bestsellers { padding: 25px 0; background-color: #FFF8F1; }
.mcb-bestsellers__header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  position: relative;
}
.mcb-bestsellers__tabs {
  display: flex;
  gap: 40px;
}
.mcb-bestsellers__tab {
  background: none;
  border: none;
  font-family: var(--mcb-font-body);
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000000;
  cursor: pointer;
  padding: 10px 0;
  transition: all 0.3s ease;
}
/* T2 : tab actif = ExtraBold + taille plus grande */
.mcb-bestsellers__tab.active,
.mcb-bestsellers__tab:hover {
  color: #EBAB6D;
}
.mcb-bestsellers__tab.active {
  font-weight: 800;
  font-size: 20px;
}
.mcb-bestsellers__viewall {
  font-size: 13px;
  font-family: var(--mcb-font-body);
  color: var(--mcb-text);
  text-decoration: none;
}
.mcb-bestsellers__viewall:hover { color: var(--mcb-text-dark); }
.mcb-bestsellers__viewall--desktop {
  position: absolute;
  right: 0;
}
.mcb-bestsellers__viewall--mobile {
  display: none;
}
.mcb-bestsellers__content { display: none; }
.mcb-bestsellers__content.active { display: block; }

/* T5 : normaliser affichage produit Slick */
.mcb-bestsellers .products_block { overflow: hidden; }
.mcb-bestsellers .products.slick-initialized { margin: 0 -5px; }
.mcb-bestsellers .products.slick-initialized .slick-slide {
  padding: 0 5px;
  height: auto;
}
.mcb-bestsellers .products.slick-initialized .slick-slide > * {
  height: 100%;
}
.mcb-bestsellers .product-miniature {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  padding: 0 !important;
  margin: 0 !important;
}
.mcb-bestsellers .product-miniature .thumbnail-container {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent;
}
.mcb-bestsellers .product-miniature img,
.mcb-bestsellers .product-miniature .product-thumbnail img {
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
}
.mcb-bestsellers .product-miniature .product-description,
.mcb-bestsellers .product-miniature .product-desc {
  width: 100%;
  padding: 12px 8px;
  text-align: center;
}
.mcb-bestsellers .product-miniature .product-rating,
.mcb-bestsellers .product-miniature .product_rating,
.mcb-bestsellers .product-miniature .star_content,
.mcb-bestsellers .product-miniature .comments_advices {
  display: flex;
  justify-content: center;
  margin: 5px 0;
  text-align: center;
}
.mcb-bestsellers .product-miniature .product-price-and-shipping,
.mcb-bestsellers .product-miniature .price {
  text-align: center;
  justify-content: center;
  margin: 5px 0;
}
.mcb-bestsellers .product-miniature .product-miniature__add-to-cart,
.mcb-bestsellers .product-miniature .add-to-cart,
.mcb-bestsellers .product-miniature form {
  text-align: center;
  display: flex;
  justify-content: center;
  margin-top: 8px;
}
/* Slick arrows positioning */
.mcb-bestsellers .slick-prev,
.mcb-bestsellers .slick-next { z-index: 5; }
.mcb-bestsellers .slick-prev { left: -5px; }
.mcb-bestsellers .slick-next { right: -5px; }

/* T33 mobile : voir tout en dessous */
@media (max-width: 767px) {
  .mcb-bestsellers__header {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
  }
  .mcb-bestsellers__viewall--desktop {
    display: none;
  }
  .mcb-bestsellers__viewall--mobile {
    display: block;
    text-align: center;
    margin: 20px auto 0;
    text-decoration: underline;
  }
}

/* --- Baseline --- */
.mcb-baseline { padding: 40px 0 30px 0; text-align: center; }
.mcb-baseline__text {
  font-family: var(--mcb-font-glare);
  font-weight: 100;
  font-style: italic;
  font-size: 42px;
  line-height: 50px;
  letter-spacing: -2.64px;
  color: #000000;
  max-width: 100%;
  margin: 0 auto;
}

/* --- Banners promo --- */
.mcb-banners { padding: 0 0 40px; }
.mcb-banners__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.mcb-banners__item { display: block; overflow: hidden; }
.mcb-banners__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.mcb-banners__item:hover img { transform: scale(1.03); }

/* --- Intro text entre bestsellers et marques (overtitle dans header beige) --- */

/* Bandeau beige qui se prolonge derriere le titre jusqu'au milieu des encarts (T17)
   Implemente via pseudo-element pour garder la structure TPL intacte
   --------------------------------------------------------------------------- */
.mcb-brands,
.mcb-diagnostic,
.mcb-blog,
.mcb-cosmetics {
  position: relative;
}
.mcb-brands::before,
.mcb-diagnostic::before,
.mcb-blog::before,
.mcb-cosmetics::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  /* hauteur = header beige + moitie carte image (~400px/2 = 200px) */
  height: 260px;
  background-color: #FFF8F1;
  z-index: 0;
  pointer-events: none;
}
.mcb-brands__header,
.mcb-diagnostic__header,
.mcb-blog__header,
.mcb-cosmetics__header,
.mcb-brands > .container,
.mcb-diagnostic > .container,
.mcb-blog > .container,
.mcb-cosmetics > .container {
  position: relative;
  z-index: 1;
}
.mcb-brands__header,
.mcb-diagnostic__header,
.mcb-blog__header,
.mcb-cosmetics__header {
  background-color: transparent; /* le beige vient du ::before */
}

/* --- Nos Marques --- */
/* T7 : reduire espace titre vs grid. T8 : reduire espace entre sections */
.mcb-brands { padding: 0 0 30px 0; }
.mcb-brands__header {
  padding: 25px 0 10px;
  margin-bottom: 0;
}
.mcb-brands__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px; /* T23 */
  margin-bottom: 15px;
}
/* T24 full width */
.mcb-brands > .container { max-width: 100% !important; width: 100% !important; padding: 0 15px; }
.mcb-brands__link { display: block; text-decoration: none; overflow: hidden; position: relative; }
.mcb-brands__link img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.mcb-brands__link:hover img { transform: scale(1.03); }
.mcb-brands__name {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: calc(16px + 1.590625vw);
  line-height: calc(16px + 1.590625vw);
  letter-spacing: 3.13px;
  color: #000000;
  text-transform: uppercase;
  margin: 0;
}
.mcb-brands__desc {
  text-align: center;
  max-width: 1100px;
  margin: 20px auto;
  font-family: var(--mcb-font-body);
  font-weight: 300;
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.30px;
  color: #000000;
}
.mcb-brands__cta { text-align: center; margin-top: 20px; }
.mcb-brands__cta .mcb-btn {
  background-color: #000000;
  color: #FFFFFF;
  border: none;
  font-family: var(--mcb-font-body);
  font-weight: 300;
  font-size: 24px;
  line-height: 31px;
  letter-spacing: 0.87px;
  padding: 18px 60px 12px;
}
.mcb-brands__cta .mcb-btn:hover {
  background-color: #333333;
  color: #FFFFFF;
}

/* --- Intro diagnostic --- */
/* T8 : reduire espace avant diagnostic */
.mcb-intro-diagnostic {
  padding: 20px 0;
  text-align: center;
}
.mcb-intro-diagnostic__text {
  font-family: var(--mcb-font-body);
  font-weight: 300;
  font-size: 21px;
  line-height: 26px;
  letter-spacing: -0.16px;
  color: #000000;
  max-width: 1100px;
  margin: 0 auto;
}

/* --- Diagnostic personnalise --- */
.mcb-diagnostic { padding: 0 0 30px 0; }
.mcb-diagnostic__header {
  padding: 25px 0 10px;
  margin-bottom: 0;
}
.mcb-diagnostic > .container { max-width: 100% !important; width: 100% !important; padding: 0 15px; }
.mcb-diagnostic__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
.mcb-diagnostic__col { overflow: hidden; }
.mcb-diagnostic__visual { position: relative; overflow: hidden; }
.mcb-diagnostic__link { display: block; position: relative; text-decoration: none; }
.mcb-diagnostic__link img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.mcb-diagnostic__visual:hover img { transform: scale(1.03); }
.mcb-diagnostic__category {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: calc(16px + 1.590625vw);
  line-height: calc(16px + 1.590625vw);
  letter-spacing: 4.69px;
  color: #000000;
  text-transform: uppercase;
  margin: 0;
}
.mcb-diagnostic__info {
  padding: 15px 0 15px 15px;
}
.mcb-diagnostic__question {
  font-family: var(--mcb-font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 0.14px;
  color: #000000;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.mcb-diagnostic__info .mcb-btn--dark,
.mcb-btn--dark {
  background-color: #000000;
  color: #FFFFFF;
  border: none;
  font-family: var(--mcb-font-body);
  font-weight: 300;
  font-size: 16px;
  padding: 13px 30px 7px;
  letter-spacing: 0.87px;
  text-decoration: none;
  /* T39 : centrer verticalement le texte (chrome) */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  min-height: 40px;
}
.mcb-diagnostic__info .mcb-btn--dark:hover {
  background-color: #333333;
}

/* T39 : centrer aussi les CTA outline des sections */
.mcb-brands__cta .mcb-btn,
.mcb-btn.mcb-btn--outline,
.mcb-seo__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

/* --- Le Coin Lecture --- */
/* T9 : reduire espace entre LE COIN LECTURE et texte dessous */
.mcb-blog { padding: 0 0 20px 0; }
.mcb-blog__header {
  padding: 20px 8px 10px!important;
  margin-bottom: 0;
}
.mcb-blog__header .mcb-section-title {
  margin-bottom: 5px;
}
.mcb-blog__header .mcb-section-overtitle {
  margin-bottom: 0;
}
.mcb-blog > .container { max-width: 100% !important; width: 100% !important; padding: 0 15px; }
.mcb-blog__intro {
  font-size: 14px;
  color: var(--mcb-text);
  margin-bottom: 20px;
  max-width: 900px;
}
.mcb-blog__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px; /* T25 */
}
.mcb-blog__col { overflow: hidden; }
.mcb-blog__visual { position: relative; overflow: hidden; }
.mcb-blog__link { display: block; position: relative; text-decoration: none; }
.mcb-blog__link img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.mcb-blog__visual:hover img { transform: scale(1.03); }
.mcb-blog__category {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: calc(16px + 1.590625vw);
  line-height: calc(16px + 1.590625vw);
  letter-spacing: 3.71px;
  color: #FFFFFF;
  text-transform: uppercase;
  margin: 0;
}

/* --- Cosmetiques naturels --- */
/* T10 : reduire espace entre DES COSMETIQUES et encarts du dessus */
.mcb-cosmetics { padding: 10px 0 40px 0; }
.mcb-cosmetics__header {
  padding: 20px 8px 10px!important;
  margin-bottom: 0;
}
.mcb-cosmetics > .container { max-width: 100% !important; width: 100% !important; padding: 0 15px; }
.mcb-cosmetics__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px; /* T26 */
  margin-bottom: 20px;
}
.mcb-cosmetics__link { display: block; text-decoration: none; overflow: hidden; position: relative; }
.mcb-cosmetics__link img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.mcb-cosmetics__link:hover img { transform: scale(1.03); }
.mcb-cosmetics__name {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: calc(16px + 1.590625vw);
  line-height: calc(16px + 1.590625vw);
  letter-spacing: 3.13px;
  color: #000000;
  text-transform: uppercase;
  margin: 0;
}
.mcb-cosmetics__desc {
  text-align: center;
  max-width: 1100px;
  margin: 20px auto 0;
  font-family: var(--mcb-font-body);
  font-weight: 300;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.35px;
  color: #000000;
  padding: 0 20px;
}

/* --- Avis clients --- */
/* T27 : full width desktop + T11 couleur (via override iframe bg) */
.mcb-reviews { padding: 40px 0; text-align: center; }
.mcb-reviews__title {
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: 26px;
  color: var(--mcb-text-dark);
  margin-bottom: 30px;
}
.mcb-reviews > .container { max-width: 100% !important; width: 100% !important; padding: 0; }
.mcb-reviews__content { max-width: 100%; width: 100%; margin: 0 auto; }

/* --- Bloc SEO --- */
.page-home .mcb-seo,
section.mcb-seo {
  background-color: #FFF8F1 !important;
  color: #282828 !important;
  padding: 50px 0;
}
.mcb-seo__maintitle {
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: 26px;
  line-height: 26px;
  letter-spacing: 1.45px;
  color: #282828;
  text-align: center;
  margin-bottom: 20px;
}
.mcb-seo__intro {
  font-family: var(--mcb-font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.05px;
  color: #959595;
  text-align: center;
  max-width: 900px;
  margin: 0 auto 25px;
}
.mcb-seo__highlight {
  color: #ebab6d;
}
.mcb-seo__cta-wrapper {
  text-align: center;
  margin-bottom: 40px;
}
.mcb-seo__columns {
  max-width: 995px;
  margin: 0 auto;
}
.mcb-seo__accordion { margin-bottom: 0; }
.mcb-seo__accordion-trigger {
  background: none !important;
  border: none;
  color: #282828 !important;
  font-family: var(--mcb-font-body);
  font-weight: 400;
  font-size: 20px;
  line-height: 27px;
  letter-spacing: 0.08px;
  text-transform: uppercase;
  padding: 15px 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* T12 : titre actif orange gras */
.mcb-seo__accordion--highlight .mcb-seo__accordion-trigger,
.mcb-seo__accordion .mcb-seo__accordion-trigger[aria-expanded="true"] {
  color: #ebab6d !important;
  font-weight: 800;
}
.mcb-seo__accordion-icon {
  font-size: 20px;
  color: #282828;
  flex-shrink: 0;
  margin-left: 20px;
  transition: color 0.2s ease;
}
.mcb-seo__accordion .mcb-seo__accordion-trigger[aria-expanded="true"] .mcb-seo__accordion-icon {
  color: #ebab6d;
}
.mcb-seo__accordion-content { padding: 0 0 15px; }
.mcb-seo__accordion-content p {
  font-size: 15px;
  line-height: 1.7;
  color: #959595;
}
.mcb-seo__cta-btn {
  display: inline-block;
  background-color: #000000;
  color: #FFFFFF !important;
  font-family: var(--mcb-font-body);
  font-weight: 400;
  font-size: 20px;
  line-height: 27px;
  letter-spacing: 0.5px;
  padding: 23px 40px 17px;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.mcb-seo__cta-btn:hover {
  background-color: #333333;
  color: #FFFFFF !important;
  text-decoration: none;
}

/* --- Reassurance --- */
/* T28 : hauteur reduite et contenu centre vertical
   T38 : meme apparence pour amrassurance (non-home) */
.mcb-reassurance,
#amrassurance.amrassurance {
  background-color: #FFD4A9 !important;
  padding: 18px 0;
}
#amrassurance .amrassurance_slides {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  text-align: center;
  align-items: center;
  min-height: 70px;
}
#amrassurance .amr {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#amrassurance .amr h3,
#amrassurance .amr .h3,
#amrassurance .amr h2,
#amrassurance .amr .h2,
#amrassurance .amr strong {
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: 18px;
  line-height: 22px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #2a2a2a;
  margin: 0 0 4px 0;
}
#amrassurance .amr p,
#amrassurance .amr .amr_desc,
#amrassurance .amr .amr_desc p {
  font-family: var(--mcb-font-body);
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
  color: #2a2a2a;
  margin: 0;
}
/* T49 : amrassurance layout reset pour matcher home mcb-reassurance */
#amrassurance .amrassurance_slides.dflex { margin-left: 0; }
#amrassurance.amrassurance .container { padding-right: 15px; padding-left: 15px; }
#amrassurance.amrassurance article.amr { width: auto; margin: 0; }

.mcb-reassurance__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  text-align: center;
  align-items: center;
  min-height: 70px;
}
.mcb-reassurance__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mcb-reassurance__title {
  font-family: var(--mcb-font-body);
  font-weight: 800;
  font-size: 18px;
  line-height: 22px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #2a2a2a;
  margin-bottom: 4px;
}
.mcb-reassurance__text {
  font-family: var(--mcb-font-body);
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: -0.08px;
  color: #2a2a2a;
  margin: 0;
}

/* --- Responsive (T29-T38 mobile) --- */
@media (max-width: 991px) {
  .mcb-hero__grid { grid-template-columns: 1fr; }
  .mcb-hero__col:last-child { grid-column: 1 / -1; }
  .mcb-hero__link img { height: 350px; }
  .mcb-brands__grid,
  .mcb-diagnostic__grid,
  .mcb-blog__grid,
  .mcb-cosmetics__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .mcb-brands__grid > :last-child,
  .mcb-blog__grid > :last-child,
  .mcb-cosmetics__grid > :last-child { grid-column: 1 / -1; }
  .mcb-reassurance__grid { grid-template-columns: 1fr; gap: 20px; }
  .mcb-seo__columns { grid-template-columns: 1fr; }
  .mcb-seo__visual { display: none; }
}

@media (max-width: 767px) {
  /* T32 : scroll horizontal auto sur banners, marques, diag, blog, cosm
     T43 : hero passe en Slick autoplay (cf. home.js), donc on garde manuel pour les autres */
  .mcb-hero__grid:not(.slick-initialized),
  .mcb-brands__grid,
  .mcb-diagnostic__grid,
  .mcb-blog__grid,
  .mcb-cosmetics__grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding: 0 15px;
    scrollbar-width: none;
  }
  .mcb-hero__grid::-webkit-scrollbar,
  .mcb-brands__grid::-webkit-scrollbar,
  .mcb-diagnostic__grid::-webkit-scrollbar,
  .mcb-blog__grid::-webkit-scrollbar,
  .mcb-cosmetics__grid::-webkit-scrollbar {
    display: none;
  }
  .mcb-hero__col,
  .mcb-brands__col,
  .mcb-diagnostic__col,
  .mcb-blog__col,
  .mcb-cosmetics__col {
    flex: 0 0 78%; /* laisse apercevoir l'encart suivant */
    scroll-snap-align: start;
    grid-column: auto !important;
  }
  .mcb-hero__link img,
  .mcb-brands__link img,
  .mcb-diagnostic__link img,
  .mcb-blog__link img,
  .mcb-cosmetics__link img {
    height: 320px;
  }
  .mcb-hero__title,
  .mcb-brands__name,
  .mcb-diagnostic__category,
  .mcb-blog__category,
  .mcb-cosmetics__name {
    font-size: calc(16px + 1.590625vw);;
    line-height: 40px;
    letter-spacing: 2px;
  }

  /* T44 : sous-titres bannieres home (CRÈME CONTOUR / BRUME / MASTERCLASS) plus petits */
  .mcb-hero .mcb-diagnostic__question {
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0;
  }

  /* T46 : labels d encarts (categories/marques/diagnostic/blog/cosmetics) plus petits pour eviter coupure */
  .mcb-brands__name,
  .mcb-diagnostic__category,
  .mcb-blog__category,
  .mcb-cosmetics__name {
    font-size: calc(16px + 1.590625vw);;
    line-height: 30px;
    letter-spacing: 1.5px;
    word-break: keep-all;
  }

  /* T45 : CTA "DECOUVRIR TOUTES LES MARQUES" sur 1 seule ligne */
  .mcb-brands__cta .mcb-btn {
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.5px;
    padding: 15px 20px 9px;
    white-space: nowrap;
  }

  /* T36 : titres plus grands + bandeau beige rallonge */
  .mcb-section-title {
    font-size: 42px;
    line-height: 44px;
  }
  .mcb-brands::before,
  .mcb-diagnostic::before,
  .mcb-blog::before,
  .mcb-cosmetics::before {
    height: 220px;
  }

  /* T35 : baseline plus petite (2 lignes max) */
  .mcb-baseline__text {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -1px;
    padding: 0 15px;
  }

  /* T37 : descriptifs plus petits pour matcher le texte SEO intro */
  .mcb-brands__desc,
  .mcb-intro-diagnostic__text,
  .mcb-cosmetics__desc {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    padding: 0 15px;
  }

  /* T38 v2 : reassurance home et hors home : Slick gere autoplay 1 element a la fois */
  .mcb-reassurance__grid:not(.slick-initialized),
  #amrassurance .amrassurance_slides:not(.slick-initialized) {
    grid-template-columns: 1fr !important;
    display: block;
  }
  .mcb-reassurance__grid.slick-initialized .mcb-reassurance__item,
  #amrassurance .amrassurance_slides.slick-initialized .amr {
    padding: 0 10px;
    width: 100%;
  }

  /* T34 : rapprocher points de scroll bestsellers */
  .mcb-bestsellers .slick-dots {
    bottom: -18px;
    gap: 4px;
  }
  .mcb-bestsellers .slick-dots li {
    margin: 0 2px;
  }

  /* T48 : hero slick peek - banniere active 88vw, suivante visible 12vw */
  .mcb-hero__grid.slick-initialized .slick-list { padding: 0 !important; }
  .mcb-hero__grid.slick-initialized .slick-slide { width: 88vw !important; }
}

@media (max-width: 575px) {
  .mcb-section-title { font-size: 34px; line-height: 36px; }
  .mcb-brands__link img,
  .mcb-diagnostic__link img,
  .mcb-blog__link img,
  .mcb-cosmetics__link img { height: 280px; }
  .mcb-hero__link img{ height: 320px; }
}

/* =====================================================
   T50 (08/06) : typo plus fine + alignement gauche persistant
   ===================================================== */

/* Section overtitle (Brands "Cosmétiques bio..." = H1, Blog "Cosmétique bio..." = H2) */
.mcb-section-overtitle {
  font-weight: 300 !important;
  text-align: left !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Section title (NOS MARQUES, DIAGNOSTIC, COSMETIQUES, ex-COIN LECTURE) */
.mcb-section-title {
  font-weight: 100 !important;
  text-align: left !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Baseline Depuis 2010 */
.mcb-baseline__text {
  font-weight: 100 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Ne pas centrer sur grand écran : forcer left sur les headers de section */
.mcb-brands__header,
.mcb-brands__header .container,
.mcb-diagnostic__header,
.mcb-diagnostic__header .container,
.mcb-blog__header,
.mcb-blog__header .container,
.mcb-cosmetics__header,
.mcb-cosmetics__header .container {
  text-align: left !important;
      max-width: 100% !important;
    width: 100% !important;
    padding: 10px 8px 0 8px;
}

/* Si une rule mobile-only force du center, on la neutralise */
@media (min-width: 1200px) {
  .mcb-section-overtitle,
  .mcb-section-title {
    text-align: left !important;
  }
}

/* =====================================================
   T52 (08/06) : modifier --white pour titres section (option BO)
   ===================================================== */
.mcb-section-title--white,
.mcb-section-overtitle--white {
  color: #ffffff !important;
}

/* =====================================================
   T53 (08/06) : modifier --white pour titres par slide
   ===================================================== */
.mcb-diagnostic__category--white,
.mcb-blog__category--white,
.mcb-brands__name--white,
.mcb-cosmetics__name--white {
  color: #ffffff !important;
}

/* =====================================================
   T54 (10/06) : tuiles produit home plus larges + CTA non tronqué
   ===================================================== */
/* Empêcher les boutons "Ajouter au panier" d'être tronqués */
.mcb-bestsellers__content .product-miniature .add-to-cart,
.mcb-bestsellers__content .product-preview .product-btn,
.mcb-bestsellers__content .product-miniature button[name="Submit"],
.mcb-bestsellers__content .add_to_cart_button,
.mcb-bestsellers__content .ajax_add_to_cart_button {
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  padding-left: 10px !important;
  padding-right: 10px !important;
  min-width: 0;
}

/* La miniature doit pouvoir respirer dans la tuile */
.mcb-bestsellers__content .product-miniature,
.mcb-bestsellers__content .product-preview {
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
}

/* =====================================================
   T55 (10/06) : overrider custom.css parent qui force min-width 132px
   + background blanc sur tous les <button>, ce qui casse les arrows Slick
   ===================================================== */
.slick-prev,
.slick-next,
.slick-arrow,
.mcb-bestsellers__content button.slick-arrow,
.mcb-bestsellers__content button.slick-prev,
.mcb-bestsellers__content button.slick-next {
  background: transparent !important;
  background-color: transparent !important;
  min-width: 0 !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  position: absolute !important;
  z-index: 5;
  cursor: pointer;
  top: 50%;
  transform: translateY(-50%);
}
.slick-prev { left: -10px; }
.slick-next { right: -10px; }

/* Icone fleche via pseudo-element (defaut Slick) */
.slick-prev:before,
.slick-next:before {
  font-family: 'slick' !important;
  font-size: 24px !important;
  line-height: 1;
  opacity: 0.85;
  color: #000 !important;
}
.slick-prev:before { content: '←'; }
.slick-next:before { content: '→'; }

/* Hover : pas de background blanc */
.slick-prev:hover,
.slick-next:hover,
.slick-arrow:hover {
  background: transparent !important;
  background-color: transparent !important;
}

/* Disabled : grise mais pas blanc */
.slick-disabled {
  opacity: 0.25 !important;
  cursor: default;
}

/* Dots Slick : pas de background blanc non plus */
.slick-dots li button {
  background: transparent !important;
  background-color: transparent !important;
  min-width: 0 !important;
  width: 12px !important;
  height: 12px !important;
  padding: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  border: 0 !important;
}