*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#222;background:#f8f6f1;font-family:"DM Sans",sans-serif}.nav{height:88px;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:fixed;z-index:20;width:100%;box-shadow:0 1px 18px #0000000b}.brand{height:88px;display:flex;align-items:center}.brand img{width:78px;height:78px;object-fit:contain;display:block}.nav nav{display:flex;gap:30px}.nav a{text-decoration:none;color:#222;font-size:14px}.menu{display:none;background:none;border:0;font-size:25px}.hero{height:78vh;min-height:560px;max-height:780px;position:relative;display:grid;place-items:center;overflow:hidden;background:#17120e}.hero-video,.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-fallback{background:radial-gradient(circle at 50% 45%,#8a6546 0,#38291f 35%,#130f0c 75%);z-index:0}.hero-video{z-index:1}.shade{position:absolute;inset:0;background:linear-gradient(#0005,#0008);z-index:2}.hero-copy{position:relative;z-index:3;text-align:center;color:white}.hero-logo{width:min(500px,62vw);filter:invert(1);mix-blend-mode:screen}.hero-copy p{text-transform:uppercase;letter-spacing:4px;margin:24px 0 5px;font-size:13px}.hero-copy>span{text-transform:uppercase;letter-spacing:5px;font-size:12px}.btn{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;padding:15px 22px;margin-top:28px;transition:.25s}.btn.light{border:1px solid #fff;color:#fff}.btn.light:hover{background:#fff;color:#111}.btn.dark{background:#171717;color:#fff}.btn.dark:hover{transform:translateY(-2px)}.section{padding:90px 7vw}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;color:#C49267;text-align:center}.section h2,.feature h2{font:400 clamp(42px,5vw,72px)/1.05 "Playfair Display",serif;text-align:center;margin:12px 0 55px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1400px;margin:auto}.card{height:560px;position:relative;overflow:hidden;color:#fff;text-decoration:none}.photo,.feature-photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s}.p1{background-image:url("assets/pieces-montees/piece-category-cover.jpg");background-size:cover;background-position:center}.p2{background-image:linear-gradient(135deg,#d4b48e,#6b4026)}.p3{background-image:url("assets/patisseries/patisserie-category-cover.jpg");background-size:cover;background-position:center}.p4{background-image:url("assets/traiteur/traiteur-category-cover.jpg");background-size:cover;background-position:center}.card-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,#000c)}.card>div:last-child{position:absolute;bottom:35px;left:35px}.card h3{font:400 34px "Playfair Display",serif;margin:0 0 10px}.card span{text-transform:uppercase;letter-spacing:2px;font-size:11px}.card:hover .photo{transform:scale(1.05)}.feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px;background:#e8dfd3}.feature-photo{position:relative;min-height:650px;background-image:linear-gradient(145deg,#3d2b20,#bd8d64)}.feature-copy{padding:8vw;align-self:center}.feature-copy .eyebrow{text-align:left}.feature h2{text-align:left;margin:15px 0 28px}.feature-copy>p:last-of-type{line-height:1.8;color:#5f5a55;max-width:560px}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.story .eyebrow,.story h2{text-align:left}.story h2{margin-bottom:25px}.story-copy>p:last-child{line-height:1.8;color:#666}.story-photo{height:560px;background:#d6c3ae;display:grid;place-items:center;color:#fff}.reviews{background:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:auto}.review{padding:42px;background:#f5f1eb;text-align:center}.review div{color:#C49267;letter-spacing:4px}.review p{line-height:1.65;color:#666}.review strong{font-size:12px;text-transform:uppercase;letter-spacing:1px}footer{background:#C49267;color:white;padding:70px 7vw;display:grid;grid-template-columns:1.1fr 1.5fr .8fr;gap:8vw}footer img{width:220px;filter:invert(1)}footer h3{font:400 28px "Playfair Display",serif}footer p{line-height:1.9}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.on{opacity:1;transform:none}@media(max-width:850px){.nav{height:72px}.brand{height:72px}.brand img{width:62px;height:62px}.menu{display:block}.nav nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:25px 7vw;flex-direction:column}.nav nav.open{display:flex}.grid,.feature,.story,.review-grid,footer{grid-template-columns:1fr}.card{height:430px}.section{padding:80px 6vw}.feature-copy{padding:70px 7vw}.feature-photo{min-height:500px}.story-photo{height:420px}footer{gap:35px}.hero-copy p{letter-spacing:2px}}
/* V1.2 — couleur officielle L'Ami du Pain */
:root{--brand:#C49267}
.nav nav a{position:relative}
.nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--brand);transition:right .25s ease}
.nav nav a:hover::after{right:0}
.btn.dark{background:var(--brand)}
.btn.dark:hover{background:#b7835a}

/* V1.3 — carrousel avis Google */
.reviews{overflow:hidden}.rating-summary{display:flex;justify-content:center;align-items:center;gap:12px;margin:-28px 0 42px;color:#777;font-size:13px}.rating-number{font-size:22px;color:#222;font-weight:600}.summary-stars,.stars{color:var(--brand);letter-spacing:3px}.carousel{max-width:1280px;margin:auto;position:relative;padding:0 54px}.carousel-viewport{overflow:hidden}.carousel-track{display:flex;gap:20px;transition:transform .55s cubic-bezier(.22,.61,.36,1)}.review-slide{flex:0 0 calc((100% - 40px)/3);min-height:300px;background:#f5f1eb;padding:34px;display:flex;flex-direction:column;justify-content:flex-start}.google-line{display:flex;align-items:center;gap:9px;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#777}.gmark{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:700;color:#4285f4;font-size:15px}.review-slide .stars{margin:23px 0 8px}.review-slide p{font:400 20px/1.55 "Playfair Display",serif;color:#4f4a45;flex:1}.review-slide strong{text-transform:uppercase;letter-spacing:1.2px;font-size:11px}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border:1px solid #d7c9bc;background:#fff;border-radius:50%;font-size:27px;line-height:1;cursor:pointer;transition:.2s}.carousel-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.carousel-btn.prev{left:0}.carousel-btn.next{right:0}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:25px}.carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#d7c9bc;cursor:pointer}.carousel-dots button.active{background:var(--brand);transform:scale(1.35)}.reviews-cta{text-align:center;margin-top:18px}
@media(max-width:850px){.rating-summary{margin-top:-20px}.carousel{padding:0 42px}.review-slide{flex-basis:100%;min-height:310px;padding:28px}.review-slide p{font-size:19px}.carousel-btn{width:34px;height:34px}.carousel-track{gap:20px}}

/* V1.4 — contraste de la section Avis */
.reviews{
  background:#F3EDE6;
}
.review-slide{
  background:#FFFFFF;
  box-shadow:0 12px 34px rgba(47,35,26,.07);
}
.gmark{
  background:#F8F5F1;
}
.carousel-btn{
  background:#FFFFFF;
  border-color:rgba(196,146,103,.45);
  box-shadow:0 5px 18px rgba(47,35,26,.05);
}
.carousel-dots button{
  background:rgba(196,146,103,.35);
}
.carousel-dots button.active{
  background:#C49267;
}
.rating-summary{
  color:#716A64;
}
.review-slide p{
  color:#342F2B;
}

/* V1.5 — section Avis en beige officiel */
.reviews{background:#C49267}
.reviews .eyebrow{color:#fff;opacity:.82}
.reviews>h2{color:#fff}
.reviews .rating-summary{color:rgba(255,255,255,.82)}
.reviews .rating-number{color:#fff}
.reviews .summary-stars{color:#fff}
.review-slide{background:#fff;box-shadow:0 14px 36px rgba(60,37,20,.13)}
.review-slide .stars{color:#C49267}
.carousel-btn{background:#fff;border-color:#fff;color:#2b241f}
.carousel-btn:hover{background:#2b241f;border-color:#2b241f;color:#fff}
.carousel-dots button{background:rgba(255,255,255,.45)}
.carousel-dots button.active{background:#fff}
.reviews-cta .btn.dark{background:#fff;color:#2b241f}
.reviews-cta .btn.dark:hover{background:#2b241f;color:#fff}

/* V1.6 — footer contrasté */
footer{
  background:#2B211B;
  color:#FFFFFF;
  border-top:1px solid rgba(255,255,255,.08);
}
footer img{
  filter:invert(1);
}
footer h3{
  color:#FFFFFF;
}
footer p{
  color:rgba(255,255,255,.82);
}

/* V1.7 — footer contact & réseaux */
.footer-contact>p{margin:18px 0 22px}
.contact-phone,.contact-mail{display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;text-decoration:none;transition:.22s}
.contact-phone{background:#C49267;color:#fff;padding:14px 20px;margin:0 0 11px;font-size:18px;font-weight:600;box-shadow:0 8px 22px rgba(0,0,0,.13)}
.contact-phone small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;opacity:.78;margin-bottom:2px}
.contact-mail{border:1px solid rgba(255,255,255,.34);color:#fff;padding:10px 14px;font-size:12px}
.contact-icon{font-size:17px}
.contact-phone:hover{transform:translateY(-2px);background:#d09d72}
.contact-mail:hover{border-color:#C49267;background:#C49267}
.social-links{display:flex;gap:12px;margin-top:20px}
.social-links a{width:46px;height:46px;border:1px solid rgba(255,255,255,.38);display:grid;place-items:center;transition:.22s}
.social-links svg{width:21px;height:21px;fill:#fff}
.social-links a:hover{background:#C49267;border-color:#C49267;transform:translateY(-2px)}
@media(max-width:850px){.contact-phone{font-size:17px}.social-links a{width:44px;height:44px}}

/* V1.8 — vraie photo dans le bloc Pièces montées */
.piece-montee-photo{
  background-image:url("assets/piece-montee-couple.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* V1.9 — photo famille / boutique */
.family-photo{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.story-photo.family-photo{background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important;}

/* V2.1 — section Avis plus compacte verticalement */
.reviews.section{
  padding-top:60px;
  padding-bottom:55px;
}
.reviews .eyebrow{
  margin-top:0;
}
.reviews-cta{
  margin-top:14px;
}
@media(max-width:850px){
  .reviews.section{
    padding-top:48px;
    padding-bottom:45px;
  }
}

/* V2.2 — vidéo hero + filtre sombre */
.hero .shade{
  background:linear-gradient(to bottom,rgba(24,16,11,.48),rgba(18,12,8,.43)),rgba(0,0,0,.08);
}
.hero-video{filter:saturate(.94) contrast(1.03)}


/* V2.4 — HERO : identité beaucoup plus présente */
.hero-content{
  width:min(1180px, 92vw);
  max-width:none;
  padding:24px;
}
.hero-logo{
  width:min(760px, 72vw) !important;
  max-width:none !important;
  margin-bottom:30px !important;
}
.hero-kicker{
  font-size:clamp(15px, 1.15vw, 22px) !important;
  letter-spacing:.34em !important;
  margin-bottom:28px !important;
}
.hero-bottom{
  gap:20px !important;
  font-size:clamp(14px, 1vw, 19px) !important;
}
.hero-bottom .place{
  font-size:inherit !important;
  letter-spacing:.32em !important;
}
.hero .btn,
.hero-bottom .btn{
  font-size:clamp(13px, .9vw, 17px) !important;
  padding:18px 26px !important;
  letter-spacing:.08em !important;
}

@media(max-width:700px){
  .hero-content{width:94vw;padding:16px}
  .hero-logo{width:min(620px, 88vw) !important;margin-bottom:22px !important}
  .hero-kicker{font-size:12px !important;letter-spacing:.22em !important;margin-bottom:20px !important}
  .hero-bottom{gap:14px !important}
}

/* V2.5 — logo header façon Case à Pain */
.nav{
  overflow:visible;
}
.brand{
  position:relative;
  align-self:flex-start;
  z-index:30;
  height:auto;
}
.brand img{
  width:138px !important;
  height:138px !important;
  object-fit:cover !important;
  display:block;
  background:#C49267;
  box-shadow:0 5px 16px rgba(35,25,18,.12);
}
@media(max-width:850px){
  .brand img{
    width:94px !important;
    height:94px !important;
  }
}

/* V2.6 — catégories à gauche + téléphone/réseaux dans le header */
.nav{
  justify-content:flex-start !important;
  gap:30px !important;
  padding-right:5.5vw !important;
  overflow:visible;
}
.nav-main{
  display:flex !important;
  align-items:center;
  gap:29px !important;
  margin-left:18px;
  margin-right:20px;
}
.nav-main a{
  font-size:15px !important;
  font-weight:600 !important;
  white-space:nowrap;
}
.header-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px;
}
.header-call{
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 16px;
  background:#C49267;
  color:#fff !important;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
}
.header-social{
  width:39px;height:39px;
  display:flex;align-items:center;justify-content:center;
  background:#303030;color:#fff !important;
  text-decoration:none;
  font-family:Arial,sans-serif;
  font-size:22px;font-weight:700;
}
.header-social.instagram{font-size:26px;font-weight:400}
.header-call:hover,.header-social:hover{filter:brightness(.92)}

@media(max-width:1200px){
  .nav-main{gap:16px !important;margin-left:8px}
  .nav-main a{font-size:13px !important}
  .header-call span{display:none}
  .header-call{width:39px;height:39px;padding:0;justify-content:center}
}
@media(max-width:850px){
  .nav-main{display:none !important}
  .header-actions{margin-left:auto}
}

/* V2.7 — menu plus grand + vrais logos sociaux */
.nav-main a{font-size:18px !important;font-weight:600 !important;}
.header-social svg{width:21px;height:21px;display:block;fill:currentColor;}
.header-social.instagram svg{width:22px;height:22px;}
@media(max-width:1400px){.nav-main{gap:20px !important}.nav-main a{font-size:16px !important}}
@media(max-width:1200px){.nav-main a{font-size:14px !important}}


/* V2.8 — galerie pièces montées */
.pieces-gallery{background:#f8f6f1;padding-top:105px;padding-bottom:110px}
.pieces-gallery h2{margin-bottom:20px}
.gallery-intro{max-width:720px;margin:0 auto 52px;text-align:center;line-height:1.75;color:#68615b;font-size:15px}
.pieces-grid{max-width:1420px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.piece-card{border:0;padding:0;background:#ddd;position:relative;overflow:hidden;aspect-ratio:4/5;cursor:pointer}
.piece-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .35s ease}
.piece-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.58));opacity:0;transition:.3s}
.piece-card span{position:absolute;z-index:2;left:22px;bottom:20px;color:white;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;opacity:0;transform:translateY(8px);transition:.3s}
.piece-card:hover img{transform:scale(1.035)}.piece-card:hover:after,.piece-card:hover span{opacity:1}.piece-card:hover span{transform:none}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(16,12,9,.94);display:none;align-items:center;justify-content:center;padding:42px 80px}
.lightbox.open{display:flex}.lightbox-stage{height:min(84vh,900px);max-width:min(78vw,1200px);display:flex;flex-direction:column;align-items:center;justify-content:center}
.lightbox-image{max-width:100%;max-height:calc(100% - 36px);object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.3)}
.lightbox-meta{height:36px;padding-top:13px;color:#fff;display:flex;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:1.6px;opacity:.8}
.lightbox-angle{color:#d9b28e}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.2s}
.lightbox-close{right:28px;top:24px;width:48px;height:48px;font-size:34px;font-weight:200}.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:72px;font-size:44px}.lightbox-prev{left:22px}.lightbox-next{right:22px}.lightbox-close:hover,.lightbox-nav:hover{background:#C49267}
body.lightbox-lock{overflow:hidden}
@media(max-width:1050px){.pieces-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.pieces-grid{grid-template-columns:repeat(2,1fr);gap:8px}.pieces-gallery{padding-left:4vw;padding-right:4vw}.gallery-intro{font-size:14px;margin-bottom:35px}.lightbox{padding:60px 16px 35px}.lightbox-stage{max-width:94vw}.lightbox-nav{width:42px;height:58px;font-size:34px;background:rgba(0,0,0,.35)}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:12px;top:12px}}

/* V2.9 — galerie sur une page dédiée */
.gallery-page-main{padding-top:72px}
.gallery-page .pieces-gallery{min-height:calc(100vh - 72px);padding-top:90px}
@media(max-width:850px){.gallery-page-main{padding-top:64px}.gallery-page .pieces-gallery{padding-top:70px}}

/* V3.0 — correction navigation galerie */
.lightbox-nav{position:fixed!important;top:50%!important;transform:translateY(-50%)!important;z-index:10005!important;display:flex!important;align-items:center!important;justify-content:center!important;width:54px!important;height:54px!important;border:0!important;background:rgba(255,255,255,.94)!important;color:#2e2a27!important;font-size:38px!important;line-height:1!important;cursor:pointer!important;box-shadow:0 4px 18px rgba(0,0,0,.18)!important}
.lightbox-prev{left:22px!important}
.lightbox-next{right:22px!important}
.lightbox-meta{display:flex!important;justify-content:center!important;gap:14px!important;align-items:center!important}
.lightbox-angle:not(:empty){background:#c49267;color:#fff;padding:4px 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){
 .lightbox-nav{width:44px!important;height:44px!important;font-size:30px!important}
 .lightbox-prev{left:8px!important}.lightbox-next{right:8px!important}
}

/* V3.2 — photo de couverture de la catégorie Gâteaux */
.p2{background-image:url("assets/gateaux/gateau-category-cover.jpg");background-size:cover;background-position:center}

/* V3.4.1 — couleurs uniquement sur les titres/sous-titres de sections */
.eyebrow{color:#e2b509!important;font-size:15px!important;font-weight:600!important;}
.section > h2,
.feature-copy > h2,
.reviews > h2{color:#024a5d!important;}

/* Le hero et les cartes de catégories restent blancs */
.hero-copy,
.hero-copy p,
.hero-copy span,
.hero-copy a,
.card,
.card h3,
.card span{color:#fff!important;}

body.home .gallery-next,body.home .next-arrow,body.home .slider-next{display:none!important;}

/* V3.4.2 — titre section boulangerie familiale */
.story h2{color:#024a5d!important;}

/* V3.4.3 — Sous-titre de la section avis en blanc uniquement */
.reviews > .eyebrow{color:#fff!important;}


/* V3.5.3 — section flyers / offres */
.flyers-section{background:#f1eadf;padding-top:95px;padding-bottom:105px}
.flyers-heading{max-width:820px;margin:0 auto 48px;text-align:center}
.flyers-heading h2{color:#024a5d!important;margin:12px 0 18px!important}
.flyers-intro{margin:0 auto;max-width:680px;color:#6b625a;line-height:1.75;font-size:15px}
.flyers-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.flyer-card{background:#fff;box-shadow:0 12px 38px rgba(52,39,29,.07);transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}
.flyer-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(52,39,29,.12)}
.flyer-visual{position:relative;aspect-ratio:4/5;background:#d8c3ab;overflow:hidden}
.flyer-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;transition:transform .45s ease}
.flyer-card:hover .flyer-visual img{transform:scale(1.025)}
.flyer-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(145deg,#d8b48d,#b97f55);color:#fff}
.flyer-placeholder span{font-size:42px;margin-bottom:18px}.flyer-placeholder strong{font:400 27px/1.1 "Playfair Display",serif}.flyer-placeholder small{margin-top:14px;font-size:10px;letter-spacing:1px;text-transform:uppercase;opacity:.8}
.flyer-seasonal .flyer-placeholder{background:linear-gradient(145deg,#31525a,#17333b)}
.flyer-info{padding:25px 25px 28px}.flyer-tag{display:inline-block;color:#e2b509;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:11px}.flyer-info h3{margin:0 0 10px;color:#024a5d;font:400 25px/1.15 "Playfair Display",serif}.flyer-info p{margin:0;color:#716a64;font-size:13px;line-height:1.65}
@media(max-width:800px){.flyers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.flyers-grid{grid-template-columns:1fr}.flyers-section{padding-left:6vw;padding-right:6vw}.flyer-visual{aspect-ratio:4/4.6}}


/* V3.5.5 — offres plus compactes + affiches agrandissables */
.flyers-section{padding-top:38px!important;padding-bottom:42px!important}
.flyers-heading{margin-bottom:28px!important}
.flyer-visual:has(img[style*="display: none"]){cursor:default}
.flyer-visual img{cursor:zoom-in}
.pizza-reserve{font-weight:700!important;color:#024a5d!important;font-size:15px!important;margin:0 0 12px!important}
.flyer-call-btn{display:inline-flex;align-items:center;justify-content:center;background:#c99767;color:#fff!important;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.5px;padding:11px 15px;transition:transform .2s ease,opacity .2s ease}
.flyer-call-btn:hover{transform:translateY(-2px);opacity:.9}
.flyer-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(16,12,9,.92);display:none;align-items:center;justify-content:center;padding:35px}
.flyer-lightbox.open{display:flex}
.flyer-lightbox-image{max-width:min(94vw,1050px);max-height:92vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.45)}
.flyer-lightbox-close{position:fixed;right:24px;top:20px;width:48px;height:48px;border:0;background:#fff;color:#222;font-size:32px;line-height:1;cursor:pointer;z-index:10000}
body.flyer-lightbox-lock{overflow:hidden}
@media(max-width:650px){.flyers-section{padding-top:30px!important;padding-bottom:32px!important}.flyer-lightbox{padding:18px}.flyer-lightbox-close{right:12px;top:12px}}

/* SEO: H1 accessible sans modifier le design */
.seo-h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pieces-gallery h1{font:400 clamp(42px,5vw,72px)/1.05 "Playfair Display",serif;text-align:center;margin:12px 0 20px}
