/* One footer system; Elementor controls set these variables on each section. */
body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) {
  --mp-bottom-duration: 200ms;
  --mp-bottom-ease: cubic-bezier(.16, 1, .3, 1);
  --mp-bottom-seam: 32px;
  --mp-bottom-cut: polygon(0 100%, 8% 0, 92% 0, 100% 100%);
  font-family: Manrope, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--mp-bottom-ink, var(--mp-ink));
}
body.monpasie-site :is(.mp-proof h2, .mp-faq__intro h2, .mp-order--home .mp-order__copy h2) {
  font-family: Manrope, Arial, sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.035em;
  color: var(--mp-bottom-heading, var(--mp-ink));
  overflow-wrap: anywhere;
}
body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) :is(a, button, input, select, summary) {
  transition: color var(--mp-bottom-duration) var(--mp-bottom-ease), background-color var(--mp-bottom-duration) var(--mp-bottom-ease), border-color var(--mp-bottom-duration) var(--mp-bottom-ease), transform var(--mp-bottom-duration) var(--mp-bottom-ease), opacity var(--mp-bottom-duration) var(--mp-bottom-ease);
}
body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) :is(a, button, input, select, summary):focus-visible {
  outline: 3px solid var(--mp-bottom-accent, var(--mp-burgundy));
  outline-offset: 3px;
}
body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) :is(a.mp-button, button:not(:disabled)):active { transform: scale(.98); }
body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) :is(button:disabled, [aria-disabled="true"]) { transform: none; }
body.monpasie-site :is(.mp-proof, .mp-faq, .mp-footer--home) > .mp-shell { width: min(var(--mp-bottom-width, 1360px), calc(100% - 64px)); }
body.monpasie-site :is(.mp-proof__grid, .mp-faq__grid, .mp-home-footer__grid) { gap: var(--mp-bottom-gap, 48px); }
body.monpasie-site .mp-footer--home .mp-home-footer__grid { gap: var(--mp-bottom-gap, 48px); }
body.monpasie-site .mp-proof { --mp-bottom-button-bg: #fff; --mp-bottom-button-ink: var(--mp-burgundy); --mp-bottom-button-hover: #faf2f2; padding: 64px 0 calc(64px + var(--mp-bottom-seam)); background: var(--mp-burgundy); color: var(--mp-bottom-ink, #fff); }
body.monpasie-site .mp-proof h2 { color: var(--mp-bottom-heading, #fff); }
body.monpasie-site .mp-proof p:not(.mp-kicker) { color: var(--mp-bottom-muted, #fff); }
body.monpasie-site .mp-proof__numbers span { font-size: 14px; font-weight: 400; color: var(--mp-bottom-muted, #fff); }
body.monpasie-site .mp-proof__numbers strong { color: var(--mp-bottom-ink, #fff); }
body.monpasie-site .mp-proof__actions { margin-top: 24px; gap: 16px; }
body.monpasie-site .mp-proof__gallery-link { min-height: 44px; font-size: 14px; }
body.monpasie-site .mp-proof__gallery-link span { transition: transform var(--mp-bottom-duration) var(--mp-bottom-ease); }
body.monpasie-site .mp-proof::after {
  position: absolute; inset: auto 0 -1px; height: var(--mp-bottom-seam);
  background: var(--mp-bottom-seam-color, var(--mp-ice)); border-radius: 0;
  clip-path: var(--mp-bottom-cut); content: ''; pointer-events: none;
}
body.monpasie-site .mp-faq { position: relative; padding: 64px 0; background: var(--mp-ice); }
body.monpasie-site .mp-faq__intro { padding: 0; }
body.monpasie-site .mp-faq__intro::before { display: none; }
body.monpasie-site .mp-faq__intro > p:not(.mp-kicker) { color: var(--mp-bottom-muted, var(--mp-muted)); }
body.monpasie-site .mp-faq__list { padding: 0 24px; border-radius: var(--mp-bottom-radius, 24px); background: var(--mp-bottom-panel, #fff); }
body.monpasie-site .mp-faq summary { min-height: 64px; padding: 16px 0; font-size: 16px; font-weight: 700; line-height: 1.4; }
body.monpasie-site .mp-faq details:is(:hover, [open]) { background: transparent; }
body.monpasie-site .mp-faq details { overflow: visible; }
body.monpasie-site .mp-faq details[open] summary { color: var(--mp-bottom-accent, var(--mp-burgundy)); }
body.monpasie-site .mp-faq summary span { position: relative; width: 24px; height: 24px; flex: 0 0 24px; border-radius: 0; background: transparent; font-size: 0; }
body.monpasie-site .mp-faq summary span::before,
body.monpasie-site .mp-faq summary span::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%); content: ''; }
body.monpasie-site .mp-faq summary span::after { transform: translate(-50%, -50%) rotate(90deg); transition: opacity var(--mp-bottom-duration) var(--mp-bottom-ease); }
body.monpasie-site .mp-faq details[open] summary span { background: transparent; transform: none; }
body.monpasie-site .mp-faq details[open] summary span::after { opacity: 0; }
body.monpasie-site .mp-faq details p { padding: 0 40px 16px 0; font-size: 14px; line-height: 1.5; color: var(--mp-bottom-muted, var(--mp-muted)); }
body.monpasie-site .mp-faq__action a { min-height: 44px; font-size: 14px; }
body.monpasie-site .mp-order--home { --mp-bottom-button-bg: var(--mp-burgundy); --mp-bottom-button-ink: #fff; --mp-bottom-button-hover: var(--mp-burgundy-dark); --mp-bottom-button-radius: 16px; position: relative; }
body.monpasie-site .mp-order--home .mp-order__shell { width: min(var(--mp-bottom-width, 100%), 100%); margin-inline: auto; gap: var(--mp-bottom-gap, 0px); }
/* Seams cover only reserved edge space; the form, focus rings and photo stay unclipped. */
body.monpasie-site .mp-order--home::before {
  position: absolute; inset: 0 0 auto; z-index: 3; height: var(--mp-bottom-seam);
  background: var(--mp-bottom-seam-color, var(--mp-ice)); clip-path: polygon(0 0, 100% 0, 92% 100%, 8% 100%);
  content: ''; pointer-events: none;
}
body.monpasie-site .mp-order--home::after {
  position: absolute; inset: auto 0 -1px; z-index: 3; height: var(--mp-bottom-seam);
  background: var(--mp-bottom-seam-color, var(--mp-ice)); clip-path: var(--mp-bottom-cut);
  content: ''; pointer-events: none;
}
body.monpasie-site .mp-order--home .mp-order__copy h2 { color: var(--mp-bottom-heading, #fff); }
body.monpasie-site .mp-order--home .mp-order__copy > p:not(.mp-kicker) { font-size: 16px; line-height: 1.55; color: var(--mp-bottom-muted, #fff); }
body.monpasie-site .mp-order--home .mp-form-card { background: var(--mp-bottom-panel, #fff); }
body.monpasie-site .mp-order--home :is(.mp-form-card, .mp-form-success) { border-radius: var(--mp-bottom-radius, 0); }
body.monpasie-site .mp-order--home :is(.mp-form-card__intro, .mp-booking__notice) { font-size: 14px; line-height: 1.5; }
body.monpasie-site .mp-order--home .mp-form :is(input:not([type="checkbox"]), select) { min-height: 52px; font-size: 16px; }
body.monpasie-site .mp-order--home .mp-form__field { gap: 8px; }
body.monpasie-site .mp-order--home .mp-form__submit { min-height: 52px; box-shadow: none; }
body.monpasie-site .mp-order--home .mp-form__consent { min-height: 44px; }
body.monpasie-site .mp-order--home .mp-form input:focus { box-shadow: none; }
body.monpasie-site .mp-order--home .mp-form :is(label:not(.mp-form__consent), input, select) { color: var(--mp-bottom-ink, var(--mp-ink)); }
body.monpasie-site .mp-order--home .mp-order__channel strong { font-size: 14px; }
body.monpasie-site :is(.mp-proof .mp-button--proof, .mp-faq__action a, .mp-order--home .mp-form__submit, .mp-footer--home .mp-home-footer__channel) {
  color: var(--mp-bottom-button-ink, inherit);
  background-color: var(--mp-bottom-button-bg, transparent);
  border-radius: var(--mp-bottom-button-radius, 16px);
}
body.monpasie-site .mp-footer--home { --mp-bottom-button-bg: #fff; --mp-bottom-button-ink: var(--mp-ink); --mp-bottom-button-hover: var(--mp-ice); padding: 48px 0 32px; }
body.monpasie-site .mp-footer--home .mp-home-footer__label { color: var(--mp-bottom-heading, var(--mp-muted)); }
body.monpasie-site .mp-footer--home :is(.mp-home-footer__brand > p, .mp-home-footer__hours, .mp-home-footer__documents a, .mp-home-footer__copyright) { color: var(--mp-bottom-muted, var(--mp-muted)); }
body.monpasie-site .mp-footer--home .mp-home-footer__channel { border-radius: var(--mp-bottom-button-radius, var(--mp-bottom-radius, 16px)); }
body.monpasie-site .mp-footer--home :is(.mp-home-footer__brand-link, .mp-home-footer__links a, .mp-home-footer__city-phone, .mp-home-footer__address p:not(.mp-home-footer__hours)) { color: var(--mp-bottom-ink, var(--mp-ink)); }
body.monpasie-site .mp-footer--home :is(.mp-home-footer__phone, .mp-home-footer__channel svg) { color: var(--mp-bottom-accent, var(--mp-burgundy)); }
body.monpasie-site .mp-footer--home .mp-home-footer__mark { background: var(--mp-bottom-accent, var(--mp-burgundy)); }
@media (hover: hover) and (pointer: fine) {
  body.monpasie-site :is(.mp-proof .mp-button--proof, .mp-order--home .mp-form__submit, .mp-footer--home .mp-home-footer__channel:not(:disabled)):hover { background-color: var(--mp-bottom-button-hover, var(--mp-burgundy-dark)); color: var(--mp-bottom-button-ink, #fff); }
}
@media (min-width: 761px) and (max-width: 1100px) {
  body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) { --mp-bottom-seam: 24px; }
}
@media (max-width: 1100px) {
  body.monpasie-site :is(.mp-proof, .mp-faq, .mp-footer--home) > .mp-shell { width: min(var(--mp-bottom-width, 560px), calc(100% - 32px)); }
  body.monpasie-site :is(.mp-proof h2, .mp-faq__intro h2, .mp-order--home .mp-order__copy h2) { font-size: 28px; line-height: 1.25; }
  body.monpasie-site .mp-proof { --mp-bottom-button-bg: #202b30; --mp-bottom-button-ink: #fff; --mp-bottom-button-hover: #35434a; --mp-bottom-button-radius: 999px; padding: 32px 0; background: var(--mp-ice); color: var(--mp-bottom-ink, var(--mp-ink)); }
  body.monpasie-site .mp-proof::after { display: none; }
  body.monpasie-site .mp-proof > .mp-proof__grid { gap: var(--mp-bottom-gap, 16px); border-radius: var(--mp-bottom-radius, 28px); background: var(--mp-bottom-panel, #fff); }
  body.monpasie-site .mp-proof h2 { color: var(--mp-bottom-heading, var(--mp-ink)); }
  body.monpasie-site .mp-proof p:not(.mp-kicker), body.monpasie-site .mp-proof__numbers span { color: var(--mp-bottom-muted, var(--mp-muted)); }
  body.monpasie-site .mp-proof__numbers strong { color: var(--mp-bottom-ink, var(--mp-ink)); }
  body.monpasie-site .mp-proof__actions { margin: 0; }
  body.monpasie-site .mp-proof__actions a.mp-button--proof { min-height: 52px; box-shadow: none; background: var(--mp-bottom-button-bg); color: var(--mp-bottom-button-ink); border-radius: var(--mp-bottom-button-radius, 999px); }
  body.monpasie-site .mp-proof__actions a.mp-button--proof:hover { background: var(--mp-bottom-button-hover); color: var(--mp-bottom-button-ink); }
  body.monpasie-site .mp-faq { padding: 24px 0 32px; background: var(--mp-ice); }
  body.monpasie-site .mp-faq > .mp-faq__grid { gap: var(--mp-bottom-gap, 16px); }
  body.monpasie-site .mp-faq__list { padding-inline: 16px; }
  body.monpasie-site .mp-faq summary { min-height: 60px; }
  body.monpasie-site .mp-faq details p { padding-right: 0; }
  body.monpasie-site .mp-order--home .mp-order__shell::after { background: linear-gradient(180deg, var(--mp-ice), transparent 72px), linear-gradient(0deg, var(--mp-ice), rgba(236,250,252,.8) 60px, transparent 180px); }
  body.monpasie-site .mp-order--home .mp-order__shell { gap: var(--mp-bottom-gap, 16px); }
  body.monpasie-site .mp-order--home::after { display: none; }
  body.monpasie-site .mp-order--home :is(.mp-form-card, .mp-form-success) { border-radius: var(--mp-bottom-radius, 24px); }
  body.monpasie-site .mp-order--home .mp-order__copy { padding-top: calc(16px + var(--mp-bottom-seam)); }
  body.monpasie-site .mp-order--home .mp-order__copy > p:not(.mp-kicker) { font-size: 14px; }
  body.monpasie-site .mp-footer--home { padding: 32px 0 24px; }
  body.monpasie-site .mp-footer--home .mp-home-footer__grid { gap: var(--mp-bottom-gap, 24px); }
}
@media (max-width: 760px) {
  body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) { --mp-bottom-seam: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) *,
  body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) *::before,
  body.monpasie-site :is(.mp-proof, .mp-faq, .mp-order--home, .mp-footer--home) *::after { transition: none !important; animation: none !important; }
}
