/* Intégration PrestaShop : la homepage occupe la largeur utile du contenu.
   Le header et le footer natifs PrestaShop restent visibles et fonctionnels. */
html, body { overflow-x: clip; }
#wrapper { margin: 0 !important; padding: 0 !important; background: #fff !important; }
#wrapper > .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
#content-wrapper,
#main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
/* v1.35 : le module occupe exactement la largeur disponible du conteneur PrestaShop.
   On évite 100vw, qui inclut la largeur de la barre de défilement et provoquait
   un léger dépassement horizontal aux largeurs intermédiaires (ex. 1024/1180 px). */
.mde-home { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }

.mde-home {
  /* Charte tirée des PowerPoint validés */
  --mdle-blue: rgb(27 83 126);
  --mdle-gold: rgb(255 210 95);
  --mdle-yellow: rgb(255 210 95); /* Jaune officiel Banneux N.D., échantillonné sur le logo officiel : #FFD25F. */

  --font-title: Georgia, "Times New Roman", serif;
  --font-body: Arial, Helvetica, sans-serif;

  --content-max: 1200px;
  --page-gutter: clamp(20px, 4vw, 56px);
}
/* Base volontairement légère : la homepage doit rester indépendante de PrestaShop. */
.mde-home *,
.mde-home *::before,
.mde-home *::after {
  box-sizing: border-box;
}
.mde-home {
  -webkit-text-size-adjust: 100%;
}
.mde-home {
  margin: 0;
  color: var(--mdle-blue);
  font-family: var(--font-body);
  background: #fff;
}
.mde-home img {
  display: block;
  max-width: 100%;
}
/* ------------------------------
   01 bis — SAINT / FÊTE DU JOUR
   Petit bandeau éditorial automatique, sans appel commercial.
   ------------------------------ */
.mde-home .daily-saint {
  background: var(--mdle-yellow);
  color: var(--mdle-blue);
  border-bottom: 1px solid rgb(255 210 95 / 0.45);
}
.mde-home .daily-saint__inner {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px var(--page-gutter);
}
.mde-home .daily-saint__mark {
  flex: 0 0 auto;
  color: var(--mdle-gold);
  font-size: 12px;
  line-height: 1;
}
.mde-home .daily-saint__text {
  margin: 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
}
@media (max-width: 700px) {
.mde-home .daily-saint__inner {
    min-height: 42px;
    padding: 6px 14px;
  }
.mde-home .daily-saint__text {
    font-size: 13px;
  }
}
/* Écran PC : davantage de respiration verticale sans modifier les formats tablette/mobile. */
@media (min-width: 1200px) {
.mde-home .daily-saint__inner {
    min-height: 80px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
.mde-home .daily-saint__text {
    font-size: 20px;
  }
.mde-home .daily-saint__mark {
    font-size: 15px;
  }
}
/* ------------------------------
   02 — HERO
   ------------------------------ */
.mde-home .hero {
  position: relative;
  min-height: clamp(520px, 58vw, 760px);
  overflow: hidden;
  background: #163a55;
  color: #fff;
}
.mde-home .hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.mde-home .hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgb(7 32 49 / 0.24) 0%,
      rgb(7 32 49 / 0.06) 35%,
      rgb(7 32 49 / 0.03) 65%,
      rgb(7 32 49 / 0.18) 100%
    );
}
/*
  Sur desktop, les deux blocs reprennent les proportions du PowerPoint :
  - bloc gauche : ~17,9 % depuis le bord gauche ;
  - bloc droit : ~15 % depuis le bord droit ;
  - les deux commencent à la même hauteur.
*/
.mde-home .hero__content {
  position: absolute;
  z-index: 2;
}
.mde-home .hero__content--left {
  top: 32.2%;
  left: 15.5%;
  width: 25.5%;
  min-width: 320px;
  text-align: center;
}
.mde-home .hero__content--right {
  top: 32.8%;
  right: 15%;
  width: 22.1%;
  min-width: 300px;
  text-align: center;
}
.mde-home .hero__title {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(34px, 2.75vw, 48px);
  line-height: 1.04;
  font-weight: 400;
  color: #fff;
  text-shadow: 0 1px 3px rgb(0 0 0 / 0.18);
}
.mde-home .gold-rule--hero {
  margin-top: 22px;
  margin-bottom: 54px;
}
/* Dans la maquette, le texte de droite est plus léger que le grand titre. */
.mde-home .hero__tagline {
  margin: 0;
  font-family: var(--font-body);
  font-size: clamp(20px, 1.55vw, 28px);
  line-height: 1.28;
  font-weight: 400;
  color: #fff;
  text-shadow: 0 1px 3px rgb(0 0 0 / 0.28);
}
.mde-home .hero__actions {
  display: grid;
  gap: 12px;
  justify-items: center;
  width: 100%;
}
.mde-home .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 10px 18px;
  border-radius: 5px;
  text-decoration: none;
  font-family: var(--font-body);
  font-size: clamp(14px, 0.95vw, 17px);
  font-weight: 700;
  line-height: 1.2;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    background-color 160ms ease;
}
.mde-home .btn--primary {
  width: min(20.63vw, 365px);
  min-width: 280px;
  color: #fff;
  background: var(--mdle-blue);
  border: 2px solid #fff;
  box-shadow: 0 2px 5px rgb(0 0 0 / 0.18);
}
.mde-home .btn--primary:hover,
.mde-home .btn--primary:focus-visible {
  transform: translateY(-1px);
  background: rgb(22 73 112);
  box-shadow: 0 4px 9px rgb(0 0 0 / 0.24);
}
.mde-home .btn:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
/* Tablette / petit laptop */
@media (max-width: 1100px) and (min-width: 701px) {
.mde-home .hero {
    min-height: 600px;
  }
.mde-home .hero__content--left {
    top: 31%;
    left: 1.5%;
    width: 43%;
    min-width: 0;
  }
.mde-home .hero__content--right {
    top: 34%;
    right: 2%;
    width: 36%;
    min-width: 0;
  }
.mde-home .hero__title {
    font-size: clamp(30px, 3.8vw, 40px);
    white-space: normal;
  }
.mde-home .hero__tagline {
    font-size: clamp(19px, 2.6vw, 25px);
  }
.mde-home .btn--primary {
    width: min(100%, 320px);
    min-width: 0;
  }
}
/*
  Smartphone :
  on ne tente pas de conserver artificiellement la composition gauche/droite.
  Les éléments sont regroupés en une composition verticale compacte,
  toujours sur la photo, afin de conserver le caractère du Hero.
*/
@media (max-width: 700px) {
.mde-home .hero {
    min-height: 700px;
  }
.mde-home .hero__image {
    object-position: 46% center;
  }
.mde-home .hero__overlay {
    background:
      linear-gradient(
        180deg,
        rgb(7 32 49 / 0.34) 0%,
        rgb(7 32 49 / 0.10) 34%,
        rgb(7 32 49 / 0.20) 60%,
        rgb(7 32 49 / 0.52) 100%
      );
  }
.mde-home .hero__content {
    left: 20px;
    right: 20px;
    width: auto;
    min-width: 0;
    text-align: center;
  }
.mde-home .hero__content--left {
    top: 20px;
  }
.mde-home .hero__content--right {
    top: auto;
    bottom: 24px;
  }
.mde-home .hero__title {
    font-size: clamp(34px, 10.5vw, 44px);
    line-height: 1.02;
  }
.mde-home .gold-rule--hero {
    margin: 8px auto 0;
    transform: translateY(-8px);
  }
/*
    Zone volontairement laissée libre devant la Vierge.
    Les boutons commencent plus bas afin de ne plus recouvrir la statue.
  */
.mde-home .hero__actions {
    gap: 12px;
    margin-top: 195px;
  }
.mde-home .hero__tagline {
    font-family: var(--font-body);
    font-size: clamp(19px, 5.4vw, 23px);
    line-height: 1.25;
    font-weight: 600;
  }
.mde-home .btn {
    min-height: 48px;
    font-size: 14px;
  }
.mde-home .btn--primary {
    width: min(100%, 340px);
    min-width: 0;
  }
}
/* Tablette : centrage visuel précis de la Vierge selon l'orientation. */
@media (min-width: 701px) and (max-width: 1100px) and (orientation: landscape) {
.mde-home .hero__image {
    object-position: 38.5% center;
  }
.mde-home .hero__content--left,
.mde-home .hero__content--right {
    top: 38%;
  }
}
@media (min-width: 701px) and (max-width: 1100px) and (orientation: portrait) {
.mde-home .hero__image {
    object-position: 42.5% center;
  }
}
/* Titres principaux harmonisés */
.mde-home .section-title {
  margin: 0;
  text-align: center;
  font-family: var(--font-title);
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.12;
  font-weight: 700;
  color: var(--mdle-blue);
}
/* ------------------------------
   03 — BIENVENUE
   ------------------------------ */
.mde-home .welcome {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 335px;
  display: grid;
  place-items: center;
  padding: 38px var(--page-gutter) 34px;
  background: var(--mdle-yellow);
}
.mde-home .welcome__content {
  position: relative;
  z-index: 2;
  width: min(100%, 760px);
  margin-inline: auto;
  text-align: center;
}
.mde-home .welcome__title { margin:0 0 14px; }
.mde-home .gold-rule {
  width: 33.782mm;       /* longueur validée dans la maquette */
  max-width: 100%;
  height: 0.847mm;       /* épaisseur harmonisée sur le Hero */
  margin: 22px auto 30px;
  background: var(--mdle-gold);
}
.mde-home .welcome__intro {
  margin-inline: auto;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.42;
}
.mde-home .welcome__closing {
  margin: 28px auto 0;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.42;
  font-weight: 700;
}
.mde-home .welcome__intro {
  margin-top: 0;
  margin-bottom: 28px;
}
.mde-home .welcome__reassurance {
  margin: 0 auto 42px;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.35;
  font-weight: 700;
}
/* Les dessins restent des éléments décoratifs, non cliquables. */
.mde-home .welcome__illustration {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}
.mde-home .welcome__illustration--left {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: min(18vw, 255px);
}
.mde-home .welcome__illustration--right {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: min(10vw, 145px);
}
/* Tablette */
@media (max-width: 980px) {
.mde-home .welcome {
    min-height: 360px;
  }
.mde-home .welcome__content {
    width: min(100%, 650px);
  }
}
/* Tablette portrait : alléger Bienvenue sans toucher au paysage. */
@media (min-width: 701px) and (max-width: 900px) and (orientation: portrait) {
.mde-home .welcome__illustration {
    display: none;
  }
}
.mde-home .mobile-only {
  display: none;
}
/* Smartphone :
   pas de coordonnées PowerPoint figées ; le contenu reste lisible et fluide. */
@media (max-width: 700px) {
.mde-home .mobile-only {
    display: inline;
  }
.mde-home .welcome {
    min-height: auto;
    padding-top: 34px;
    padding-bottom: 38px;
  }
.mde-home .welcome__content {
    width: 100%;
  }
.mde-home .gold-rule {
    margin-top: 18px;
    margin-bottom: 24px;
  }
.mde-home .welcome__intro br {
    display: none;
  }
.mde-home .welcome__reassurance {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 30px;
  }
.mde-home .welcome__reassurance-item {
    display: block;
  }
.mde-home .welcome__reassurance-separator {
    display: none;
  }
.mde-home .welcome__closing {
    display: block;
  }
.mde-home .welcome__illustration {
    display: none;
  }
}
.mde-home .welcome__languages { margin:18px 0 12px; display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; font-weight:700; }
.mde-home .language-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; }
.mde-home .language-pills b { min-width:34px; padding:5px 8px; border:1px solid #fff; border-radius:999px; background:var(--mdle-yellow); color:var(--mdle-blue); font-size:12px; letter-spacing:.04em; }
/* ------------------------------
   04 — CATÉGORIES — DESKTOP
   ------------------------------ */
.mde-home .categories {
  background: #fff;
  color: var(--mdle-blue);
  padding: clamp(38px, 4.6vw, 68px) var(--page-gutter) clamp(44px, 5vw, 76px);
}
.mde-home .categories__inner { width:min(100%, 1380px); margin:0 auto; }
.mde-home .categories__title { margin:0; }
.mde-home .categories__rule { margin:22px auto 34px; }
.mde-home .categories__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(18px,2vw,30px) clamp(12px,1.5vw,24px); align-items:stretch; }
.mde-home .category-card { min-width:0; padding:12px 8px 14px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:12px; color:var(--mdle-blue); text-decoration:none; border-radius:12px; transition:transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
.mde-home .category-card:hover,
.mde-home .category-card:focus-visible { transform:translateY(-2px); background:#fbfaf5; box-shadow:0 7px 18px rgb(0 0 0 / .08); outline:none; }
.mde-home .category-card:focus-visible { box-shadow:0 0 0 3px rgb(27 83 126 / .18),0 7px 18px rgb(0 0 0 / .08); }
.mde-home .category-card__visual { width:min(100%,170px); aspect-ratio:1; display:grid; place-items:center; }
.mde-home .category-card__visual img { width:100%; height:100%; object-fit:contain; }
.mde-home .category-card__label { text-align:center; font-weight:700; font-size:clamp(13px,1vw,16px); line-height:1.25; }
@media (max-width:1100px) {
.mde-home .categories__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:700px) {
.mde-home .categories { padding:34px 16px 42px; }
.mde-home .categories__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px; }
.mde-home .category-card { padding:8px 4px 10px; }
.mde-home .category-card__visual { width:min(100%,145px); }
.mde-home .category-card__label { font-size:13.5px; }
}
/* ------------------------------
   05 — DÉCOUVREZ LA MAISON DE L’EUROPE
   Bloc ajouté après validation de Hero + Bienvenue + Catégories.
   Les règles précédentes ne sont pas modifiées.
   ------------------------------ */
.mde-home .discover {
  background: #FFEBB9; /* v1.49 — rose pâle/champagne harmonisé */
  color: var(--mdle-blue);
  padding: clamp(34px, 4vw, 58px) var(--page-gutter) clamp(40px, 5vw, 68px);
}
.mde-home .discover__inner {
  width: min(100%, 1480px);
  margin: 0 auto;
}
.mde-home .discover__title { margin:0; }
.mde-home .discover__rule {
  width: 96px;
  height: 3px;
  margin: 18px auto 34px;
}
.mde-home .discover__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 34px);
  align-items: stretch;
}
.mde-home .discover-card {
  min-width: 0;
  margin: 0;
  border: 7px solid #ffd25f;
  border-radius: 24px;
  overflow: hidden;
  background: #ffd25f;
  box-shadow: 0 5px 14px rgb(0 0 0 / 0.18);
}
.mde-home .discover-card__media {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, #fff 0%, #f8f4e9 52%, #ece4d5 100%);
}
.mde-home .discover-card__title {
  display: grid;
  place-items: center;
  min-height: 56px;
  margin: 0;
  padding: 10px 14px 12px;
  text-align: center;
  font-family: var(--font-title);
  font-size: clamp(14px, 1.05vw, 18px);
  line-height: 1.1;
  font-weight: 400;
  color: var(--mdle-blue);
  background: #ffd25f;
}
.mde-home .discover-card__text { margin:10px auto 0; max-width:34ch; text-align:center; color:#5a6267; font-size:14px; line-height:1.45; }
/* Les mises en scène de « Beaux objets » restent visibles en entier. */
.mde-home .discover-card:first-child .carousel__image {
  object-fit: contain;
  object-position: center center;
  background: #fff;
}
.mde-home .carousel__stage,
.mde-home .carousel__image,
.mde-home .discover-video__cover {
  width: 100%;
  height: 100%;
}
.mde-home .carousel__image,
.mde-home .discover-video__cover {
  display: block;
  object-fit: cover;
}
.mde-home .carousel__image {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease;
}
.mde-home .carousel__image.is-active {
  opacity: 1;
  visibility: visible;
}
.mde-home .discover-card__object-contain {
  object-fit: contain;
  padding: 24px;
}
.mde-home .carousel__arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 36px;
  height: 36px;
  padding: 0 0 3px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: rgb(27 83 126 / 0.88);
  color: #fff;
  box-shadow: 0 2px 7px rgb(0 0 0 / 0.24);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.mde-home .carousel__arrow--prev { left: 12px; }
.mde-home .carousel__arrow--next { right: 12px; }
.mde-home .carousel__arrow:hover,
.mde-home .carousel__arrow:focus-visible,
.mde-home .discover-video__play:hover,
.mde-home .discover-video__play:focus-visible {
  background: var(--mdle-blue);
}
.mde-home .carousel__arrow:focus-visible,
.mde-home .discover-video__play:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}
.mde-home .discover-video__cover {
  object-position: center top;
}
.mde-home .discover-video__play {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding: 0 0 0 4px;
  transform: translate(-50%, -50%);
  border: 2px solid #fff;
  border-radius: 50%;
  background: rgb(27 83 126 / 0.82);
  color: #fff;
  box-shadow: 0 3px 10px rgb(0 0 0 / 0.30);
  font-size: 23px;
  cursor: pointer;
}
.mde-home .discover-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 1100px) and (min-width: 701px) {
.mde-home .discover {
    padding-inline: clamp(28px, 4vw, 44px);
  }
.mde-home .discover__grid {
    gap: 18px;
  }
.mde-home .discover-card__title {
    min-height: 52px;
    font-size: 17px;
  }
.mde-home .carousel__arrow {
    width: 34px;
    height: 34px;
  }
}
@media (max-width: 700px) {
.mde-home .discover {
    padding: 30px 16px 40px;
  }
.mde-home .discover__title { margin:0; }
.mde-home .discover__rule {
    margin-bottom: 28px;
  }
.mde-home .discover__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
.mde-home .discover-card {
    max-width: 520px;
    width: 100%;
    margin-inline: auto;
  }
.mde-home .discover-card__title {
    min-height: 52px;
    font-size: clamp(13px, 3.8vw, 16px);
  }
}
@media (prefers-reduced-motion: reduce) {
.mde-home .carousel__image {
    transition: none;
  }
}
/* ------------------------------
   06 — AVIS CLIENTS
   Trois témoignages courts et fixes : preuve sociale sans ajouter de carrousel.
   Version recentrée + invitation discrète à laisser un avis.
   ------------------------------ */
.mde-home .reviews {
  padding: clamp(30px, 3.8vw, 46px) var(--page-gutter) clamp(28px, 3.4vw, 42px);
  background: #E5EFEF; /* v1.49 — bleu pâle harmonisé */
  color: #30373c;
}
.mde-home .reviews__inner {
  width: min(100%, var(--content-max));
  margin-inline: auto;
}
.mde-home .reviews__intro {
  max-width: 900px;
  margin: 0 auto clamp(18px, 2.2vw, 26px);
  text-align: center;
}
.mde-home .reviews__title { margin:0; }
.mde-home .reviews__rule {
  width: 96px;
  height: 3px;
  margin: 11px auto 14px;
}
.mde-home .reviews__subtitle {
  margin: 0;
  color: #5a6267;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.4;
}
.mde-home .reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 2.7vw, 36px);
  width: min(100%, 1180px);
  margin-inline: auto;
  align-items: stretch;
}
.mde-home .review-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 224px;
  margin: 0;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid rgb(255 210 95 / 0.38);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 15px rgb(0 0 0 / 0.07);
  text-align: center;
}
.mde-home .review-card:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 10%;
  right: -24px;
  width: 1px;
  height: 80%;
  background: rgb(255 210 95 / 0.55);
}
.mde-home .review-card__stars {
  margin-bottom: 12px;
  color: var(--mdle-gold);
  font-size: 17px;
  line-height: 1;
  letter-spacing: 4px;
}
.mde-home .review-card__quote {
  margin: 0 auto 15px;
  color: #30373c;
  font-family: var(--font-title);
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.42;
  font-style: italic;
}
.mde-home .review-card__author {
  margin: auto 0 0;
  color: var(--mdle-blue);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}
.mde-home .review-card__author span {
  display: block;
  margin-top: 3px;
  color: #6b747a;
  font-weight: 400;
}
.mde-home .reviews__footer {
  margin-top: clamp(18px, 2vw, 24px);
  text-align: center;
}
.mde-home .reviews__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 4px;
  color: var(--mdle-blue);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid rgb(255 210 95 / 0.65);
}
.mde-home .reviews__link:hover,
.mde-home .reviews__link:focus-visible {
  border-bottom-color: var(--mdle-gold);
}
.mde-home .reviews__link:focus-visible,
.mde-home .reviews__invite-link:focus-visible {
  outline: 3px solid rgb(27 83 126 / 0.25);
  outline-offset: 4px;
}
.mde-home .reviews__invite {
  width: min(100%, 920px);
  margin: clamp(22px, 2.6vw, 30px) auto 0;
}
.mde-home .reviews__invite-rule {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  color: var(--mdle-gold);
}
.mde-home .reviews__invite-rule::before,
.mde-home .reviews__invite-rule::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgb(255 210 95 / 0.62);
}
.mde-home .reviews__invite-rule span {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgb(255 210 95 / 0.7);
  border-radius: 50%;
  font-size: 17px;
  line-height: 1;
}
.mde-home .reviews__invite-title {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(20px, 1.7vw, 24px);
  line-height: 1.25;
  color: var(--mdle-blue);
}
.mde-home .reviews__invite-text {
  margin: 6px 0 12px;
  color: #5a6267;
  font-size: clamp(14px, 1.15vw, 16px);
  line-height: 1.5;
}
.mde-home .reviews__invite-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.mde-home .reviews__invite-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 2px;
  color: var(--mdle-blue);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid rgb(255 210 95 / 0.55);
}
.mde-home .reviews__invite-link:hover,
.mde-home .reviews__invite-link:focus-visible {
  border-bottom-color: var(--mdle-gold);
}
.mde-home .reviews__invite-link--pending {
  cursor: default;
}
.mde-home .reviews__invite-separator {
  width: 1px;
  height: 28px;
  background: rgb(255 210 95 / 0.6);
}
@media (max-width: 900px) {
.mde-home .reviews__grid {
    grid-template-columns: 1fr;
    gap: 22px;
    max-width: 680px;
  }
.mde-home .review-card {
    min-height: 0;
    padding: 20px;
  }
.mde-home .review-card:not(:last-child)::after {
    display: none;
  }
}
@media (max-width: 700px) {
.mde-home .reviews {
    padding: 30px 16px 34px;
  }
.mde-home .reviews__title { margin:0; }
.mde-home .reviews__intro {
    margin-bottom: 20px;
  }
.mde-home .review-card {
    padding: 18px 16px;
  }
.mde-home .reviews__invite-actions {
    flex-direction: column;
    gap: 8px;
  }
.mde-home .reviews__invite-separator {
    width: 64px;
    height: 1px;
  }
}
/* ------------------------------
   07 — NEWSLETTER
   Formulaire visuel prêt pour le futur raccordement à Brevo.
   ------------------------------ */
.mde-home .newsletter {
  padding: clamp(42px, 5vw, 66px) var(--page-gutter);
  background: var(--mdle-yellow);
  color: #30373c;
}
.mde-home .newsletter__inner {
  width: min(100%, var(--content-max));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(560px, 1.45fr);
  align-items: center;
  gap: clamp(44px, 6vw, 84px);
}
.mde-home .newsletter__intro {
  text-align: center;
}
.mde-home .newsletter__title { margin:0; }
.mde-home .newsletter__rule {
  margin-top: 22px;
  margin-bottom: 26px;
}
.mde-home .newsletter__signup {
  margin: 0 0 8px;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.4;
  font-weight: 700;
}
.mde-home .newsletter__subtitle {
  margin: 0;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.45;
}
.mde-home .newsletter__form-wrap,
.mde-home .newsletter__form {
  width: 100%;
}
.mde-home .newsletter__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
}
/* Sur desktop et tablette, le prénom reste volontairement plus court :
   cela allège visuellement le formulaire sans pénaliser la saisie. */
.mde-home #newsletter-firstname {
  width: 58%;
  justify-self: start;
}
.mde-home .newsletter__input,
.mde-home .newsletter__submit {
  min-height: 56px;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 16px;
}
.mde-home .newsletter__input {
  width: 100%;
  padding: 0 18px;
  border: 1px solid #dadad4;
  background: #fff;
  color: #30373c;
  box-shadow: 0 3px 5px rgb(0 0 0 / 0.14);
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.mde-home .newsletter__input::placeholder {
  color: #5a6267;
  opacity: 1;
}
.mde-home .newsletter__input:focus {
  border-color: var(--mdle-blue);
  box-shadow: 0 0 0 3px rgb(27 83 126 / 0.16), 0 3px 5px rgb(0 0 0 / 0.12);
}
.mde-home .newsletter__submit {
  min-width: 142px;
  padding: 0 24px;
  border: 2px solid var(--mdle-blue);
  background: var(--mdle-blue);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 3px 5px rgb(0 0 0 / 0.16);
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}
.mde-home .newsletter__consent + .newsletter__submit {
  margin-top: 14px;
}

.mde-home .newsletter__submit:hover,
.mde-home .newsletter__submit:focus-visible {
  background: rgb(22 73 112);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 9px rgb(0 0 0 / 0.24);
}
.mde-home .newsletter__submit:focus-visible {
  outline: 3px solid rgb(27 83 126 / 0.30);
  outline-offset: 3px;
}
.mde-home .newsletter__submit:active {
  transform: translateY(1px);
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.18);
}
.mde-home .newsletter__audience { border:0; padding:0; margin:18px 0 0; display:flex; align-items:center; gap:16px 24px; flex-wrap:wrap; font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.35; }
.mde-home .newsletter__audience legend { float:left; margin:0 8px 0 0; padding:0; font-weight:700; }
.mde-home .newsletter__audience label { display:inline-flex; align-items:center; gap:7px; cursor:pointer; }
.mde-home .newsletter__audience input { accent-color:var(--mdle-blue); }
@media (max-width:700px) {
.mde-home .newsletter__audience {
    border:0;
    padding:0;
    margin:20px 0 16px;
    display:grid;
    grid-template-columns: 1fr;
    justify-items:start;
    align-items:start;
    gap:10px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:1.35;
  }
.mde-home .newsletter__audience legend { width:100%; float:none; margin:0 0 2px; }
.mde-home .newsletter__audience label { width:100%; }
}
/* v1.42 — Smartphone étroit : conserver « Vous êtes / U bent » en place tout en rapprochant
   visuellement les deux choix du bloc de consentement, sans déplacer ce dernier. */
@media (max-width:480px) {
  .mde-home .newsletter__audience label {
    transform: translateY(8px);
  }
}

.mde-home .newsletter__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.45;
}
.mde-home .newsletter__checkbox {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--mdle-blue);
  cursor: pointer;
}
.mde-home .newsletter__consent label {
  cursor: pointer;
}
.mde-home .newsletter__consent a,
.mde-home .newsletter__unsubscribe a {
  color: var(--mdle-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mde-home .newsletter__unsubscribe {
  margin: 4px 0 0 30px;
  font-size: 14px;
  line-height: 1.45;
}
.mde-home .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 1100px) and (min-width: 701px) {
.mde-home .newsletter__inner {
    grid-template-columns: minmax(240px, 0.8fr) minmax(420px, 1.2fr);
    gap: 38px;
  }
.mde-home .newsletter__fields {
    grid-template-columns: 1fr;
  }
}
/* Tablette verticale : contenu recentré en une seule colonne. */
@media (min-width: 701px) and (max-width: 900px) and (orientation: portrait) {
.mde-home .newsletter__inner {
    grid-template-columns: 1fr;
    max-width: 640px;
    gap: 30px;
  }
.mde-home .newsletter__form-wrap {
    max-width: 640px;
    margin-inline: auto;
  }
}
@media (max-width: 700px) {
.mde-home .newsletter {
    padding: 38px 16px 40px;
  }
.mde-home .newsletter__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
.mde-home .newsletter__title { margin:0; }
.mde-home .newsletter__rule {
    margin-top: 18px;
    margin-bottom: 22px;
  }
.mde-home .newsletter__subtitle {
    font-size: 16px;
  }
.mde-home .newsletter__fields {
    grid-template-columns: 1fr;
    gap: 12px;
  }
.mde-home .newsletter__input,
.mde-home .newsletter__submit,
.mde-home #newsletter-firstname {
    width: 100%;
  }
.mde-home .newsletter__consent {
    margin-top: 12px;
    font-size: 13.5px;
  }
.mde-home .newsletter__unsubscribe {
    margin-left: 30px;
    font-size: 13.5px;
  }
}
@media (prefers-reduced-motion: reduce) {
.mde-home .newsletter__input,
.mde-home .newsletter__submit {
    transition: none;
  }
}
/* Brevo — le moteur du formulaire est externe, l'apparence reste celle de la homepage. */
.mde-home .newsletter__brevo-container {
  width: 100%;
}
.mde-home .newsletter__field {
  display: grid;
  width: 100%;
}
.mde-home .newsletter__message-panel {
  display: none;
  width: 100%;
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.45;
  box-shadow: 0 3px 5px rgb(0 0 0 / 0.08);
}
.mde-home .newsletter__message-panel--success {
  color: #174d2d;
  background: #eef9f1;
  border-color: #83b993;
}
.mde-home .newsletter__message-panel--error {
  color: #702020;
  background: #fff1f1;
  border-color: #d69292;
}
.mde-home .newsletter__message-panel.sib-form-message-panel--active {
  display: block;
}
.mde-home .newsletter__field-error:empty {
  display: none;
}
.mde-home .newsletter__field-error:not(:empty) {
  display: block;
}
.mde-home .newsletter__field-error {
  margin: 6px 2px 0;
  color: #702020;
  font-size: 13px;
  line-height: 1.35;
}
.mde-home .newsletter__brevo-declaration {
  margin: 18px 0 0 30px;
  color: #687484;
  font-size: 12.5px;
  line-height: 1.45;
}
.mde-home .newsletter__brevo-declaration p {
  margin: 0;
}
.mde-home .newsletter__brevo-declaration a {
  color: var(--mdle-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mde-home .newsletter__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.mde-home .newsletter__loader {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  fill: currentColor;
}
.mde-home .newsletter__loader.sib-hide-loader-icon {
  display: none;
}
.mde-home .newsletter__loader:not(.sib-hide-loader-icon) {
  display: inline-block;
}
.mde-home .newsletter__consent .checkbox {
  display: none;
}
.mde-home .newsletter__consent .entry__choice > label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.mde-home .newsletter__consent .entry__choice > label > span:last-child {
  display: block;
}
@media (max-width: 700px) {
.mde-home .newsletter__brevo-declaration {
    margin-left: 30px;
    font-size: 12px;
  }
}
/* ------------------------------
   07 — LIGHTBOX DES VIGNETTES "DÉCOUVREZ"
   Agrandissement des images de Beaux objets et Notre magasin.
   La vignette vidéo Banneux reste réservée à la lecture vidéo.
   ------------------------------ */
.mde-home .discover-card .carousel__image {
  cursor: zoom-in;
}
.mde-home .lightbox {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(18px, 3vw, 42px);
  background: rgb(0 0 0 / 0.82);
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease, visibility 180ms ease;
}
.mde-home .lightbox.is-open {
  opacity: 1;
  visibility: visible;
}
.mde-home .lightbox__dialog {
  position: relative;
  display: grid;
  place-items: center;
  width: min(94vw, 1500px);
  height: min(90vh, 980px);
  outline: none;
}
.mde-home .lightbox__image {
  display: block;
  max-width: 100%;
  max-height: 84vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 42px rgb(0 0 0 / 0.42);
}
.mde-home .lightbox__close,
.mde-home .lightbox__arrow {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 2px solid rgb(255 255 255 / 0.92);
  background: rgb(27 83 126 / 0.90);
  color: #fff;
  box-shadow: 0 3px 12px rgb(0 0 0 / 0.34);
  cursor: pointer;
}
.mde-home .lightbox__close {
  top: 0;
  right: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
}
.mde-home .lightbox__arrow {
  top: 50%;
  width: 50px;
  height: 50px;
  transform: translateY(-50%);
  border-radius: 50%;
  padding-bottom: 4px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
  line-height: 1;
}
.mde-home .lightbox__arrow--prev {
  left: 0;
}
.mde-home .lightbox__arrow--next {
  right: 0;
}
.mde-home .lightbox__close:hover,
.mde-home .lightbox__close:focus-visible,
.mde-home .lightbox__arrow:hover,
.mde-home .lightbox__arrow:focus-visible {
  background: var(--mdle-blue);
}
.mde-home .lightbox__close:focus-visible,
.mde-home .lightbox__arrow:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
.mde-home.lightbox-open {
  overflow: hidden;
}
@media (max-width: 700px) {
.mde-home .lightbox {
    padding: 14px;
  }
.mde-home .lightbox__dialog {
    width: 100%;
    height: 92vh;
  }
.mde-home .lightbox__image {
    max-height: 78vh;
    border-radius: 9px;
  }
.mde-home .lightbox__close {
    width: 42px;
    height: 42px;
    font-size: 25px;
  }
.mde-home .lightbox__arrow {
    top: auto;
    bottom: 8px;
    width: 44px;
    height: 44px;
    transform: none;
    font-size: 32px;
  }
.mde-home .lightbox__arrow--prev {
    left: calc(50% - 54px);
  }
.mde-home .lightbox__arrow--next {
    right: calc(50% - 54px);
  }
}
@media (prefers-reduced-motion: reduce) {
.mde-home .lightbox {
    transition: none;
  }
}
/* ==========================================================
   10 — HEADER + FOOTER (maquettes PPTX du 23/08/2026)
   Intégration PrestaShop : styles du header et du footer.
   ========================================================== */
.mde-home .site-header { background:#fff; color:#666; font-family:Arial,Helvetica,sans-serif; border-bottom:0; }
.mde-home .site-header a { color:inherit; text-decoration:none; }
.mde-home .site-header__utility { min-height:42px; display:grid; grid-template-columns:auto minmax(360px,1fr) auto auto 128px; align-items:center; gap:18px; padding:0 max(18px,calc((100vw - 1360px)/2)); border-bottom:1px solid #eee; font-size:16px; }
.mde-home .site-header__contact { display:flex; align-items:center; gap:9px; white-space:nowrap; }
.mde-home .site-header__contact-item { display:inline-flex; align-items:center; gap:7px; color:#555; }
.mde-home .site-header__contact-item img { width:24px; height:24px; display:block; object-fit:contain; }
.mde-home .site-header__contact-item:hover span, .mde-home .site-header__contact-item:focus-visible span { color:var(--mdle-blue); text-decoration:underline; text-underline-offset:3px; }
.mde-home .site-header__contact-mail { border-radius:50%; }
.mde-home .site-header__contact-separator { color:#bbb; font-size:18px; line-height:1; }
.mde-home .site-header__hours { justify-self:center; display:inline-block; padding:5px 11px; border-radius:999px; background:rgb(255 210 95 / .24); color:#4d4d4d; font-weight:700; line-height:1.25; white-space:nowrap; }
.mde-home .site-header__social { display:flex; justify-content:center; align-items:center; gap:22px; min-width:170px; }
.mde-home .site-header__social-item { width:24px; height:24px; display:grid; place-items:center; }
.mde-home .site-header__social-item img { width:24px; height:24px; display:block; object-fit:contain; }
.mde-home .site-header__account { justify-self:end; display:flex; align-items:center; gap:12px; white-space:nowrap; color:#111; }
.mde-home .site-header__user { color:var(--mdle-blue); font-size:19px; }
.mde-home .site-header__cart { align-self:stretch; display:flex; justify-content:center; align-items:center; background:#f7f7f7; }
.mde-home .site-header__cart img { width:100%; height:100%; object-fit:contain; }
.mde-home .site-header__main { min-height:98px; display:grid; grid-template-columns:190px minmax(560px,1fr) 264px; align-items:center; gap:24px; padding:0 max(18px,calc((100vw - 1100px)/2)); }
.mde-home .site-header__brand img { width:160px; max-height:72px; object-fit:contain; }
.mde-home .site-header__quicklinks { justify-self:start; display:flex; flex-wrap:nowrap; align-items:center; gap:24px; font-size:16px; text-transform:uppercase; white-space:nowrap; }
.mde-home .site-header__quicklinks > a { color:#666; font-weight:700; }
.mde-home .site-header__quicklinks > a:hover,
.mde-home .site-header__quicklinks > a:focus-visible { color:var(--mdle-blue); text-decoration:underline; text-underline-offset:3px; }
.mde-home .site-header__b2b { font-size:16px; }
.mde-home .site-header__b2b span { display:none; }
.mde-home .site-header__search { justify-self:end; width:264px; height:40px; border:0; border-radius:5px; box-shadow:none; background:#f2f2f2; display:flex; align-items:center; gap:10px; padding:0 12px; }
.mde-home .site-header__search span { color:var(--mdle-blue); font-size:22px; }
.mde-home .site-header__search input { width:100%; border:0; outline:0; font:16px Arial,Helvetica,sans-serif; color:#555; background:transparent; }
.mde-home .site-footer { position:relative; background:#fff; color:#666; font-family:Arial,Helvetica,sans-serif; padding:54px max(28px,6vw) 34px; border-top:1px solid #eee; }
.mde-home .site-footer a { color:inherit; text-decoration:none; }
.mde-home .site-footer__columns { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:70px; }
.mde-home .site-footer__columns section { display:flex; flex-direction:column; gap:11px; }
.mde-home .site-footer__columns h2 { margin:0 0 14px; font-size:18px; color:#333; }
.mde-home .site-footer__columns p { margin:0; line-height:1.55; }
.mde-home .site-footer__columns p + p { margin-top:8px; }
.mde-home .site-footer__columns p a { color:#41a7bd; }
.mde-home .site-footer__reassurance { max-width:1100px; margin:42px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:70px; text-align:center; }
.mde-home .site-footer__reassurance > div,
.mde-home .site-footer__reassurance > a { display:flex; flex-direction:column; align-items:center; gap:6px; }
.mde-home .site-footer__reassurance strong { color:#333; font-size:17px; }
.mde-home .site-footer__reassurance span { font-size:14px; }
.mde-home .footer-badge { height:58px; margin-bottom:6px; display:flex; align-items:center; justify-content:center; font-weight:700; }
.mde-home .footer-badge--mollie { width:58px; border-radius:50%; background:#111; color:#fff; font-weight:400; }
.mde-home .footer-badge--dpd { color:#333; font-size:24px; border-top:4px solid #d33; }
.mde-home .footer-badge--return { color:#d9a178; font-size:44px; font-weight:400; }
.mde-home .site-footer__copyright { margin:34px 0 0; text-align:center; color:#43a8be; font-size:14px; }
.mde-home .cookie-control { position:absolute; left:0; bottom:0; border:0; background:#1e35e8; color:#fff; padding:11px 14px; font:14px Arial,Helvetica,sans-serif; cursor:pointer; }
/* Desktop uniquement : photo Hero élargie et recentrée selon réglage validé (+60 px). */
@media (min-width:1101px) {
.mde-home .hero__image { width:calc(100% + 120px); max-width:none; left:-60px; right:auto; transform: translateX(60px); }
}
@media (min-width:768px) and (max-width:1199px) {
.mde-home .site-header__utility { grid-template-columns:auto 1fr auto; gap:10px 16px; padding:8px 18px; }
.mde-home .site-header__contact { grid-column:1; grid-row:1; }
.mde-home .site-header__cart { grid-column:3; grid-row:1; width:96px; height:42px; }
.mde-home .site-header__hours { grid-column:1 / -1; grid-row:2; justify-self:center; }
.mde-home .site-header__social { grid-column:1; grid-row:3; justify-self:start; }
.mde-home .site-header__account { grid-column:2 / -1; grid-row:3; justify-self:end; flex-wrap:wrap; }
.mde-home .site-header { position:relative; }
.mde-home .site-header__main { min-height:auto; grid-template-columns:180px minmax(0,1fr); gap:16px; padding:16px 18px 18px; }
.mde-home .site-header__brand img { width:170px; }
.mde-home .site-header__quicklinks { justify-self:end; justify-content:flex-end; flex-wrap:wrap; white-space:normal; gap:10px 16px; font-size:13px; }
.mde-home .site-header__search { grid-column:1 / -1; width:100%; height:52px; padding:0 18px; }
.mde-home .site-footer__columns { grid-template-columns:repeat(2,1fr); gap:42px 55px; }
.mde-home .site-footer__reassurance { gap:28px; }
}
@media (max-width:767px) {
.mde-home .site-header__utility { display:flex; flex-wrap:wrap; padding:10px 18px; min-height:76px; }
.mde-home .site-header__contact { width:100%; padding-right:105px; white-space:normal; line-height:1.35; }
.mde-home .site-header__hours { width:auto; margin:0 auto; white-space:normal; text-align:center; }
.mde-home .site-header__social { width:100%; justify-content:center; }
.mde-home .site-header__account { width:100%; justify-content:center; font-size:13px; gap:8px; }
.mde-home .site-header__cart { position:absolute; right:12px; top:8px; width:96px; height:42px; }
.mde-home .site-header { position:relative; }
.mde-home .site-header__main { grid-template-columns:1fr auto; min-height:auto; gap:12px; padding:14px 16px 18px; }
.mde-home .site-header__brand img { width:145px; }
.mde-home .site-header__quicklinks { grid-column:2; gap:8px 12px; font-size:12px; }
.mde-home .site-header__b2b { font-size:16px; gap:10px; }
.mde-home .site-header__b2b span { width:40px; height:3px; }
.mde-home .site-header__search { grid-column:1 / -1; width:100%; height:52px; }
.mde-home .site-footer { padding:38px 24px 70px; }
.mde-home .site-footer__columns { grid-template-columns:1fr; gap:34px; }
.mde-home .site-footer__reassurance { grid-template-columns:1fr; gap:32px; }
.mde-home .cookie-control { width:100%; }
}
/* ------------------------------
   PAGE DE CONFIRMATION NEWSLETTER
   ------------------------------ */
.mde-home .newsletter-confirmation-page {
  min-height: 100vh;
  background: var(--mdle-yellow);
}
.mde-home .newsletter-confirmation {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px var(--page-gutter);
}
.mde-home .newsletter-confirmation__card {
  width: min(100%, 760px);
  padding: clamp(34px, 5vw, 58px);
  text-align: center;
  background: #fff;
  border: 1px solid rgb(218 218 212);
  border-radius: 18px;
  box-shadow: 0 8px 22px rgb(0 0 0 / 0.14);
}
.mde-home .newsletter-confirmation__logo {
  width: min(230px, 70%);
  margin: 0 auto 30px;
}
.mde-home .newsletter-confirmation__card h1 {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--mdle-blue);
}
.mde-home .newsletter-confirmation__rule {
  margin-top: 22px;
  margin-bottom: 28px;
}
.mde-home .newsletter-confirmation__card p {
  margin: 0;
  color: #30373c;
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.55;
}
.mde-home .newsletter-confirmation__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 34px;
}
.mde-home .newsletter-confirmation__actions .btn--primary {
  width: auto;
  min-width: 220px;
}
@media (max-width: 560px) {
.mde-home .newsletter-confirmation {
    padding: 18px;
  }
.mde-home .newsletter-confirmation__card {
    padding: 30px 20px 34px;
  }
.mde-home .newsletter-confirmation__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
.mde-home .newsletter-confirmation__actions .btn--primary {
    width: 100%;
    min-width: 0;
  }
}
.mde-home .site-footer__social { max-width:1100px; margin:30px auto 0; display:flex; align-items:center; justify-content:center; gap:12px; color:var(--mdle-blue); font-weight:700; }
.mde-home .site-footer__social[hidden],
.mde-home .site-header__social[hidden] { display:none !important; }
.mde-home .welcome__store-link { display:inline-block; margin:8px auto 0; color:var(--mdle-blue); font-size:clamp(17px,1.35vw,20px); font-weight:700; text-underline-offset:3px; }
.mde-home .welcome__store-link { text-decoration:none; }
.mde-home .welcome__stock { margin:10px auto 0; color:var(--mdle-blue); font-size:16px; line-height:1.35; font-weight:700; }
.mde-home .welcome__accessibility { margin:8px auto 0; color:var(--mdle-blue); font-size:16px; line-height:1.35; font-weight:700; }
.mde-home .welcome__reassurance-line { display:block; }
.mde-home .welcome__reassurance-line + .welcome__reassurance-line { margin-top:2px; }


/* v1.40 / MDE — Correctif smartphone étroit (400 px) uniquement. */
@media (max-width: 480px) {
  .mde-home,
  .mde-home .site-header,
  .mde-home .site-header__utility,
  .mde-home .site-header__main,
  .mde-home .daily-saint,
  .mde-home .hero {
    width: 100%;
    max-width: 100%;
  }
  .mde-home .site-header__utility { padding-left:14px; padding-right:14px; gap:10px 12px; }
  .mde-home .site-header__contact { padding-right:92px; min-width:0; }
  .mde-home .site-header__cart { right:8px; width:88px; }
  .mde-home .site-header__social { min-width:0; gap:18px; }
  .mde-home .site-header__account { min-width:0; flex-wrap:wrap; row-gap:5px; }
  .mde-home .site-header__main { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:12px 14px 16px; }
  .mde-home .site-header__brand { display:none; }
  .mde-home .site-header__quicklinks { width:100%; min-width:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 12px; white-space:normal; text-align:center; font-size:11px; line-height:1.25; }
  .mde-home .site-header__b2b { font-size:15px; }
  .mde-home .site-header__search { width:100%; max-width:100%; }
  .mde-home .hero { max-width:100%; }
  .mde-home .hero__content { left:16px; right:16px; }
  .mde-home .btn--primary { max-width:100%; }
}


/* ------------------------------
   ENTREFILET — PROFESSIONNELS
   Porte d’entrée discrète depuis la homepage vers l’espace professionnel.
   ------------------------------ */
.mde-home .pro-entry {
  background: var(--mdle-blue);
  color: #fff;
  border-top: 3px solid var(--mdle-gold);
  border-bottom: 1px solid rgb(255 255 255 / 0.14);
}

.mde-home .pro-entry__inner {
  width: min(var(--content-max), calc(100% - (2 * var(--page-gutter))));
  margin: 0 auto;
  min-height: 86px;
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.mde-home .pro-entry__text {
  margin: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 15px;
  line-height: 1.45;
}

.mde-home .pro-entry__text strong {
  font-family: var(--font-title);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.22;
  font-weight: 700;
  color: #fff;
}

.mde-home .pro-entry__text span {
  color: rgb(255 255 255 / 0.93);
}

.mde-home .pro-entry__button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 19px;
  border: 2px solid var(--mdle-gold);
  border-radius: 999px;
  background: var(--mdle-gold);
  color: var(--mdle-blue);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .16s ease, background-color .16s ease, color .16s ease;
}

.mde-home .pro-entry__button:hover,
.mde-home .pro-entry__button:focus-visible {
  background: #fff;
  color: var(--mdle-blue);
  transform: translateY(-1px);
}

@media (max-width: 1100px) {
  .mde-home .pro-entry__inner {
    gap: 20px;
  }
  .mde-home .pro-entry__text {
    font-size: 14px;
  }
  .mde-home .pro-entry__button {
    white-space: normal;
    max-width: 250px;
  }
}

@media (max-width: 700px) {
  .mde-home .pro-entry__inner {
    width: min(100% - 32px, var(--content-max));
    min-height: 0;
    padding: 18px 0 20px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    text-align: center;
  }
  .mde-home .pro-entry__text {
    gap: 6px;
    font-size: 13.5px;
    line-height: 1.4;
  }
  .mde-home .pro-entry__text strong {
    font-size: 18px;
  }
  .mde-home .pro-entry__button {
    width: min(100%, 320px);
    max-width: none;
    margin: 0 auto;
    min-height: 46px;
    padding: 11px 16px;
  }
}

@media (max-width: 400px) {
  .mde-home .pro-entry__inner {
    width: calc(100% - 24px);
  }
  .mde-home .pro-entry__text strong {
    font-size: 17px;
  }
  .mde-home .pro-entry__text {
    font-size: 13px;
  }
}

/* v1.50: native featured-product cards inside the MDE homepage. */

/* v1.57 — alignement final de l’introduction Newsletter */
.mde-home .newsletter__intro { display:flex; flex-direction:column; align-items:center; width:100%; }
.mde-home .newsletter__title,
.mde-home .newsletter__signup,
.mde-home .newsletter__subtitle { width:100%; text-align:center; }
.mde-home .mde-featured {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 32px var(--page-gutter);
}
.mde-home .mde-featured .featured-products { margin: 0; }
.mde-home .mde-featured .products-section-title {
  color: var(--mdle-blue);
  font-family: var(--font-title);
}

.mde-home .welcome__history-link{margin:16px auto 0;}
.mde-home .welcome__history-link a{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:10px;background:var(--mdle-blue);color:#fff;text-decoration:none;font-size:15px;line-height:1.2;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.10);transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.mde-home .welcome__history-link a:hover,.mde-home .welcome__history-link a:focus-visible{background:#1f5a8b;color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.14);}
.mde-home .welcome__history-link a:focus-visible{outline:2px solid rgba(26,99,155,.25);outline-offset:2px;}
