/* ============================================================
   L'ESPRIT BLEU — DESIGN SYSTEM (thème enfant)
   ------------------------------------------------------------
   Ce fichier reprend, presque à l'identique, le CSS qui vivait
   dans Apparence → Personnaliser → CSS additionnel (post WordPress
   « custom_css », thème astra, ~2600 lignes au 20/09/2026).
   Voir AUDIT-CSS-EXISTANT.md pour le détail des décisions.

   Deux blocs n'ont PAS été repris : les styles ".fa-*" (page Femme
   Alchimiste premium) et ".faw-*" (page d'attente Femme Alchimiste),
   liés à un positionnement que la refonte abandonne. Tout le reste —
   base, header, boutons, sections .lb-*, footer, page Le Songe Bleu
   (.sb-*) — est repris car toujours utilisé ou réutilisable tel quel.

   Section « NOUVEAU » en fin de fichier : ajouts propres à la refonte
   (Herbier Bleu, révélation au scroll, respect prefers-reduced-motion
   renforcé) qui n'existaient pas dans le CSS d'origine.
   ============================================================ */

:root{
  --eb-bleu-profond:#0D2B4E;
  --eb-bleu-moyen:#1A4A7A;
  --eb-bleu-clair:#C8D8E8;
  --eb-bleu-pale:#EAF1F8;
  --eb-creme:#F7F4EF;
  --eb-creme-sombre:#EDE9E2;
  --eb-blanc:#FFFFFF;
  --eb-texte-fonce:#1A1A2E;
  --eb-texte-moyen:#4A5568;
  --eb-texte-leger:#8A9BB0;
  --eb-ocre:#D4A373;
  --eb-mousse:#5E7A5C;

  /* Rythme vertical (refonte 2026, passe finale) : une seule échelle,
     du plus grand au plus petit, réutilisée partout. */
  --lb-section-y:clamp(3.25rem,5.5vw,4.5rem);   /* entre deux grandes sections */
  --lb-head-gap:clamp(1.75rem,3vw,2.25rem);     /* titre de section → contenu (grilles, cartes) */
  --lb-title-gap:1.1rem;                        /* titre → paragraphe */
  --lb-eyebrow-gap:1rem;                        /* sur-titre → titre */
  --lb-gap:1.25rem;                             /* entre cartes */
  --lb-card-pad:clamp(1.4rem,2.2vw,1.9rem);     /* intérieur d'une carte */
}

/* ============================================================
   BASE
   ============================================================ */

body{
  background:var(--eb-creme);
  font-family:'DM Sans',Helvetica,Arial,sans-serif;
  font-weight:300;
  color:var(--eb-texte-moyen);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6,
.entry-title,.page-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:300;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--eb-bleu-profond);
}

h1 em,h2 em,h3 em{
  font-style:italic;
  color:var(--eb-bleu-moyen);
}

.entry-content a,
.page-content a{
  color:var(--eb-bleu-profond);
  text-decoration-color:var(--eb-bleu-clair);
  text-underline-offset:3px;
}

.entry-content a:hover,
.page-content a:hover{
  color:var(--eb-bleu-moyen);
}

.entry-content img,
.wp-block-image img,
.page-content img{
  border-radius:0 !important;
  max-width:100%;
  height:auto;
}

/* Boutons WordPress / WooCommerce */
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
input[type="submit"],
.button{
  font-family:'DM Sans',sans-serif !important;
  font-size:.78rem !important;
  font-weight:500 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  background:var(--eb-bleu-profond) !important;
  color:var(--eb-blanc) !important;
  border:0 !important;
  border-radius:0 !important;
  padding:.9rem 2rem !important;
  box-shadow:none !important;
  transition:background .2s ease !important;
}

.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
input[type="submit"]:hover,
.button:hover{
  background:var(--eb-bleu-moyen) !important;
  color:var(--eb-blanc) !important;
}

.ast-container,
.site-content .ast-container{
  max-width:100%;
}

.home .entry-title{
  display:none;
}

.home .site-content,
.home .content-area,
.home .entry-content,
.home .ast-container,
.home article,
.home .ast-article-single,
.home #primary,
.page .site-content,
.page .content-area,
.page .entry-content,
.page .ast-container,
.page article,
.page .ast-article-single,
.page #primary{
  margin-top:0 !important;
  padding-top:0 !important;
}

.home .entry-content > *:first-child,
.page .entry-content > *:first-child{
  margin-top:0 !important;
}

.ast-separate-container #primary,
.ast-separate-container.ast-right-sidebar #primary,
.ast-separate-container.ast-left-sidebar #primary{
  margin-top:0 !important;
}

.page .entry-header,
.page header.entry-header,
.page .ast-single-entry-banner,
.page .ast-archive-entry-banner,
.page .ast-page-builder-template .entry-header{
  display:none;
}

/* ============================================================
   HEADER — .eb-*
   ============================================================ */


.eb-bar{
  position:sticky;
  top:0;
  z-index:9998;
  background:rgba(247,244,239,.96);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(13,43,78,.08);
}

.eb-nav{
  max-width:1500px;
  margin:0 auto;
  padding:1.15rem 4rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2.5rem;
}

.eb-logo img{
  max-height:64px;
  width:auto;
  display:block;
}

.eb-menu{
  display:flex;
  align-items:center;
  gap:2.4rem;
  list-style:none;
  margin:0;
  padding:0;
}

.eb-menu li{
  margin:0;
}

.eb-menu a{
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--eb-bleu-profond);
  text-decoration:none;
  padding:.4rem 0;
}

.eb-menu a:hover{
  color:var(--eb-bleu-moyen);
}

.eb-menu .current-menu-item > a,
.eb-menu .current_page_item > a{
  border-bottom:2px solid var(--eb-bleu-profond);
}

.eb-burger{
  display:none;
  background:none;
  border:0;
  padding:.5rem;
  cursor:pointer;
}

.eb-burger span{
  display:block;
  width:24px;
  height:1px;
  background:var(--eb-bleu-profond);
  margin:6px 0;
}

.eb-menu-head,
.eb-close,
.eb-scrim,
.eb-cta-sticky{
  display:none;
}

body.eb-menu-open{
  overflow:hidden;
}

/* ============================================================
   BOUTONS — .cta / .lb-btn
   ============================================================ */

.cta,
.lb-btn{
  display:inline-block;
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:var(--eb-bleu-profond);
  color:#fff !important;
  padding:1.05rem 1.8rem;
  text-decoration:none;
  border:0;
  border-radius:0;
}

.cta:hover,
.lb-btn:hover{
  background:var(--eb-bleu-moyen);
  color:#fff !important;
}

.lb-btn-light{
  display:inline-block;
  font-family:'DM Sans',sans-serif;
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--eb-bleu-profond) !important;
  background:var(--eb-creme);
  padding:1rem 2rem;
  text-decoration:none;
  transition:background .2s ease;
}

.lb-btn-light:hover{
  background:var(--eb-bleu-clair);
  color:var(--eb-bleu-profond) !important;
}

/* ============================================================
   STRUCTURE DES PAGES L'ESPRIT BLEU — .lb-*
   ============================================================ */

.lb-home{
  font-family:'DM Sans',Helvetica,Arial,sans-serif;
  color:var(--eb-texte-moyen);
  line-height:1.7;
  font-weight:300;
  background:var(--eb-creme);
}

.lb-home *{
  box-sizing:border-box;
}

.lb-home h1,
.lb-home h2,
.lb-home h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:300;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--eb-bleu-profond);
  margin:0;
}

.lb-home p{
  margin:0;
}

.lb-home em{
  font-style:italic;
  color:var(--eb-bleu-moyen);
}

.lb-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}

.lb-section{
  padding:var(--lb-section-y) 0;
}

.lb-blanc{ background:var(--eb-blanc); }
.lb-creme{ background:var(--eb-creme); }

.lb-eyebrow{
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--eb-bleu-moyen);
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-bottom:var(--lb-eyebrow-gap);
}

.lb-eyebrow::before{
  content:'';
  width:2rem;
  height:1px;
  background:var(--eb-bleu-moyen);
}

/* ---------- HERO ---------- */

.lb-hero{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  min-height:64vh;
  background:var(--eb-creme);
}

.lb-hero-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:3rem clamp(2rem,6vw,6.5rem);
}

.lb-hero-text h1{
  font-size:clamp(2.8rem,4.2vw,4.6rem);
  margin:0 0 1.25rem;
}

.lb-hero-text > p:not(.lb-eyebrow){
  font-size:1.05rem;
  max-width:46ch;
  margin:0 0 2rem;
  color:var(--eb-texte-moyen);
}

.lb-hero-img{
  position:relative;
  overflow:hidden;
  height:64vh;
  max-height:660px;
}

.lb-hero-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  display:block;
}

.lb-actions{
  display:flex;
  gap:1.75rem;
  align-items:center;
  flex-wrap:wrap;
}

.lb-link{
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--eb-bleu-profond);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  transition:gap .2s ease;
}

.lb-link::after{ content:'→'; }

.lb-link:hover{
  gap:.9rem;
  color:var(--eb-bleu-moyen);
}

/* ---------- BLOCS TEXTES ---------- */

.lb-text .lb-wrap{ max-width:780px; }
.lb-text h2{ font-size:clamp(1.8rem,3vw,2.7rem); margin:0 0 var(--lb-title-gap); }
.lb-text p{ font-size:1.05rem; line-height:1.8; margin:0 0 1.1rem; }
.lb-text p:last-child{ margin-bottom:0; }
.lb-text ul{ margin:1.2rem 0; padding-left:1.3rem; }
.lb-text li{ margin:.5rem 0; line-height:1.7; font-size:1.02rem; }
.lb-text li::marker{ color:var(--eb-bleu-moyen); }
.lb-text strong{ font-weight:500; color:var(--eb-bleu-profond); }

/* ---------- MANIFESTE ---------- */

.lb-manifeste{ background:var(--eb-blanc); text-align:center; }
.lb-manifeste .lb-wrap{ max-width:760px; }
.lb-manifeste .lb-eyebrow{ justify-content:center; }
.lb-manifeste h2{ font-size:clamp(2rem,3.5vw,3.2rem); margin:0 0 var(--lb-title-gap); }
.lb-manifeste p{ font-size:1.12rem; line-height:1.85; margin:0 0 1.25rem; }

/* ---------- LOGOS / TERRITOIRE — .lb-trusted ---------- */

.lb-trusted{ background:var(--eb-creme); overflow:hidden; }
.lb-trusted .lb-eyebrow{ justify-content:center; }
.lb-trusted-title{ text-align:center; font-size:clamp(2rem,3vw,3rem); margin-bottom:var(--lb-head-gap); }
.lb-logo-marquee{ overflow:hidden; position:relative; }
.lb-logo-track{
  display:flex; align-items:center; gap:5rem; width:max-content;
  animation:lb-marquee 32s linear infinite;
}
.lb-logo-item{ flex:none; display:flex; align-items:center; justify-content:center; opacity:.72; transition:opacity .25s ease; }
.lb-logo-item:hover{ opacity:1; }
.lb-logo-item img{ max-height:72px; width:auto; display:block; filter:grayscale(100%); }
.lb-logo-text{
  min-width:220px; height:72px; padding:0 1.5rem;
  border:1px solid var(--eb-creme-sombre); background:var(--eb-blanc); color:var(--eb-bleu-profond);
  font-family:'Cormorant Garamond',serif; font-size:1.35rem; letter-spacing:.02em; text-align:center;
  display:flex; align-items:center; justify-content:center;
}
@keyframes lb-marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- CARTES / TROIS PORTES — .lb-parcours ---------- */

.lb-parcours{ background:var(--eb-blanc); }
.lb-grid-3{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px;
  background:var(--eb-creme-sombre); margin-top:var(--lb-head-gap);
}
.lb-card{ background:var(--eb-blanc); overflow:hidden; display:flex; flex-direction:column; }
.lb-card-img{ aspect-ratio:5/4; overflow:hidden; }
.lb-card-img img{
  width:100%; height:100%; object-fit:cover; object-position:center center; display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.lb-card:hover .lb-card-img img{ transform:scale(1.025); }
.lb-card-body{ padding:var(--lb-card-pad); display:flex; flex-direction:column; flex:1; }
.lb-card-num{ font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--eb-bleu-clair); margin-bottom:.4rem; }
.lb-card-body h3{ font-size:1.6rem; margin:0 0 .75rem; }
.lb-card-body p{ font-size:.95rem; margin:0 0 1.25rem; flex:1; }
.lb-card-badge{ font-size:.7rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; color:var(--eb-bleu-moyen); margin-bottom:.75rem; }
.lb-card-body:has(ul) p{ flex:none; }
.lb-card-body ul{ margin:.25rem 0 1.5rem; padding:0; list-style:none; flex:1; }
.lb-card-body li{ position:relative; padding-left:1.1rem; font-size:.92rem; margin:.4rem 0; }
.lb-card-body li::before{ content:'—'; position:absolute; left:0; color:var(--eb-bleu-clair); }

/* ---------- TARIFS (Ateliers) — .lb-pricing-grid ---------- */

.lb-pricing-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.5px;
  background:var(--eb-creme-sombre); margin-top:var(--lb-head-gap);
}
.lb-price-card{ background:var(--eb-blanc); padding:2.25rem 1.75rem; display:flex; flex-direction:column; }
.lb-price-badge{ font-size:.7rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; color:var(--eb-bleu-moyen); margin-bottom:1rem; }
.lb-price-card h3{ font-size:1.25rem; margin:0 0 .6rem; }
.lb-price{ font-family:'Cormorant Garamond',serif; font-size:2.6rem; font-weight:300; color:var(--eb-bleu-profond); line-height:1; margin-bottom:.85rem; }
.lb-price span{ font-size:.85rem; font-family:'DM Sans',sans-serif; color:var(--eb-texte-leger); }
.lb-price-card > p{ font-size:.92rem; line-height:1.6; margin:0 0 1.5rem; flex:1; }
.lb-price-note{ font-size:.92rem; color:var(--eb-texte-leger); font-style:italic; margin-top:1.5rem; }

/* ---------- ÉCHOS DU BLEU (témoignages) — .lb-testimonials ---------- */

.lb-testimonials{ background:var(--eb-creme); }
.lb-testimonials .lb-eyebrow{ justify-content:center; }
.lb-testimonials h2{ text-align:center; font-size:clamp(2rem,3vw,3rem); margin-bottom:var(--lb-head-gap); }
.lb-testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--lb-gap); align-items:stretch; }
.lb-testimonial{
  background:var(--eb-blanc); border:1px solid var(--eb-creme-sombre); padding:var(--lb-card-pad);
  display:flex; flex-direction:column; justify-content:space-between;
}
.lb-testimonial p{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.3rem; line-height:1.45; color:var(--eb-bleu-profond); margin:0; }
.lb-testimonial footer{ margin-top:1.5rem; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--eb-texte-moyen); }

/* ---------- GALERIE ---------- */

.lb-gallery{ display:grid; grid-template-columns:1fr 1fr; gap:1.5px; background:var(--eb-creme-sombre); }
.lb-gallery figure{ margin:0; overflow:hidden; height:clamp(260px,34vw,460px); }
.lb-gallery img{ width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }

.lb-gallery-single figure{ margin:0; overflow:hidden; }
.lb-gallery-single img{ width:100%; height:auto; display:block; }

.lb-portrait img{ width:100%; height:auto; display:block; }

/* ---------- ARTISTE — .lb-about ---------- */

.lb-about{ background:var(--eb-bleu-profond); }
.lb-about .lb-wrap{ max-width:680px; text-align:center; }
.lb-about .lb-eyebrow{ justify-content:center; color:var(--eb-bleu-clair); }
.lb-about .lb-eyebrow::before{ background:var(--eb-bleu-clair); }
.lb-about h2{ color:var(--eb-blanc); font-size:clamp(2rem,3.5vw,3rem); margin:0 0 var(--lb-title-gap); }
.lb-about p{ font-size:1.05rem; line-height:1.85; color:var(--eb-bleu-clair); }
.lb-about a{ color:var(--eb-blanc); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(200,216,232,.45); }
.lb-about .lb-btn-light{ margin-top:1.5rem; }

/* ---------- CONTINUER (liens croisés) ---------- */

.lb-continuer{ background:var(--eb-creme); }
.lb-continuer h2{ font-size:clamp(1.8rem,3vw,2.6rem); margin:0 0 var(--lb-head-gap); text-align:center; }
.lb-links{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--lb-gap); }
.lb-link-card{
  display:block; padding:var(--lb-card-pad) 1.75rem; background:var(--eb-blanc); border:1px solid var(--eb-creme-sombre);
  color:var(--eb-bleu-profond); text-decoration:none; font-family:'Cormorant Garamond',serif; font-size:1.35rem; line-height:1.3;
  transition:background .25s ease,transform .25s ease;
}
.lb-link-card:hover{ background:var(--eb-bleu-pale); transform:translateY(-3px); }
.lb-link-card span{ display:block; font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:300; color:var(--eb-texte-moyen); margin-top:.6rem; line-height:1.5; }
.lb-micro{ text-align:center; margin-top:var(--lb-head-gap); font-size:.95rem; }

/* ============================================================
   FOOTER — .eb-footer
   ============================================================ */

.site-footer, footer#colophon{ background:var(--eb-bleu-profond) !important; color:rgba(200,216,232,.75) !important; }
.site-primary-footer-wrap, .site-footer-primary-section-1{ padding:0 !important; }
.ast-builder-grid-row{ grid-column-gap:0 !important; }

.eb-footer{ background:var(--eb-bleu-profond); color:rgba(200,216,232,.75); padding:3.25rem 1.5rem 1.75rem; font-family:'DM Sans',sans-serif; }
.eb-footer-top{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.1fr 1.1fr 1fr; gap:3rem; }
.eb-foot-title{ font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:300; color:#FFFFFF; margin:0 0 1.2rem; }
.eb-foot-links{ list-style:none; padding:0; margin:0; }
.eb-foot-links li{ margin-bottom:.55rem; }
.eb-foot-links a, .eb-foot-contact a{ color:rgba(200,216,232,.82) !important; text-decoration:none; border:0; font-weight:300; }
.eb-foot-links a:hover, .eb-foot-contact a:hover{ color:#FFFFFF !important; }
.eb-foot-contact{ margin-top:1.5rem; font-size:.9rem; line-height:1.7; }
.eb-foot-cta{ display:inline-block; margin-top:1.5rem; background:#F7F4EF !important; color:#0D2B4E !important; }
.eb-foot-cta:hover{ background:#C8D8E8 !important; color:#0D2B4E !important; }
.eb-foot-sep{ max-width:1200px; margin:2.25rem auto 1.5rem; border:0; border-top:1px solid rgba(200,216,232,.22); }
.eb-footer-bottom{ max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.eb-foot-logo img{ max-height:58px; width:auto; display:block; }
.eb-foot-copy{ margin:0; font-size:.85rem; color:rgba(200,216,232,.65); }
.ast-footer-copyright{ display:none !important; }

/* ============================================================
   PAGE LE SONGE BLEU / EXPOSITIONS — .sb-*
   (page réellement en ligne, réutilisable comme gabarit standard
   pour les futures pages d'exposition de Projets & Expositions)
   ============================================================ */

.sb-page{ font-family:'DM Sans',Helvetica,Arial,sans-serif; color:var(--eb-texte-moyen); line-height:1.7; font-weight:300; background:var(--eb-creme); }
.sb-page *{ box-sizing:border-box; }
.sb-page h1, .sb-page h2, .sb-page h3{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:300; line-height:1.15; letter-spacing:-.02em; color:var(--eb-bleu-profond); margin:0; }
.sb-page p{ margin:0; }
.sb-wrap{ max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.sb-narrow{ max-width:760px; margin:0 auto; padding:0 1.5rem; }
.sb-section{ padding:var(--lb-section-y) 0; }
.sb-white{ background:var(--eb-blanc); }
.sb-cream{ background:var(--eb-creme); }
.sb-eyebrow{ font-size:.72rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--eb-bleu-moyen); display:flex; align-items:center; gap:.75rem; margin-bottom:1.5rem; }
.sb-eyebrow::before{ content:''; width:2rem; height:1px; background:var(--eb-bleu-moyen); }
.sb-hero{ min-height:60vh; display:flex; align-items:center; background:var(--eb-creme); }
.sb-hero-inner{ max-width:900px; margin:0 auto; padding:4rem 1.5rem; text-align:center; }
.sb-hero .sb-eyebrow{ justify-content:center; }
.sb-hero h1{ font-size:clamp(2.6rem,5vw,4.4rem); margin:0 0 1.4rem; }
.sb-subtitle{ font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:1.3rem; color:var(--eb-bleu-moyen); }
.sb-intro{ font-size:1.05rem; max-width:60ch; margin:1.4rem auto 0; }
.sb-actions{ display:flex; gap:1.25rem; justify-content:flex-start; flex-wrap:wrap; margin-top:2rem; }
.sb-actions-center{ justify-content:center; }
.sb-center{ text-align:center; }
.sb-center .sb-eyebrow{ justify-content:center; }
.sb-btn{
  display:inline-block; font-family:'DM Sans',sans-serif; font-size:.78rem; font-weight:500; letter-spacing:.12em;
  text-transform:uppercase; background:var(--eb-bleu-profond); color:#fff !important; padding:1.05rem 1.8rem;
  text-decoration:none; border:0; border-radius:0; transition:background .2s ease;
}
.sb-btn:hover{ background:var(--eb-bleu-moyen); color:#fff !important; }
.sb-link{ font-size:.8rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--eb-bleu-profond); text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; }
.sb-link::after{ content:'→'; }
.sb-link:hover{ color:var(--eb-bleu-moyen); }
.sb-page h2{ font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:var(--lb-title-gap); }
.sb-video-frame{ max-width:900px; margin:0 auto; }
.sb-vimeo-frame{ position:relative; padding-top:56.25%; height:0; overflow:hidden; background:#000; }
.sb-vimeo-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.sb-two{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.sb-two p{ margin-top:1rem; }
.sb-deep{ background:var(--eb-bleu-profond); color:rgba(200,216,232,.9); }
.sb-deep h2{ color:#fff; }
.sb-deep .sb-eyebrow{ color:rgba(200,216,232,.7); }
.sb-deep .sb-eyebrow::before{ background:rgba(200,216,232,.7); }
.sb-deep em{ color:var(--eb-ocre); font-style:italic; }
.sb-small-note{ font-size:.85rem; color:var(--eb-texte-leger); margin-top:1rem; }
.sb-deep .sb-small-note{ color:rgba(200,216,232,.6); }

/* Formulaires SureForms intégrés (livre d'or, contact projet…) */
.sb-sureform-box, .sb-page .sb-sureform-box{
  background:var(--eb-blanc); border:1px solid var(--eb-creme-sombre); padding:2.5rem; max-width:640px; margin:0 auto;
}
.sb-sureform-box form{ display:flex; flex-direction:column; gap:1.1rem; }
.sb-sureform-box label, .sb-sureform-box .srfm-label, .sb-sureform-box .srfm-field-label{
  font-family:'DM Sans',sans-serif; font-size:.82rem; font-weight:500; color:var(--eb-bleu-profond); text-transform:uppercase; letter-spacing:.06em;
}
.sb-sureform-box .srfm-description, .sb-sureform-box .srfm-field-description, .sb-sureform-box .srfm-help-text, .sb-sureform-box small{
  color:var(--eb-texte-leger); font-size:.85rem;
}
.sb-sureform-box input, .sb-sureform-box textarea, .sb-sureform-box select{
  border:1px solid var(--eb-creme-sombre) !important; background:#fff !important; color:var(--eb-texte-fonce) !important;
  font-family:'DM Sans',sans-serif !important; border-radius:0 !important; padding:.75rem 1rem !important;
}
.sb-sureform-box textarea{ min-height:120px; }
.sb-sureform-box button, .sb-sureform-box input[type="submit"], .sb-sureform-box .srfm-submit-button{
  background:var(--eb-bleu-profond) !important; color:#fff !important; border:0 !important; border-radius:0 !important;
  font-size:.78rem !important; font-weight:500 !important; letter-spacing:.12em !important; text-transform:uppercase !important; padding:1rem 2rem !important;
}
.sb-sureform-box button:hover, .sb-sureform-box input[type="submit"]:hover, .sb-sureform-box .srfm-submit-button:hover{ background:var(--eb-bleu-moyen) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media(min-width:901px) and (max-width:1100px){
  .lb-hero-text{ padding:3rem 2.5rem; }
  .lb-pricing-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:900px){
  .eb-nav{ padding:.7rem 1rem; }
  .eb-logo img{ max-height:46px; }
  .eb-burger{ display:block; }
  .eb-menu{
    position:fixed; inset:0 0 0 auto; width:min(82vw,360px); height:100vh;
    background:var(--eb-creme); display:flex; flex-direction:column; align-items:flex-start; gap:1.2rem;
    padding:1.5rem; transform:translateX(100%); transition:transform .25s ease; z-index:10000;
  }
  .eb-menu.is-open{ transform:translateX(0); }
  .eb-menu-head, .eb-close{ display:block; }
  .eb-close{ background:none; border:0; color:var(--eb-bleu-profond); font-family:'DM Sans',sans-serif; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
  .eb-cta-desktop{ display:none; }
  .eb-scrim.is-open{ display:block; position:fixed; inset:0; background:rgba(13,43,78,.35); z-index:9999; }
  .eb-cta-sticky{ display:block; position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:9997; text-align:center; }
  .eb-footer{ padding:2.75rem 1.25rem 6rem; }
  .eb-footer-top{ grid-template-columns:1fr; gap:2.2rem; }
  .eb-footer-bottom{ flex-direction:column; align-items:flex-start; }
  .sb-two{ grid-template-columns:1fr; gap:2rem; }
}

@media(max-width:768px){
  .lb-hero{ display:flex; flex-direction:column; min-height:auto; }
  .lb-hero-img{ order:1; width:100%; height:auto; aspect-ratio:4/3; max-height:300px; }
  .lb-hero-img img{ width:100%; height:100%; object-fit:cover; object-position:center center; }
  .lb-hero-text{ order:2; padding:2rem 1.25rem 2.25rem; }
  .lb-hero-text h1{ font-size:clamp(2.25rem,11vw,3.1rem); line-height:1.05; }
  .lb-hero-text > p:not(.lb-eyebrow){ font-size:.98rem; line-height:1.65; margin-bottom:1.5rem; }
  .lb-actions{ display:flex; flex-direction:column; align-items:stretch; gap:1rem; }
  .lb-actions .lb-btn, .lb-btn-light{ width:100%; text-align:center; }
  .lb-actions .lb-link{ justify-content:center; }
  :root{ --lb-section-y:2.75rem; --lb-head-gap:1.5rem; --lb-gap:1rem; }
  .lb-section, .sb-section{ padding:var(--lb-section-y) 0; }
  .lb-wrap{ padding:0 1.25rem; }
  .lb-manifeste h2, .lb-continuer h2, .lb-about h2, .lb-testimonials h2, .lb-trusted-title{ font-size:2.25rem; }
  .lb-manifeste p, .lb-about p, .lb-text p, .lb-text li{ font-size:.98rem; line-height:1.7; }
  .lb-text .lb-wrap{ max-width:100%; }
  .lb-text h2{ font-size:2.15rem; }
  .lb-text ul{ padding-left:1.2rem; }
  .lb-grid-3, .lb-links, .lb-testimonial-grid{ grid-template-columns:1fr; gap:var(--lb-gap); background:transparent; }
  .lb-card-img{ aspect-ratio:16/10; max-height:240px; }
  .lb-card-body{ padding:1.6rem 1.35rem; }
  .lb-pricing-grid{ grid-template-columns:1fr; gap:1rem; background:transparent; margin-top:2rem; }
  .lb-price-card{ padding:1.6rem 1.35rem; border:1px solid var(--eb-creme-sombre); }
  .lb-price{ font-size:2.2rem; }
  .lb-price-card h3{ font-size:1.35rem; }
  .lb-price-card > p{ font-size:.95rem; }
  .lb-price-note{ font-size:.85rem; }
  .lb-testimonial{ padding:1.6rem 1.35rem; }
  .lb-testimonial p{ font-size:1.25rem; }
  .lb-gallery{ grid-template-columns:1fr; }
  .lb-gallery figure{ height:auto; aspect-ratio:16/9; max-height:240px; }
  .lb-link-card{ padding:1.6rem 1.35rem; font-size:1.25rem; }
  .lb-link-card span{ font-size:.88rem; }
  .lb-logo-track{ gap:3rem; animation-duration:22s; }
  .lb-logo-item img{ max-height:52px; }
  .lb-logo-text{ min-width:180px; height:58px; font-size:1.15rem; }
}

@media(prefers-reduced-motion:reduce){
  .lb-home *, .sb-page *, .eb-menu, .lb-link-card, .lb-logo-track, .reveal{
    animation:none !important;
    transition:none !important;
  }
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* ============================================================
   NOUVEAU — ajouts propres à la refonte 2026
   ============================================================ */

/* Révélation douce au scroll (utilitaire générique, appliqué via
   assets/js/main.js). Respecte prefers-reduced-motion (règle ci-dessus
   et vérification JS avant l'ajout des classes). */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ transition-delay:calc(var(--i,0) * 90ms); }

/* Section « signature » — Herbier Bleu de La Réunion (accueil) */
.lb-herbier{ background:var(--eb-bleu-pale); }
.lb-herbier .lb-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.75rem,4vw,3rem); align-items:center; }
.lb-herbier-visual{ aspect-ratio:4/5; overflow:hidden; }
.lb-herbier-visual img{ width:100%; height:100%; object-fit:cover; display:block; }
.lb-herbier-text p{ font-size:1.05rem; line-height:1.8; margin:0 0 1.25rem; }
@media(max-width:900px){
  .lb-herbier .lb-wrap{ grid-template-columns:1fr; }
}

/* Bandeau « Une part du vivant chez soi » (aperçu boutique sur l'accueil) */
.lb-boutique-preview{ background:var(--eb-blanc); }
.lb-boutique-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5px; background:var(--eb-creme-sombre); margin-top:var(--lb-head-gap); }
.lb-boutique-item{ background:var(--eb-blanc); display:flex; flex-direction:column; }
.lb-boutique-item-img{ aspect-ratio:1/1; overflow:hidden; }
.lb-boutique-item-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.lb-boutique-item-body{ padding:1.25rem; }
.lb-boutique-item-body h3{ font-size:1.05rem; margin:0 0 .3rem; }
.lb-boutique-item-body .prix{ font-size:.85rem; color:var(--eb-texte-leger); }
@media(max-width:900px){ .lb-boutique-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .lb-boutique-grid{ grid-template-columns:1fr; background:transparent; gap:1rem; } .lb-boutique-item{ border:1px solid var(--eb-creme-sombre); } }


/* ============================================================
   PASSE FINALE 2026 : cadrage des images, presse, audio,
   galerie Œuvres, livre d'or, sections bleues
   ============================================================ */

/* ---------- Images Gutenberg dans les cadres à ratio fixe ----------
   Le bloc Image place l'<img> dans une <figure> (avec marge). Sans ces
   règles, l'image garde sa proportion d'origine et les cartes n'ont pas
   la même hauteur. La figure remplit désormais le cadre, l'image est
   recadrée (object-fit: cover), jamais déformée. */
.lb-card-img > .wp-block-image,
.lb-card-img > figure,
.lb-hero-img > .wp-block-image,
.lb-hero-img > figure,
.lb-herbier-visual > .wp-block-image,
.lb-herbier-visual > figure{ margin:0; width:100%; height:100%; }
.lb-card-img img,
.lb-hero-img img,
.lb-herbier-visual img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.lb-card-img{ aspect-ratio:5/4; }

/* Point focal choisi image par image (classe sur le bloc Image) */
.lb-pos-top img{ object-position:50% 15%; }
.lb-pos-upper img{ object-position:50% 35%; }
.lb-pos-center img{ object-position:50% 50%; }
.lb-pos-lower img{ object-position:50% 70%; }

/* ---------- Hero : image signature de l'accueil ---------- */
.lb-hero-signature img{ object-position:50% 45%; }

/* ---------- Hero : variante portrait (page L'Artiste) ----------
   Colonne image au format 4:5 : le visage, le sommet de la tête et le
   menton restent toujours visibles (desktop, tablette, mobile). */
.lb-hero--portrait{ grid-template-columns:1.2fr .8fr; }
.lb-hero--portrait .lb-hero-img{
  height:auto; max-height:none; aspect-ratio:4/5; width:100%; max-width:600px;
  justify-self:end; align-self:center;
}
.lb-hero--portrait .lb-hero-img img{ object-position:50% 20%; }

/* ---------- Hero : variante compacte (galerie Œuvres) ---------- */
.lb-hero--compact{ min-height:54vh; }
.lb-hero--compact .lb-hero-img{ height:54vh; max-height:560px; }


/* ---------- Boutons Gutenberg portant .lb-btn / .lb-btn-light ----------
   Dans l'éditeur, la classe est posée sur le conteneur .wp-block-button :
   on neutralise ce conteneur pour ne pas afficher deux cadres imbriqués,
   et on habille le lien lui-même. */
.wp-block-button.lb-btn, .wp-block-button.lb-btn-light{ background:none !important; padding:0 !important; display:inline-block; }
.wp-block-button.lb-btn-light .wp-block-button__link{
  background:var(--eb-creme) !important; color:var(--eb-bleu-profond) !important;
  border:1px solid var(--eb-bleu-clair) !important;
}
.wp-block-button.lb-btn-light .wp-block-button__link:hover{ background:var(--eb-bleu-clair) !important; color:var(--eb-bleu-profond) !important; }
.lb-about .wp-block-button.lb-btn-light .wp-block-button__link{ border-color:transparent !important; }

/* ---------- Fonds de section : la classe explicite l'emporte ----------
   (.lb-parcours / .lb-manifeste imposaient un fond blanc même avec .lb-creme) */
.lb-section.lb-creme{ background:var(--eb-creme); }
.lb-section.lb-blanc{ background:var(--eb-blanc); }

/* ---------- Titres complémentaires ---------- */
.lb-manifeste h1{ font-size:clamp(2.4rem,4.2vw,3.9rem); margin:0 0 var(--lb-title-gap); }
.lb-text h3{ font-size:1.55rem; margin:1.75rem 0 .75rem; }
.lb-press .lb-wrap > h2{ font-size:clamp(2.2rem,4vw,3.4rem); margin:0 0 var(--lb-title-gap); }
.lb-press .lb-press-title{ font-size:1.08rem; }
.lb-ref-grid + *, .lb-parcours .lb-wrap > h2 + .lb-ref-grid{ margin-top:var(--lb-head-gap); }

/* ---------- Titres de section sans taille dédiée ---------- */
.lb-parcours .lb-wrap > h2,
.lb-herbier-text h2,
.lb-boutique-preview .lb-wrap > h2{ font-size:clamp(1.9rem,3vw,2.7rem); margin:0 0 var(--lb-title-gap); }

/* Deux sections blanches consécutives (accueil : Manifeste puis Parcours) :
   on ne cumule pas deux marges pleines. */
.lb-manifeste:not(.lb-bleu):not(.lb-creme) + .lb-parcours:not(.lb-creme){ padding-top:0; }

/* ---------- Utilitaires ---------- */
.lb-center{ text-align:center; justify-content:center; }
p.lb-link.lb-center{ display:flex; margin-top:var(--lb-head-gap); }
.lb-text .lb-wrap-wide{ max-width:1200px; }

/* ---------- Section bleue (dossier artistique, accueillir une expo) ---------- */
.lb-section.lb-bleu{ background:var(--eb-bleu-profond); }
.lb-bleu h2, .lb-bleu h3{ color:var(--eb-blanc); }
.lb-bleu p{ color:var(--eb-bleu-clair); }
.lb-bleu .lb-eyebrow{ color:var(--eb-bleu-clair); }
.lb-bleu .lb-eyebrow::before{ background:var(--eb-bleu-clair); }
.lb-bleu a{ color:var(--eb-blanc); }
.lb-bleu .wp-block-button__link{ background:var(--eb-creme) !important; color:var(--eb-bleu-profond) !important; }
.lb-bleu .wp-block-button__link:hover{ background:var(--eb-bleu-clair) !important; }
.lb-dossier .lb-wrap{ max-width:720px; text-align:center; }
.lb-dossier .lb-eyebrow{ justify-content:center; }
.lb-dossier h2{ font-size:clamp(2rem,3.5vw,3rem); margin:0 0 var(--lb-title-gap); }
.lb-dossier p{ font-size:1.05rem; line-height:1.75; margin:0 0 1.5rem; }
.lb-dossier .lb-dossier-note{ font-size:.85rem; margin:1.25rem 0 0; opacity:.85; }

/* ---------- Échos du Bleu : signature et source ---------- */
.lb-testimonial .lb-testimonial-author{
  margin-top:1.25rem; font-family:'DM Sans',sans-serif; font-size:.75rem; line-height:1.4;
  letter-spacing:.12em; text-transform:uppercase; color:var(--eb-texte-moyen);
  display:flex; align-items:center; gap:.6rem;
}
.lb-testimonial .lb-testimonial-author::before{ content:''; width:1.5rem; height:1px; background:var(--eb-bleu-clair); flex:none; }
.lb-testimonial-source{ text-align:center; font-size:.85rem; color:var(--eb-texte-leger); margin-top:var(--lb-head-gap) !important; }
.lb-testimonial-source a{ color:var(--eb-bleu-profond); }

/* ---------- Presse : cartes (Espace Pro) ---------- */
.lb-press-intro{ max-width:62ch; font-size:1.05rem; line-height:1.75; }
.lb-press h3.lb-press-cat{
  font-family:'DM Sans',sans-serif; font-size:.78rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  color:var(--eb-bleu-moyen); margin:var(--lb-head-gap) 0 1rem; padding-bottom:.75rem; border-bottom:1px solid var(--eb-creme-sombre);
}
.lb-press-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--lb-gap); }
.lb-press-card{
  background:var(--eb-creme); border-top:3px solid var(--eb-bleu-profond); padding:var(--lb-card-pad);
  display:flex; flex-direction:column;
}
.lb-press-media{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.55rem; line-height:1.15; color:var(--eb-bleu-profond); margin:0 0 .35rem !important; }
.lb-press-meta{ font-size:.7rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--eb-bleu-moyen); margin:0 0 1rem !important; }
.lb-home .lb-press-title{ font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:500; line-height:1.45; color:var(--eb-texte-fonce); margin:0 0 .75rem; letter-spacing:0; }
.lb-press-summary{ font-size:.92rem; line-height:1.65; margin:0 0 1.5rem !important; flex:1; }
.lb-press-btn{
  align-self:flex-start; font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase;
  color:var(--eb-bleu-profond) !important; text-decoration:none !important; border:1px solid var(--eb-bleu-profond);
  padding:.75rem 1.2rem; transition:background .2s ease,color .2s ease;
}
.lb-press-btn::after{ content:' ↗'; }
.lb-press-btn:hover{ background:var(--eb-bleu-profond); color:var(--eb-blanc) !important; }

/* ---------- Presse : version courte (page L'Artiste) ---------- */
.lb-press-mini{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--lb-gap); margin-top:var(--lb-head-gap); }
.lb-press-mini-card{
  display:flex; flex-direction:column; gap:.5rem; padding:1.5rem 1.35rem; background:var(--eb-creme);
  border-top:3px solid var(--eb-bleu-profond); text-decoration:none !important; transition:background .25s ease,transform .25s ease;
}
.lb-press-mini-card:hover{ background:var(--eb-bleu-pale); transform:translateY(-3px); }
.lb-press-mini-card .lb-press-media{ font-size:1.3rem; }
.lb-press-mini-card .lb-press-title{ font-size:.9rem; line-height:1.5; color:var(--eb-texte-fonce); flex:1; }
.lb-press-mini-card .lb-press-meta{ margin:0 !important; font-size:.66rem; }

/* ---------- Interview radio (Vanakkam) ---------- */
.lb-audio-feature{
  display:block; background:var(--eb-bleu-pale); border-left:3px solid var(--eb-bleu-profond);
  padding:clamp(1.5rem,3.5vw,2.75rem); scroll-margin-top:110px;
}
.lb-home .lb-audio-feature h2.lb-audio-media{ font-size:clamp(1.9rem,3vw,2.6rem); margin:0 0 .35rem; }
.lb-audio-feature .lb-audio-show{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.45rem; font-style:italic; color:var(--eb-bleu-moyen); margin:0; }
.lb-audio-feature .lb-audio-show strong{ font-weight:400; }
.lb-audio-feature .lb-audio-subject{ font-size:1.02rem; color:var(--eb-texte-fonce); margin:.35rem 0 .15rem; }
.lb-audio-feature .lb-audio-subject strong{ font-weight:500; }
.lb-audio-feature .lb-audio-date{ font-size:.85rem; color:var(--eb-texte-leger); margin:0 0 1rem; }
.lb-audio-feature > p:not([class]){ max-width:62ch; font-size:1.02rem; line-height:1.75; margin:0 0 1.25rem; }
.lb-audio-feature .wp-block-audio{ margin:0 0 1.25rem; }
.lb-audio-feature .wp-block-audio audio{ width:100%; min-width:0; display:block; }
.lb-audio-feature .wp-block-audio figcaption{ font-size:.85rem; font-style:italic; color:var(--eb-texte-moyen); text-align:left; margin:.6rem 0 0; }
#presse{ scroll-margin-top:90px; }

/* ---------- Références (Espace Pro) ---------- */
.lb-ref-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.25rem,3vw,2.5rem); margin-top:var(--lb-head-gap); }
.lb-ref-grid h3{ font-size:1.5rem; margin:0 0 .6rem; }
.lb-ref-grid p{ font-size:.95rem; line-height:1.7; margin:0 0 1rem; }

/* ---------- Le Songe Bleu (Projets & Expositions) ---------- */
.lb-expo-feature{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:start; margin-top:.5rem; }
.lb-expo-facts{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.35rem !important; line-height:1.4 !important; color:var(--eb-bleu-moyen); font-style:italic; }
.lb-expo-visual{ margin:0; }
.lb-expo-visual img{ width:100%; aspect-ratio:7/5; object-fit:cover; display:block; }
.lb-expo-visual figcaption{ font-size:.82rem; color:var(--eb-texte-leger); margin-top:.6rem; }

/* ---------- Les mots des visiteurs (livre d'or) ---------- */
.lb-visitors .lb-wrap > h2{ font-size:clamp(2rem,3vw,3rem); margin:0 0 var(--lb-title-gap); }
.lb-visitors-intro{ max-width:62ch; font-size:1.02rem; line-height:1.75; }
.lb-visitors-lead{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; margin:var(--lb-head-gap) 0 var(--lb-gap); }
.lb-quote{ margin:0; background:var(--eb-blanc); border:1px solid var(--eb-creme-sombre); padding:var(--lb-card-pad); display:flex; flex-direction:column; justify-content:space-between; }
.lb-quote blockquote{ margin:0; padding:0; border:0; }
.lb-quote blockquote p{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.2rem; line-height:1.5; color:var(--eb-bleu-profond); margin:0; }
.lb-quote figcaption{
  margin-top:1.1rem; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--eb-texte-moyen);
  display:flex; align-items:center; gap:.6rem;
}
.lb-quote figcaption::before{ content:''; width:1.5rem; height:1px; background:var(--eb-bleu-clair); flex:none; }
.lb-quote--lead{ background:transparent; border:0; padding:0; }
.lb-quote--lead blockquote p{ font-size:clamp(1.35rem,2.1vw,1.75rem); line-height:1.45; }
.lb-guestbook-pages{ display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.lb-guestbook-page{ margin:0; overflow:hidden; aspect-ratio:4/5; background:var(--eb-creme-sombre); }
.lb-guestbook-page img{ width:100%; height:100%; object-fit:cover; display:block; }
.lb-guestbook-page:first-child{ transform:rotate(-1.2deg); }
.lb-guestbook-page:last-child{ transform:rotate(1deg) translateY(.75rem); }
.lb-quote-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--lb-gap); }

/* ---------- Galerie Œuvres ---------- */
.lb-gallery-nav{ display:flex; flex-wrap:wrap; gap:.6rem; }
.lb-gallery-nav a{
  font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
  color:var(--eb-bleu-profond); border:1px solid var(--eb-bleu-clair); padding:.6rem 1rem; transition:background .2s ease;
}
.lb-gallery-nav a:hover{ background:var(--eb-bleu-pale); }
.lb-gallery-section{ scroll-margin-top:90px; }
.lb-gallery-section .lb-wrap > h2{ font-size:clamp(1.9rem,3vw,2.7rem); margin:0 0 var(--lb-title-gap); }
.lb-gallery-intro{ max-width:62ch; font-size:1.02rem; line-height:1.75; }
.lb-gallery-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2vw,1.5rem) var(--lb-gap);
  margin-top:var(--lb-head-gap); align-items:start;
  --lb-tile-h:clamp(260px,30vw,430px);
}
.lb-gallery-grid .lb-g-item{ margin:0; min-width:0; }
.lb-gallery-grid .lb-g-item img{
  width:100% !important; height:var(--lb-tile-h) !important; object-fit:cover; object-position:50% 50%; display:block;
  background:var(--eb-creme-sombre);
}
.lb-gallery-grid .lb-g-wide{ grid-column:span 2; }
.lb-gallery-grid figcaption{ margin:.7rem 0 0; font-size:.8rem; line-height:1.5; color:var(--eb-texte-leger); text-align:left; }
.lb-gallery-grid figcaption strong{ display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:1.12rem; font-weight:400; color:var(--eb-bleu-profond); }

/* ---------- Responsive (composants de la passe finale) ---------- */
@media(max-width:1100px){
  .lb-press-mini{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px){
  .lb-press-grid, .lb-quote-grid{ grid-template-columns:repeat(2,1fr); }
  .lb-visitors-lead{ grid-template-columns:1fr; }
  .lb-expo-feature{ grid-template-columns:1fr; }
  .lb-gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-flow:row dense; --lb-tile-h:clamp(220px,42vw,380px); }
}
@media(max-width:768px){
  .lb-hero-signature img{ object-position:50% 50%; }
  .lb-hero:has(.lb-hero-signature) .lb-hero-img{ aspect-ratio:1/1; max-height:420px; }
  .lb-hero--portrait .lb-hero-img{ aspect-ratio:4/5; max-height:none; max-width:none; justify-self:stretch; }
  .lb-hero--compact .lb-hero-img{ height:auto; }
  .lb-card-img{ aspect-ratio:4/3; max-height:none; }
  .lb-press-grid, .lb-quote-grid, .lb-ref-grid, .lb-press-mini{ grid-template-columns:1fr; }
  .lb-gallery-grid{ --lb-tile-h:clamp(170px,46vw,300px); gap:1rem .75rem; }
  .lb-gallery-grid figcaption{ font-size:.74rem; }
  .lb-gallery-grid figcaption strong{ font-size:1rem; }
  .lb-guestbook-page:first-child, .lb-guestbook-page:last-child{ transform:none; }
}

/* Sur-titres : taille fixe même dans les blocs texte (.lb-text p l'agrandissait) */
.lb-home p.lb-eyebrow{ font-size:.72rem; line-height:1.4; margin:0 0 var(--lb-eyebrow-gap); }
.lb-gallery-grid figcaption br{ display:none; }
.lb-gallery-grid figcaption strong{ margin-bottom:.15rem; }

/* Boutons Gutenberg : un bloc propre, même quand le libellé passe sur deux lignes */
.wp-block-button .wp-block-button__link{ display:inline-block; text-align:center; line-height:1.4 !important; }
@media(max-width:768px){
  .lb-home .wp-block-buttons{ flex-direction:column; align-items:stretch; }
  .lb-home .wp-block-buttons .wp-block-button{ width:100%; }
  .lb-home .wp-block-button .wp-block-button__link{ display:block; width:100%; }
}
