/* Marcellus (titres) hébergée sur le site et préchargée : évite le décalage au chargement */
@font-face { font-family: 'Marcellus'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/Marcellus-400.woff2) format('woff2'); }

/* En-tête « verre dépoli » — Mon Premier Souffle */
.mps-h, .mps-h * { box-sizing: border-box; }
.mps-h {
  --taupe: #866a53; --taupe-dark: #6b5341; --cocoa: #3a2c23; --sand: #f3ebe2;
  position: fixed; top: 18px; left: 24px; right: 24px; z-index: 99999;
  max-width: 1320px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 8px 10px 8px 24px; border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.35);
  -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
  color: #fff; font-family: "Poppins", sans-serif; line-height: 1.4;
  transition: background .4s, color .4s, box-shadow .4s, border-color .4s, top .4s, padding .4s;
}
.mps-h.is-solid {
  top: 10px; background: rgba(255,255,255,.92); color: var(--cocoa);
  border-color: rgba(255,255,255,.9); box-shadow: 0 12px 34px -14px rgba(58,44,35,.35);
}
.mps-h a { color: inherit; text-decoration: none; }
.mps-h ul { list-style: none; margin: 0; padding: 0; }

.mps-h__logo img { display: block; height: 34px; width: auto; transition: filter .4s, height .4s; }
.mps-h.is-solid .mps-h__logo img { filter: brightness(.23) sepia(.6); height: 30px; }

.mps-h__nav > ul { display: flex; gap: 4px; align-items: center; }
.mps-h__nav > ul > li { position: relative; }
.mps-h__nav > ul > li > a, .mps-h__nav > ul > li > button {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border-radius: 999px;
  font-family: "Marcellus", serif; font-size: 16px; color: inherit; background: none; border: 0; cursor: pointer;
  transition: background .3s, color .3s;
}
.mps-h__nav > ul > li > a:hover, .mps-h__nav > ul > li > button:hover {
  background: #fff; color: var(--cocoa);
}
.mps-h.is-solid .mps-h__nav > ul > li > a:hover, .mps-h.is-solid .mps-h__nav > ul > li > button:hover { background: var(--sand); }

.mps-h__chev { width: 11px; height: 11px; transition: transform .3s; }
.mps-h__dd:hover .mps-h__chev, .mps-h__dd:focus-within .mps-h__chev, .mps-h__dd.is-open .mps-h__chev { transform: rotate(180deg); }
.mps-h__panel {
  position: absolute; top: calc(100% + 14px); left: 50%; transform: translate(-50%, 6px);
  min-width: 300px; padding: 10px; border-radius: 20px; background: #fff; color: var(--cocoa);
  box-shadow: 0 24px 50px -20px rgba(58,44,35,.45);
  opacity: 0; visibility: hidden; transition: opacity .25s, transform .25s, visibility .25s;
}
.mps-h__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.mps-h__dd:hover .mps-h__panel, .mps-h__dd:focus-within .mps-h__panel, .mps-h__dd.is-open .mps-h__panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.mps-h__panel a { display: block; padding: 9px 14px; border-radius: 12px; font-size: 14px; }
.mps-h__panel a:hover { background: var(--sand); }
.mps-h__panel a.mps-h__gift { margin-top: 6px; background: var(--sand); text-align: center; font-weight: 500; }
.mps-h__panel a.mps-h__gift:hover { background: #eadfd3; }

.mps-h__actions { display: flex; align-items: center; gap: 8px; }
.mps-h__btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 12px 24px; border-radius: 999px;
  background: #fff; color: var(--cocoa) !important; font-size: 14px; font-weight: 500; letter-spacing: .02em; white-space: nowrap;
  transition: background .3s, color .3s, transform .3s, box-shadow .3s;
}
.mps-h__btn svg { width: 15px; height: 15px; transition: transform .3s; }
.mps-h__btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -10px rgba(58,44,35,.6); }
.mps-h__btn:hover svg { transform: translateX(3px); }
.mps-h.is-solid .mps-h__btn { background: var(--taupe); color: #fff !important; }
.mps-h.is-solid .mps-h__btn:hover { background: var(--taupe-dark); }

.mps-h__burger { display: none; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5); background: none; color: inherit; cursor: pointer; position: relative; }
.mps-h.is-solid .mps-h__burger { border-color: rgba(58,44,35,.2); }
.mps-h__burger i { position: absolute; left: 14px; right: 14px; height: 1.5px; background: currentColor; transition: transform .3s, opacity .2s; }
.mps-h__burger i:nth-child(1) { top: 17px; } .mps-h__burger i:nth-child(2) { top: 22px; } .mps-h__burger i:nth-child(3) { top: 27px; }
.mps-menu-open .mps-h__burger i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.mps-menu-open .mps-h__burger i:nth-child(2) { opacity: 0; }
.mps-menu-open .mps-h__burger i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* Menu mobile */
.mps-m {
  position: fixed; inset: 0; z-index: 99998; background: #fbf7f2; color: #3a2c23;
  padding: 100px 24px 32px; overflow-y: auto; font-family: "Poppins", sans-serif;
  opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s;
}
.mps-menu-open .mps-m { opacity: 1; visibility: visible; }
.mps-menu-open { overflow: hidden; }
.mps-m a { color: inherit; text-decoration: none; }
.mps-m ul { list-style: none; margin: 0; padding: 0; }
.mps-m > ul > li { border-bottom: 1px solid rgba(58,44,35,.1); }
.mps-m > ul > li > a, .mps-m summary { display: flex; justify-content: space-between; align-items: center; padding: 16px 4px; font-family: "Marcellus", serif; font-size: 26px; cursor: pointer; list-style: none; }
.mps-m summary::-webkit-details-marker { display: none; }
.mps-m details[open] .mps-h__chev { transform: rotate(180deg); }
.mps-m details ul { padding: 0 4px 14px; }
.mps-m details a { display: block; padding: 7px 0; font-size: 15px; color: #6e6057; }
.mps-m .mps-h__btn { margin-top: 26px; background: #866a53; color: #fff !important; justify-content: center; width: 100%; }
.mps-m__contact { margin-top: 22px; font-size: 14px; color: #6e6057; display: grid; gap: 4px; }

@media (max-width: 1100px) {
  .mps-h__nav { display: none; }
  .mps-h__burger { display: block; }
}
@media (max-width: 600px) {
  .mps-h { top: 10px; left: 10px; right: 10px; padding: 6px 6px 6px 18px; }
  .mps-h__logo img, .mps-h.is-solid .mps-h__logo img { height: 26px; }
  .mps-h__actions .mps-h__btn { display: none; }
}

/* Remplacements du JS Divi */
[data-href] { cursor: pointer; }
.et_pb_toggle_title { cursor: pointer; }
.et_pb_toggle_close .et_pb_toggle_content { display: none; }
.et_pb_section_video_bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.et_pb_section_video_bg video { width: 100%; height: 100%; object-fit: cover; }

/* Place réservée à l'en-tête fixe (même hauteur que l'ancien header Divi) */
.mps-h-space { height: 69px; }
@media (max-width: 980px) { .mps-h-space { height: 65px; } }

/* Section après la photo d'en-tête : haut arrondi (classe posée par site.js) */
.mps-apres-hero { position: relative; z-index: 2; border-radius: 40px 40px 0 0; overflow: hidden; background-color: #fff; }
@media (max-width: 600px) { .mps-apres-hero { border-radius: 28px 28px 0 0; } }

/* Page Tarifs : bloc à onglets (proposition D2) */
.mps-tarifs-row.et_pb_row { width: 100%; max-width: 1200px; padding: 10px 16px 30px; }
.mps-tarifs { font-family: "Sarabun", sans-serif; color: #3a2c23; }
.mps-tarifs__tabs { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; border-bottom: 1px solid rgba(58,44,35,.12); margin: 0 auto 44px; }
.mps-tarifs__tabs button { position: relative; border: 0; background: none; padding: 0 2px 16px; font: 22px "Marcellus", serif; color: #6e6057; cursor: pointer; }
.mps-tarifs__tabs button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #866a53; transform: scaleX(0); transition: transform .3s; }
.mps-tarifs__tabs button.is-on { color: #3a2c23; }
.mps-tarifs__tabs button.is-on::after { transform: scaleX(1); }
.mps-tarifs__tabs sup { font: 500 12px "Sarabun", sans-serif; color: #866a53; margin-left: 4px; }
.mps-tarifs__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mps-tarifs__grid[hidden] { display: none; }
.mps-tarifs__card { display: grid; grid-template-columns: 200px 1fr; gap: 6px; padding: 12px; border-radius: 30px; background: #fff; animation: mps-in .4s both; transition: box-shadow .3s, transform .3s; }
.mps-tarifs__card:nth-child(2) { animation-delay: 60ms; }
.mps-tarifs__card:nth-child(3) { animation-delay: 120ms; }
.mps-tarifs__card:nth-child(4) { animation-delay: 180ms; }
.mps-tarifs__card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(58,44,35,.1); }
@keyframes mps-in { from { opacity: 0; transform: translateY(12px); } }
.mps-tarifs__card img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; border-radius: 22px; }
.mps-tarifs__body { padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.mps-tarifs__prix { font: 34px/1 "Marcellus", serif; color: #866a53; }
.mps-tarifs__prix small { font: 400 14px "Sarabun", sans-serif; color: #6e6057; margin-left: 6px; }
.mps-tarifs__body h3 { font: 23px/1.25 "Marcellus", serif; color: #3a2c23; padding: 0; margin: 0; }
.mps-tarifs__body p { margin: 0; padding: 0; color: #6e6057; font-size: 14.5px; line-height: 1.6; font-weight: 300; }
.mps-tarifs__btn { align-self: flex-start; margin-top: auto; display: inline-flex; gap: 8px; background: #866a53; color: #fff !important; padding: 12px 22px; border-radius: 99px; font: 500 14px "Sarabun", sans-serif; letter-spacing: .08em; text-transform: uppercase; transition: background .2s; }
.mps-tarifs__btn::after { content: "→"; transition: transform .2s; }
.mps-tarifs__btn:hover { background: #3a2c23; }
.mps-tarifs__btn:hover::after { transform: translateX(4px); }
.mps-tarifs__note { text-align: center; margin: 34px 0 0; font-size: 14px; color: #6e6057; }
@media (max-width: 900px) {
  .mps-tarifs__grid, .mps-tarifs__card { grid-template-columns: 1fr; }
  .mps-tarifs__card img { min-height: 0; height: auto; aspect-ratio: 16/10; }
  .mps-tarifs__tabs { gap: 22px; }
  .mps-tarifs__tabs button { font-size: 18px; }
}
@media (max-width: 600px) {
  .mps-tarifs__tabs { gap: 18px; flex-wrap: nowrap; }
  .mps-tarifs__tabs button { font-size: 16px; white-space: nowrap; padding-bottom: 12px; }
}

/* Page bon cadeau (proposition A) */
.mps-bc { --t: #3a2c23; --m: #6e6057; --a: #866a53; --l: rgba(58,44,35,.12); color: var(--t); font: 300 16px/1.6 "Sarabun", sans-serif; background: #fff; }
.mps-bc h1, .mps-bc h2, .mps-bc h3 { font-family: "Marcellus", serif; font-weight: 400; color: var(--t); padding: 0; }
.mps-bc fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.mps-bc__top { max-width: 1200px; margin: 0 auto; padding: 70px 16px 90px; display: grid; grid-template-columns: 1.05fr 1fr; gap: 60px; align-items: start; }
.mps-bc__left { position: sticky; top: 110px; }
.mps-bc__gift { position: relative; aspect-ratio: 1.6; border-radius: 26px; overflow: hidden; color: #fff; box-shadow: 0 30px 60px rgba(58,44,35,.25); transform: rotate(-2deg); transition: transform .5s; }
.mps-bc__gift:hover { transform: rotate(0); }
.mps-bc__gift img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mps-bc__gift::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(120deg, rgba(58,44,35,.82) 20%, rgba(58,44,35,.25)); }
.mps-bc__gift-in { position: relative; z-index: 2; height: 100%; padding: 30px 34px; display: flex; flex-direction: column; }
.mps-bc__gift-top { display: flex; justify-content: space-between; align-items: flex-start; }
.mps-bc__gift img.mps-bc__logo { position: static; width: auto; height: 44px; object-fit: contain; }
.mps-bc__val { font: 40px/1 "Marcellus", serif; white-space: nowrap; }
.mps-bc__label { font: 500 12px "Sarabun", sans-serif; letter-spacing: .25em; text-transform: uppercase; opacity: .8; margin-top: auto; }
.mps-bc__pres { font: clamp(20px, 2.4vw, 30px)/1.2 "Marcellus", serif; margin: 6px 0 14px; }
.mps-bc__who { display: flex; gap: 30px; font-size: 14px; }
.mps-bc__who em { display: block; font-style: normal; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; opacity: .7; }
.mps-bc__kicker { font: 20px "Marcellus", serif; color: var(--a); }
.mps-bc h1 { font-size: clamp(32px, 4.4vw, 52px); line-height: 1.15; margin: 8px 0 16px; }
.mps-bc__lead { color: var(--m); font-size: 17px; margin: 0; }
.mps-bc__form { display: grid; gap: 18px; margin-top: 30px; }
.mps-bc__lab { display: block; padding: 0; margin-bottom: 8px; font: 500 13px "Sarabun", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--m); }
.mps-bc__form input:not([type=radio]), .mps-bc__form textarea { width: 100%; border: 1px solid var(--l); background: #fff; border-radius: 14px; padding: 13px 16px; font: 300 16px "Sarabun", sans-serif; color: var(--t); outline: none; transition: border-color .2s, box-shadow .2s; }
.mps-bc__form input:focus, .mps-bc__form textarea:focus { border-color: var(--a); box-shadow: 0 0 0 4px rgba(161,134,110,.15); }
.mps-bc__form textarea { resize: vertical; }
.mps-bc__2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mps-bc input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.mps-bc__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mps-bc__chips label, .mps-bc__seg label { cursor: pointer; }
.mps-bc__chips span { display: inline-block; border: 1px solid var(--l); background: #fff; border-radius: 99px; padding: 9px 16px; font-size: 14.5px; transition: all .2s; }
.mps-bc__chips b { font-weight: 500; color: var(--a); margin-left: 6px; }
.mps-bc__chips input:checked + span { background: var(--a); border-color: var(--a); color: #fff; }
.mps-bc__chips input:checked + span b { color: #fff; }
.mps-bc input[type=radio]:focus-visible + span { outline: 2px solid var(--a); outline-offset: 2px; }
.mps-bc__seg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mps-bc__seg span { display: block; border: 1px solid var(--l); border-radius: 14px; padding: 12px 14px; font-size: 15px; line-height: 1.35; transition: all .2s; }
.mps-bc__seg small { display: block; color: var(--m); font-size: 13px; }
.mps-bc__seg input:checked + span { border-color: var(--a); background: #fbf8f5; box-shadow: inset 0 0 0 1px var(--a); }
.mps-bc__total { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 0; border-top: 1px solid var(--l); }
.mps-bc__total b { font: 34px "Marcellus", serif; color: var(--a); }
.mps-bc__go { display: inline-flex; justify-content: center; align-items: center; gap: 10px; border: 0; cursor: pointer; background: var(--a); color: #fff; padding: 16px 30px; border-radius: 99px; font: 500 15px "Sarabun", sans-serif; letter-spacing: .08em; text-transform: uppercase; transition: background .2s; }
.mps-bc__go::after { content: "→"; transition: transform .2s; }
.mps-bc__go:hover { background: var(--t); }
.mps-bc__go:hover::after { transform: translateX(4px); }
.mps-bc__mini { font-size: 13px; color: var(--m); margin: 0; }
.mps-bc__mini a { color: var(--a); }
@media (max-width: 900px) {
  .mps-bc__top { grid-template-columns: 1fr; gap: 40px; padding-top: 40px; }
  .mps-bc__left { position: static; }
  .mps-bc__gift-in { padding: 20px 22px; }
  .mps-bc__val { font-size: 30px; }
}
@media (max-width: 600px) {
  .mps-bc__2, .mps-bc__seg { grid-template-columns: 1fr; }
  .mps-bc__gift img.mps-bc__logo { height: 30px; }
}
@media (max-width: 900px) {
  .mps-bc__left { display: contents; }
  .mps-bc__right { order: 2; }
  .mps-bc__steps { order: 3; }
}

/* Bon cadeau : bas de page */
.mps-bc__info { background: #f7f3ef; border-radius: 40px 40px 0 0; padding: 90px 16px 100px; }
.mps-bc__intro { max-width: 1200px; margin-left: auto; margin-right: auto; }
.mps-bc__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.mps-bc__intro h2 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.2; margin: 8px 0 18px; }
.mps-bc__intro p { color: var(--m); font-size: 17px; margin: 0; }
.mps-bc__atouts { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mps-bc__atouts li { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; background: #fff; border-radius: 22px; padding: 20px 22px; color: var(--m); font-size: 14.5px; line-height: 1.55; }
.mps-bc__atouts svg { width: 52px; height: 52px; padding: 13px; border-radius: 50%; background: #f7f3ef; fill: none; stroke: var(--a); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.mps-bc__atouts strong { display: block; font: 19px "Marcellus", serif; color: var(--t); margin-bottom: 2px; }
@media (max-width: 900px) {
  .mps-bc__intro { grid-template-columns: 1fr; gap: 30px; }
  .mps-bc__info { padding: 60px 16px 70px; border-radius: 28px 28px 0 0; }
}

/* Bon cadeau : les 3 étapes */
.mps-bc__steps { list-style: none; margin: 44px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; position: relative; counter-reset: s; }
.mps-bc__steps::before { content: ""; position: absolute; top: 32px; left: 16%; right: 16%; border-top: 1px dashed var(--acc2, #c9b39d); }
.mps-bc__steps li { position: relative; text-align: center; font-size: 14px; line-height: 1.5; color: var(--m); }
.mps-bc__steps strong { display: block; margin: 16px 0 4px; font: 19px "Marcellus", serif; color: var(--t); }
.mps-bc__step-ico { position: relative; display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto; border-radius: 50%; background: #fff; border: 1px solid #e7ddd3; box-shadow: 0 8px 20px rgba(58,44,35,.08); transition: transform .3s, background .3s; }
.mps-bc__steps li:hover .mps-bc__step-ico { transform: translateY(-3px); background: #f7f3ef; }
.mps-bc__step-ico svg { width: 26px; height: 26px; fill: none; stroke: var(--a); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.mps-bc__step-ico b { position: absolute; top: -4px; right: -4px; width: 24px; height: 24px; border-radius: 50%; background: var(--a); color: #fff; font: 500 12px/24px "Sarabun", sans-serif; text-align: center; box-shadow: 0 0 0 3px #fff; }
@media (max-width: 900px) {
  .mps-bc__steps { grid-template-columns: 1fr; gap: 22px; margin-top: 10px; background: #f7f3ef; border-radius: 26px; padding: 26px 22px; }
  .mps-bc__steps::before { top: 58px; bottom: 58px; left: 53px; right: auto; border-top: 0; border-left: 1px dashed #c9b39d; }
  .mps-bc__steps li { display: grid; grid-template-columns: 64px 1fr; column-gap: 18px; text-align: left; align-items: center; }
  .mps-bc__step-ico { grid-row: 1 / 3; margin: 0; }
  .mps-bc__steps strong { margin: 0; align-self: end; }
}
.mps-bc__fmt { display: flex; align-items: center; gap: 14px; border: 1px solid var(--a); background: #fbf8f5; border-radius: 14px; padding: 12px 16px; font-size: 13px; line-height: 1.35; color: var(--m); }
.mps-bc__fmt svg { flex: none; width: 38px; height: 38px; padding: 9px; border-radius: 50%; background: #fff; fill: none; stroke: var(--a); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.mps-bc__fmt strong { display: block; font-size: 15px; font-weight: 400; color: var(--t); }

/* Page Contact : carte + formulaire (proposition A) */
.mps-contact-row.et_pb_row { width: 100%; max-width: 1232px; padding: 20px 16px 40px; }
.mps-contact { --t: #3a2c23; --m: #6e6057; --a: #866a53; --l: rgba(58,44,35,.12); display: grid; grid-template-columns: 1fr 1fr; background: #fff; border-radius: 34px; overflow: hidden; box-shadow: 0 30px 70px rgba(58,44,35,.1); color: var(--t); font: 300 16px/1.6 "Sarabun", sans-serif; text-align: left; }
.mps-contact__map { position: relative; min-height: 580px; }
.mps-contact__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.35) sepia(.18); }
.mps-contact__fiche { position: absolute; left: 24px; right: 24px; bottom: 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; background: #fff; border-radius: 24px; padding: 22px 24px; box-shadow: 0 20px 40px rgba(58,44,35,.18); }
.mps-contact__fiche h3 { font: 21px "Marcellus", serif; color: var(--t); padding: 0; margin: 0; }
.mps-contact__fiche p { margin: 2px 0 0; padding: 0; font-size: 14px; color: var(--m); }
.mps-contact__body { padding: 54px 50px; }
.mps-contact__kicker { font: 20px "Marcellus", serif; color: var(--a); }
.mps-contact h2 { font: clamp(30px, 3.4vw, 42px)/1.15 "Marcellus", serif; color: var(--t); margin: 6px 0 10px; padding: 0; }
.mps-contact__lead { color: var(--m); margin: 0 0 26px; padding: 0; }
.mps-contact__form { display: grid; gap: 16px; }
.mps-contact__2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mps-contact__form label span { display: block; margin-bottom: 6px; font: 500 13px "Sarabun", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--m); }
.mps-contact__form input, .mps-contact__form textarea { width: 100%; border: 1px solid var(--l); background: #fbf9f7; border-radius: 14px; padding: 14px 16px; font: 300 16px "Sarabun", sans-serif; color: var(--t); outline: none; transition: border-color .2s, box-shadow .2s, background .2s; }
.mps-contact__form input:focus, .mps-contact__form textarea:focus { border-color: var(--a); background: #fff; box-shadow: 0 0 0 4px rgba(161,134,110,.15); }
.mps-contact__form textarea { min-height: 150px; resize: vertical; }
.mps-contact__form .is-err { border-color: #c0624f; }
.mps-contact__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.mps-contact__btn { display: inline-flex; justify-content: center; align-items: center; gap: 10px; border: 0; cursor: pointer; background: var(--a); color: #fff !important; padding: 15px 28px; border-radius: 99px; font: 500 15px "Sarabun", sans-serif; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .2s, opacity .2s; }
.mps-contact__btn::after { content: "→"; transition: transform .2s; }
.mps-contact__btn:hover { background: var(--t); }
.mps-contact__btn:hover::after { transform: translateX(4px); }
.mps-contact__btn:disabled { opacity: .6; cursor: wait; }
.mps-contact__statut { margin: 0; padding: 0; font-size: 15px; min-height: 1em; }
.mps-contact__statut.ok { color: #5f7f5a; }
.mps-contact__statut.err { color: #c0624f; }
@media (max-width: 900px) {
  .mps-contact { grid-template-columns: 1fr; border-radius: 28px; }
  .mps-contact__map { min-height: 400px; }
  .mps-contact__body { padding: 32px 22px 36px; }
  .mps-contact__2 { grid-template-columns: 1fr; }
  .mps-contact__fiche { left: 12px; right: 12px; bottom: 12px; padding: 16px 18px; }
}

/* Header : bouton « Bon cadeau » (contour) à côté de « Prendre RDV » */
.mps-h .mps-h__btn--gift { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.65); }
.mps-h .mps-h__btn--gift svg { width: 17px; height: 17px; }
.mps-h .mps-h__btn--gift:hover { background: rgba(255,255,255,.15); }
.mps-h .mps-h__btn--gift:hover svg { transform: rotate(-8deg); }
.mps-h.is-solid .mps-h__btn--gift { background: transparent; color: var(--taupe) !important; box-shadow: inset 0 0 0 1px var(--taupe); }
.mps-h.is-solid .mps-h__btn--gift:hover { background: var(--sand); }
@media (max-width: 1280px) and (min-width: 1101px) { .mps-h__nav > ul > li > a, .mps-h__nav > ul > li > button { padding-left: 12px; padding-right: 12px; } }
@media (max-width: 600px) {
  .mps-h__actions .mps-h__btn--gift { display: inline-flex; width: 46px; height: 46px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
  .mps-h__actions .mps-h__btn--gift svg { width: 19px; height: 19px; }
}

/* Boutons « Offrir un bon cadeau » : même style que le bouton de l'en-tête */
.mps-gift { display: inline-flex !important; align-items: center !important; gap: 10px; padding: 13px 26px; border-radius: 999px; font: 500 15px/1.4 "Poppins", sans-serif; letter-spacing: .02em; white-space: nowrap; text-decoration: none; background: transparent; color: #866a53 !important; box-shadow: inset 0 0 0 1px #866a53; transition: background .3s, transform .3s, box-shadow .3s; }
.mps-gift svg { flex: none; display: block; width: 18px; height: 18px; margin: 0 !important; transition: transform .3s; }
.mps-gift:hover { background: #f3ebe2; transform: translateY(-2px); }
.mps-gift:hover svg { transform: rotate(-8deg); }
.mps-gift--photo { color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.7); background: rgba(255,255,255,.12); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.mps-gift--photo:hover { background: rgba(255,255,255,.24); }

/* Bloc « Offrez un moment de douceur » avec cartes cadeaux (accueil, Nos prestations) */
.mps-cad-row.et_pb_row { width: 100%; max-width: 1272px; padding: 0 16px; }
.mps-cad { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 60px; background: #f7f3ef; border-radius: 36px; padding: 60px 70px; overflow: hidden; color: #3a2c23; font: 300 16px/1.6 "Sarabun", sans-serif; text-align: left; }
.mps-cad__kicker { font: 500 12px "Sarabun", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #866a53; }
.mps-cad h2 { font: clamp(30px, 3.6vw, 46px)/1.15 "Marcellus", serif; color: #3a2c23; margin: 10px 0 14px; padding: 0; }
.mps-cad p { color: #6e6057; font-size: 17px; margin: 0 0 28px; padding: 0; max-width: 520px; }
.mps-cad__btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px; border-radius: 999px; background: #866a53; color: #fff !important; font: 500 15px "Poppins", sans-serif; white-space: nowrap; text-decoration: none; transition: background .3s, transform .3s, box-shadow .3s; }
.mps-cad__btn svg { flex: none; width: 18px; height: 18px; transition: transform .3s; }
.mps-cad__btn:hover { background: #6b5341; transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(58,44,35,.6); }
.mps-cad__btn:hover svg { transform: rotate(-8deg); }
.mps-cad__cards { position: relative; display: block; height: 300px; }
.mps-cad__card { position: absolute; width: 380px; aspect-ratio: 1.6; border-radius: 22px; overflow: hidden; color: #fff; box-shadow: 0 30px 50px rgba(58,44,35,.25); transition: transform .6s; }
.mps-cad__card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mps-cad__card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(120deg, rgba(58,44,35,.85) 25%, rgba(58,44,35,.2)); }
.mps-cad__card > span { position: relative; z-index: 2; height: 100%; padding: 22px 24px; display: flex; flex-direction: column; }
.mps-cad__logo { width: auto; height: 22px; align-self: flex-start; }
.mps-cad__card small { margin-top: auto; font: 500 10px "Sarabun", sans-serif; letter-spacing: .25em; text-transform: uppercase; opacity: .8; }
.mps-cad__card strong { font: 400 22px "Marcellus", serif; }
.mps-cad__card b { position: absolute; top: 18px; right: 22px; font: 400 28px "Marcellus", serif; }
.mps-cad__card--1 { left: 0; top: 40px; transform: rotate(-8deg); }
.mps-cad__card--2 { left: 110px; top: 0; transform: rotate(5deg); }
.mps-cad:hover .mps-cad__card--1 { transform: rotate(-12deg) translateX(-20px); }
.mps-cad:hover .mps-cad__card--2 { transform: rotate(8deg) translateX(20px); }
@media (max-width: 980px) {
  .mps-cad { grid-template-columns: 1fr; padding: 44px 26px 50px; gap: 30px; border-radius: 28px; }
  .mps-cad__cards { height: 230px; max-width: 360px; }
  .mps-cad__card { width: 270px; }
  .mps-cad__card--2 { left: 70px; }
}
@media (max-width: 600px) {
  .mps-cad__cards { height: 190px; margin: 0 auto; width: 290px; }
  .mps-cad__card { width: 220px; border-radius: 16px; }
  .mps-cad__card > span { padding: 14px 16px; }
  .mps-cad__card--1 { left: 4px; top: 30px; }
  .mps-cad__card--2 { left: 64px; }
  .mps-cad__card strong { font-size: 17px; }
  .mps-cad__card b { font-size: 22px; top: 12px; right: 16px; }
  .mps-cad__logo { height: 16px; }
}
/* Bloc cartes cadeaux : espacement de la section et logo protégé des règles Divi */
.et_pb_section:has(> .mps-cad-row) { padding: 80px 0 !important; }
.mps-cad__card img.mps-cad__logo { position: static !important; width: auto !important; max-width: none !important; height: 22px !important; }
@media (max-width: 980px) { .et_pb_section:has(> .mps-cad-row) { padding: 50px 0 !important; } }
@media (max-width: 600px) { .mps-cad__card img.mps-cad__logo { height: 16px !important; } }

/* Accueil : diaporama du haut de page (piloté par site.js, 4 s par photo) */
.et_pb_section:has(> .mps-slides) { position: relative; }
.mps-slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.mps-slides span { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transform: scale(1.06); transition: opacity 1.2s ease, transform 5.5s ease-out; }
.mps-slides span.is-on { opacity: 1; transform: scale(1); }
.mps-slides::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(40,28,20,.45), rgba(40,28,20,.12) 70%); }
.et_pb_section > .mps-slides ~ .et_pb_row { z-index: 1; }
@media (prefers-reduced-motion: reduce) { .mps-slides span { transition: none; } }

/* Barre de progression sous le bouton bon cadeau */
.mps-prog { display: flex; align-items: center; gap: 16px; margin-top: 30px; color: #fff; font: 400 14px "Poppins", sans-serif; }
.mps-prog__segs { display: flex; gap: 8px; }
.mps-prog__segs button { position: relative; width: 44px; height: 14px; padding: 0; border: 0; background: none; cursor: pointer; }
.mps-prog__segs button::before, .mps-prog__segs i { content: ""; position: absolute; left: 0; top: 6px; height: 2px; border-radius: 2px; }
.mps-prog__segs button::before { right: 0; background: rgba(255,255,255,.35); }
.mps-prog__segs i { width: 0; background: #fff; }
.mps-prog__segs button.is-done i { width: 100%; }
@media (max-width: 980px) { .mps-prog { justify-content: center; } .mps-prog__segs button { width: 34px; } }

/* Accueil (ordinateur) : contenu du haut de page rapproché du bandeau de coordonnées, hauteur inchangée */
@media (min-width: 981px) { .et_pb_section_1.et_pb_section:has(> .mps-slides) { padding-top: 50vh; padding-bottom: 28vh; } }
/* Bouton bon cadeau dans le haut des pages de services */
.mps-gift-wrap { text-align: center; margin-top: 26px; }

/* Pages de services : blocs de présentation (grande photo + panneau superposé, version D) */
.et_pb_section.mps-d-section { padding: 110px 24px 80px !important; background-color: #fff; background-size: cover; background-position: center; }
.mps-d { --t: #3a2c23; --m: #6e6057; --a: #866a53; display: grid; grid-template-columns: repeat(12, 1fr); align-items: center; max-width: 1320px; margin: 0 auto; color: var(--t); font: 300 16px/1.65 "Sarabun", sans-serif; text-align: left; }
.mps-d__img { grid-column: 1 / 9; grid-row: 1; }
.mps-d--inv .mps-d__img { grid-column: 5 / 13; }
.mps-d__img img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 34px; }
.mps-d__card { grid-column: 6 / 13; grid-row: 1; position: relative; z-index: 1; margin-top: 90px; background: #fff; border-radius: 30px; padding: 50px 54px; box-shadow: 0 30px 70px rgba(58,44,35,.14); }
.mps-d--inv .mps-d__card { grid-column: 1 / 8; }
.mps-d__kick { font: 500 12px "Sarabun", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--a); }
.mps-d h2 { font: 400 clamp(28px, 3vw, 40px)/1.18 "Marcellus", serif; color: var(--t); margin: 10px 0 18px; padding: 0; }
.mps-d__body, .mps-d__body p, .mps-d__body li, .mps-d__body span { color: var(--m) !important; font-size: 17px !important; line-height: 1.7 !important; font-family: "Sarabun", sans-serif !important; }
.mps-d__body p { margin: 0 0 12px; padding: 0; }
.mps-d__body strong, .mps-d__body b { color: var(--t) !important; font-weight: 500; }
.mps-d__bar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 1px; background: rgba(58,44,35,.12); border-radius: 18px; overflow: hidden; margin: 18px 0 26px; }
.mps-d__bar div { background: #f7f3ef; padding: 12px 16px; font-size: 13px; color: var(--m); }
.mps-d__bar b { display: block; font: 400 18px "Marcellus", serif; color: var(--t); }
.mps-d__btn { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; padding: 15px 28px; border-radius: 999px; background: var(--a); color: #fff !important; font: 500 15px "Poppins", sans-serif; text-decoration: none; transition: background .3s, transform .3s; }
.mps-d__btn::after { content: "→"; }
.mps-d__btn:hover { background: #6b5341; transform: translateY(-2px); }
@media (max-width: 900px) {
  .et_pb_section.mps-d-section { padding: 60px 16px !important; }
  .mps-d { grid-template-columns: 1fr; }
  .mps-d__img, .mps-d--inv .mps-d__img, .mps-d__card, .mps-d--inv .mps-d__card { grid-column: 1; grid-row: auto; }
  .mps-d__img img { aspect-ratio: 4/3.4; }
  .mps-d__card, .mps-d--inv .mps-d__card { margin: -36px 12px 0; padding: 30px 24px; }
  .mps-d__body, .mps-d__body p, .mps-d__body li, .mps-d__body span { font-size: 16px !important; }
  .mps-d__bar { grid-auto-flow: row; }
}

/* Pages de services : introduction (chapô) en haut du premier bloc */
.mps-intro { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: end; max-width: 1320px; margin: -30px auto 0; color: #3a2c23; font: 300 16px/1.6 "Sarabun", sans-serif; text-align: left; }
.mps-intro__kick { font: 500 12px "Sarabun", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #866a53; }
.mps-intro h2 { font: 400 clamp(30px, 3.4vw, 44px)/1.15 "Marcellus", serif; color: #3a2c23; margin: 8px 0 0; padding: 0; }
.mps-intro p { font: 400 22px/1.5 "Marcellus", serif; color: #6e6057; margin: 0; padding: 0 0 0 26px; border-left: 2px solid #c9b39d; }
@media (max-width: 900px) {
  .mps-intro { grid-template-columns: 1fr; gap: 22px; margin: -10px auto 40px; }
  .mps-intro p { font-size: 19px; padding-left: 18px; }
}

/* Bouton « Prendre contact » (style A : pilule taupe + enveloppe) */
.mps-btn-contact { display: inline-flex !important; align-items: center; gap: 10px; padding: 15px 28px; border-radius: 99px; background: #866a53; color: #fff !important; font: 500 15px/1.3 "Poppins", sans-serif; letter-spacing: .01em; text-decoration: none; white-space: nowrap; transition: background .3s, transform .3s, box-shadow .3s; }
.mps-btn-contact svg { flex: none; width: 18px; height: 18px; margin: 0 !important; }
.mps-btn-contact:hover { background: #6b5341; transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(58,44,35,.6); }

/* Bouton « Prendre rendez-vous » (style A : pilule chocolat + calendrier) */
.mps-btn-rdv { display: inline-flex !important; align-items: center; gap: 10px; margin-top: 8px; padding: 15px 28px; border-radius: 99px; background: #866a53; color: #fff !important; font: 500 15px/1.3 "Poppins", sans-serif; text-decoration: none; white-space: nowrap; transition: background .3s, transform .3s, box-shadow .3s; }
.mps-btn-rdv svg { flex: none; width: 18px; height: 18px; margin: 0 !important; }
.mps-btn-rdv:hover { background: #6b5341; transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(58,44,35,.6); }
/* En-tête : « Prendre RDV » au style du bouton rendez-vous (chocolat + calendrier) */
.mps-h .mps-h__btn:not(.mps-h__btn--gift), .mps-h.is-solid .mps-h__btn:not(.mps-h__btn--gift), .mps-m .mps-h__btn { background: #866a53; color: #fff !important; }
.mps-h .mps-h__btn:not(.mps-h__btn--gift):hover, .mps-m .mps-h__btn:hover { background: #6b5341; }
.mps-h__btn:not(.mps-h__btn--gift) svg { width: 17px; height: 17px; }
.mps-h__btn:not(.mps-h__btn--gift):hover svg { transform: none; }

/* Sections à fond gris texturé (photo + texte) : cartes aux bords arrondis */
.et_pb_section.mps-arrondi { border-radius: 40px; overflow: hidden; width: 100%; margin: 40px 0 !important; }
@media (max-width: 980px) { .et_pb_section.mps-arrondi { border-radius: 28px; width: 100%; margin: 24px 0 !important; } }

/* Pied de page : crédit « Fait par Thrpub » */
.mps-made { display: inline-flex !important; align-items: center; gap: 9px; margin-left: 10px; padding: 5px 13px; border-radius: 99px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); vertical-align: middle; text-decoration: none; transition: background-color .2s, border-color .2s; }
.mps-made:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); }
.mps-made span { font: 600 9.5px/1 "Poppins", sans-serif !important; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.6) !important; transition: color .2s; }
.mps-made:hover span { color: #fff !important; }
.mps-made img { display: block; width: auto; height: 14px; }
@media (max-width: 767px) { .mps-made { margin: 10px 0 0; } }
/* Bloc avec photo verticale : cadre plus haut sur ordinateur */
@media (min-width: 901px) { .mps-d--portrait .mps-d__img { grid-column: 7 / 13; } .mps-d--portrait .mps-d__img img { aspect-ratio: 4/5; } .mps-d--portrait .mps-d__card { grid-column: 1 / 8; margin-top: 0; } }
/* À propos : titre au-dessus du panneau (« Mon histoire ») */
.mps-d__haut { grid-column: 1 / 7; grid-row: 1; align-self: start; margin-top: 20px; position: relative; z-index: 2; }
.mps-d--haut .mps-d__card { align-self: end; }
.mps-d__haut span { font: 500 12px "Sarabun", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #866a53; }
.mps-d__haut h3 { font: 400 40px/1.15 "Marcellus", serif; color: #3a2c23; margin: 8px 0 16px; padding: 0; }
.mps-d__haut div { display: flex; gap: 8px; flex-wrap: wrap; }
.mps-d__haut i { font: normal 14px "Sarabun", sans-serif; color: #3a2c23; padding: 7px 15px; border-radius: 99px; background: #f7f3ef; border: 1px solid rgba(58,44,35,.12); }
@media (max-width: 900px) { .mps-d__haut { grid-column: 1; grid-row: auto; order: -1; margin: 0 4px 28px; } .mps-d__haut h3 { font-size: 30px; } }

/* Bon cadeau : modale de paiement Stripe + envoi au bénéficiaire */
.mps-bc__form .is-err { border-color: #c0624f; }
.mps-pay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px 16px; background: rgba(42,31,24,.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: mps-pay-f .25s ease; }
.mps-pay[hidden] { display: none; }
.mps-pay__box { display: flex; flex-direction: column; width: 100%; max-width: 540px; max-height: min(92vh, 900px); background: #fbf8f4; border-radius: 28px; box-shadow: 0 40px 100px rgba(42,31,24,.35); overflow: hidden; color: #3a2c23; font: 300 16px/1.6 "Sarabun", sans-serif; animation: mps-pay-m .35s cubic-bezier(.2,.8,.2,1); }
.mps-pay__top { display: flex; align-items: center; gap: 14px; padding: 18px 18px 18px 22px; background: #fff; border-bottom: 1px solid rgba(58,44,35,.08); }
.mps-pay__top > div { flex: 1; min-width: 0; }
.mps-pay__top strong { display: block; font: 400 20px/1.25 "Marcellus", serif; }
.mps-pay__sous { display: block; font-size: 13px; color: #6e6057; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mps-pay__gift { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #f3ebe2; }
.mps-pay__gift svg, .mps-pay__x svg, .mps-pay__pied svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mps-pay__gift svg { width: 22px; height: 22px; color: #866a53; }
.mps-pay__x { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f3ebe2; color: #3a2c23; cursor: pointer; transition: background .2s, transform .2s; }
.mps-pay__x svg { width: 18px; height: 18px; }
.mps-pay__x:hover { background: #e8dccf; transform: rotate(90deg); }
.mps-pay__in { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 20px; }
.mps-pay__stripe { background: #fff; border-radius: 20px; overflow: hidden; }
.mps-pay__stripe:empty { display: none; }
.mps-pay__pied { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 12px 16px; font-size: 12px; color: #6e6057; border-top: 1px solid rgba(58,44,35,.08); background: #fff; }
.mps-pay__pied svg { width: 14px; height: 14px; color: #866a53; }
.mps-pay__load { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 40px 0; color: #6e6057; }
.mps-pay__load i { width: 34px; height: 34px; border-radius: 50%; border: 3px solid #e8dccf; border-top-color: #866a53; animation: mps-pay-r .8s linear infinite; }
.mps-pay__err { text-align: center; margin: 24px 0 8px; color: #a4483a; }
.mps-pay__in > .mps-bc__mini { text-align: center; }
.mps-pay__ok { text-align: center; padding: 8px 4px 4px; }
.mps-pay__ico { display: inline-flex; align-items: center; justify-content: center; width: 68px; height: 68px; border-radius: 50%; background: #866a53; color: #fff; font-size: 30px; box-shadow: 0 0 0 10px #f3ebe2; }
.mps-pay__ok h2 { font: 400 28px/1.2 "Marcellus", serif; color: #3a2c23; margin: 22px 0 6px; padding: 0; }
.mps-pay__ok > p { color: #6e6057; margin: 0 0 22px; }
.mps-pay__offrir { display: grid; gap: 14px; text-align: left; background: #fff; border-radius: 20px; padding: 20px; box-shadow: 0 10px 30px rgba(58,44,35,.06); }
.mps-pay__offrir label { display: grid; gap: 6px; }
.mps-pay__offrir input { width: 100%; border: 1px solid rgba(58,44,35,.12); background: #fff; border-radius: 14px; padding: 13px 16px; font: 300 16px "Sarabun", sans-serif; color: #3a2c23; box-sizing: border-box; }
.mps-pay__offrir input:focus { outline: 0; border-color: #866a53; box-shadow: 0 0 0 4px rgba(161,134,110,.15); }
.mps-pay__offrir .mps-bc__go { --a: #866a53; --t: #3a2c23; width: 100%; }
.mps-pay__offrir .mps-bc__go:disabled { opacity: .6; cursor: wait; }
.mps-pay__st { margin: 0; font-size: 14px; color: #6e6057; text-align: center; }
.mps-pay__st:empty { display: none; }
.mps-pay__st.err { color: #a4483a; }
.mps-pay__fini { background: #fff; border-radius: 20px; padding: 20px; margin: 0; }
.mps-pay__plus { margin-top: 16px; border: 0; background: none; color: #866a53; font: 400 14px "Sarabun", sans-serif; text-decoration: underline; cursor: pointer; }
@keyframes mps-pay-f { from { opacity: 0; } }
@keyframes mps-pay-m { from { opacity: 0; transform: translateY(24px) scale(.98); } }
@keyframes mps-pay-r { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
  .mps-pay { padding: 0; align-items: flex-end; }
  .mps-pay__box { max-height: 94vh; max-height: 94dvh; border-radius: 24px 24px 0 0; }
  .mps-pay__in { padding: 14px 12px; }
  .mps-pay__top { padding: 14px 14px 14px 16px; }
}

/* Bon cadeau : petit mot écrit sur la carte (au-dessus de « Bon cadeau ») */
.mps-bc__mot { margin-top: auto; max-width: 92%; font: clamp(28px, 3.2vw, 38px)/1.05 "Allison", cursive; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mps-bc__mot:empty { display: none; }
.mps-bc__mot:not(:empty) + .mps-bc__label { margin-top: 10px; }
@media (max-width: 600px) {
  /* Mobile : petit mot entier (60 car.) juste sous le logo, bas de carte compacté */
  .mps-bc__gift-in { padding: 16px 20px; }
  .mps-bc__mot { margin-top: 6px; max-width: 100%; font-size: 21px; line-height: 1; -webkit-line-clamp: 3; flex-shrink: 0; }
  .mps-bc__mot:not(:empty) + .mps-bc__label { margin-top: auto; }
  .mps-bc__label { font-size: 10px; }
  .mps-bc__pres { font-size: 17px; margin: 2px 0 6px; }
  .mps-bc__who { gap: 18px; font-size: 12px; }
  .mps-bc__who em { font-size: 9px; }
}
@media (max-width: 360px) {
  .mps-bc__gift-in { padding: 12px 16px; }
  .mps-bc__gift img.mps-bc__logo { height: 24px; }
  .mps-bc__val { font-size: 24px; }
  .mps-bc__mot { font-size: 18px; }
  .mps-bc__pres { font-size: 15px; }
}
.mps-bc__cpt { display: block; text-align: right; margin-top: 4px; font-size: 12px; color: var(--m); }

/* Pied de page : lien discret vers l’espace admin des bons cadeaux */
.mps-admin { display: inline-flex !important; align-items: center; justify-content: center; width: 30px; height: 30px; margin-left: 6px; border-radius: 50%; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); vertical-align: middle; color: rgba(255,255,255,.45) !important; text-decoration: none !important; transition: background-color .2s, border-color .2s, color .2s; }
.mps-admin svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mps-admin:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff !important; }
@media (max-width: 767px) { .mps-admin { margin: 10px 0 0 6px; } }

/* Bon cadeau : premier bloc sur le fond fleur en filigrane de l'accueil, pleine largeur */
.mps-bc { overflow-x: clip; }
.mps-bc__top { position: relative; isolation: isolate; }
.mps-bc__top::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #fff url(../img/Fond-MPS-1-3.webp) center / cover no-repeat; }

/* Contact : sous-titres des blocs (h2, anciennement h1) */
.et_pb_text_inner h2.mps-ct { font-family: 'Sarabun', Helvetica, Arial, sans-serif; font-weight: 600; font-size: 14px; color: #000 !important; letter-spacing: 2px; line-height: 1.3em; text-align: center; padding-bottom: 10px; }

/* Miaomei : photos verticales (massage du ventre bien visible) */
.mps-d--vert { column-gap: 56px; margin-top: 50px; }
.mps-d--vert .mps-d__img { grid-column: 1 / 6; }
.mps-d--vert .mps-d__img img { aspect-ratio: 4/4.4; box-shadow: 0 30px 70px rgba(58,44,35,.16); }
.mps-d--vert .mps-d__card { grid-column: 6 / 13; margin-top: 0; }
.mps-d__img img.mps-pos-ventre { object-position: 50% 85%; }
.mps-d__img img.mps-pos-bassin { object-position: 50% 72%; }
@media (max-width: 900px) {
  .mps-d--vert .mps-d__img, .mps-d--vert .mps-d__card { grid-column: 1; }
  .mps-d--vert .mps-d__card { margin: -36px 12px 0; }
  .mps-d--vert .mps-d__img img { aspect-ratio: 4/4.6; }
}

/* Bain d'Accueil : bloc Laury & Sophie (triptyque centré) */
.mps-sophie { max-width: 1180px; margin: 0 auto; text-align: center; color: #3a2c23; font: 300 16px/1.65 "Sarabun", sans-serif; }
.mps-sophie__kick { font: 500 12px "Sarabun", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #866a53; }
.mps-sophie h2 { font: 400 clamp(28px, 3vw, 40px)/1.18 "Marcellus", serif; color: #3a2c23; margin: 10px 0 18px; padding: 0; }
.mps-sophie p { max-width: 760px; margin: 0 auto; padding: 0; color: #6e6057; font-size: 17px; line-height: 1.7; }
.mps-sophie__g { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 22px; margin: 44px 0 40px; align-items: center; }
.mps-sophie__g img { display: block; width: 100%; object-fit: cover; border-radius: 28px; }
.mps-sophie__g img:nth-child(1) { aspect-ratio: 3/4; object-position: 50% 30%; }
.mps-sophie__g img:nth-child(2) { aspect-ratio: 4/4.6; object-position: 50% 35%; box-shadow: 0 30px 70px rgba(58,44,35,.16); }
.mps-sophie__g img:nth-child(3) { aspect-ratio: 3/4; object-position: 50% 60%; }
@media (max-width: 900px) {
  .mps-sophie__g { grid-template-columns: 1fr 1fr; gap: 14px; }
  .mps-sophie__g img:nth-child(2) { grid-column: span 2; order: -1; }
  .mps-sophie p { font-size: 16px; }
}

/* Header : une seule transition de couleur (évite le scintillement des textes au passage en blanc) */
.mps-h { transition: background .4s, box-shadow .4s, border-color .4s, top .4s, padding .4s; }
.mps-h__nav > ul > li > a, .mps-h__nav > ul > li > button { color: #fff; transition: background .4s, color .4s; }
.mps-h.is-solid .mps-h__nav > ul > li > a, .mps-h.is-solid .mps-h__nav > ul > li > button,
.mps-h__nav > ul > li > a:hover, .mps-h__nav > ul > li > button:hover { color: var(--cocoa); }
.mps-h__burger { color: #fff; transition: color .4s, border-color .4s; }
.mps-h.is-solid .mps-h__burger { color: var(--cocoa); }

/* Photos d'avis en WebP (remplacent les JPG des CSS de page) */
body.home .et_pb_column_6, body.page-id-230087 .et_pb_column_2 { background-image: url(../img/Avis-2.webp) !important; }
body.home .et_pb_column_23, body.page-id-230087 .et_pb_column_23 { background-image: url(../img/Avis-1.webp) !important; }
body.home .et_pb_column_25, body.page-id-230087 .et_pb_column_25 { background-image: url(../img/Avis-3.webp) !important; }

/* Fonds des sections chargés à l'approche (classe .mps-vis posée par site.js) ; le haut de page (diaporama) est exclu */
html.js .et_pb_section:not(.mps-vis):not(.et_pb_section_0):not(.et_pb_section_1):not(:has(.mps-slides)),
html.js .et_pb_section:not(.mps-vis):not(.et_pb_section_0):not(.et_pb_section_1):not(:has(.mps-slides)) * { background-image: linear-gradient(transparent, transparent) !important; }
/* Image d'accueil des colonnes 11/27 en WebP */
body.home .et_pb_column_11, body.home .et_pb_column_27, body.page-id-230087 .et_pb_column_27 { background-image: url(../img/Mon-Premier-Souffle.webp) !important; }
/* Icônes (polices ETmodules / FontAwesome) des sections encore loin : pas de téléchargement anticipé */
html.js #page-container .et_pb_section:not(.mps-vis):not(.et_pb_section_0):not(.et_pb_section_1):not(:has(.mps-slides)) *::before,
html.js #page-container .et_pb_section:not(.mps-vis):not(.et_pb_section_0):not(.et_pb_section_1):not(:has(.mps-slides)) *::after { font-family: sans-serif !important; }

/* Réseaux sociaux : icônes SVG (évite de charger les polices d’icônes Divi/FontAwesome) */
.et_pb_social_icon a.icon:before { content: "" !important; font-family: inherit !important; background-color: currentColor; -webkit-mask: var(--ic) center / 1em 1em no-repeat; mask: var(--ic) center / 1em 1em no-repeat; }
.et-social-facebook a.icon { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-2.8 0-5 2.2-5 5v2H6v4h3v9h4v-9h3l1-4h-4V9c0-.6.4-1 1-1z'/%3E%3C/svg%3E"); }
.et-social-instagram a.icon { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/g%3E%3Ccircle cx='17.5' cy='6.5' r='1.3'/%3E%3C/svg%3E"); }
.et-social-whatsapp a.icon { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a9 9 0 0 0-7.7 13.6L3 21l4.5-1.2A9 9 0 1 0 12 3z' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M8.6 7.6c.3-.5.8-.5 1.1 0l1 1.8c.2.4.1.8-.2 1.1l-.6.6c.6 1.3 1.6 2.3 2.9 2.9l.6-.6c.3-.3.7-.4 1.1-.2l1.8 1c.5.3.5.8 0 1.1-1 .9-2.4 1.1-3.6.5a10 10 0 0 1-4.6-4.6c-.6-1.2-.4-2.6.5-3.6z'/%3E%3C/svg%3E"); }
.et-social-telegram a.icon { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.5 3.5 2.8 10.7c-1 .4-1 1.6 0 1.9l4.7 1.5 1.8 5.6c.2.7 1.1.9 1.6.4l2.6-2.5 4.9 3.6c.6.4 1.4.1 1.6-.6l3.2-15.6c.2-1-.7-1.8-1.7-1.5zM9.6 14.4l-.5 4.1-1.4-4.6 9.8-6.2z'/%3E%3C/svg%3E"); }
.et-social-tiktok a.icon { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.6 2h-3.4v13.4a2.9 2.9 0 1 1-2.9-2.9c.3 0 .6 0 .9.1V9.1a6.3 6.3 0 1 0 5.4 6.3V8.6a8 8 0 0 0 4.4 1.4V6.6a4.5 4.5 0 0 1-4.4-4.6z'/%3E%3C/svg%3E"); }

/* Pages légales : liens lisibles (au lieu du gris #cecece de Divi) ; liens dans le texte soulignés */
body.page-id-231341 .et_pb_text a, body.page-id-230622 .et_pb_text a { color: #866a53 !important; text-decoration: underline; }
.mps-bc__mini a, .et_pb_text_inner p a[href^="mailto:"] { text-decoration: underline; }

/* Sections sous la photo d'en-tête : invisibles le temps que site.js pose l'arrondi (évite un décalage de mise en page) ;
   affichées d'office après 2 s si le script ne tourne pas */
@keyframes mps-montrer { to { visibility: visible; } }
html.js:not(.mps-ready) .et_builder_inner_content > .et_pb_section ~ .et_pb_section:not(:has(.mps-slides)) { visibility: hidden; animation: mps-montrer 0s 2s forwards; }

/* Animations douces d'apparition (opacité + léger glissement : aucun décalage de mise en page) */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .45s; animation-timing-function: ease; }
@keyframes mps-up { from { opacity: .01; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
/* haut de page : le texte monte en douceur (la photo reste affichée tout de suite) */
.et_builder_inner_content > .et_pb_section:first-child .et_pb_row,
.et_builder_inner_content > .et_pb_section:has(.mps-slides) .et_pb_row { animation: mps-up .9s cubic-bezier(.2,.7,.2,1) .05s both; }
.et_builder_inner_content > .et_pb_section:first-child .et_pb_row + .et_pb_row,
.et_builder_inner_content > .et_pb_section:has(.mps-slides) .et_pb_row + .et_pb_row { animation-delay: .2s; }
/* blocs plus bas : apparaissent à l'arrivée dans l'écran (classes posées par site.js) */
.mps-rv { opacity: 0; translate: 0 26px; transition: opacity .9s ease, translate .9s cubic-bezier(.2,.7,.2,1); }
.mps-rv.mps-in { opacity: 1; translate: 0 0; }
.mps-d__card.mps-rv, .mps-sophie__g img:nth-child(2).mps-rv { transition-delay: .12s; }
.mps-sophie__g img:nth-child(3).mps-rv { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .et_builder_inner_content > .et_pb_section .et_pb_row { animation: none !important; }
  .mps-rv { opacity: 1; translate: none; transition: none; }
}

body div.et_pb_section:has(> .mps-slides) { background-image: none !important; }
/* Accueil : +40px de l'arrondi déjà inclus (au lieu d'être ajoutés par site.js après l'affichage) */
body .et_pb_section_0.et_pb_section:has(> .mps-slides) { padding-bottom: calc(36vh + 40px); }
@media (max-width: 980px) { body .et_pb_section_0.et_pb_section:has(> .mps-slides) { padding-bottom: 280px; } }
@media (max-width: 767px) { body .et_pb_section_0.et_pb_section:has(> .mps-slides) { padding-bottom: 165px; } }
@media (min-width: 981px) { body .et_pb_section_1.et_pb_section:has(> .mps-slides) { padding-bottom: calc(28vh + 40px); } }
/* Diaporama de l'accueil : la 1re photo dézoome aussi dès l'ouverture (classe retirée par site.js) */
.mps-slides span.is-on.mps-zoom0 { transform: scale(1.06); }
/* Mobile : haut de page plein écran (toutes les photos du diaporama ont alors la même taille visible pour PageSpeed/LCP) */
@media (max-width: 980px) { body .et_pb_section_0.et_pb_section:has(> .mps-slides) { min-height: calc(100vh + 80px); } }

/* Bon cadeau : logos des moyens de paiement sous le bouton */
.mps-bc__pay{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:16px 0 6px}
.mps-bc__pay-t{display:inline-flex;align-items:center;gap:6px;font:500 11px "Sarabun",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--m)}
.mps-bc__pay-t svg{color:var(--a)}
.mps-bc__pay-l{display:flex;gap:6px}
.mps-bc__pay img{display:block;width:42px;height:28px;object-fit:cover;background:#fff;border:1px solid var(--l);border-radius:6px}

/* Pas de défilement horizontal sur mobile (le site glissait de gauche à droite) */
html, body { overflow-x: hidden; overflow-x: clip; max-width: 100%; }

/* Bon cadeau : choix de la prestation en grille de photos */
.mps-bc__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.mps-bc__tiles label { position: relative; display: block; aspect-ratio: .9; border-radius: 16px; overflow: hidden; color: #fff; cursor: pointer; transition: box-shadow .2s; }
.mps-bc__tiles img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.mps-bc__tiles label::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(58,44,35,.85) 10%, rgba(58,44,35,.05) 65%); }
.mps-bc__tiles span { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 10px; font-size: 14px; line-height: 1.3; }
.mps-bc__tiles b { display: block; margin-top: 2px; font: 400 18px "Marcellus", serif; }
.mps-bc__tiles label:hover img { transform: scale(1.05); }
.mps-bc__tiles label:has(input:checked) { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--a); }
.mps-bc__tiles label:has(input:checked)::after { content: "✓"; position: absolute; z-index: 2; top: 10px; right: 10px; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: var(--a); display: grid; place-items: center; font-weight: 600; }
.mps-bc__tiles label:has(input:focus-visible) { outline: 2px solid var(--a); outline-offset: 4px; }
@media (max-width: 520px) { .mps-bc__tiles { grid-template-columns: 1fr 1fr; } }

/* Page Contact : après l'envoi, le formulaire se plie en lettre qui s'envole (proposition B) */
.mps-contact__body { position: relative; overflow: hidden; }
.mps-contact__body > :not(.mps-contact__env):not(.mps-contact__merci) { transition: transform .7s cubic-bezier(.5,0,.2,1), opacity .5s .15s; transform-origin: 50% 45%; }
.mps-contact__body.is-envoye > :not(.mps-contact__env):not(.mps-contact__merci) { transform: scale(.25) rotate(-4deg); opacity: 0; pointer-events: none; }
.mps-contact__env { position: absolute; left: 50%; top: 45%; width: 120px; height: 80px; margin: -40px 0 0 -60px; opacity: 0; overflow: visible; pointer-events: none; }
.mps-contact__env rect { fill: #f3ebe2; stroke: var(--a); stroke-width: 2; }
.mps-contact__env path { fill: none; stroke: var(--a); stroke-width: 2; }
.is-envoye .mps-contact__env { animation: mps-vole 2s .45s cubic-bezier(.45,0,.3,1) forwards; }
.mps-contact__merci { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 32px; opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s; }
.is-envoye .mps-contact__merci { opacity: 1; visibility: visible; transition: opacity .7s 2.1s, visibility 0s 2.1s; }
.mps-contact__merci-ico { width: 64px; height: 64px; border-radius: 50%; background: #f3ebe2; display: grid; place-items: center; color: var(--a); font-size: 26px; }
.mps-contact .mps-contact__merci h3 { font: clamp(30px, 3.4vw, 40px)/1.15 "Marcellus", serif; color: var(--t); margin: 16px 0 8px; padding: 0; outline: none; }
.mps-contact__merci h3 span:not(:empty)::before { content: " "; }
.mps-contact__merci p { color: var(--m); margin: 0 0 20px; padding: 0; }
.mps-contact__autre { border: 0; background: none; cursor: pointer; color: var(--a); font: 500 14px "Sarabun", sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
.mps-contact__autre:hover { color: var(--t); }
@keyframes mps-vole { 0% { opacity: 0; transform: scale(.4); } 20% { opacity: 1; transform: scale(1); } 45% { transform: translate(0,0) rotate(0); } 100% { opacity: 0; transform: translate(260px,-320px) rotate(-22deg) scale(.6); } }
@media (prefers-reduced-motion: reduce) {
  .mps-contact__body > *, .mps-contact__merci { transition-duration: .3s !important; transition-delay: 0s !important; }
  .mps-contact__body.is-envoye > :not(.mps-contact__env):not(.mps-contact__merci) { transform: none; }
  .is-envoye .mps-contact__env { animation: none; }
}
@media (max-width: 900px) { .mps-contact__body.is-envoye { min-height: 420px; } }

/* Pages légales (mentions légales, CGV/CGU) : en-tête, sommaire collant, sections numérotées */
.mps-legal { --t: #3a2c23; --m: #6e6057; --a: #866a53; --l: rgba(58,44,35,.12); background: #fbf7f2; color: var(--t); font: 300 16px/1.75 "Sarabun", sans-serif; padding-bottom: 80px; }
.mps-legal a { color: var(--a); text-decoration: underline; text-underline-offset: 3px; }
.mps-legal a:hover { color: var(--t); }
.mps-legal__hero { background: #f3ebe2; padding: 64px 16px 56px; text-align: center; }
.mps-legal__kicker { font: 20px "Marcellus", serif; color: var(--a); }
.mps-legal h1 { font: clamp(34px, 5vw, 54px)/1.1 "Marcellus", serif; color: var(--t); margin: 8px 0 12px; padding: 0; }
.mps-legal__maj { color: var(--m); font-size: 15px; margin: 0; padding: 0; }
.mps-legal__tabs { display: inline-flex; gap: 6px; margin-top: 26px; padding: 5px; background: #fff; border-radius: 99px; box-shadow: 0 10px 30px rgba(58,44,35,.08); }
.mps-legal__tabs a { padding: 9px 20px; border-radius: 99px; font: 500 14px "Sarabun", sans-serif; letter-spacing: .04em; color: var(--m); text-decoration: none; }
.mps-legal__tabs a:hover { color: var(--t); }
.mps-legal__tabs a[aria-current="page"] { background: var(--a); color: #fff; }
.mps-legal__wrap { max-width: 1120px; margin: 0 auto; padding: 48px 16px 0; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 48px; align-items: start; }
.mps-legal__toc { position: sticky; top: 100px; }
.mps-legal__toc summary { list-style: none; font: 500 13px "Sarabun", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--a); margin-bottom: 12px; pointer-events: none; }
.mps-legal__toc summary::-webkit-details-marker { display: none; }
.mps-legal__toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; border-left: 1px solid var(--l); }
.mps-legal__toc li { counter-increment: toc; padding: 0; }
.mps-legal__toc ol a { display: block; padding: 6px 0 6px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: 14.5px; line-height: 1.4; color: var(--m); text-decoration: none; }
.mps-legal__toc ol a::before { content: counter(toc, decimal-leading-zero) "  "; font-size: 12px; color: #b7a493; white-space: pre; }
.mps-legal__toc ol a:hover { color: var(--t); border-left-color: var(--a); }
.mps-legal__body { display: grid; gap: 20px; }
.mps-legal__sec { background: #fff; border-radius: 26px; padding: 36px 40px; box-shadow: 0 20px 50px rgba(58,44,35,.06); scroll-margin-top: 96px; }
.mps-legal__sec h2 { display: flex; align-items: baseline; gap: 14px; font: 27px/1.25 "Marcellus", serif; color: var(--t); margin: 0 0 16px; padding: 0; }
.mps-legal__sec h2 span { flex: none; font: 500 13px "Sarabun", sans-serif; letter-spacing: .1em; color: var(--a); background: #f3ebe2; border-radius: 99px; padding: 3px 10px; transform: translateY(-4px); }
.mps-legal__sec h3 { font: 500 15px "Sarabun", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--a); margin: 22px 0 6px; padding: 0; }
.mps-legal__sec p, .mps-legal__sec li { margin: 0 0 12px; padding: 0; color: #4d3f35; }
.mps-legal__sec p:last-child { margin-bottom: 0; }
.mps-legal__sec ul { margin: 0 0 14px; padding: 0 0 0 4px; list-style: none; }
.mps-legal__sec ul li { position: relative; padding-left: 20px; margin-bottom: 6px; }
.mps-legal__sec ul li::before { content: ""; position: absolute; left: 2px; top: .75em; width: 6px; height: 6px; border-radius: 50%; background: #c9b6a4; }
.mps-legal__fiche { display: grid; grid-template-columns: 170px 1fr; gap: 0; margin: 4px 0 0; border-top: 1px solid var(--l); }
.mps-legal__fiche dt, .mps-legal__fiche dd { margin: 0; padding: 11px 0; border-bottom: 1px solid var(--l); }
.mps-legal__fiche dt { font-size: 14px; color: var(--m); }
.mps-legal__fiche dd { font-weight: 400; color: var(--t); }
.mps-legal__note { background: #f3ebe2; border-radius: 18px; padding: 18px 22px; margin: 16px 0 0; }
.mps-legal__note p { margin: 0; }
.mps-legal__tab { width: 100%; border-collapse: collapse; font-size: 15px; margin: 8px 0 14px; }
.mps-legal__tab th, .mps-legal__tab td { text-align: left; vertical-align: top; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--l); }
.mps-legal__tab th { font: 500 12px "Sarabun", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--m); }
.mps-legal__tab td:first-child { font-weight: 500; color: var(--t); }
.mps-legal__fin { text-align: center; color: var(--m); font-size: 15px; margin: 24px 0 0; }
@media (max-width: 900px) {
  .mps-legal__hero { padding: 44px 16px 40px; }
  .mps-legal__wrap { grid-template-columns: 1fr; gap: 20px; padding-top: 24px; }
  .mps-legal__toc { position: static; background: #fff; border-radius: 22px; padding: 16px 20px; box-shadow: 0 20px 50px rgba(58,44,35,.06); }
  .mps-legal__toc summary { pointer-events: auto; cursor: pointer; margin: 0; display: flex; justify-content: space-between; }
  .mps-legal__toc summary::after { content: "+"; font-size: 18px; line-height: 1; }
  .mps-legal__toc[open] summary { margin-bottom: 12px; }
  .mps-legal__toc[open] summary::after { content: "–"; }
  .mps-legal__sec { padding: 26px 22px; border-radius: 22px; }
  .mps-legal__sec h2 { font-size: 23px; }
  .mps-legal__fiche { grid-template-columns: 1fr; }
  .mps-legal__fiche dt { padding-bottom: 0; border-bottom: 0; }
  .mps-legal__fiche dd { padding-top: 2px; }
  .mps-legal__tab, .mps-legal__tab tbody, .mps-legal__tab tr, .mps-legal__tab td { display: block; }
  .mps-legal__tab thead { display: none; }
  .mps-legal__tab tr { padding: 10px 0; border-bottom: 1px solid var(--l); }
  .mps-legal__tab td { border: 0; padding: 2px 0; }
}

/* Page Miaomei : galerie « Le soin en images » (décalée sur ordinateur, défilante sur mobile) + visionneuse */
.mps-gal-section.et_pb_section { padding: 90px 0 110px; background: #fbf7f2; }
.mps-gal { max-width: 1232px; margin: 0 auto; padding: 0 16px; color: #3a2c23; font: 300 16px/1.6 "Sarabun", sans-serif; }
.mps-gal__head { text-align: center; max-width: 640px; margin: 0 auto 48px; }
.mps-gal__kick { font: 20px "Marcellus", serif; color: #866a53; }
.mps-gal h2 { font: clamp(30px, 3.6vw, 44px)/1.15 "Marcellus", serif; color: #3a2c23; margin: 6px 0 12px; padding: 0; }
.mps-gal__head p { color: #6e6057; margin: 0; padding: 0; }
.mps-gal__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; align-items: start; }
.mps-gal__item { margin: 0; }
.mps-gal__item:nth-child(even) { margin-top: 64px; }
.mps-gal__btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 28px; overflow: hidden; box-shadow: 0 24px 50px rgba(58,44,35,.14); }
.mps-gal__btn img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.mps-gal__btn:hover img, .mps-gal__btn:focus-visible img { transform: scale(1.05); }
.mps-gal__btn:focus-visible { outline: 2px solid #866a53; outline-offset: 4px; }
.mps-gal__item figcaption { margin-top: 14px; text-align: center; font: 17px "Marcellus", serif; color: #6b5341; }
.mps-gal__lb { border: 0; padding: 0; background: transparent; max-width: none; max-height: none; width: 100vw; height: 100vh; overflow: hidden; }
.mps-gal__lb[open] { display: flex; align-items: center; justify-content: center; }
.mps-gal__lb::backdrop { background: rgba(36,27,21,.88); }
.mps-gal__lb img { max-width: min(92vw, 640px); max-height: 88vh; border-radius: 20px; object-fit: contain; }
.mps-gal__x, .mps-gal__nav { position: absolute; border: 0; cursor: pointer; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; font: 30px/1 "Sarabun", sans-serif; display: grid; place-items: center; }
.mps-gal__x:hover, .mps-gal__nav:hover { background: rgba(255,255,255,.28); }
.mps-gal__x { top: 20px; right: 20px; }
.mps-gal__nav--prev { left: 20px; top: 50%; transform: translateY(-50%); }
.mps-gal__nav--next { right: 20px; top: 50%; transform: translateY(-50%); }
@media (max-width: 900px) {
  .mps-gal-section.et_pb_section { padding: 60px 0 70px; }
  .mps-gal__head { margin-bottom: 30px; }
  .mps-gal__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 -16px; padding: 0 16px 10px; scrollbar-width: none; }
  .mps-gal__grid::-webkit-scrollbar { display: none; }
  .mps-gal__item { flex: 0 0 72%; scroll-snap-align: center; }
  .mps-gal__item:nth-child(even) { margin-top: 0; }
  .mps-gal__btn { border-radius: 22px; }
  .mps-gal__nav { top: auto; bottom: 24px; transform: none; }
  .mps-gal__nav--prev { left: calc(50% - 60px); }
  .mps-gal__nav--next { right: calc(50% - 60px); }
}
@media (prefers-reduced-motion: reduce) { .mps-gal__btn img { transition: none; } }

/* Cartes « Méthode Miaomei » (accueil, prestations) : photo du massage du bassin */
.et_pb_column[data-href$="methode-miaomei/"] { background-image: url(../img/miaomei-massage-bassin-600.webp) !important; background-size: cover !important; background-position: 62% 62% !important; }

/* Page Réflexologie pédiatrique : « Mon approche » de Sophie (3 cartes avec icônes) */
.mps-sophie__ap { margin: 0 0 44px; }
.mps-sophie .mps-sophie__ap h3 { font: 400 clamp(26px, 2.6vw, 34px)/1.2 "Marcellus", serif; color: #3a2c23; margin: 0 0 20px; padding: 0; }
.mps-sophie__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mps-sophie__c { background: #fff; border-radius: 26px; padding: 30px 26px; box-shadow: 0 20px 50px rgba(58,44,35,.07); }
.mps-sophie__ic { width: 56px; height: 56px; margin: 0 auto 16px; border-radius: 50%; background: #f3ebe2; display: grid; place-items: center; color: #866a53; }
.mps-sophie__ic svg { width: 26px; height: 26px; }
.mps-sophie .mps-sophie__c p { font-size: 15.5px; }
@media (max-width: 860px) { .mps-sophie__cards { grid-template-columns: 1fr; gap: 14px; } }
