/* Ouverture Mariages uniquement. Le reste du site conserve ses styles. */
.wedding-opening {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
  padding-top: clamp(60px, 6vw, 100px);
  padding-bottom: 24px;
}
.wedding-opening-copy { min-width: 0; }
.wedding-opening .wedding-opening-title {
  font-size: clamp(38px, 3.7vw, 58px);
  line-height: 1.08;
  margin: 0 0 28px;
}
.wedding-opening-copy p {
  max-width: 560px;
  margin: 0;
  color:var(--text-secondary-on-dark);
  font-size: 16px;
  line-height: 1.85;
}
.wedding-opening-photo { margin: 0; min-width: 0; }
.wedding-opening-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
/* Mobile et tablettes étroites : texte intégral puis photo sans recadrage. */
@media (max-width: 760px) {
  .wedding-opening {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    padding-top: 48px;
    padding-bottom: 0;
  }
  .wedding-opening .wedding-opening-title {
    font-size: clamp(34px, 8.7vw, 46px);
    margin-bottom: 24px;
  }
  .wedding-opening-copy p { font-size: 16px; line-height: 1.8; max-width: none; }
}

/* Composition éditoriale : styles limités à la page Mariages et sa variante B. */
.wedding-accompaniment {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  grid-template-areas: "photo music" "photo flow";
  column-gap: clamp(32px,5vw,80px); row-gap: 26px; align-items: start;
}
.wedding-accompaniment .wedding-music { grid-area: music; }
.wedding-accompaniment .wedding-flow { grid-area: flow; }
.wedding-accompaniment figure { grid-area: photo; margin: 0; align-self: center; min-width: 0; }
.wedding-accompaniment img { display:block; width:100%; height:auto; border-radius:5px; }
.wedding-accompaniment p { margin:0; font-size:16px; line-height:1.85; color:var(--text-secondary-on-dark); }
.wedding-offer h2 { max-width:800px; margin:0 0 38px; }
.wedding-offer-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); }
.wedding-offer-copy p { margin:0 0 24px; font-size:16px; line-height:1.85; color:var(--text-secondary-on-light); }
.wedding-offer-photos { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr); gap:clamp(28px,5vw,80px); align-items:center; margin-top:26px; }
.wedding-offer-photos figure { margin:0; min-width:0; }
.wedding-offer-photos img { display:block; width:100%; height:auto; border-radius:5px; }
.wedding-offer-photos figure:nth-child(2) { justify-self:center; width:100%; max-width:330px; }
.wedding-proof-gallery { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start; }
.wedding-proof-column { display:flex; flex-direction:column; gap:40px; min-width:0; }
.wedding-proof-gallery button { display:block; width:100%; margin:0; }
.wedding-proof-gallery img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; filter:none; }
.wedding-proof-gallery .gallery-frame { height:auto; aspect-ratio:auto; }
.wedding-proof-gallery button>span { font-size:13px; line-height:1.6; color:var(--text-secondary-on-dark); padding-top:12px; }
@media(max-width:760px) {
  .wedding-accompaniment { grid-template-columns:minmax(0,1fr); grid-template-areas:"music" "photo" "flow"; row-gap:30px; }
  .wedding-accompaniment p,.wedding-offer-copy p { font-size:16px; line-height:1.8; }
  .wedding-offer h2 { font-size:clamp(34px,8.7vw,46px); margin-bottom:30px; }
  .wedding-offer-copy { grid-template-columns:minmax(0,1fr); gap:0; }
  .wedding-offer-photos { grid-template-columns:minmax(0,1fr); gap:30px; margin-top:10px; }
  .wedding-offer-photos figure:nth-child(2) { max-width:none; }
  .wedding-proof-gallery { grid-template-columns:minmax(0,1fr); gap:30px; }
  .wedding-proof-column { gap:30px; }
}

/* Deux idées distinctes dans l’ouverture, desktop et mobile. */
.wedding-opening-copy p + p { margin-top: 20px; }

/* Essai narratif : Antoine > services > plusieurs lieux > Abbaye.
   Limité à la version principale ; ancienne variante B conservée intacte. */
.wedding-restructured .wedding-story { padding-top:70px; }
.wedding-restructured .wedding-story .wedding-opening-title { margin:0 0 46px; font-size:clamp(38px,3.7vw,58px); }
.wedding-restructured .wedding-story .wedding-accompaniment { padding:0; }
.wedding-restructured .wedding-venues-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; align-items:start; }
.wedding-restructured .wedding-venues-grid img,
.wedding-restructured .wedding-abbey-gallery img { display:block; width:100%; height:auto; object-fit:contain; filter:none; }
.wedding-restructured .wedding-venues-grid button,
.wedding-restructured .wedding-abbey-gallery button { margin:0; min-width:0; }
.wedding-restructured .wedding-venues-grid button>span,
.wedding-restructured .wedding-abbey-gallery button>span { color:var(--text-secondary-on-dark); font-size:13px; line-height:1.6; padding-top:12px; }
.wedding-restructured .wedding-abbey { background:var(--color-dark); }
.wedding-restructured .wedding-abbey-heading { margin-bottom:34px; }
.wedding-restructured .wedding-abbey-heading .eyebrow { color:#c4af8e; }
.wedding-restructured .wedding-abbey h2 { margin:14px 0 0; }
.wedding-restructured .wedding-abbey-copy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(32px,5vw,80px); }
.wedding-restructured .wedding-abbey-copy p { margin:0; color:var(--text-secondary-on-dark); font-size:16px; line-height:1.85; }
.wedding-restructured .wedding-abbey-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:38px; }
.wedding-restructured .wedding-abbey-production { margin-top:32px; }
@media(max-width:760px) {
 .wedding-restructured .wedding-story { padding-top:48px; }
 .wedding-restructured .wedding-story .wedding-opening-title { font-size:clamp(34px,8.7vw,46px); margin-bottom:32px; }
 .wedding-restructured .wedding-venues-grid,
 .wedding-restructured .wedding-abbey-copy,
 .wedding-restructured .wedding-abbey-gallery { grid-template-columns:minmax(0,1fr); gap:30px; }
 .wedding-restructured .wedding-abbey h2 { font-size:clamp(34px,8.7vw,46px); }
 .wedding-restructured .wedding-abbey-copy p { line-height:1.8; }
}

/* Passe textes desktop : les sections mobiles précédentes sont conservées. */
.wedding-restructured .desktop-edition { display:none; }
@media(min-width:761px) {
 .wedding-restructured .mobile-preserved { display:none; }
 .wedding-restructured .desktop-edition { display:block; }
 .wedding-restructured .desktop-edition.wedding-story .wedding-opening-title { margin-bottom:24px; }
 .wedding-restructured .wedding-desktop-lead { max-width:640px; margin:0 0 44px; font-size:18px; line-height:1.8; color:var(--text-secondary-on-dark); }
 .wedding-restructured .desktop-edition .wedding-abbey-copy p+p { margin-top:24px; }
 .wedding-restructured .desktop-edition .wedding-abbey-heading h2 { max-width:1000px; }
}

/* Essai : première section desktop uniquement. */
@media(min-width:761px) {
 .wedding-restructured .desktop-edition.wedding-editorial-test { padding-top:64px; padding-bottom:76px; }
 .wedding-editorial-test .wedding-editorial-top { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,4vw,64px); align-items:center; }
 .wedding-restructured .desktop-edition.wedding-editorial-test .wedding-opening-title { font-size:clamp(34px,3.5vw,56px); margin:0 0 28px; }
 .wedding-restructured .wedding-editorial-test .wedding-desktop-lead { margin:0; max-width:390px; font-size:18px; line-height:1.7; }
 .wedding-editorial-test figure { margin:0; min-width:0; }
 .wedding-editorial-test figure img { display:block; width:100%; height:auto; border-radius:5px; }
 .wedding-editorial-test .wedding-editorial-reading { max-width:720px; margin:44px 0 0 10%; }
 .wedding-editorial-test .wedding-editorial-reading p { margin:0; font-size:16px; line-height:1.8; color:var(--text-secondary-on-dark); }
 .wedding-editorial-test .wedding-editorial-reading p+p { margin-top:22px; }
}

/* Ajustement du premier temps de lecture : titre en haut, section resserrée. */
@media(min-width:761px) {
 .wedding-restructured .desktop-edition.wedding-editorial-test { padding-top:48px; padding-bottom:56px; }
 .wedding-editorial-test .wedding-editorial-top { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; }
 .wedding-editorial-test .wedding-editorial-heading { padding-top:8px; }
 .wedding-restructured .desktop-edition.wedding-editorial-test .wedding-opening-title { margin-bottom:24px; }
 .wedding-editorial-test .wedding-editorial-reading { margin-top:32px; }
}

/* Essai photo centrale : première section desktop uniquement. */
@media(min-width:761px) {
 .wedding-restructured .desktop-edition.wedding-photo-led { padding-top:56px; padding-bottom:80px; }
 .wedding-restructured .desktop-edition.wedding-photo-led .wedding-opening-title { font-size:clamp(46px,5vw,76px); line-height:1.08; margin:0 0 22px; max-width:none; }
 .wedding-photo-led .wedding-opening-title br { display:none; }
 .wedding-photo-led .wedding-opening-title br::after { content:" "; }
 .wedding-restructured .wedding-photo-led .wedding-desktop-lead { max-width:700px; margin:0; font-size:17px; line-height:1.7; color:var(--text-secondary-on-dark); }
 .wedding-photo-led>figure { width:80%; margin:38px auto 0; }
 .wedding-photo-led>figure img { display:block; width:100%; height:auto; border-radius:5px; }
 .wedding-photo-led .wedding-chapter-reading { width:80%; margin:38px auto 0; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); column-gap:clamp(36px,5vw,80px); align-items:start; }
 .wedding-photo-led .wedding-chapter-reading p { margin:0; color:var(--text-secondary-on-dark); font-size:16px; line-height:1.85; }
 .wedding-photo-led .wedding-chapter-reading .wedding-flow { margin-top:30px; }
}

/* Première section desktop : titre centré, photo gauche, texte droite. */
@media(min-width:761px) {
 .wedding-restructured .desktop-edition.wedding-balanced { padding-top:54px; padding-bottom:72px; }
 .wedding-restructured .desktop-edition.wedding-balanced .wedding-opening-title { text-align:center; max-width:none; font-size:clamp(38px,4.3vw,66px); line-height:1.12; margin:0 0 48px; }
 .wedding-balanced-row { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,4vw,64px); align-items:center; }
 .wedding-balanced-row figure { margin:0; min-width:0; }
 .wedding-balanced-row img { display:block; width:100%; height:auto; border-radius:5px; }
 .wedding-balanced-copy { min-width:0; }
 .wedding-balanced-copy p { margin:0; color:var(--text-secondary-on-dark); font-size:16px; line-height:1.8; }
 .wedding-balanced-copy p+p { margin-top:24px; }
}

/* Équilibre de la première section sur desktop étroit, sans recadrage. */
@media(min-width:761px) and (max-width:1150px) {
 .wedding-restructured .desktop-edition.wedding-balanced { padding-left:5%; padding-right:5%; }
 .wedding-balanced-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
 .wedding-balanced-copy p { font-size:15px; line-height:1.7; }
 .wedding-balanced-copy p+p { margin-top:20px; }
}

/* Équilibre des desktops étroits : photographie intacte et texte lisible. */
@media(min-width:761px) and (max-width:1200px) {
 .wedding-restructured .desktop-edition.wedding-balanced { padding-left:5%; padding-right:5%; }
 .wedding-balanced .wedding-balanced-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
 .wedding-balanced .wedding-balanced-copy p { font-size:15px; line-height:1.6; }
 .wedding-balanced .wedding-balanced-copy p+p { margin-top:16px; }
}

/* Titre signature, première section desktop uniquement. */
@media(min-width:761px) {
 .wedding-restructured .desktop-edition.wedding-balanced .wedding-opening-title {
  text-align:left; font-size:clamp(50px,5.5vw,80px); line-height:1.04;
  max-width:none; margin:0 0 40px;
 }
}

/* Ouverture desktop : titre réduit et composition occupant le premier écran. */
@media(min-width:761px) {
 .wedding-restructured .desktop-edition.wedding-balanced {
  min-height:calc(100svh - 100px);
  display:flex; flex-direction:column; justify-content:center;
 }
 .wedding-restructured .desktop-edition.wedding-balanced .wedding-opening-title {
  font-size:clamp(38.72px,3.96vw,58.08px); line-height:1.06;
  margin:0 0 50px;
 }
}

/* Finition de position, première section desktop seulement. */
@media(min-width:761px) {
 .wedding-balanced .wedding-balanced-copy {
  transform:translateY(clamp(0px, calc((100vw - 1100px) * .04), 12px));
 }
}

/* Contrôle final desktop : équilibre du titre Abbaye et pieds des avis. */
@media(min-width:761px) {
 .wedding-restructured .wedding-abbey .desktop-edition h2 { text-wrap:balance; }
 .wedding-restructured .reviews-section .review-card { display:flex; flex-direction:column; }
 .wedding-restructured .reviews-section .review-card blockquote { flex:1; }
 .wedding-restructured .reviews-section .review-card figcaption { margin-top:auto; }
}

/* Première section mobile : titre, photo, trois paragraphes. */
@media(max-width:760px) {
 .wedding-restructured .wedding-mobile-opening { padding:38px 7% 52px; }
 .wedding-restructured .wedding-mobile-opening .wedding-opening-title {
  font-size:clamp(30px,8.2vw,40px); line-height:1.1; margin:0 0 26px;
  text-align:left;
 }
 .wedding-mobile-opening>figure { margin:0; }
 .wedding-mobile-opening>figure img { display:block; width:100%; height:auto; border-radius:5px; }
 .wedding-mobile-opening .wedding-mobile-copy { margin-top:28px; }
 .wedding-mobile-opening .wedding-mobile-copy p { margin:0; font-size:16px; line-height:1.8; color:var(--text-secondary-on-dark); }
 .wedding-mobile-opening .wedding-mobile-copy p+p { margin-top:28px; }
}

/* Une vision d’ensemble : deuxième section desktop uniquement. */
@media (min-width:761px) {
 .wedding-restructured .desktop-edition.wedding-overview { padding-top:80px; padding-bottom:90px; }
 .wedding-overview .wedding-overview-heading { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(32px,5vw,80px); align-items:start; }
 .wedding-overview h2 { margin:0; max-width:440px; font-size:clamp(38px,4.1vw,60px); line-height:1.08; text-wrap:balance; }
 .wedding-overview .wedding-overview-copy { max-width:650px; }
 .wedding-overview .wedding-overview-copy p { margin:0; font-size:16px; line-height:1.85; color:var(--text-secondary-on-light); }
 .wedding-overview .wedding-overview-copy p+p { margin-top:22px; }
 .wedding-overview .wedding-overview-images { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:clamp(28px,4vw,60px); align-items:start; margin-top:54px; }
 .wedding-overview figure { margin:0; min-width:0; }
 .wedding-overview img { display:block; width:100%; height:auto; border-radius:5px; }
 .wedding-overview .wedding-overview-ceremony { margin-top:clamp(56px,8vw,120px); }
}
@media (min-width:761px) and (max-width:1050px) {
 .wedding-overview .wedding-overview-heading { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; }
 .wedding-overview .wedding-overview-copy p { font-size:15px; line-height:1.75; }
}


/* Une vision d’ensemble mobile ; desktop validé, à préserver. */
@media (max-width:760px) {
 .wedding-restructured .wedding-overview-mobile { padding:48px 7% 52px; }
 .wedding-overview-mobile h2 { margin:0 0 28px; font-size:clamp(30px,8.2vw,40px); line-height:1.1; }
 .wedding-overview-mobile .wedding-overview-copy p { margin:0; color:var(--text-secondary-on-light); font-size:15.5px; line-height:1.75; }
 .wedding-overview-mobile .wedding-overview-copy p+p { margin-top:22px; }
 .wedding-overview-mobile .wedding-overview-images { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; margin-top:32px; }
 .wedding-overview-mobile figure { margin:0; min-width:0; }
 .wedding-overview-mobile img { display:block; width:100%; height:auto; border-radius:5px; }
}

/* Accès discret au portfolio, sans galerie intermédiaire. */
.wedding-restructured .wedding-portfolio-access { padding-top:38px; padding-bottom:38px; }
.wedding-portfolio-access .portfolio-link { display:table; margin:0 auto; padding:10px 0; color:var(--text-secondary-on-dark); font-size:14px; line-height:1.6; text-decoration:none; border-bottom:1px solid #726b60; }
.wedding-portfolio-access .portfolio-link:hover { color:var(--color-light); border-color:currentColor; }
.wedding-portfolio-access .portfolio-link:focus-visible { outline:2px solid #d0c7b9; outline-offset:7px; }

/* Abbaye : image et expertise réunies, desktop uniquement. */
@media(min-width:761px) {
 .wedding-abbey .wedding-abbey-editorial { display:grid; grid-template-columns:minmax(0,1.068fr) minmax(0,1.052fr); gap:clamp(30px,4vw,60px); width:94%; align-items:start; }
 .wedding-restructured .wedding-abbey-desktop-gallery { grid-template-columns:minmax(0,1fr); width:100%; max-width:none; gap:0; margin:0; }
 .wedding-abbey-desktop-gallery .gallery-frame { border-radius:5px; }
 .wedding-restructured .wedding-abbey-desktop-gallery img { width:100%; height:auto; object-fit:contain; }
 .wedding-abbey-editorial .wedding-abbey-expertise { margin-top:12px; }
 .wedding-abbey-editorial .wedding-abbey-heading { margin:0 0 32px; }
 .wedding-restructured .wedding-abbey-editorial .wedding-abbey-heading h2 { margin:0; font-size:clamp(32px,3.2vw,48px); line-height:1.12; text-wrap:balance; }
 .wedding-restructured .wedding-abbey-editorial .wedding-abbey-copy { display:block; }
 .wedding-abbey-editorial .wedding-abbey-copy>div { margin-top:21px; }
 .wedding-restructured .desktop-edition.wedding-abbey-editorial .wedding-abbey-copy p+p { margin-top:21px; }
}
@media(min-width:761px) and (max-width:1050px) {
 .wedding-abbey .wedding-abbey-editorial { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:26px; }
 .wedding-restructured .wedding-abbey-editorial .wedding-abbey-copy p { font-size:15px; line-height:1.75; }
}

/* Abbaye mobile uniquement. Composition desktop validée et verrouillée. */
@media(max-width:760px) {
 .wedding-restructured .wedding-abbey { padding:48px 7% 52px; }
 .wedding-restructured .wedding-abbey-mobile h2 { margin:0 0 28px; font-size:clamp(28px,7.7vw,37px); line-height:1.1; }
 .wedding-restructured .wedding-abbey-mobile .wedding-abbey-gallery { margin:0; display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
 .wedding-abbey-mobile .gallery-frame { border-radius:5px; }
 .wedding-restructured .wedding-abbey-mobile img { display:block; width:100%; height:auto; object-fit:contain; }
 .wedding-restructured .wedding-abbey-mobile .wedding-abbey-copy { display:block; margin-top:24px; }
 .wedding-restructured .wedding-abbey-mobile .wedding-abbey-copy p { margin:0; font-size:15px; line-height:1.7; }
 .wedding-restructured .wedding-abbey-mobile .wedding-abbey-copy p+p { margin-top:20px; }
}

/* Témoignages Mariages : finition desktop uniquement. */
@media(min-width:761px) {
 .wedding-restructured .reviews-section { padding-top:32px; }
 .wedding-restructured .reviews-section h2 { margin-bottom:20px; }
 .wedding-restructured .reviews-section .reviews-grid { margin-top:0; }
 .wedding-restructured .reviews-section .review-card figcaption strong { font-size:13px; }
 .wedding-restructured .reviews-section .review-card figcaption span { font-size:11.5px; line-height:1.6; color:var(--text-secondary-on-dark); }
}

/* Témoignages éditoriaux : desktop uniquement, mobile préservé. */
@media(min-width:761px) {
 .wedding-restructured .reviews-section .reviews-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(32px,4.5vw,68px); align-items:start; }
 .wedding-restructured .reviews-section .review-card { display:block; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
 .wedding-restructured .reviews-section .review-card .stars,
 .wedding-restructured .reviews-section .review-card figcaption span { display:none; }
 .wedding-restructured .reviews-section .review-card blockquote { margin:0 0 22px; font-size:18px; line-height:1.75; }
 .wedding-restructured .reviews-section .review-card figcaption { margin-top:0; }
 .wedding-restructured .reviews-section .review-card figcaption strong { font-size:13px; line-height:1.6; font-weight:400; color:var(--text-secondary-on-dark); }
}

/* Témoignages mobile : déclinaison éditoriale. Desktop validé et verrouillé le 29/10/2026. */
@media(max-width:760px) {
 .wedding-restructured .reviews-section h2 { font-size:clamp(30px,8.2vw,40px); line-height:1.1; margin-bottom:30px; }
 .wedding-restructured .reviews-section .reviews-grid { grid-template-columns:minmax(0,1fr); gap:40px; align-items:start; margin-top:0; }
 .wedding-restructured .reviews-section .review-card { display:block; min-width:0; height:auto; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
 .wedding-restructured .reviews-section .review-card .stars,
 .wedding-restructured .reviews-section .review-card figcaption span { display:none; }
 .wedding-restructured .reviews-section .review-card blockquote { margin:0 0 12px; font-size:18px; line-height:1.6; text-wrap:pretty; }
 .wedding-restructured .reviews-section .review-card figcaption { margin-top:0; }
 .wedding-restructured .reviews-section .review-card figcaption strong { font-size:13px; line-height:1.6; font-weight:400; color:var(--text-secondary-on-dark); }
}

/* Transition Abbaye → témoignages mobile : validée et verrouillée. */
@media(max-width:760px) {
 .wedding-restructured .reviews-section { padding-top:33px; }
}

/* Signature personnelle : desktop uniquement, contenu mobile conservé. */
.wedding-restructured .wedding-artist-signature { display:none; }
@media(min-width:761px) {
 .wedding-restructured .wedding-artist { padding-top:110px; padding-bottom:110px; column-gap:10%; }
 .wedding-restructured .wedding-artist-mobile-copy { display:none; }
 .wedding-restructured .wedding-artist-signature { display:block; min-width:0; }
 .wedding-restructured .wedding-artist-signature h2 { margin:0; font-size:clamp(36px,3.75vw,58px); line-height:1.12; }
 .wedding-restructured .wedding-artist-signature p { max-width:430px; margin:28px 0 0; font-size:17px; line-height:1.8; }
 .wedding-restructured .wedding-artist-signature .textlink { margin-top:20px; font-size:13px; }
}

/* Fin de page Mariages : coordonnées et liens fonctionnels. */
.wedding-restructured .wedding-functional-footer { flex-wrap:wrap; align-items:center; gap:20px 28px; padding:32px 7%; line-height:1.8; }

/* Passerelle discrète vers l’univers Événements. */
.wedding-restructured .wedding-events-link { margin:0; padding:48px 7%; text-align:center; }
.wedding-restructured .wedding-events-link a { display:inline-block; font-size:12px; line-height:1.8; color:var(--text-secondary-on-dark); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.wedding-restructured .wedding-events-link a:hover { color:var(--color-light); }
@media(max-width:760px) { .wedding-restructured .wedding-events-link { padding:38px 7%; } }

/* Signature mobile : titre, portrait, phrase et lien. Desktop conservé. */
@media(max-width:760px) {
 .wedding-restructured .wedding-artist { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:56px 7% 60px; }
 .wedding-restructured .wedding-artist-mobile-copy { display:none; }
 .wedding-restructured .wedding-artist-signature { display:contents; }
 .wedding-restructured .wedding-artist-signature h2 { order:0; margin:0 0 28px; font-size:clamp(30px,8.2vw,40px); line-height:1.12; }
 .wedding-restructured .wedding-artist>img { order:1; width:100%; height:auto; max-height:none; object-fit:contain; }
 .wedding-restructured .wedding-artist-signature p { order:2; max-width:none; margin:28px 0 0; font-size:16px; line-height:1.8; }
 .wedding-restructured .wedding-artist-signature .textlink { order:3; align-self:flex-start; margin-top:20px; font-size:13px; }
}
