
/* Christmas Wish Calligraphy — webfont chargée par tous les appareils */
@font-face{
  font-family:"Christmas Wish Calligraphy";
  src:url("../fonts/ChristmasWish-Calligraphy.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

/* Même police Au Poussin Rose sur ordinateur, tablette et téléphone */
.brand-script,
.hero-home .hero-copy .brand-script{
  font-family:"Christmas Wish Calligraphy", cursive !important;
  font-weight:400 !important;
}


:root {
  --brand-pink:#D9A5BE;
  --brand-pink-dark:#9F2E70;
  --ink:#211D1F;
  --cream:#FBF8F7;
  --white:#ffffff;
  --didot:"Linotype Didot","Didot","Didot LT STD","Bodoni 72",Georgia,serif;
  --script:"Christmas Wish Calligraphy","ChristmasWish-Calligraphy","Christmas Wish",cursive;
  --sans:"Avenir Next","Avenir","Helvetica Neue",Arial,sans-serif;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(var(--max),calc(100% - 64px));margin:auto}
.site-header{height:106px;background:#fff;position:relative;z-index:100;border-bottom:0}
.nav-wrap{width:min(var(--max),calc(100% - 64px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand img{width:96px;height:86px;object-fit:contain}
.nav{display:flex;gap:34px;align-items:center;font:300 14px/1 var(--sans);letter-spacing:.01em}
.nav a{padding:10px 0;border-bottom:1px solid transparent}
.nav a.active,.nav a:hover{border-bottom-color:var(--ink)}
.menu-btn{display:none;background:none;border:0;width:42px;height:42px;padding:8px}
.menu-btn span{display:block;height:1px;background:#222;margin:7px 0}

.brand-script{font-family:var(--script);font-weight:400;letter-spacing:0}
.didot{font-family:var(--didot);font-weight:400}
.hero-title,.section-title,.product-title,.event-title,.about-title,.contact-title,.season-title,.legal h1,.legal h2{
  font-family:var(--didot);font-weight:400;letter-spacing:0;
}
.copy-didot{font-family:var(--didot);font-weight:400}

.hero{position:relative;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover}
.hero-home{height:720px}
.hero-home::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.02) 66%)}
.hero-copy{position:absolute;z-index:2;left:8%;top:50%;transform:translateY(-50%);color:#fff;width:min(570px,44vw);background:transparent}
.hero-copy .brand-script{font-size:72px;line-height:.9;margin:0 0 8px;text-shadow:0 2px 15px rgba(0,0,0,.22)}
.hero-copy .identity{font-family:var(--sans);font-size:17px;line-height:1.55;margin:0}
.hero-copy .hero-title{font-size:47px;line-height:1.08;margin:26px 0 0;text-shadow:0 2px 15px rgba(0,0,0,.22)}

.photo-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.photo-strip img{width:100%;aspect-ratio:1/1;object-fit:cover}

.center-block{padding:58px 24px 62px;text-align:center;background:#fff}
.section-title{font-size:46px;line-height:1.05;margin:0 0 8px}
.quote{font-family:var(--didot);font-size:20px;font-style:italic;margin:0 0 22px}
.btn{display:inline-block;border:1px solid currentColor;padding:10px 26px;text-transform:uppercase;font:400 12px/1 var(--sans);letter-spacing:.09em}

.image-band{position:relative;min-height:590px;overflow:hidden}
.image-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.image-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.43))}
.image-band.left::after{background:linear-gradient(90deg,rgba(0,0,0,.43),rgba(0,0,0,.08))}
.band-copy{position:absolute;z-index:2;top:50%;transform:translateY(-50%);right:7.5%;width:min(520px,42vw);color:#fff;background:transparent}
.image-band.left .band-copy{left:7.5%;right:auto}
.band-copy .eyebrow{font:300 14px/1.2 var(--sans);letter-spacing:.06em;margin-bottom:11px}
.band-copy h2{font:400 47px/1.02 var(--didot);margin:0 0 18px}
.band-copy p{font:400 21px/1.36 var(--didot);margin:0 0 10px}
.band-copy .small{font:300 14px/1.7 var(--sans)}
.band-copy .btn{margin-top:12px}

.page-intro-band{background:var(--brand-pink);color:#fff;padding:32px 24px;text-align:center}
.page-intro-band h1{font:400 49px/1 var(--didot);margin:0}
.page-intro-band p{font:400 18px/1.4 var(--didot);font-style:italic;margin:8px 0 0}

.product-section{padding:52px 0 68px}
.product-section.pink{background:var(--brand-pink);color:#fff}
.product-section.white{background:#fff;color:var(--ink)}
.product-heading{text-align:center;margin-bottom:34px}
.product-title{font-size:46px;line-height:1;margin:0 0 8px}
.product-sub{font:400 18px/1.45 var(--didot);font-style:italic;margin:0}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery button{border:0;background:transparent;padding:0;cursor:zoom-in;overflow:hidden}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:.25s}
.gallery button:hover img{transform:scale(1.02)}

.about-hero,.event-panel,.contact-hero,.season-panel{position:relative;overflow:hidden}
.about-hero{min-height:720px}
.about-hero>img,.event-panel>img,.contact-hero>img,.season-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-hero::after,.event-panel::after,.contact-hero::after,.season-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.46))}
.about-copy,.event-copy,.contact-copy,.season-copy{position:absolute;z-index:2;color:#fff;background:transparent}
.about-copy{right:7%;top:50%;transform:translateY(-50%);width:min(545px,43vw)}
.about-title{font-size:57px;line-height:.95;margin:0 0 12px}
.about-copy .identity{font:300 16px/1.5 var(--sans);margin-bottom:20px}
.about-copy .story{font:400 21px/1.34 var(--didot);margin:0 0 16px}
.about-copy .btn{margin-top:8px}
.wide-photo{height:500px;overflow:hidden}
.wide-photo img{width:100%;height:100%;object-fit:cover}

.event-intro{background:var(--brand-pink);color:#fff;text-align:center;padding:42px 24px}
.event-intro h1{font:400 50px/1 var(--didot);margin:0 0 12px}
.event-intro p{font:400 20px/1.45 var(--didot);margin:0}
.event-panel{min-height:610px}
.event-panel.reverse::after{background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.06))}
.event-copy{right:7.5%;top:50%;transform:translateY(-50%);width:min(500px,41vw)}
.event-panel.reverse .event-copy{left:7.5%;right:auto}
.event-title{font-size:50px;line-height:1;margin:0 0 18px}
.event-copy p,.event-copy a.text-link{font:400 21px/1.38 var(--didot)}
.event-copy a.text-link{text-decoration:underline;text-underline-offset:4px}
.event-copy .btn{margin-top:20px}

.season-panel{min-height:620px}
.season-copy{left:7.5%;top:50%;transform:translateY(-50%)}
.season-copy.right{left:auto;right:7.5%;text-align:right}
.season-copy .brand-script{font-size:52px;line-height:.9;margin-bottom:12px}
.season-title{font-size:49px;line-height:1;margin:0}
.cards-section{padding:60px 0;background:#fff}
.cards-section .section-title{text-align:center}
.cards-section .quote{text-align:center}
.poster-grid{width:min(920px,100%);margin:34px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.poster-grid button{padding:0;border:0;background:transparent}
.poster-grid img{width:100%;height:auto}
.shop-band{background:var(--brand-pink);color:#fff;padding:34px 24px;text-align:center}
.shop-band .brand-script{font-size:54px;line-height:.9;margin:0 0 6px}
.shop-band p{margin:3px 0;font:300 14px/1.45 var(--sans)}
.shop-band .btn{margin-top:13px}

.contact-hero{min-height:650px}
.contact-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.03))}
.contact-copy{left:7.5%;top:50%;transform:translateY(-50%);width:min(500px,42vw)}
.contact-copy .brand-script{font-size:61px;line-height:.9;margin:0 0 10px}
.contact-copy .identity{font:300 16px/1.5 var(--sans)}
.contact-title{font-size:45px;line-height:1;margin:30px 0 12px}
.contact-copy p{font:400 20px/1.45 var(--didot)}
.hours-band{background:var(--brand-pink);color:#fff;padding:46px 0}
.hours-inner{width:min(820px,calc(100% - 48px));margin:auto}
.hours-inner h2{font:400 45px/1 var(--didot);margin:0 0 22px;text-align:center}
.hours{width:100%;border-collapse:collapse;font:400 20px/1.35 var(--didot)}
.hours td{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.35)}
.hours td:last-child{text-align:right}
.contact-images{display:grid;grid-template-columns:1fr 1fr;gap:0}
.contact-images img{width:100%;height:470px;object-fit:cover}
.social-band{background:#fff;text-align:center;padding:48px 20px 58px}
.social-band h2{font:400 28px/1.25 var(--didot);font-style:italic;margin:0 0 22px}
.socials{display:flex;justify-content:center;gap:22px}
.socials a{font:400 14px/1 var(--sans);border-bottom:1px solid currentColor;padding-bottom:4px}

.legal{padding:68px 0 85px;width:min(900px,calc(100% - 48px));margin:auto}
.legal h1{font-size:48px}
.legal h2{font-size:31px}
.legal p,.legal li{font-family:var(--didot);font-size:18px;line-height:1.55}
.site-footer{background:var(--brand-pink);color:#fff;text-align:center;padding:20px;font:300 12px/1 var(--sans)}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);display:none;z-index:1000;align-items:center;justify-content:center;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-width:96vw;max-height:92vh}
.lightbox button{position:absolute;right:20px;top:8px;background:none;border:0;color:#fff;font-size:44px}

@media(max-width:900px){
  .site-header{height:90px}
  .nav-wrap{width:calc(100% - 34px)}
  .brand img{width:82px;height:68px}
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:90px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 20px 18px}
  .nav.open{display:flex}
  .nav a{width:100%;padding:12px 0}
  .hero-home{height:650px}
  .hero-copy{left:7%;right:7%;width:auto}
  .photo-strip{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .band-copy,.about-copy,.event-copy,.contact-copy{left:7%!important;right:7%!important;width:auto}
  .image-band::after,.image-band.left::after,.about-hero::after,.event-panel::after,.event-panel.reverse::after,.contact-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.08))}
  .season-copy.right{right:7.5%}
}
@media(max-width:620px){
  .container{width:calc(100% - 28px)}
  .hero-home{height:560px}
  .hero-copy{left:24px;right:24px}
  .hero-copy .brand-script{font-size:51px}
  .hero-copy .hero-title{font-size:33px}
  .hero-copy .identity{font-size:14px}
  .photo-strip{grid-template-columns:repeat(2,1fr)}
  .center-block{padding:42px 18px 48px}
  .section-title{font-size:36px}
  .quote{font-size:17px}
  .image-band,.about-hero,.event-panel,.contact-hero,.season-panel{min-height:560px}
  .band-copy,.about-copy,.event-copy,.contact-copy{left:24px!important;right:24px!important}
  .band-copy h2,.event-title{font-size:38px}
  .band-copy p,.about-copy .story,.event-copy p,.event-copy a.text-link,.contact-copy p{font-size:18px}
  .about-title{font-size:43px}
  .event-intro h1{font-size:40px}
  .event-intro p{font-size:17px}
  .page-intro-band h1{font-size:40px}
  .page-intro-band p{font-size:16px}
  .product-title{font-size:37px}
  .product-sub{font-size:16px}
  .gallery{grid-template-columns:repeat(2,1fr);gap:7px}
  .contact-copy .brand-script{font-size:48px}
  .contact-title{font-size:38px}
  .hours-inner h2{font-size:37px}
  .hours{font-size:17px}
  .contact-images{grid-template-columns:1fr}
  .contact-images img{height:auto}
  .poster-grid{grid-template-columns:1fr}
  .season-copy{left:24px}
  .season-copy.right{left:24px;right:24px;text-align:left}
  .season-copy .brand-script{font-size:43px}
  .season-title{font-size:39px}
}

/* ACCUEIL V2 — calage plus proche du Wix */
.hero-home{height:680px}
.hero-home .hero-copy{left:9%;width:min(610px,47vw)}
.hero-home .hero-copy .brand-script{font-family:var(--script);font-size:74px;line-height:.86}
.hero-home .hero-copy .identity{margin-top:16px}
.hero-home .hero-copy .hero-title{font-family:var(--didot);font-size:44px;line-height:1.08;margin-top:28px}
.photo-strip{grid-template-columns:repeat(5,1fr)}
.photo-strip img{aspect-ratio:1/1;object-fit:cover}
.center-block{padding-top:54px;padding-bottom:58px}
.center-block .section-title{font-family:var(--didot);font-size:43px}
.image-band{min-height:570px}
.band-copy h2{font-family:var(--didot);font-weight:400}
.site-footer{background:#D9A5BE}
@media(max-width:900px){
  .photo-strip{grid-template-columns:repeat(3,1fr)}
  .hero-home .hero-copy{left:7%;width:auto;right:7%}
}
@media(max-width:620px){
  .hero-home{height:545px}
  .hero-home .hero-copy{left:22px;right:22px}
  .hero-home .hero-copy .brand-script{font-size:52px}
  .hero-home .hero-copy .hero-title{font-size:32px}
  .photo-strip{grid-template-columns:repeat(2,1fr)}
}


/* ACCUEIL V3 — textes remis sur bandeaux rose pâle comme sur le Wix */
.wix-image-only{
  width:100%;
  background:#fff;
}
.wix-image-only img{
  display:block;
  width:100%;
  height:auto;
  max-height:640px;
  object-fit:cover;
}
.wix-pink-band{
  background:#E4BBCD;
  color:#2A2226;
  padding:46px 24px 50px;
  text-align:center;
}
.wix-pink-band .wix-band-inner{
  width:min(850px,100%);
  margin:0 auto;
}
.wix-pink-band .eyebrow{
  font-family:var(--sans);
  font-size:14px;
  font-weight:300;
  letter-spacing:.04em;
  margin:0 0 10px;
}
.wix-pink-band h2{
  font-family:var(--didot);
  font-size:44px;
  line-height:1.08;
  font-weight:400;
  margin:0 0 16px;
}
.wix-pink-band p{
  font-family:var(--didot);
  font-size:20px;
  line-height:1.45;
  font-weight:400;
  margin:5px auto;
  max-width:780px;
}
.wix-pink-band p.small{
  font-family:var(--didot);
  font-size:18px;
  line-height:1.5;
  font-weight:400;
}
.wix-pink-band .btn{
  margin-top:18px;
  color:#2A2226;
  border-color:#2A2226;
}
@media(max-width:900px){
  .wix-image-only img{max-height:none}
  .wix-pink-band{padding:40px 28px 44px}
  .wix-pink-band h2{font-size:38px}
}
@media(max-width:620px){
  .wix-pink-band{padding:34px 20px 38px}
  .wix-pink-band h2{font-size:33px}
  .wix-pink-band p{font-size:18px;line-height:1.42}
  .wix-pink-band p.small{font-size:17px;line-height:1.45}
}


/* ACCUEIL V4 — lisibilité mobile + galerie slide */
.product-slider-wrap{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#fff;
}
.product-slider{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-behavior:smooth;
}
.product-slider::-webkit-scrollbar{display:none}
.product-slide{
  flex:0 0 20%;
  padding:0;
  margin:0;
  border:0;
  background:#fff;
  cursor:zoom-in;
  scroll-snap-align:start;
}
.product-slide img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:44px;
  height:70px;
  border:0;
  background:rgba(255,255,255,.84);
  color:#2a2226;
  font-size:44px;
  line-height:1;
  cursor:pointer;
}
.slider-prev{left:0}
.slider-next{right:0}

.cyril-name{
  display:inline-block;
  font-size:1.18em;
  font-weight:500;
}

@media(max-width:900px){
  .product-slide{flex-basis:33.3333%}
}
@media(max-width:620px){
  .hero-copy .identity{
    font-size:18px;
    line-height:1.45;
    text-shadow:0 2px 12px rgba(0,0,0,.5);
  }
  .cyril-name{
    font-size:1.6em;
    line-height:1.05;
    margin-bottom:5px;
  }
  .product-slide{flex-basis:78%}
  .slider-arrow{
    width:38px;
    height:60px;
    font-size:38px;
    background:rgba(255,255,255,.92);
  }
}

/* ACCUEIL V5 — Événements vraiment lisible sur téléphone */
@media(max-width:620px){
  .wix-pink-band-event{
    padding:38px 20px 42px;
  }
  .wix-pink-band-event .eyebrow{
    font-size:18px;
    line-height:1.3;
    font-weight:500;
    margin-bottom:12px;
  }
  .wix-pink-band-event h2{
    font-size:35px;
    line-height:1.12;
    margin-bottom:18px;
  }
  .wix-pink-band-event p.small{
    font-size:19px;
    line-height:1.55;
    max-width:100%;
    margin:0 auto 13px;
  }
  .wix-pink-band-event .btn{
    font-size:14px;
    padding:13px 24px;
    margin-top:16px;
  }
}

/* ACCUEIL V6 — fidélité mobile bloc Événements */
.wix-pink-band-event .event-gold{
  color:#B89A5A;
  font-family:var(--didot);
  font-style:normal;
  font-weight:400;
  letter-spacing:.02em;
}
.wix-pink-band-event .event-editorial p{
  font-family:var(--didot);
  font-style:italic;
}
.wix-pink-band-event .btn{
  background:#E4BBCD;
  border:1px solid #E4BBCD;
  color:#2A2226;
}
.wix-pink-band-event .btn:hover{
  background:#D9A5BE;
  border-color:#D9A5BE;
}
@media(max-width:620px){
  .wix-pink-band-event .event-gold{
    font-size:20px;
    line-height:1.25;
    margin-bottom:12px;
  }
  .wix-pink-band-event .event-editorial p{
    font-size:19px;
    line-height:1.55;
  }
  .wix-pink-band-event .btn{
    font-size:14px;
    padding:13px 24px;
  }
}

/* ACCUEIL V7 — corrections consolidées d'après le Wix */

/* Grand visuel d'ouverture : voile bleu foncé comme sur le Wix */
.hero-home::after{
  background:linear-gradient(
    90deg,
    rgba(22,43,61,.78) 0%,
    rgba(22,43,61,.58) 36%,
    rgba(22,43,61,.22) 67%,
    rgba(22,43,61,.06) 100%
  ) !important;
}

/* Identité lisible sans casser l'image */
.hero-home .hero-copy{
  color:#fff;
  background:transparent !important;
}
.hero-home .hero-copy .brand-script{
  font-family:"Christmas Wish Calligraphy","ChristmasWish-Calligraphy","Christmas Wish",cursive;
  text-shadow:0 2px 10px rgba(10,25,38,.32);
}
.hero-home .hero-copy .cyril-name{
  font-weight:500;
}
.hero-home .hero-copy .identity,
.hero-home .hero-copy .hero-title{
  text-shadow:0 2px 10px rgba(10,25,38,.42);
}

/* Boutons de l'accueil : rose pâle */
main .btn{
  background:#E4BBCD;
  border-color:#E4BBCD;
  color:#2A2226;
}
main .btn:hover{
  background:#D9A5BE;
  border-color:#D9A5BE;
}

/* Événements */
.wix-pink-band-event .event-gold{
  color:#B89A5A;
}
.wix-pink-band-event .event-editorial p{
  font-family:"Linotype Didot","Didot","Didot LT STD","Bodoni 72",Georgia,serif;
  font-style:italic;
}

/* Mobile : priorité à la lecture */
@media(max-width:620px){
  .hero-home::after{
    background:linear-gradient(
      90deg,
      rgba(22,43,61,.82) 0%,
      rgba(22,43,61,.64) 58%,
      rgba(22,43,61,.24) 100%
    ) !important;
  }
  .hero-home .hero-copy .cyril-name{
    font-size:1.7em;
    line-height:1.05;
  }
  .hero-home .hero-copy .identity{
    font-size:18px;
    line-height:1.48;
  }
  .hero-home .hero-copy .hero-title{
    line-height:1.12;
  }
  .wix-pink-band-event .event-gold{
    font-size:21px;
  }
  .wix-pink-band-event .event-editorial p{
    font-size:19px;
    line-height:1.58;
  }
}

/* ACCUEIL V8 — bloc Événements */
.wix-pink-band-event .event-gold{
  font-size:32px !important;
  line-height:1.12;
  color:#B89A5A !important;
}
.wix-pink-band-event h2{
  color:#fff !important;
}
.wix-pink-band-event .btn{
  background:#E4BBCD !important;
  color:#171717 !important;
  border:2px solid #171717 !important;
}
@media(max-width:620px){
  .wix-pink-band-event .event-gold{
    font-size:34px !important;
    line-height:1.08;
    margin-bottom:14px;
  }
  .wix-pink-band-event h2{
    color:#fff !important;
    font-size:27px;
    line-height:1.25;
  }
  .wix-pink-band-event .btn{
    border:2px solid #171717 !important;
    padding:13px 25px;
  }
}

/* ACCUEIL V10 — photo macarons tout en bas */
.wix-bottom-macarons{
  width:100%;
  overflow:hidden;
}
.wix-bottom-macarons img{
  width:100%;
  display:block;
  object-fit:cover;
}
@media(max-width:620px){
  .wix-bottom-macarons img{
    min-height:260px;
    object-fit:cover;
  }
}

/* ACCUEIL V14 — photo macarons seule, sans texte ni légende */
.wix-bottom-macarons{
  position:relative;
}
.wix-bottom-macarons > :not(img){
  display:none !important;
}
.wix-bottom-macarons::before,
.wix-bottom-macarons::after{
  content:none !important;
  display:none !important;
}


/* NAVIGATION — contraste validé pour toutes les pages */
.nav a{
  color:#292929;
  font-weight:400;
}
.nav a.active{
  color:#111;
  font-weight:500;
}
@media(max-width:900px){
  .nav a{
    color:#292929;
    font-size:16px;
  }
}

/* PRODUITS V18 — page fidèle en bandeaux/galeries horizontales */
.page-products main{overflow:hidden}
.products-hero{
  width:100%;
  height:clamp(360px,55vw,720px);
  overflow:hidden;
  background:#f5f0f2;
}
.products-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.products-category{
  padding:48px 0 64px;
  background:#fff;
  color:#211d1f;
}
.products-category:nth-of-type(odd){
  background:#E4BBCD;
  color:#fff;
}
.products-heading{
  text-align:center;
  padding:0 24px 30px;
  max-width:980px;
  margin:auto;
}
.products-heading h2{
  font-family:var(--didot);
  font-weight:400;
  font-size:clamp(42px,4vw,58px);
  line-height:1;
  margin:0 0 12px;
}
.products-heading p{
  font-family:var(--didot);
  font-style:italic;
  font-size:20px;
  line-height:1.42;
  margin:0;
}
.category-slider-wrap{
  width:100%;
  position:relative;
  overflow:hidden;
}
.category-slider{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
}
.category-slider::-webkit-scrollbar{display:none}
.category-slide{
  flex:0 0 25%;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:zoom-in;
  scroll-snap-align:start;
  overflow:hidden;
}
.category-slide img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}
.category-slide:hover img{transform:scale(1.015)}
.category-arrow{
  position:absolute;
  z-index:8;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:78px;
  border:0;
  background:rgba(255,255,255,.90);
  color:#292929;
  font-size:44px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 1px 8px rgba(0,0,0,.08);
}
.category-prev{left:0}
.category-next{right:0}

@media(max-width:900px){
  .products-hero{height:clamp(330px,68vw,620px)}
  .category-slide{flex-basis:33.3333%}
  .products-category{padding:42px 0 56px}
}
@media(max-width:620px){
  .products-hero{height:390px}
  .products-hero img{object-position:center}
  .products-category{padding:36px 0 48px}
  .products-heading{padding:0 18px 24px}
  .products-heading h2{font-size:40px}
  .products-heading p{font-size:18px;line-height:1.5}
  .category-slide{flex-basis:82%}
  .category-arrow{
    width:38px;
    height:64px;
    font-size:38px;
    background:rgba(255,255,255,.94);
  }
}

.products-lightbox .lb-prev,
.products-lightbox .lb-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:50px;
  height:72px;
  border:0;
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:46px;
  z-index:2;
}
.products-lightbox .lb-prev{left:12px}
.products-lightbox .lb-next{right:12px}
.products-lightbox .lb-close{z-index:3}
@media(max-width:620px){
  .products-lightbox .lb-prev,
  .products-lightbox .lb-next{
    width:42px;
    height:62px;
    font-size:38px;
  }
}


/* PRODUITS V19 — corrections après contrôle du Wix */
.page-products .products-category,
.page-products .products-category:nth-of-type(odd),
.page-products .products-category:nth-of-type(even){
  background:#fff !important;
  color:#292929 !important;
}
.page-products .products-heading h2,
.page-products .products-heading p{
  color:#292929 !important;
}

/* Mignardises : UNE image en grand bandeau, aucun slider */
.page-products .products-mignardises .mignardises-image{
  width:100%;
  overflow:hidden;
}
.page-products .products-mignardises .mignardises-image img{
  width:100%;
  height:auto;
  aspect-ratio:980/464;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* Bas de page Produits : photo + bouton À propos encadré rose pâle */
.page-products .products-about{
  background:#fff;
  padding:0 0 52px;
  text-align:center;
}
.page-products .products-about > img{
  display:block;
  width:100%;
  height:auto;
  max-height:720px;
  object-fit:cover;
  object-position:center;
}
.page-products .products-about-action{
  padding:34px 20px 0;
}
.page-products .products-about-action a{
  display:inline-flex;
  min-width:150px;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:10px 28px;
  border:2px solid #E4BBCD;
  background:#fff;
  color:#292929;
  text-decoration:none;
  font-family:var(--didot);
  font-size:18px;
}
@media(max-width:620px){
  .page-products .products-mignardises .mignardises-image img{
    aspect-ratio:980/464;
  }
  .page-products .products-about{
    padding-bottom:40px;
  }
  .page-products .products-about-action{
    padding-top:28px;
  }
}


/* CONTACT V24 — carte Google Maps */
.contact-map{
  width:100%;
  height:460px;
  background:#f3f3f3;
  overflow:hidden;
}
.contact-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:620px){
  .contact-map{
    height:360px;
  }
}
