/* ========================================================
   Marie Marchal — version 3 (structure recomposée)
   Chargée après sage.css et fleur.css : même palette, mêmes décors,
   composants propres à la v3 (préfixe .v3-).
   ======================================================== */

body.fleur.v3 .v3-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
body.fleur.v3 .v3-split--media { grid-template-columns: .9fr 1.1fr; }
@media (max-width: 900px) { body.fleur.v3 .v3-split, body.fleur.v3 .v3-split--media { grid-template-columns: 1fr; } }

/* ---------- 1. Ouverture ---------- */
body.fleur.v3 .v3-hero { background: linear-gradient(180deg, #fff 0%, var(--blush) 100%); padding: clamp(36px, 5vw, 72px) 0 clamp(80px, 9vw, 130px); overflow: hidden; }
body.fleur.v3 .v3-hero .wrap { position: relative; z-index: 2; }
body.fleur.v3 .v3-hero__grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: end; }
body.fleur.v3 .v3-hero__text { padding-bottom: clamp(24px, 4vw, 64px); }
body.fleur.v3 .v3-hero__text .pill { margin-bottom: 26px; }
body.fleur.v3 .v3-hero .display { font-size: clamp(2.6rem, 5.4vw, 5.4rem); line-height: 1.02; }
body.fleur.v3 .v3-hero__portrait { position: relative; margin: 0; justify-self: center; width: min(100%, 470px); }
body.fleur.v3 .v3-hero__portrait::before {
  content: ''; position: absolute; z-index: -1; left: 2%; right: 2%; top: 8%; bottom: 0;
  background: var(--blush-deep); border-radius: 999px 999px 0 0;
}
body.fleur.v3 .v3-hero__portrait::after {
  content: ''; position: absolute; z-index: -1; left: -4%; right: 8%; top: 3%; bottom: 3%;
  border: 1.5px solid var(--terra); opacity: .55; border-radius: 999px 999px 0 0;
}
body.fleur.v3 .v3-hero__portrait img { width: 100%; height: auto; display: block; }
@media (max-width: 900px) {
  body.fleur.v3 .v3-hero__grid { grid-template-columns: 1fr; }
  body.fleur.v3 .v3-hero__portrait { width: min(80%, 380px); }
}

/* fiche pratique : bandeau blanc qui chevauche le bas de l'ouverture */
body.fleur.v3 .v3-fiche {
  margin-top: -6px; position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px;
  background: #fff; border-radius: 999px; padding: 14px 14px 14px 30px;
  box-shadow: 0 1px 2px rgba(46,59,42,.05), 0 24px 50px -28px rgba(46,59,42,.35);
}
body.fleur.v3 .v3-fiche__item { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--ink); font-size: .9375rem; }
body.fleur.v3 .v3-fiche__ico { width: 26px; height: 26px; border-radius: 50%; background: var(--blush); color: var(--terra); display: grid; place-items: center; }
body.fleur.v3 .v3-fiche__ico svg { width: 14px; height: 14px; }
body.fleur.v3 .v3-fiche__price strong { font-family: var(--serif); font-size: 1.9rem; font-weight: 500; color: var(--terra); line-height: 1; }
body.fleur.v3 .v3-fiche__price span { color: var(--ink-muted); font-weight: 400; }
body.fleur.v3 .v3-fiche__go { margin-left: auto; display: inline-flex; align-items: center; gap: 12px; background: var(--terra); color: #fff; padding: 10px 10px 10px 22px; border-radius: 999px; font-weight: 700; }
body.fleur.v3 .v3-fiche__go svg { width: 30px; height: 30px; padding: 8px; border-radius: 50%; background: rgba(255,255,255,.2); box-sizing: border-box; transition: transform .3s; }
body.fleur.v3 .v3-fiche__go:hover { background: #8C4C3D; }
body.fleur.v3 .v3-fiche__go:hover svg { transform: translateX(3px); }
@media (max-width: 900px) {
  body.fleur.v3 .v3-fiche { border-radius: var(--radius-lg); padding: 22px; flex-direction: column; align-items: flex-start; }
  body.fleur.v3 .v3-fiche__go { margin-left: 0; }
}

/* ---------- 2. Se reconnaître ---------- */
body.fleur.v3 .v3-motifs .pill { margin-bottom: 20px; }
body.fleur.v3 .v3-motifs .lede { margin-top: 18px; }
body.fleur.v3 .v3-motifs .motifs { justify-content: flex-start; margin-left: 0; }
body.fleur.v3 .v3-card-photo { background: #fff; border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 1px 2px rgba(46,59,42,.04), 0 30px 60px -36px rgba(46,59,42,.3); }
body.fleur.v3 .v3-card-photo__img { aspect-ratio: 4/3; }
body.fleur.v3 .v3-card-photo__img img { width: 100%; height: 100%; object-fit: cover; }
body.fleur.v3 .v3-card-photo__body { padding: 26px 34px 34px; display: flex; flex-direction: column; gap: 12px; }
body.fleur.v3 .v3-card-photo__body .pill { align-self: flex-start; }
body.fleur.v3 .v3-card-photo__body h3 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight: 400; line-height: 1.12; }
body.fleur.v3 .v3-card-photo__body h3 em { font-style: italic; color: var(--terra); font-weight: 500; }
body.fleur.v3 .v3-card-photo__body p { margin: 0; color: var(--ink-soft); line-height: 1.7; }

/* ---------- 3. L'approche intégrative : composer son bouquet ---------- */
body.fleur.v3 .v3-approche__head { display: grid; grid-template-columns: 1fr 1fr; gap: 18px clamp(32px, 5vw, 80px); align-items: end; margin-bottom: clamp(28px, 3vw, 44px); }
body.fleur.v3 .v3-approche__head > .pill { grid-column: 1 / -1; justify-self: start; }
@media (max-width: 900px) { body.fleur.v3 .v3-approche__head { grid-template-columns: 1fr; } }

/* Le bouquet. Par défaut (sans JS, mobile, mouvement réduit) : tout à la suite. */
body.fleur.v3 .v3-bq { --navh: var(--fl-navh, 96px); }
body.fleur.v3 .v3-bq__stage { display: grid; grid-template-columns: 1fr; gap: 24px; }
body.fleur.v3 .v3-bq__steps { display: none; }
body.fleur.v3 .v3-bq__scene { max-width: 320px; margin: 0 auto; }
body.fleur.v3 .v3-bq__scene > svg { width: 100%; height: auto; display: block; overflow: visible; }
body.fleur.v3 .v3-bq__hint { display: none; }
body.fleur.v3 .v3-bq__panel { display: grid; gap: 16px; }
body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__stem, body.fleur.v3 .v3-bq.is-static .v3-bq__stem { --on: 1; }

/* scène au trait : boutons fermés ; une approche atteinte éclot */
body.fleur.v3 .v3-bq__stem { --c2: var(--sage-300); --c1: transparent; }
body.fleur.v3 .v3-bq__stem.is-terra.is-on, body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__stem.is-terra { --c2: var(--terra); --c1: var(--blush-deep); }
body.fleur.v3 .v3-bq__stem.is-sage.is-on,  body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__stem.is-sage  { --c2: var(--sage-700); --c1: var(--sage-100); }
body.fleur.v3 .v3-bq__stem.is-gold.is-on,  body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__stem.is-gold  { --c2: #9A6E22; --c1: var(--gold-soft); }
body.fleur.v3 .v3-bq__stem.is-blue.is-on,  body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__stem.is-blue  { --c2: #7A5F8A; --c1: color-mix(in srgb, var(--eucalyptus) 60%, #fff); }
body.fleur.v3 .v3-bq__tige { fill: none; stroke: var(--c2); stroke-width: 1.6; stroke-linecap: round; transition: stroke .5s; }
body.fleur.v3 .v3-bq__flower { transform: scale(.25); opacity: 0; transition: transform .9s cubic-bezier(.2,1.2,.3,1), opacity .5s; }
body.fleur.v3 .v3-bq__stem.is-on .v3-bq__flower, body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__flower { transform: scale(1) rotate(8deg); opacity: 1; }
body.fleur.v3 .v3-bq__bud { transition: opacity .4s; }
body.fleur.v3 .v3-bq__stem.is-on .v3-bq__bud, body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__bud { opacity: 0; }
body.fleur.v3 .v3-bq__leaves *, body.fleur.v3 .v3-bq__bud * { stroke: var(--c2); }
body.fleur.v3 .v3-bq__ruban path { fill: none; stroke: var(--terra); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 260; stroke-dashoffset: 260; transition: stroke-dashoffset 1.2s ease .2s; }
body.fleur.v3 .v3-bq.is-lie .v3-bq__ruban path, body.fleur.v3 .v3-bq:not(.is-js) .v3-bq__ruban path { stroke-dashoffset: 0; }

/* cartes */
body.fleur.v3 .v3-bq__card { background: #fff; border-radius: var(--radius-lg); padding: 24px 26px; box-shadow: 0 1px 2px rgba(46,59,42,.04), 0 18px 40px -26px rgba(46,59,42,.3); }
body.fleur.v3 .v3-bq__appr { display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: start; }
body.fleur.v3 .v3-bq__img { aspect-ratio: 3/4; border-radius: 999px 999px var(--radius) var(--radius); overflow: hidden; }
body.fleur.v3 .v3-bq__img img { width: 100%; height: 100%; object-fit: cover; }
body.fleur.v3 .v3-bq__label { display: inline-block; font-size: .8125rem; font-weight: 700; color: var(--terra); margin-bottom: 4px; }
body.fleur.v3 .v3-bq__card h3 { font-size: 1.55rem; font-weight: 500; margin-bottom: 8px; }
body.fleur.v3 .v3-bq__card p { color: var(--ink-soft); line-height: 1.68; margin: 0 0 .6em; font-size: .9688rem; }
body.fleur.v3 .v3-bq__card p:last-child { margin-bottom: 0; }
body.fleur.v3 .v3-bq__center { background: var(--terra); }
body.fleur.v3 .v3-bq__center h3 { color: #fff; font-style: italic; font-size: 2rem; }
body.fleur.v3 .v3-bq__center p { color: rgba(255,255,255,.92); font-size: 1.0625rem; }
body.fleur.v3 .v3-bq__mix { display: inline-block; margin: 0 0 12px !important; font-weight: 700; font-size: .8125rem !important; padding: 4px 12px; border-radius: 99px; background: rgba(255,255,255,.18); color: #fff !important; }
@media (max-width: 480px) { body.fleur.v3 .v3-bq__appr { grid-template-columns: 1fr; } body.fleur.v3 .v3-bq__img { aspect-ratio: 16/9; } }

/* Mode épinglé (écran large) : la scène tient l'écran, le défilement la fait avancer */
body.fleur.v3 .v3-bq.is-pinned .v3-bq__track { height: calc((var(--n) + 1) * 62vh + 100vh - var(--navh)); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage {
  position: sticky; top: var(--navh); height: calc(100vh - var(--navh));
  grid-template-columns: 190px minmax(0, .75fr) minmax(0, 1.25fr); grid-template-rows: minmax(0, 1fr); align-items: center; gap: clamp(20px, 3vw, 48px);
  padding: clamp(16px, 3vh, 32px) 0;
}
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage > * { min-height: 0; max-height: 100%; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__steps { display: flex; flex-direction: column; gap: 6px; list-style: none; margin: 0; padding: 0 0 0 18px; position: relative; }
body.fleur.v3 .v3-bq__bar { position: absolute; left: 0; top: 6px; bottom: 6px; width: 2px; background: var(--sage-100); border-radius: 2px; }
body.fleur.v3 .v3-bq__bar span { position: absolute; inset: 0; background: var(--terra); transform-origin: top; transform: scaleY(0); border-radius: 2px; }
body.fleur.v3 .v3-bq__step { display: flex; align-items: center; gap: 10px; text-align: left; font-family: var(--sans); font-size: .9375rem; font-weight: 600; color: var(--ink-muted); padding: 7px 0; transition: color .3s; }
body.fleur.v3 .v3-bq__step i { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--sage-300); flex: none; transition: background .3s, border-color .3s, transform .3s; }
body.fleur.v3 .v3-bq__step:hover { color: var(--ink); }
body.fleur.v3 .v3-bq__step.is-done { color: var(--ink-soft); }
body.fleur.v3 .v3-bq__step.is-done i { background: var(--sage-300); }
body.fleur.v3 .v3-bq__step.is-current { color: var(--ink); font-weight: 800; }
body.fleur.v3 .v3-bq__step.is-current i { background: var(--terra); border-color: var(--terra); transform: scale(1.3); }
body.fleur.v3 .v3-bq__step.is-all { margin-bottom: 8px; font-family: var(--serif); font-style: italic; font-size: 1.15rem; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__scene { max-width: none; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__scene > svg { height: min(58vh, 540px); width: auto; max-width: 100%; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__hint { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: .875rem; font-weight: 700; color: var(--terra); transition: opacity .4s; }
body.fleur.v3 .v3-bq__hint svg { width: 18px; height: 18px; animation: v3-hint 1.6s ease-in-out infinite; }
@keyframes v3-hint { 50% { transform: translateY(4px); } }
body.fleur.v3 .v3-bq.is-pinned.is-started .v3-bq__hint { opacity: 0; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__panel { position: relative; display: grid; grid-template-rows: minmax(0, 1fr); align-items: center; height: 100%; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__card { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .5s, transform .6s cubic-bezier(.2,.7,.2,1), visibility 0s .5s; max-height: calc(100vh - var(--navh) - 48px); overflow: auto; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__card.is-shown { opacity: 1; visibility: visible; transform: none; transition: opacity .5s, transform .6s cubic-bezier(.2,.7,.2,1), visibility 0s; }
/* carte horizontale : photo en arche à gauche sur toute la hauteur, texte à droite */
body.fleur.v3 .v3-bq.is-pinned .v3-bq__appr { grid-template-columns: minmax(130px, 36%) 1fr; align-items: stretch; padding: 16px 24px 16px 16px; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__img { aspect-ratio: auto; height: 100%; min-height: 230px; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__txt { align-self: center; padding: 6px 0; }
@media (max-height: 760px) {
  body.fleur.v3 .v3-bq.is-pinned .v3-bq__card p { font-size: .9063rem; line-height: 1.6; }
  body.fleur.v3 .v3-bq.is-pinned .v3-bq__card h3 { font-size: 1.35rem; }
  body.fleur.v3 .v3-bq.is-pinned .v3-bq__img { min-height: 200px; }
}
/* pendant la séquence, le bouton flottant s'efface pour ne pas couvrir le texte */
body.fleur.fl-bq-active .sticky-cta, body.fleur.fl-cta-off .sticky-cta { opacity: 0; pointer-events: none; transform: translateY(12px); }
body.fleur .sticky-cta { transition: opacity .3s, transform .3s; }
@media (prefers-reduced-motion: reduce) {
  body.fleur.v3 .v3-bq__flower, body.fleur.v3 .v3-bq__ruban path, body.fleur.v3 .v3-bq__card, body.fleur.v3 .v3-bq__hint svg { transition: none !important; animation: none !important; }
}
body.fleur.v3 .v3-deonto { margin-top: 36px; font-size: 14px; color: var(--ink-muted); max-width: 62ch; }

/* ---------- 5. Offres : deux panneaux photo ---------- */
body.fleur.v3 .v3-offres__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 2.4vw, 32px); }
@media (max-width: 760px) { body.fleur.v3 .v3-offres__grid { grid-template-columns: 1fr; } }
body.fleur.v3 .v3-offre { position: relative; display: block; min-height: 460px; border-radius: var(--radius-xl); overflow: hidden; color: #fff; isolation: isolate; }
body.fleur.v3 .v3-offre img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
body.fleur.v3 .v3-offre::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(46,59,42,0) 18%, rgba(46,59,42,.55) 45%, rgba(46,59,42,.92) 100%); }
body.fleur.v3 .v3-offre:hover img { transform: scale(1.05); }
body.fleur.v3 .v3-offre__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 10px; }
body.fleur.v3 .v3-offre__body h3 { color: #fff; font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight: 500; }
body.fleur.v3 .v3-offre__body p { color: rgba(255,255,255,.9); margin: 0; line-height: 1.65; max-width: 46ch; }
body.fleur.v3 .v3-offre__go { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--gold-soft); margin-top: 6px; }
body.fleur.v3 .v3-offre__go svg { width: 28px; height: 28px; padding: 7px; border-radius: 50%; background: rgba(255,255,255,.18); box-sizing: border-box; transition: transform .3s; }
body.fleur.v3 .v3-offre:hover .v3-offre__go svg { transform: translateX(3px); background: var(--gold); color: var(--ink); }

/* ---------- 6. Le lieu ---------- */
body.fleur.v3 .v3-lieu .media-stack { justify-self: start; }
body.fleur.v3 .v3-lieu .sec-tint .media-stack .media-frame, body.fleur.v3 .v3-lieu .media-frame { background: #fff; }
body.fleur.v3 .v3-lieu .pill { margin-bottom: 20px; }
body.fleur.v3 .v3-lieu h2 { margin-bottom: 22px; }
body.fleur.v3 .v3-lieu__name { font-size: 1.25rem; font-weight: 700; margin: 0; }
body.fleur.v3 .v3-lieu__addr { color: var(--ink-soft); margin: 4px 0 18px; }
body.fleur.v3 .v3-lieu__park { display: flex; gap: 10px; align-items: center; color: var(--ink-soft); font-size: .9375rem; margin-bottom: 26px; }
body.fleur.v3 .v3-lieu__park svg { width: 18px; height: 18px; color: var(--terra); }
body.fleur.v3 .v3-visio { margin-top: 28px; display: grid; grid-template-columns: 48px 1fr 32px; gap: 16px; align-items: center; background: #fff; border-radius: var(--radius-lg); padding: 18px 20px; max-width: 520px;
  box-shadow: 0 14px 34px -22px rgba(46,59,42,.3); transition: transform .4s cubic-bezier(.2,.7,.2,1); }
body.fleur.v3 .v3-visio:hover { transform: translateY(-3px); }
body.fleur.v3 .v3-visio__ico { width: 48px; height: 48px; border-radius: 50%; background: var(--sage-50); color: var(--sage-700); display: grid; place-items: center; }
body.fleur.v3 .v3-visio__ico svg { width: 24px; height: 24px; }
body.fleur.v3 .v3-visio strong { display: block; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
body.fleur.v3 .v3-visio span span { font-size: .875rem; color: var(--ink-soft); }
body.fleur.v3 .v3-visio > svg { width: 32px; height: 32px; padding: 9px; border-radius: 50%; background: var(--terra); color: #fff; box-sizing: border-box; }

/* ---------- 8. Le premier pas ---------- */
body.fleur.v3 .v3-pas { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 64px); background: var(--sage-50); border-radius: var(--radius-xl); padding: clamp(28px, 4vw, 56px); position: relative; overflow: hidden; }
body.fleur.v3 .v3-pas::before { content: ''; position: absolute; width: 220px; height: 300px; left: -60px; bottom: -120px; border: 1.5px solid var(--sage-300); border-radius: 999px 999px 0 0; }
body.fleur.v3 .v3-pas > * { position: relative; }
body.fleur.v3 .v3-pas__intro .pill { margin-bottom: 18px; }
body.fleur.v3 .v3-pas__intro h2 { margin-bottom: 16px; }
body.fleur.v3 .v3-pas__intro p { color: var(--ink-soft); max-width: 44ch; }
body.fleur.v3 .v3-pas__img { margin-top: 26px; aspect-ratio: 4/3; border-radius: 999px 999px var(--radius-lg) var(--radius-lg); overflow: hidden; max-width: 420px; }
body.fleur.v3 .v3-pas__img img { width: 100%; height: 100%; object-fit: cover; }
body.fleur.v3 .v3-pas__actions { display: flex; flex-direction: column; gap: 16px; }
body.fleur.v3 .v3-pas__h { font-size: clamp(1.75rem, 2.6vw, 2.25rem); font-weight: 400; }
body.fleur.v3 .v3-pas__h em { font-style: italic; color: var(--terra); font-weight: 500; }
body.fleur.v3 .v3-pas__sub { color: var(--ink-soft); margin: -6px 0 6px; }
body.fleur.v3 .v3-pas .contact-action { padding: 26px 28px; }
body.fleur.v3 .v3-pas .contact-action .ca-go svg { width: 14px; height: 14px; }
body.fleur.v3 .v3-coord { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 6px; }
body.fleur.v3 .v3-coord a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--ink); overflow-wrap: anywhere; }
body.fleur.v3 .v3-coord svg { width: 20px; height: 20px; color: var(--terra); flex: none; }
body.fleur.v3 .v3-coord a:hover { color: var(--terra); }
body.fleur.v3 .v3-tarif { font-size: .875rem; color: var(--ink-muted); margin: 0; }
body.fleur.v3 .v3-tarif a { color: var(--terra); font-weight: 700; border-bottom: 1px solid currentColor; }
@media (max-width: 900px) { body.fleur.v3 .v3-pas { grid-template-columns: 1fr; } }

/* ========================================================
   Proportions laptop (retour Thomas du 11/10/2026 : « des blocs trop hauts
   et qui sont de fait croppés »). Les hauteurs suivent la hauteur d'écran,
   les cadres suivent le format réel des photos.
   ======================================================== */
body.fleur.v3 .v3-hero { padding-top: clamp(20px, 4vh, 72px); padding-bottom: clamp(36px, 7vh, 120px); }
body.fleur.v3 .v3-hero .display { font-size: clamp(2.4rem, min(5.2vw, 8.6vh), 5.4rem); }
body.fleur.v3 .v3-hero__text .pill { margin-bottom: clamp(14px, 2.4vh, 26px); }
body.fleur.v3 .v3-hero .hero-lede { margin-top: clamp(14px, 2.6vh, 28px); }
body.fleur.v3 .v3-hero .hero-cta { margin-top: clamp(16px, 3vh, 32px); }
body.fleur.v3 .v3-hero__text { padding-bottom: clamp(12px, 3vh, 64px); }
body.fleur.v3 .v3-hero__portrait { width: auto; max-width: 470px; }
body.fleur.v3 .v3-hero__portrait img { width: auto; max-width: 100%; height: min(705px, calc(100vh - var(--fl-navh, 96px) - 190px)); min-height: 320px; object-fit: contain; object-position: bottom; }
@media (max-width: 900px) { body.fleur.v3 .v3-hero__portrait img { height: auto; min-height: 0; } }


/* « Pour qui » : photo de la carte moins haute */
body.fleur.v3 .v3-card-photo__img { aspect-ratio: 16/10; max-height: 34vh; width: 100%; }
body.fleur.v3 .v3-card-photo__body { padding: 22px 30px 28px; }

/* offres : cadre proche du 3:2 des photos, borné par l'écran */
body.fleur.v3 .v3-offre { min-height: 0; aspect-ratio: 4/3; max-height: 68vh; }

/* premier pas : photo carrée, plus petite */
body.fleur.v3 .v3-pas__img { aspect-ratio: 1; max-width: 300px; max-height: 38vh; }
body.fleur.v3 .v3-pas { padding: clamp(24px, 4vh, 56px) clamp(24px, 4vw, 56px); }
body.fleur.v3 .v3-pas .contact-action { padding: 20px 24px; }
/* offres : cadre presque carré, juste pour une photo portrait comme paysage */
body.fleur.v3 .v3-offre { aspect-ratio: 1; max-height: 68vh; }

/* Cartes du bouquet : MÊME cadre pour les quatre photos (retour Thomas « harmoniser
   les tailles des photos »). Carré en arche à gauche : une photo portrait comme
   paysage y garde les deux tiers de sa surface. */
body.fleur.v3 .v3-bq.is-pinned .v3-bq__appr { grid-template-columns: clamp(170px, 34%, 240px) 1fr; gap: 22px; align-items: center; padding: 16px 24px 16px 16px; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__img { aspect-ratio: 1 / 1.08; height: auto; min-height: 0; border-radius: 999px 999px var(--radius) var(--radius); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__txt { padding: 0; align-self: center; }
body.fleur.v3 .v3-bq__appr { grid-template-columns: 150px 1fr; }
body.fleur.v3 .v3-bq__appr .v3-bq__img { aspect-ratio: 1 / 1.08; }

/* Bouquet sur laptop (retour Thomas : « réduis les gap, c'est un peu petit ») :
   colonnes resserrées, bouquet et carte plus grands. */
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage { grid-template-columns: 170px minmax(0, .85fr) minmax(0, 1.25fr); gap: clamp(8px, 1.4vw, 24px); padding: clamp(10px, 2vh, 24px) 0; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__scene > svg { height: min(74vh, 640px); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__step { font-size: 1rem; padding: 6px 0; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__step.is-all { font-size: 1.25rem; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__card { padding: 20px 26px 20px 20px; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__appr { grid-template-columns: clamp(190px, 40%, 280px) 1fr; gap: 24px; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__card h3 { font-size: clamp(1.6rem, 2.3vw, 2.1rem); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__card p { font-size: clamp(1rem, 1.05vw, 1.0938rem); line-height: 1.65; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__center h3 { font-size: clamp(2rem, 3vw, 2.6rem); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__center p { font-size: clamp(1.0625rem, 1.25vw, 1.25rem); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__label { font-size: .875rem; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage { grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1.1fr); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__scene > svg { width: 100%; height: auto; max-height: min(72vh, 640px); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__scene { margin: 0; width: 100%; }
/* retour Thomas « gap trop grand » sous le titre : la scène se cale en haut, pas au centre */
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage { align-items: start; align-content: start; padding-top: clamp(8px, 2vh, 20px); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__scene { height: auto; justify-content: flex-start; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__panel { height: auto; align-items: start; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__steps { margin-top: clamp(24px, 6vh, 60px); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__panel { margin-top: clamp(16px, 4vh, 44px); }
body.fleur.v3 .v3-approche__head { margin-bottom: clamp(8px, 1.5vw, 20px); }

/* ========================================================
   Pages intérieures v3
   ======================================================== */
body.fleur.v3 .v3-page > section:first-child { padding-top: clamp(24px, 4vh, 56px); }
body.fleur.v3 .v3-h3 { font-family: var(--serif); font-size: clamp(1.4rem, 2vw, 1.75rem); font-weight: 500; margin: 0 0 16px; }
body.fleur.v3 .v3-note { margin-top: 32px; max-width: 68ch; color: var(--ink-soft); }

/* ouverture d'une page intérieure */
body.fleur.v3 .v3-intro { padding-bottom: clamp(32px, 6vh, 80px); }
body.fleur.v3 .v3-intro__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
body.fleur.v3 .v3-intro__grid:not(:has(.v3-intro__media)) { grid-template-columns: minmax(0, 860px); }
body.fleur.v3 .v3-intro__text .pill { margin-bottom: 20px; }
body.fleur.v3 .v3-intro .page-title { font-size: clamp(2.4rem, min(4.6vw, 8vh), 4.4rem); line-height: 1.04; margin-bottom: 22px; }
body.fleur.v3 .v3-intro__lede p { font-size: clamp(1.0625rem, 1.2vw, 1.1875rem); color: var(--ink-soft); line-height: 1.7; max-width: 58ch; }
body.fleur.v3 .v3-intro__media { position: relative; margin: 0; justify-self: center; width: min(100%, 420px); }
body.fleur.v3 .v3-intro__media img { position: relative; z-index: 1; width: 100%; height: min(560px, calc(100vh - var(--fl-navh, 96px) - 140px)); min-height: 300px; object-fit: cover; border-radius: 999px 999px var(--radius-lg) var(--radius-lg); }
body.fleur.v3 .v3-intro__media.is-cutout img { object-fit: contain; object-position: bottom; background: var(--blush-deep); }
body.fleur.v3 .v3-intro__frame { position: absolute; inset: -16px 16px 16px -16px; border: 1.5px solid color-mix(in srgb, var(--terra) 55%, transparent); border-radius: 999px 999px var(--radius-lg) var(--radius-lg); }
body.fleur.v3 .v3-intro__media .media-tag { position: absolute; z-index: 2; left: -18px; bottom: 28px; display: flex; gap: 10px; align-items: center; background: #fff; border-radius: 99px; padding: 10px 20px; box-shadow: 0 14px 34px -14px rgba(46,59,42,.35); }
body.fleur.v3 .v3-intro__media .mt-txt strong { display: block; font-size: .875rem; }
body.fleur.v3 .v3-intro__media .mt-txt span { font-size: .78rem; color: var(--ink-muted); }
@media (max-width: 900px) { body.fleur.v3 .v3-intro__grid { grid-template-columns: 1fr; } body.fleur.v3 .v3-intro__media img { height: auto; aspect-ratio: 4/5; } }

/* liste éditoriale à pictos (piliers, motifs, expérience) : filets fins, pas de cartes */
body.fleur.v3 .v3-piliers { list-style: none; margin: 0; padding: 0; }
body.fleur.v3 .v3-piliers li { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: start; padding: 16px 0; border-top: 1px solid var(--line); }
body.fleur.v3 .v3-piliers li:last-child { border-bottom: 1px solid var(--line); }
body.fleur.v3 .v3-piliers__ico { width: 46px; height: 46px; border-radius: 50%; background: #fff; color: var(--terra); display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--line); }
body.fleur.v3 .v3-piliers__ico svg { width: 22px; height: 22px; }
body.fleur.v3 .v3-piliers strong { display: block; font-family: var(--serif); font-size: 1.3rem; font-weight: 500; margin-bottom: 2px; }
body.fleur.v3 .v3-piliers li > span:last-child { color: var(--ink-soft); line-height: 1.6; padding-top: 4px; }
body.fleur.v3 .v3-posture .lede { margin-top: 18px; }
body.fleur.v3 .v3-bandeau { margin-top: clamp(32px, 5vw, 56px); height: clamp(240px, 42vh, 440px); border-radius: var(--radius-xl); overflow: hidden; }
body.fleur.v3 .v3-bandeau img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }

/* parcours : la tige qui pousse */
body.fleur.v3 .v3-pousse { list-style: none; margin: clamp(24px, 3vw, 40px) auto 0; padding: 0; position: relative; max-width: 980px; }
body.fleur.v3 .v3-pousse__tige { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: var(--line); }
body.fleur.v3 .v3-pousse__tige span { position: absolute; inset: 0; background: var(--sage-500); transform-origin: top; transform: scaleY(0); }
body.fleur.v3 .v3-pousse:not(.is-js) .v3-pousse__tige span, body.fleur.v3 .v3-pousse.is-static .v3-pousse__tige span { transform: none; }
body.fleur.v3 .v3-pousse__item { position: relative; display: grid; grid-template-columns: 1fr 70px 1fr; align-items: center; margin-bottom: 18px; }
body.fleur.v3 .v3-pousse__fleur { grid-column: 2; justify-self: center; width: 56px; height: 56px; --c1: var(--blush-deep); --c2: var(--terra); background: var(--bg); border-radius: 50%; padding: 4px; transform: scale(.4); opacity: .4; transition: transform .8s cubic-bezier(.2,1.2,.3,1), opacity .5s; }
body.fleur.v3 .v3-pousse__item:nth-child(odd) .v3-pousse__fleur { --c1: var(--gold-soft); --c2: #9A6E22; }
body.fleur.v3 .v3-pousse__fleur svg { width: 100%; height: 100%; overflow: visible; }
body.fleur.v3 .v3-pousse__item.is-on .v3-pousse__fleur, body.fleur.v3 .v3-pousse:not(.is-js) .v3-pousse__fleur { transform: none; opacity: 1; }
body.fleur.v3 .v3-pousse__card { grid-column: 1; grid-row: 1; text-align: right; padding: 4px 0; transition: opacity .6s, transform .6s; }
body.fleur.v3 .v3-pousse__item:nth-child(odd) .v3-pousse__card { grid-column: 3; text-align: left; }
body.fleur.v3 .v3-pousse.is-js:not(.is-static) .v3-pousse__item:not(.is-on) .v3-pousse__card { opacity: .35; transform: translateY(8px); }
body.fleur.v3 .v3-pousse__an { display: block; font-family: var(--serif); font-style: italic; font-size: 1.35rem; color: var(--terra); }
body.fleur.v3 .v3-pousse__card strong { display: block; font-family: var(--serif); font-size: 1.3rem; font-weight: 500; line-height: 1.25; margin: 2px 0 6px; }
body.fleur.v3 .v3-pousse__ecole { display: inline-flex; align-items: center; gap: 10px; font-size: .9375rem; color: var(--ink-soft); }
body.fleur.v3 .v3-pousse__ecole img { height: 26px; width: auto; max-width: 90px; object-fit: contain; }
@media (max-width: 760px) {
  body.fleur.v3 .v3-pousse__tige { left: 28px; }
  body.fleur.v3 .v3-pousse__item { grid-template-columns: 56px 1fr; gap: 0 16px; }
  body.fleur.v3 .v3-pousse__fleur { grid-column: 1; }
  body.fleur.v3 .v3-pousse__card, body.fleur.v3 .v3-pousse__item:nth-child(odd) .v3-pousse__card { grid-column: 2; text-align: left; }
}

/* trio / duo de photos, mêmes hauteurs, en arches alternées */
body.fleur.v3 .v3-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 1.6vw, 22px); margin-top: clamp(36px, 5vw, 64px); }
body.fleur.v3 .v3-trio.is-duo { grid-template-columns: repeat(2, 1fr); }
body.fleur.v3 .v3-trio__ph { height: clamp(220px, 40vh, 400px); overflow: hidden; border-radius: var(--radius-lg); }
body.fleur.v3 .v3-trio__ph.is-portrait:nth-child(2) { border-radius: 999px 999px var(--radius-lg) var(--radius-lg); }
body.fleur.v3 .v3-trio__ph img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px) { body.fleur.v3 .v3-trio, body.fleur.v3 .v3-trio.is-duo { grid-template-columns: 1fr; } }

/* Psychothérapie : pour qui */
body.fleur.v3 .v3-pourqui__grid { align-items: start; }
body.fleur.v3 .v3-cadre-clinique { background: var(--sage-700); color: #fff; border-radius: var(--radius-xl); padding: clamp(26px, 3vw, 40px); }
body.fleur.v3 .v3-cadre-clinique .v3-h3 { color: #fff; }
body.fleur.v3 .v3-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
body.fleur.v3 .v3-chips li { padding: 9px 16px; border-radius: 99px; border: 1px solid rgba(255,255,255,.35); font-weight: 600; font-size: .9375rem; }
/* carte photo horizontale (première séance, pédagogie, salle d'attente) */
body.fleur.v3 .v3-card-photo--h { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: stretch; }
body.fleur.v3 .v3-card-photo--h .v3-card-photo__img { aspect-ratio: auto; max-height: none; min-height: clamp(260px, 44vh, 420px); }
body.fleur.v3 .v3-card-photo--h .v3-card-photo__body { padding: clamp(26px, 4vw, 56px); justify-content: center; }
body.fleur.v3 .v3-card-photo--h .btn { align-self: flex-start; margin-top: 8px; }
@media (max-width: 860px) { body.fleur.v3 .v3-card-photo--h { grid-template-columns: 1fr; } }
/* cadre : trois repères en ligne, filets */
body.fleur.v3 .v3-cadre__list { list-style: none; margin: clamp(24px, 3vw, 40px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); }
body.fleur.v3 .v3-cadre__list li { padding: 24px 28px 24px 0; }
body.fleur.v3 .v3-cadre__list li + li { padding-left: 28px; border-left: 1px solid var(--line); }
body.fleur.v3 .v3-cadre__n { display: block; font-family: var(--serif); font-style: italic; font-size: 2rem; color: var(--terra); line-height: 1; margin-bottom: 10px; }
body.fleur.v3 .v3-cadre__list h3 { font-size: 1.35rem; font-weight: 500; margin-bottom: 6px; }
body.fleur.v3 .v3-cadre__list p { color: var(--ink-soft); margin: 0; line-height: 1.6; }
@media (max-width: 760px) { body.fleur.v3 .v3-cadre__list { grid-template-columns: 1fr; } body.fleur.v3 .v3-cadre__list li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); } }

/* Enseignement : interventions en deux colonnes, thématiques en herbier */
body.fleur.v3 .v3-inter .pill { margin-bottom: 18px; }
body.fleur.v3 .v3-inter__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); margin-top: clamp(20px, 3vw, 36px); }
body.fleur.v3 .v3-inter__col { border-top: 1px solid var(--line); padding-top: 22px; }
body.fleur.v3 .v3-inter__col h3 { font-size: 1.5rem; font-weight: 500; margin: 14px 0 8px; }
body.fleur.v3 .v3-inter__col p, body.fleur.v3 .v3-inter__col div { color: var(--ink-soft); line-height: 1.7; }
@media (max-width: 760px) { body.fleur.v3 .v3-inter__grid { grid-template-columns: 1fr; } }
body.fleur.v3 .v3-herbier { list-style: none; margin: clamp(24px, 3vw, 40px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: clamp(14px, 1.6vw, 22px); }
body.fleur.v3 .v3-planche { position: relative; background: #fff; border-radius: 6px; padding: 22px 22px 24px; min-height: 230px; display: flex; flex-direction: column; justify-content: flex-end;
  box-shadow: 0 1px 2px rgba(46,59,42,.05), 0 14px 30px -24px rgba(46,59,42,.35); overflow: hidden; }
body.fleur.v3 .v3-planche::before { content: ''; position: absolute; inset: 8px; border: 1px solid var(--line); border-radius: 3px; pointer-events: none; }
body.fleur.v3 .v3-planche__motif { position: absolute; top: 16px; right: 16px; width: 92px; transition: transform 1s cubic-bezier(.2,.7,.2,1); transform-origin: 50% 90%; }
body.fleur.v3 .v3-planche__motif svg { width: 100%; height: auto; overflow: visible; }
body.fleur.v3 .v3-planche:hover .v3-planche__motif { transform: rotate(-6deg) scale(1.05); }
body.fleur.v3 .v3-planche__n { font-family: var(--serif); font-style: italic; color: var(--terra); font-size: 1.05rem; margin-bottom: 4px; position: relative; }
body.fleur.v3 .v3-planche strong { position: relative; font-family: var(--serif); font-weight: 500; font-size: 1.3rem; line-height: 1.25; }

/* Informations : sommaire épinglé + contenu */
body.fleur.v3 .v3-infos__grid { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(28px, 4vw, 72px); align-items: start; }
body.fleur.v3 .v3-sommaire { position: sticky; top: calc(var(--fl-navh, 96px) + 28px); display: flex; flex-direction: column; gap: 4px; }
body.fleur.v3 .v3-sommaire__t { font-size: .8125rem; font-weight: 700; color: var(--ink-muted); margin: 0 0 8px; }
body.fleur.v3 .v3-sommaire a { display: flex; align-items: center; gap: 10px; padding: 8px 0; color: var(--ink-soft); font-weight: 600; line-height: 1.3; transition: color .3s; }
body.fleur.v3 .v3-sommaire__f { width: 22px; height: 22px; flex: none; --c1: transparent; --c2: var(--sage-300); transform: scale(.55); transition: transform .6s cubic-bezier(.2,1.2,.3,1); }
body.fleur.v3 .v3-sommaire__f svg { width: 100%; height: 100%; overflow: visible; }
body.fleur.v3 .v3-sommaire a.is-current { color: var(--ink); }
body.fleur.v3 .v3-sommaire a.is-current .v3-sommaire__f { --c1: var(--blush-deep); --c2: var(--terra); transform: none; }
body.fleur.v3 .v3-infos__bloc { scroll-margin-top: calc(var(--fl-navh, 96px) + 24px); padding-bottom: clamp(40px, 6vw, 80px); }
body.fleur.v3 .v3-infos__bloc + .v3-infos__bloc { border-top: 1px solid var(--line); padding-top: clamp(40px, 6vw, 80px); }
body.fleur.v3 .v3-infos__bloc > h2, body.fleur.v3 .v3-infos__bloc > h1 { margin-bottom: clamp(20px, 3vw, 32px); }
body.fleur.v3 .v3-tarif-band { display: grid; grid-template-columns: auto 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
body.fleur.v3 .v3-tarif-band__prix { display: flex; flex-direction: column; align-items: center; justify-content: center; width: clamp(150px, 15vw, 190px); aspect-ratio: 1 / 1.15; border-radius: 999px 999px var(--radius) var(--radius); background: var(--terra); color: #fff; }
body.fleur.v3 .v3-tarif-band__prix strong { font-family: var(--serif); font-size: clamp(2.6rem, 4vw, 3.4rem); font-weight: 500; line-height: 1; }
body.fleur.v3 .v3-tarif-band__prix span { opacity: .85; font-size: .9375rem; }
body.fleur.v3 .v3-tarif-band__list { margin: 0; }
body.fleur.v3 .v3-tarif-band__list > div { display: grid; grid-template-columns: 180px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--line); }
body.fleur.v3 .v3-tarif-band__list > div:last-child { border-bottom: 1px solid var(--line); }
body.fleur.v3 .v3-tarif-band__list dt { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
body.fleur.v3 .v3-tarif-band__list dd { margin: 0; color: var(--ink-soft); line-height: 1.6; }
body.fleur.v3 .v3-tarif-band__list .btn-arrow { margin-top: 8px; display: inline-flex; }
body.fleur.v3 .v3-acces { display: grid; grid-template-columns: 1fr minmax(0, 360px); gap: clamp(28px, 4vw, 56px); align-items: center; margin-top: clamp(32px, 4vw, 56px); }
body.fleur.v3 .v3-acces__a11y { color: var(--ink-muted); font-size: .9375rem; margin-bottom: 22px; }
@media (max-width: 960px) {
  body.fleur.v3 .v3-infos__grid { grid-template-columns: 1fr; }
  body.fleur.v3 .v3-sommaire { display: none; }
  body.fleur.v3 .v3-acces, body.fleur.v3 .v3-tarif-band { grid-template-columns: 1fr; }
  body.fleur.v3 .v3-tarif-band__list > div { grid-template-columns: 1fr; gap: 4px; }
}
/* contact simple (pages intérieures) */
body.fleur.v3 .v3-pas.is-simple .v3-pas__intro h2 { margin-bottom: 14px; }
body.fleur.v3 .v3-pas.is-simple .v3-coord { margin-top: 22px; }

/* Proportions laptop, pages intérieures : chaque photo garde son format réel. */
body.fleur.v3 .v3-trio, body.fleur.v3 .v3-trio.is-duo { display: flex; gap: clamp(12px, 1.6vw, 22px); }
body.fleur.v3 .v3-trio__ph { flex-basis: 0; flex-shrink: 1; min-width: 0; height: clamp(240px, 46vh, 440px); }
@media (max-width: 640px) { body.fleur.v3 .v3-trio, body.fleur.v3 .v3-trio.is-duo { flex-direction: column; } body.fleur.v3 .v3-trio__ph { height: auto; aspect-ratio: 4/3; } }
body.fleur.v3 .v3-bandeau { height: auto; max-width: 900px; margin-left: auto; margin-right: auto; aspect-ratio: 3/2; max-height: 64vh; }
body.fleur.v3 .v3-intro__media.is-landscape { width: min(100%, 560px); }
body.fleur.v3 .v3-intro__media.is-landscape img { height: auto; min-height: 0; aspect-ratio: 4/3; max-height: calc(100vh - var(--fl-navh, 96px) - 160px); border-radius: 999px 999px var(--radius-lg) var(--radius-lg) / 340px 340px var(--radius-lg) var(--radius-lg); }
body.fleur.v3 .v3-intro__media.is-landscape .v3-intro__frame { border-radius: 999px 999px var(--radius-lg) var(--radius-lg) / 340px 340px var(--radius-lg) var(--radius-lg); }
body.fleur.v3 .v3-card-photo--h .v3-card-photo__img { min-height: 0; max-height: 68vh; height: 100%; align-self: center; }
body.fleur.v3 .v3-card-photo--h { align-items: center; }
/* chaque photo : hauteur commune, largeur = son format exact ; le groupe se centre */
body.fleur.v3 .v3-trio, body.fleur.v3 .v3-trio.is-duo { justify-content: center; }
body.fleur.v3 .v3-trio__ph { flex: 0 1 auto; width: auto; }
@media (max-width: 640px) { body.fleur.v3 .v3-trio__ph { width: 100%; height: auto; } }

/* Psychothérapie : le cadre, photo principale + médaillon, repères à pictos (retour Thomas « reprend l'ancien style ») */
body.fleur.v3 .v3-cadre__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 5vw, 88px); align-items: center; margin-bottom: clamp(48px, 6vw, 80px); }
body.fleur.v3 .v3-cadre__grid h2 { margin-bottom: 22px; }
body.fleur.v3 .v3-cadre__media { position: relative; padding: 0 0 12% 0; }
body.fleur.v3 .v3-cadre__ph1 { aspect-ratio: 4/3; max-height: 62vh; overflow: hidden; border-radius: 999px 999px var(--radius-lg) var(--radius-lg) / 300px 300px var(--radius-lg) var(--radius-lg); }
body.fleur.v3 .v3-cadre__ph2 { position: absolute; right: -6%; bottom: 0; width: 44%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 6px solid var(--bg); box-shadow: 0 14px 30px -18px rgba(46,59,42,.4); }
body.fleur.v3 .v3-cadre__ph1 img, body.fleur.v3 .v3-cadre__ph2 img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { body.fleur.v3 .v3-cadre__grid { grid-template-columns: 1fr; } body.fleur.v3 .v3-cadre__ph2 { right: 0; } }

/* FAQ v3 : liste éditoriale sur une colonne, question à gauche, réponse à droite
   (retour Thomas « pas pratique à lire » sur les cartes en deux colonnes). Réponses visibles sans clic. */
body.fleur.v3 .qa-grid, body.fleur.v3 .grp-head + .qa-grid { display: block; margin-top: 8px; }
body.fleur.v3 .qa-grid > .qa-card,
body.fleur.v3 .qa-grid > .qa-card:last-child:nth-child(odd) {
  display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); gap: 8px clamp(24px, 4vw, 64px);
  background: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none;
  padding: clamp(22px, 3vw, 32px) 0; margin: 0; max-width: none; grid-column: auto; transform: none; position: relative;
}
body.fleur.v3 .qa-grid > .qa-card:last-child { border-bottom: 1px solid var(--line); }
body.fleur.v3 .qa-num { position: static; grid-column: 1; grid-row: 1; font-size: 1.05rem; font-style: italic; color: var(--terra); opacity: 1; line-height: 1; margin-bottom: 4px; }
body.fleur.v3 .qa-q { grid-column: 1; grid-row: 2; font-size: clamp(1.3rem, 1.8vw, 1.6rem); font-weight: 500; line-height: 1.25; margin: 0; padding: 0; }
body.fleur.v3 .qa-q::after { display: none; }
body.fleur.v3 .qa-a { grid-column: 2; grid-row: 1 / span 2; }
body.fleur.v3 .qa-a p { font-size: 1rem; line-height: 1.75; }
body.fleur.v3 .grp-head { margin-bottom: 12px; }
@media (max-width: 760px) {
  body.fleur.v3 .qa-grid > .qa-card, body.fleur.v3 .qa-grid > .qa-card:last-child:nth-child(odd) { grid-template-columns: 1fr; }
  body.fleur.v3 .qa-a { grid-column: 1; grid-row: 3; margin-top: 8px; }
}

/* Bouton-pont : dans sa section, centré sous le contenu, plus à cheval sur la jonction
   (retour Thomas « gap inexistant ») ; ombre légère. */
body.fleur.v3 .bridge-cta { position: relative; left: auto; bottom: auto; transform: none; display: flex; width: max-content; max-width: calc(100% - 32px); margin: clamp(32px, 4vw, 56px) auto 0;
  box-shadow: 0 10px 24px -14px rgba(46,59,42,.45); }
body.fleur.v3 .bridge-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -14px rgba(46,59,42,.5); }
body.fleur.v3 .fl-sec.sec-tint:has(.bridge-cta) { margin-bottom: clamp(12px, 2vw, 28px); }

/* Composition photo (principale en arche douce + médaillons), toujours à côté d'un texte */
body.fleur.v3 .v3-compo { position: relative; padding: 0 0 12% 0; }
body.fleur.v3 .v3-compo__ph { overflow: hidden; }
body.fleur.v3 .v3-compo__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.fleur.v3 .v3-compo__ph1 { aspect-ratio: 4/3; max-height: 60vh; border-radius: 999px 999px var(--radius-lg) var(--radius-lg) / 300px 300px var(--radius-lg) var(--radius-lg); }
body.fleur.v3 .v3-compo__ph2, body.fleur.v3 .v3-compo__ph3 { position: absolute; aspect-ratio: 1; border-radius: 50%; border: 6px solid var(--bg); box-shadow: 0 14px 30px -18px rgba(46,59,42,.4); }
body.fleur.v3 .v3-compo__ph2 { right: -6%; bottom: 0; width: 42%; }
body.fleur.v3 .v3-compo__ph3 { left: -6%; bottom: 6%; width: 28%; }
body.fleur.v3 .sec-tint .v3-compo__ph2, body.fleur.v3 .sec-tint .v3-compo__ph3 { border-color: var(--sage-50); }
@media (max-width: 860px) { body.fleur.v3 .v3-compo__ph2 { right: 0; } body.fleur.v3 .v3-compo__ph3 { left: 0; } }
body.fleur.v3 .v3-conclu { font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.4; color: var(--ink); margin: 0; }
body.fleur.v3 .v3-herbier__fin { margin-top: clamp(40px, 5vw, 72px); margin-bottom: 0; }
body.fleur.v3 .v3-parcours-f .v3-cadre__grid { margin-bottom: clamp(32px, 4vw, 56px); }
body.fleur.v3 .v3-parcours-f .v3-cadre__grid .lede { margin-top: 18px; }

/* FAQ : la règle Sage « carte impaire centrée à 50 % » ne s'applique pas en liste ; question calée en haut */
body.fleur.v3 .qa-grid > .qa-card:last-child:nth-child(odd) { width: auto; justify-self: stretch; }
body.fleur.v3 .qa-grid > .qa-card { grid-template-rows: auto 1fr; align-items: start; }
body.fleur.v3 .qa-q { align-self: start; padding-right: 0; }

/* Page Merci en v3 (après un envoi depuis le formulaire v3) : CSS seul, gabarit Sage partagé */
body.fleur.v3 .merci-card { background: #fff; border: 0; border-radius: var(--radius-xl); box-shadow: 0 1px 2px rgba(46,59,42,.04), 0 30px 60px -36px rgba(46,59,42,.3); overflow: hidden; }
body.fleur.v3 .merci-icon { color: var(--terra); }
body.fleur.v3 .merci-title { font-weight: 400; }
body.fleur.v3 .merci-title em { color: var(--terra); font-weight: 500; }
body.fleur.v3 .merci-card .eyebrow { color: var(--terra); font-weight: 700; letter-spacing: .14em; }
body.fleur.v3 .merci-urgence { margin: 28px calc(-1 * clamp(28px, 5vw, 56px)) calc(-1 * clamp(28px, 5vw, 56px)); padding: 22px clamp(24px, 4vw, 48px);
  background: #8C4C3D; color: #fff; border: 0; text-align: left; display: grid; gap: 6px; }
body.fleur.v3 .merci-urgence strong { color: #fff; font-family: var(--sans); font-weight: 800; font-size: 1.1rem; }
body.fleur.v3 .merci-urgence span { color: rgba(255,255,255,.95); font-size: 1rem; line-height: 1.7; }
body.fleur.v3 .merci-urgence span strong { font-size: 1.5rem; font-variant-numeric: lining-nums; border-bottom: 2px solid rgba(255,255,255,.6); padding: 0 .1em; }
body.fleur.v3 .merci-card { --mpad: clamp(28px, 5vw, 64px); padding: var(--mpad) var(--mpad) 0; }
body.fleur.v3 .merci-urgence { margin: 32px calc(-1 * var(--mpad)) 0; }

/* Parcours (Qui suis-je) : frise VERTICALE à toutes les tailles (demande de Marie du 17/10/2026,
   note « passer la timeline en verticale ») : tige au centre, formations alternées à gauche et à
   droite, du plus ancien en haut au plus récent en bas ; une seule colonne sous 760 px. La frise
   horizontale du 11/10 est retirée (sauvegarde fleur/v3.css.bak-2026-10-17-frise). */
body.fleur.v3 .v3-pousse { max-width: 900px; }
body.fleur.v3 .v3-pousse__item { margin-bottom: clamp(18px, 2.4vw, 30px); }
body.fleur.v3 .v3-pousse__card { max-width: 380px; }
body.fleur.v3 .v3-pousse__item:nth-child(even) .v3-pousse__card { justify-self: end; }
body.fleur.v3 .v3-pousse__item:nth-child(even) .v3-pousse__ecole { justify-content: flex-end; }
@media (max-width: 760px) {
  body.fleur.v3 .v3-pousse__item:nth-child(even) .v3-pousse__card { justify-self: start; }
  body.fleur.v3 .v3-pousse__item:nth-child(even) .v3-pousse__ecole { justify-content: flex-start; }
}

/* Frise épinglée (grand écran) : la scène tient l'écran pendant que la piste défile,
   une formation par cran ; transitions douces entre deux crans. */
@media (min-width: 901px) {
  body.fleur.v3 .v3-pousse-track { height: calc(var(--n) * 45vh + 100vh - var(--fl-navh, 96px)); }
  body.fleur.v3 .v3-pousse-stage { position: sticky; top: var(--fl-navh, 96px); height: calc(100vh - var(--fl-navh, 96px)); display: flex; align-items: center; }
  body.fleur.v3 .v3-pousse-stage .v3-pousse { width: 100%; margin-top: 0; }
  body.fleur.v3 .v3-pousse__tige span { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
  body.fleur.v3 .v3-pousse__fleur { transition-delay: .35s; }
  body.fleur.v3 .v3-pousse__card { transition: opacity .7s .3s, transform .7s .3s; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 901px) {
  body.fleur.v3 .v3-pousse-track { height: auto; }
  body.fleur.v3 .v3-pousse-stage { position: static; height: auto; }
}

/* Motifs de consultation : index sobre en deux colonnes, filets fins, une seule voix
   (retours Thomas : « étiquettes = rendu IA », puis « trop d'éléments » sur la phrase fleurie) */
body.fleur.v3 .v3-mots { list-style: none; margin: clamp(26px, 3vw, 40px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(24px, 3.4vw, 48px);
  font-family: var(--serif); font-size: clamp(1.25rem, 1.7vw, 1.55rem); line-height: 1.3; color: var(--ink); border-bottom: 1px solid var(--line); }
body.fleur.v3 .v3-mot { padding: .62em 0; border-top: 1px solid var(--line); transition: color .3s, padding-left .3s; }
body.fleur.v3 .v3-mot:hover { color: var(--terra); padding-left: .3em; }
@media (max-width: 520px) { body.fleur.v3 .v3-mots { grid-template-columns: 1fr; } }
/* apparition mot après mot au défilement */
body.fleur.v3 .v3-mots.is-js .v3-mot { opacity: 0; transform: translateY(.35em); transition: opacity .6s, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--i) * 70ms); }
body.fleur.v3 .v3-mots.is-js.in .v3-mot { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { body.fleur.v3 .v3-mots.is-js .v3-mot { opacity: 1; transform: none; transition: none; } }

/* Posture (Qui suis-je) : quatre temps de croissance côte à côte, filets verticaux, pas de liste à pictos */
body.fleur.v3 .v3-posture__head { max-width: 860px; }
body.fleur.v3 .v3-posture__head .lede { margin-top: 18px; max-width: 70ch; }
body.fleur.v3 .v3-temps { list-style: none; margin: clamp(36px, 4.5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.fleur.v3 .v3-temps__item { padding: 0 clamp(16px, 2vw, 32px); text-align: center; }
body.fleur.v3 .v3-temps__item + .v3-temps__item { border-left: 1px solid color-mix(in srgb, var(--terra) 22%, transparent); }
body.fleur.v3 .v3-temps__dessin { display: block; width: clamp(80px, 8vw, 110px); margin: 0 auto 14px; }
body.fleur.v3 .v3-temps__dessin svg { width: 100%; height: auto; overflow: visible; }
body.fleur.v3 .v3-temps__item h3 { font-size: clamp(1.35rem, 1.8vw, 1.65rem); font-weight: 500; margin-bottom: 8px; }
body.fleur.v3 .v3-temps__item:nth-child(even) h3 { font-style: italic; color: var(--terra); }
body.fleur.v3 .v3-temps__item p { color: var(--ink-soft); line-height: 1.65; margin: 0 auto; max-width: 28ch; }
@media (max-width: 900px) {
  body.fleur.v3 .v3-temps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 0; }
  body.fleur.v3 .v3-temps__item:nth-child(3) { border-left: 0; }
}
@media (max-width: 520px) {
  body.fleur.v3 .v3-temps { grid-template-columns: 1fr; }
  body.fleur.v3 .v3-temps__item + .v3-temps__item { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--terra) 22%, transparent); padding-top: 28px; }
}

/* FAQ en accordéon (v3) : filets fins, numéro, question en serif, chevron dans une pastille */
body.fleur.v3 .v3-faq { margin-top: clamp(40px, 5vw, 64px); }
body.fleur.v3 .v3-faq__titre { font-family: var(--serif); font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight: 400; margin: 0 0 18px; }
body.fleur.v3 .v3-faq__item { border-top: 1px solid var(--line); }
body.fleur.v3 .v3-faq__item:last-child { border-bottom: 1px solid var(--line); }
body.fleur.v3 .v3-faq__q { list-style: none; display: grid; grid-template-columns: 40px 1fr 40px; gap: 14px; align-items: center; padding: 20px 0; cursor: pointer; }
body.fleur.v3 .v3-faq__q::-webkit-details-marker { display: none; }
body.fleur.v3 .v3-faq__q::marker { content: ''; }
body.fleur.v3 .v3-faq__n { font-family: var(--serif); font-style: italic; color: var(--terra); font-size: 1.1rem; }
body.fleur.v3 .v3-faq__label { font-family: var(--serif); font-size: clamp(1.25rem, 1.8vw, 1.55rem); font-weight: 500; line-height: 1.3; color: var(--ink); transition: color .2s; }
body.fleur.v3 .v3-faq__chev { width: 36px; height: 36px; border-radius: 50%; background: var(--sage-700); color: #fff; display: grid; place-items: center; transition: transform .35s cubic-bezier(.2,.7,.2,1), background .25s; }
body.fleur.v3 .v3-faq__chev svg { width: 18px; height: 18px; }
body.fleur.v3 .v3-faq__item[open] .v3-faq__chev { transform: rotate(180deg); background: var(--terra); }
body.fleur.v3 .v3-faq__q:hover .v3-faq__label { color: var(--terra); }
body.fleur.v3 .v3-faq__q:focus-visible { outline: 2px solid var(--terra); outline-offset: 4px; border-radius: 6px; }
body.fleur.v3 .v3-faq__a { padding: 0 54px 24px; color: var(--ink-soft); max-width: 78ch; }
body.fleur.v3 .v3-faq__a p { margin: 0 0 .8em; line-height: 1.75; }
body.fleur.v3 .v3-faq__a p:last-child { margin-bottom: 0; }
body.fleur.v3 .v3-faq__a a { color: var(--terra); text-decoration: underline; text-underline-offset: 3px; }
body.fleur.v3 .v3-faq__item[open] .v3-faq__a { animation: v3-faq-in .35s ease; }
@keyframes v3-faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) { body.fleur.v3 .v3-faq__q { grid-template-columns: 1fr 36px; } body.fleur.v3 .v3-faq__n { display: none; } body.fleur.v3 .v3-faq__a { padding: 0 0 22px; } }
@media (prefers-reduced-motion: reduce) { body.fleur.v3 .v3-faq__item[open] .v3-faq__a { animation: none; } }

/* Herbier (Enseignement), repris (retour Thomas « apparence à revoir ») : dessin dans une zone fixe
   en haut, étiquette d'herbier en bas, planches de même hauteur, 4 + 3 centrées, simple filet. */
body.fleur.v3 .v3-herbier { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(14px, 1.6vw, 22px); }
body.fleur.v3 .v3-planche { flex: 0 1 calc((100% - 3 * clamp(14px, 1.6vw, 22px)) / 4); min-width: 210px; min-height: 0;
  display: flex; flex-direction: column; justify-content: flex-start; padding: 26px 22px 22px; border-radius: 4px;
  background: #fff; border: 1px solid var(--line); box-shadow: none; overflow: visible; }
body.fleur.v3 .v3-planche::before { display: none; }
body.fleur.v3 .v3-planche__motif { position: static; display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 130px; margin: 0 0 18px; transform: none; }
body.fleur.v3 .v3-planche__motif svg { width: auto; height: 100%; max-width: 70%; }
body.fleur.v3 .v3-planche:hover .v3-planche__motif { transform: none; }
body.fleur.v3 .v3-planche:hover .v3-planche__motif svg { transform: rotate(-4deg); transition: transform .8s cubic-bezier(.2,.7,.2,1); }
/* étiquette d'herbier */
body.fleur.v3 .v3-planche__n, body.fleur.v3 .v3-planche strong { position: static; }
body.fleur.v3 .v3-planche__n { display: block; margin-top: auto; padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--terra) 30%, transparent); font-size: .95rem; }
body.fleur.v3 .v3-planche strong { display: block; margin-top: 4px; font-size: clamp(1.15rem, 1.4vw, 1.3rem); line-height: 1.3; }
@media (max-width: 1100px) { body.fleur.v3 .v3-planche { flex-basis: calc((100% - 2 * clamp(14px, 1.6vw, 22px)) / 3); } }
@media (max-width: 760px) { body.fleur.v3 .v3-planche { flex-basis: calc((100% - clamp(14px, 1.6vw, 22px)) / 2); min-width: 0; } }
@media (max-width: 480px) { body.fleur.v3 .v3-planche { flex-basis: 100%; } }
body.fleur.v3 .v3-planche__n { margin-top: 0; }

/* H1 qui nomme Marie Marchal : 1re ligne en étiquette, accroche en grand (audit SEO du 11/10) */
body.fleur.v3 .v3-h1 { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(14px, 2.2vh, 24px); }
body.fleur.v3 .v3-h1__marque { font-size: .875rem !important; line-height: 1.3; letter-spacing: .01em; font-style: normal; }
body.fleur.v3 .v3-h1__titre { display: block; }
body.fleur.v3 .v3-h1__titre em { font-style: italic; }
/* contraste AA du lien « Voir les informations complètes » (4,27 mesuré) */
body.fleur.v3 .v3-tarif a { color: #8C4C3D; }
/* titre « Approche intégrative » quand il passe en H2 (Psychothérapie) */
body.fleur.v3 .v3-bq__center h2.v3-bq__h { color: #fff; font-style: italic; font-size: clamp(2rem, 3vw, 2.6rem); font-weight: 500; margin: 0 0 8px; }

/* Hero de l'accueil : petit bouquet fixe accroché à l'arche du portrait (retour Thomas du 11/10/2026) */
body.fleur.v3 .v3-hero__portrait > .fl-arch-brin { position: absolute; z-index: 2; width: 17%; max-width: 86px; right: -5%; bottom: 0; transform: rotate(8deg); opacity: 1; }
body.fleur.v3 .v3-hero__portrait > .fl-arch-fleur { position: absolute; z-index: 3; width: 14%; max-width: 68px; right: -11%; bottom: 17%; opacity: 1; }
body.fleur.v3 .v3-hero__portrait > .fl-arch-boutons { position: absolute; z-index: 2; width: 21%; max-width: 104px; right: -3%; top: 1%; transform: rotate(24deg); opacity: 1; }
@media (max-width: 1100px) { body.fleur.v3 .v3-hero__portrait > .fl-arch-brin, body.fleur.v3 .v3-hero__portrait > .fl-arch-fleur, body.fleur.v3 .v3-hero__portrait > .fl-arch-boutons { display: block; } }


/* Cadre clinique avec les intitulés complets de Marie (11/10/2026) : liste à filets
   plutôt que des pastilles (intitulés longs), titre-phrase plus petit, phrase de fin lisible. */
body.fleur.v3 .v3-cadre-clinique h3.v3-h3 { font-size: clamp(1.25rem, 1.7vw, 1.5rem); line-height: 1.3; }
body.fleur.v3 .v3-cadre-clinique .v3-chips { display: block; margin-top: 14px; }
body.fleur.v3 .v3-cadre-clinique .v3-chips li { display: block; border: 0; border-top: 1px solid rgba(255,255,255,.22); border-radius: 0; background: none; padding: 11px 0; margin: 0; font-size: 1rem; line-height: 1.5; }
body.fleur.v3 .v3-cadre-clinique .v3-chips li:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
body.fleur.v3 .v3-cadre-clinique__note { margin: 18px 0 0; color: rgba(255,255,255,.88); line-height: 1.6; }

/* ===================== Retours de Marie du 11/10/2026 ===================== */
/* Textes un peu plus grands partout (« grossir un peu les textes ») */
html:has(body.fleur.v3) { font-size: 106.25%; }
/* Espaces entre les blocs resserrés (« souvent trop gros ») */
body.fleur.v3 main section, body.fleur.v3 .page > section { padding-top: clamp(40px, 6vh, 72px); padding-bottom: clamp(40px, 6vh, 72px); }
body.fleur.v3 .page > section.v3-hero { padding-top: clamp(20px, 4vh, 60px); padding-bottom: clamp(36px, 6vh, 96px); }
/* Étiquettes : plus de pastille à point, un simple intitulé (« j'aime pas ce truc… titré autrement ») */
body.fleur.v3 .pill { border: 0 !important; background: none !important; padding: 0 !important; border-radius: 0; box-shadow: none;
  font-size: .8125rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--terra); }
body.fleur.v3 .pill::before { display: none !important; }
body.fleur.v3 .pill--light { color: var(--gold); }
body.fleur.v3 .v3-h1__marque { display: block; }
/* Pictos génériques remplacés par un bouton de fleur au trait, dans le style du logo (« changer ces logos ») */
body.fleur.v3 .v3-puce { background: none !important; box-shadow: none !important; border: 0 !important; width: 34px; height: 34px; display: grid; place-items: center; }
body.fleur.v3 .v3-puce svg { width: 100%; height: 100%; overflow: visible; }
body.fleur.v3 .feature-card .v3-puce { width: 40px; height: 40px; margin-bottom: 14px; }
/* Cadre clinique : fond clair, même lecture que la liste voisine (« j'aime pas la présentation ») */
body.fleur.v3 .v3-cadre-clinique { background: var(--bg-soft, #F5EEE6); color: var(--ink); }
body.fleur.v3 .v3-cadre-clinique .v3-h3 { color: var(--ink); }
body.fleur.v3 .v3-cadre-clinique .v3-chips li { border-top-color: var(--line) !important; font-weight: 500; color: var(--ink-soft); }
body.fleur.v3 .v3-cadre-clinique .v3-chips li:last-child { border-bottom-color: var(--line) !important; }
body.fleur.v3 .v3-cadre-clinique__note { color: var(--ink-soft); }
/* « Est-ce que ma souffrance est suffisante… » : texte courant, la question en titre (« présentation pas adaptée au contenu ») */
body.fleur.v3 .v3-souffrance h2.section { font-size: clamp(1.8rem, 3vw, 2.4rem); }
body.fleur.v3 .v3-souffrance__x { margin-top: 18px; font-size: 1.125rem; line-height: 1.75; color: var(--ink-soft); max-width: 68ch; }
/* Visio, le cadre : la valeur en grand, sans rond (« l'info importante, on ne la voit pas ») */
body.fleur.v3 .v3-cadre-val { font-family: var(--serif); font-size: clamp(2.2rem, 3.4vw, 2.9rem); line-height: 1; color: var(--terra); margin: 0 0 14px; }
/* Herbier : ni dessins ni numéros (« les fleurs ça va pas ici », « enlever les numéros ») */
body.fleur.v3 .v3-planche { justify-content: flex-start; min-height: 0; padding: 22px 24px; border-top: 2px solid color-mix(in srgb, var(--terra) 45%, transparent); }
body.fleur.v3 .v3-planche strong { margin-top: 0; }
/* Rappel d'urgence sur l'accueil */
body.fleur.v3 .v3-urgence-s .fl-urgence { margin-top: 0; }
body.fleur.v3 .v3-urgence-s h2.fl-urgence__t { font-family: var(--sans); }
/* Animation des approches : le titre de la section reste visible pendant le défilement */
body.fleur.v3 .v3-bq__titre { display: none; }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__titre { display: block; grid-column: 1 / -1; grid-row: 1; margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.15; color: var(--ink); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage:has(.v3-bq__titre) { grid-template-rows: auto minmax(0, 1fr); }
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage:has(.v3-bq__titre) > :not(.v3-bq__titre) { grid-row: 2; }

/* Étapes de la tige : sans numéros (retour de Marie « enlever les numéros ») */
body.fleur.v3 .fl-tige__leaf b { display: none; }

/* ===================== Retours de Marie du 12/10/2026 ===================== */
/* Puces : une petite flèche au trait à la place des boutons de fleur (« les ziguiguis, remplace par des flèches jolies ») */
body.fleur.v3 .v3-puce { color: var(--terra); }
body.fleur.v3 .v3-piliers__ico.v3-puce { width: 30px; height: 20px; margin-top: .25em; }
body.fleur.v3 h3 > .v3-puce { display: inline-block; width: 28px; height: 18px; margin-right: 10px; vertical-align: -.05em; }
body.fleur.v3 .v3-fleche { width: 100%; height: 100%; display: block; overflow: visible; }
/* Pastilles d'icône restantes sur les photos (« un logo qui reste ») */
body.fleur.v3 .media-tag .mt-ico, body.fleur.v3 .media-tag .ico { display: none; }
/* Visio : cartes centrées, sans picto ; cadre centré (« centré ici ») */
body.fleur.v3 .feature-card { text-align: center; }
body.fleur.v3 .compare-card { text-align: center; }
body.fleur.v3 .compare-card .v3-cadre-val { margin-left: auto; margin-right: auto; }
/* Mention de déontologie sur une ligne pleine largeur (« pas un petit bloc à gauche ») */
body.fleur.v3 .v3-deonto { max-width: none; text-align: center; font-size: 15px; }
/* Herbier : encadrés arrondis */
body.fleur.v3 .v3-planche { border-radius: 20px; }
/* Enseignement : bouton de contact sous la conclusion des thématiques */
body.fleur.v3 .v3-conclu-bloc { display: grid; gap: 22px; justify-items: start; align-content: center; }
/* Frise du parcours sans défilement épinglé (« je ne veux pas du scroll là-dessus ») */
body.fleur.v3 .v3-pousse-track { height: auto !important; }
body.fleur.v3 .v3-pousse-stage { position: static !important; height: auto !important; display: block; }
/* « Pour qui » : texte à gauche, photo du canapé à droite */
body.fleur.v3 .v3-pourqui__head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 64px); align-items: center; margin-bottom: clamp(28px, 4vw, 48px); }
body.fleur.v3 .v3-pourqui__head .lede { margin-top: 18px; }
@media (max-width: 900px) { body.fleur.v3 .v3-pourqui__head { grid-template-columns: 1fr; } }
/* Première séance sans image */
body.fleur.v3 .v3-card-photo--sans { grid-template-columns: 1fr !important; max-width: 820px; margin: 0 auto; }

/* Bouquet épinglé : la scène a la hauteur de son contenu (la piste est calculée en JS),
   plus de grand vide sous l'animation sur les grands écrans (retour Thomas du 12/10/2026). */
body.fleur.v3 .v3-bq.is-pinned .v3-bq__stage { height: auto; max-height: calc(100vh - var(--navh)); padding-bottom: clamp(16px, 3vh, 32px); }

/* Visio, « Préparer votre espace » : texte à gauche, photo du coin bureau à droite */
body.fleur.v3 .v3-prep-head { margin-bottom: clamp(28px, 4vw, 48px); }
body.fleur.v3 .v3-prep-head.has-photo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
body.fleur.v3 .v3-prep-head .lede { margin-top: 18px; }
@media (max-width: 900px) { body.fleur.v3 .v3-prep-head.has-photo { grid-template-columns: 1fr; } }
/* Une seule photo : pas de réserve pour les médaillons */
body.fleur.v3 .v3-prep-head .v3-compo, body.fleur.v3 .v3-pourqui__head .v3-compo { padding-bottom: 0; }

/* Demandes de Marie du 17/10/2026 (notes de modification) */
/* Qui suis-je : photo d'ouverture nettement plus grande, fleurs accrochées à l'arche (comme l'accueil) */
body.fleur.v3 .v3-intro__grid:has(.v3-intro__media.is-grand) { grid-template-columns: 1fr 1fr; }
body.fleur.v3 .v3-intro__media.is-grand { width: min(100%, 560px); }
body.fleur.v3 .v3-intro__media.is-grand img { height: min(740px, calc(100vh - var(--fl-navh, 96px) - 60px)); }
body.fleur.v3 .v3-intro__media.has-fleurs > .fl-arch-brin { position: absolute; z-index: 2; width: 17%; max-width: 86px; right: -5%; bottom: 0; transform: rotate(8deg); opacity: 1; }
body.fleur.v3 .v3-intro__media.has-fleurs > .fl-arch-fleur { position: absolute; z-index: 3; width: 14%; max-width: 68px; right: -11%; bottom: 17%; opacity: 1; }
body.fleur.v3 .v3-intro__media.has-fleurs > .fl-arch-boutons { position: absolute; z-index: 2; width: 21%; max-width: 104px; right: -3%; top: 1%; transform: rotate(24deg); opacity: 1; }
@media (max-width: 900px) { body.fleur.v3 .v3-intro__grid:has(.v3-intro__media.is-grand) { grid-template-columns: 1fr; } body.fleur.v3 .v3-intro__media.is-grand img { height: auto; } }
/* Psychothérapie : la photo détourée tient dans son cadre au lieu d'en toucher les bords */
body.fleur.v3 .v3-intro__media.is-reduite img { box-sizing: border-box; object-fit: contain; object-position: center bottom; padding: 9% 9% 0; }

/* Notes de Marie du 18/10/2026 (édition en direct) */
/* Psychothérapie : la liste seule, centrée, depuis le retrait du bloc « trouble diagnostiqué » */
body.fleur.v3 .v3-pourqui__grid.is-seul { max-width: 820px; margin-inline: auto; }
/* Première séance : bouton centré */
body.fleur.v3 .v3-premiere .v3-card-photo__body > .btn { display: flex; width: fit-content; margin-left: auto; margin-right: auto; align-self: center; }
/* Visio, « Le même cadre » : textes centrés sur la hauteur des cartes */
body.fleur.v3 .compare .compare-card { display: flex; flex-direction: column; justify-content: center; }
/* Portrait détouré de Psychothérapie : deux fleurs sur l'arche (la fleur et les boutons) */
body.fleur.v3 .v3-intro__media.is-reduite.has-fleurs > .fl-arch-brin { display: none; }
/* Portrait détouré de Psychothérapie : jambes coupées sous l'assise, à 72 % de la photo (consigne Thomas du 18/10/2026 :
   un pied du fauteuil manque). Coupe à l'affichage seulement, le fichier et le HAUT de la photo restent intacts.
   Le bas coupé tombe sur le filet bas de l'arche (16 px au-dessus du pied de la figure). */
body.fleur.v3 .v3-intro__media.is-coupe { position: relative; }
body.fleur.v3 .v3-intro__media.is-coupe img { position: absolute; top: 11.6%; left: -11.3%; height: 118.75%; width: auto; max-width: none; padding: 0; object-fit: fill; -webkit-clip-path: inset(0 0 28% 0); clip-path: inset(0 0 28% 0); }
/* Suite : la figure garde la hauteur que lui donnait la photo ; la photo est centrée sur son contenu (73 % à droite de 17 %) */
body.fleur.v3 .v3-intro__media.is-coupe { height: min(560px, calc(100vh - var(--fl-navh, 96px) - 140px)); min-height: 300px; }
body.fleur.v3 .v3-intro__media.is-coupe img { left: 50%; transform: translateX(-60.5%); min-height: 0; border-radius: 0; }
@media (max-width: 900px) { body.fleur.v3 .v3-intro__media.is-coupe { height: auto; aspect-ratio: 4 / 5; } body.fleur.v3 .v3-intro__media.is-coupe img { aspect-ratio: auto; } }

/* Pages légales en v3 (mise en production du 18/10/2026, gabarit template-fleur-v3-legal.php) */
body.fleur.v3 .v3-legal__tete { padding: clamp(36px, 5vw, 72px) 0 8px; }
body.fleur.v3 .v3-legal__h1 { font-family: var(--serif); font-size: clamp(2.3rem, 4vw, 3.3rem); font-weight: 400; line-height: 1.08; color: var(--ink); margin: 18px 0 8px; }
body.fleur.v3 .v3-legal__corps { padding: 8px 0 clamp(56px, 7vw, 96px); }
body.fleur.v3 .v3-legal__bloc { padding: 26px 0; border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); }
body.fleur.v3 .v3-legal__bloc h2 { font-family: var(--serif); font-size: clamp(1.4rem, 2vw, 1.7rem); font-weight: 400; color: var(--ink); margin: 0 0 10px; }
body.fleur.v3 .v3-legal__bloc p, body.fleur.v3 .v3-legal__bloc li { line-height: 1.7; }
body.fleur.v3 .v3-legal__bloc a { color: var(--terra); }
body.fleur.v3 .v3-legal__bloc strong { color: var(--ink) !important; }
body.fleur.v3 .v3-legal__maj { color: var(--ink-muted); font-size: .9375rem; margin-top: 18px; }

/* ============================================================
   Pages locales (20/10/2026) : page d'ensemble /psychologue/ et pages de ville
   ============================================================ */
body.fleur.v3 .v3-intro__grid:has(.v3-intro__carte) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.fleur.v3 .v3-intro__carte { min-width: 0; }
@media (max-width: 900px) { body.fleur.v3 .v3-intro__grid:has(.v3-intro__carte) { grid-template-columns: 1fr; } }

/* Venir au cabinet */
body.fleur.v3 .v3-trajet__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
body.fleur.v3 .v3-trajet .pill { margin-bottom: 20px; }
body.fleur.v3 .v3-trajet__chiffres { display: flex; flex-wrap: wrap; gap: 18px clamp(28px, 4vw, 56px); margin: 26px 0 14px; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body.fleur.v3 .v3-trajet__chiffres dt { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 6px; }
body.fleur.v3 .v3-trajet__chiffres dd { margin: 0; color: var(--ink-soft); }
body.fleur.v3 .v3-trajet__chiffres dd strong { font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 3.2rem); font-weight: 500; color: var(--terra); line-height: 1; margin-right: 4px; }
body.fleur.v3 .v3-trajet__chiffres dd.is-route { font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 1.8rem); color: var(--ink); line-height: 1.2; padding-top: 8px; }
body.fleur.v3 .v3-trajet__note { font-size: .875rem; color: var(--ink-muted); margin: 0; }
body.fleur.v3 .v3-trajet__lieu { background: #fff; border-radius: var(--radius-xl); padding: clamp(24px, 3vw, 40px); box-shadow: 0 1px 2px rgba(46,59,42,.04), 0 30px 60px -36px rgba(46,59,42,.3); }
body.fleur.v3 .v3-trajet__tc { margin: 0 0 22px; }
body.fleur.v3 .v3-trajet__tc .v3-h3 { font-size: 1.25rem; margin-bottom: 6px; }
body.fleur.v3 .v3-trajet__tc p { color: var(--ink-soft); margin: 0 0 8px; }
@media (max-width: 860px) { body.fleur.v3 .v3-trajet__grid { grid-template-columns: 1fr; } }

/* Ce que je propose */
body.fleur.v3 .v3-ville-appr__list { list-style: none; margin: clamp(8px, 2vw, 20px) 0 28px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(24px, 4vw, 64px); }
body.fleur.v3 .v3-ville-appr__list li { display: flex; align-items: center; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.3rem, 2vw, 1.6rem); color: var(--ink); }
body.fleur.v3 .v3-ville-appr__list .v3-puce { flex: none; width: 34px; color: var(--terra); }
@media (max-width: 640px) { body.fleur.v3 .v3-ville-appr__list { grid-template-columns: 1fr; } }

/* La visio : bande entre deux filets */
body.fleur.v3 .v3-ville-visio__band { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: clamp(28px, 4vw, 48px) 0; text-align: center; }
body.fleur.v3 .v3-ville-visio__band .section { margin-bottom: 14px; }
body.fleur.v3 .v3-ville-visio__band p { color: var(--ink-soft); max-width: 60ch; margin: 0 auto 18px; line-height: 1.7; }

/* Autres communes */
body.fleur.v3 .v3-ville-autres { margin-top: clamp(32px, 4vw, 56px); text-align: center; color: var(--ink-soft); }
body.fleur.v3 .v3-ville-autres p { margin: 0 0 14px; }
body.fleur.v3 .v3-ville-autres p a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--terra); text-underline-offset: 3px; }

/* Tableau des temps de trajet */
body.fleur.v3 .v3-villes-table__wrap { background: #fff; border-radius: var(--radius-xl); padding: clamp(8px, 2vw, 20px) clamp(16px, 3vw, 36px); box-shadow: 0 1px 2px rgba(46,59,42,.04), 0 30px 60px -36px rgba(46,59,42,.3); overflow-x: auto; }
body.fleur.v3 .v3-villes-table__t { width: 100%; border-collapse: collapse; font-size: 1rem; }
body.fleur.v3 .v3-villes-table__t th, body.fleur.v3 .v3-villes-table__t td { text-align: left; padding: 13px 10px; border-bottom: 1px solid var(--line); font-weight: 400; color: var(--ink-soft); }
body.fleur.v3 .v3-villes-table__t thead th { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); }
body.fleur.v3 .v3-villes-table__t tbody tr:last-child > * { border-bottom: 0; }
body.fleur.v3 .v3-villes-table__t .n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.fleur.v3 .v3-villes-table__t tr.has-page th { font-weight: 700; color: var(--ink); }
body.fleur.v3 .v3-villes-table__t tr.has-page a { color: inherit; text-decoration: none; }
body.fleur.v3 .v3-villes-table__t tr.has-page a span { color: var(--terra); }
body.fleur.v3 .v3-villes-table__t tr.has-page a:hover { color: var(--terra); }
body.fleur.v3 .v3-villes-table + .v3-trajet__note, body.fleur.v3 .v3-villes-table .v3-trajet__note { margin-top: 16px; }
body.fleur.v3 .v3-villes-edit { margin-top: 18px; padding: 16px 20px; border: 1px dashed var(--line); border-radius: var(--radius-lg); background: #fff; font-size: .9375rem; }
body.fleur.v3 .v3-villes-edit p { margin: 4px 0; }
/* Plan des accès (pages locales), modèle de la carte du pied de page de My Lave Auto, couleurs de la v3 */
body.fleur.v3 .v3-carte { margin: 0; border-radius: var(--radius-xl); background: var(--sage-50); overflow: hidden; }
body.fleur.v3 .v3-carte__svg { display: block; width: 100%; height: auto; font-family: var(--sans); }
body.fleur.v3 .v3-carte text { font-weight: 600; stroke: var(--sage-50); stroke-width: 8px; stroke-linejoin: round; paint-order: stroke; }
body.fleur.v3 .c3-route, body.fleur.v3 .c3-trajet { fill: none; stroke-linecap: round; stroke-linejoin: round; }
body.fleur.v3 .c3-route--sec { stroke: var(--sage-300); stroke-width: 2.5; }
body.fleur.v3 .c3-route--a { stroke: var(--sage-500); stroke-width: 5; }
body.fleur.v3 .c3-trajet { stroke: var(--terra); stroke-width: 6; display: none; }
body.fleur.v3 .c3-trajet.is-on { display: inline; }
body.fleur.v3 .c3-badge rect { fill: #fff; stroke: var(--sage-500); stroke-width: 2.5; }
body.fleur.v3 .c3-badge text { font-size: 22px; font-weight: 700; fill: var(--sage-700); stroke: none; }
body.fleur.v3 .c3-lieu circle { fill: #fff; stroke: var(--sage-700); stroke-width: 3; }
body.fleur.v3 .c3-lieu text { font-size: 26px; fill: var(--ink-soft); }
body.fleur.v3 .c3-lieu.is-on circle { fill: var(--terra); stroke: #fff; }
body.fleur.v3 .c3-lieu.is-on text { font-size: 30px; font-weight: 700; fill: var(--ink); }
body.fleur.v3 .c3-point { fill: var(--terra); }
body.fleur.v3 .c3-halo { fill: var(--terra); opacity: .22; }
body.fleur.v3 .c3-onde { fill: none; stroke: var(--terra); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; animation: c3-onde 2.6s 1s ease-out infinite; }
@keyframes c3-onde { 0% { opacity: .7; transform: scale(1); } 100% { opacity: 0; transform: scale(3.2); } }
body.fleur.v3 .c3-nom { font-size: 30px; font-weight: 700; fill: var(--ink); }
body.fleur.v3 .c3-ville { font-size: 21px; font-weight: 400; fill: var(--ink-muted); }
@media (prefers-reduced-motion: reduce) { body.fleur.v3 .c3-onde { animation: none; } }
@media (max-width: 600px) {
  body.fleur.v3 .c3-lieu text { font-size: 40px; }
  body.fleur.v3 .c3-lieu.is-on text { font-size: 44px; }
  body.fleur.v3 .c3-nom { font-size: 42px; }
  body.fleur.v3 .c3-ville { display: none; }
  body.fleur.v3 .c3-badge { display: none; }
}
/* Pages de ville : textes SEO sous la prise de rendez-vous (21/10/2026) */
body.fleur.v3 .v3-ville-seo__bloc { padding: clamp(28px, 4vw, 44px) 0; border-top: 1px solid var(--line); }
body.fleur.v3 .v3-ville-seo__bloc:first-child { border-top: 0; padding-top: 0; }
body.fleur.v3 .v3-ville-seo__bloc .section { margin-bottom: 16px; }
body.fleur.v3 .v3-ville-seo__x p { color: var(--ink-soft); line-height: 1.75; margin: 0 0 14px; max-width: 68ch; }
body.fleur.v3 .v3-ville-seo__x a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--terra); text-underline-offset: 3px; }
/* Plan des accès sous la prise de rendez-vous (21/10/2026 : photo de Marie en ouverture) */
body.fleur.v3 .v3-trajet__plan { margin-top: clamp(28px, 4vw, 48px); }
body.fleur.v3 .v3-trajet__plan--haut { margin: 0 0 clamp(24px, 3vw, 40px); }
body.fleur.v3 .v3-trajet__plan .v3-carte { background: #fff; }
body.fleur.v3 .v3-trajet__plan .v3-carte text { stroke: #fff; }
body.fleur.v3 .v3-villes-visio__liens a, body.fleur.v3 .v3-ville-visio__band p a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--terra); text-underline-offset: 3px; }
/* Plan à 11 villes (21/10/2026) : seuls les repères et la ville de la page portent leur nom */
body.fleur.v3 .c3-lieu--discret text { display: none; }
body.fleur.v3 .c3-lieu--discret.is-on text { display: inline; }
body.fleur.v3 .c3-lieu--discret circle { r: 5px; }
body.fleur.v3 .c3-lieu--discret.is-on circle { r: 8px; }
