/* Confirmation de demande — à charger après le CSS de la lightbox. */
.st-form-success {
  --st-success-olive: var(--st-color-olive, #7A8162);
  --st-success-terracotta: var(--st-color-terracota, #C97953);
  --st-success-cream: var(--ft-color-pierre-claire, #FFFAF2);
  --st-success-sand: var(--st-color-sable, #F8EFE4);
  --st-success-ink: var(--st-color-brun, #4A3A31);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 760px);
  margin: 0 auto;
  padding: clamp(20px, 3vw, 36px) 0 8px;
  color: var(--st-success-ink);
  text-align: center;
  font-family: var(--font-body, 'Montserrat', Arial, sans-serif);
}

.st-form-success *,
.st-form-success *::before,
.st-form-success *::after { box-sizing: border-box; }

.st-form-success:focus { outline: none; }
.st-form-success:focus-visible { outline: 3px solid var(--st-success-terracotta); outline-offset: 8px; border-radius: 12px; }

.st-form-success__mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: clamp(64px, 8vw, 82px);
  height: clamp(64px, 8vw, 82px);
  margin: 0 0 22px;
  border-radius: 50%;
  background: var(--st-success-olive);
  color: var(--st-success-cream);
  font: 600 clamp(32px, 4vw, 42px)/1 var(--font-body, 'Montserrat', Arial, sans-serif);
}

.st-form-success__title {
  max-width: 18ch;
  margin: 0;
  color: var(--st-success-ink);
  font: 400 clamp(30px, 4.2vw, 46px)/1.15 var(--font-heading, 'Fraunces', Georgia, serif);
  text-wrap: balance;
}

.st-form-success__subtitle {
  margin: 14px 0 0;
  color: var(--st-success-ink);
  font: 700 clamp(16px, 1.7vw, 19px)/1.5 var(--font-body, 'Montserrat', Arial, sans-serif);
}

.st-form-success__message {
  max-width: 66ch;
  margin: 14px 0 0;
  color: var(--st-success-ink);
  font: 400 15px/1.75 var(--font-body, 'Montserrat', Arial, sans-serif);
}

.st-form-success__signature {
  margin: 18px 0 0;
  color: var(--st-success-ink);
  font: 400 clamp(21px, 2.5vw, 27px)/1.35 var(--font-accent, 'Montaga', Georgia, serif);
}

.st-form-success__recap {
  width: min(100%, 620px);
  margin: 26px 0 0;
  padding: 20px 24px;
  border: 1px solid rgba(74, 58, 49, .09);
  border-radius: 18px;
  background: var(--st-success-sand);
  text-align: left;
}

.st-form-success__circuit {
  display: block;
  color: var(--st-success-ink);
  font: 700 16px/1.5 var(--font-body, 'Montserrat', Arial, sans-serif);
  overflow-wrap: anywhere;
}

.st-form-success__detail {
  margin: 7px 0 0;
  color: var(--st-success-ink);
  font: 500 14px/1.6 var(--font-body, 'Montserrat', Arial, sans-serif);
}

.st-form-success__actions { margin: 26px 0 0; }

.st-form-success__return {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 176px;
  min-height: 50px;
  padding: 13px 28px;
  border: 2px solid var(--st-success-terracotta);
  border-radius: 999px;
  background: var(--st-success-terracotta);
  color: var(--st-success-cream);
  font: 600 14px/1.3 var(--font-body, 'Montserrat', Arial, sans-serif);
  text-align: center;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.st-form-success__return:hover {
  border-color: var(--st-success-ink);
  background: var(--st-success-ink);
  color: var(--st-success-cream);
}

.st-form-success__return:focus-visible { outline: 3px solid var(--st-success-olive); outline-offset: 4px; }
.st-form-success__return:active { transform: translateY(1px); }

@media (max-width: 767px) {
  .st-form-success { width: 100%; padding: 12px 0 4px; }
  .st-form-success__mark { margin-bottom: 18px; }
  .st-form-success__title { font-size: clamp(28px, 8vw, 36px); }
  .st-form-success__subtitle { margin-top: 12px; }
  .st-form-success__message { margin-top: 12px; font-size: 14px; line-height: 1.7; }
  .st-form-success__signature { margin-top: 16px; }
  .st-form-success__recap { margin-top: 22px; padding: 16px 18px; border-radius: 14px; }
  .st-form-success__actions { width: 100%; margin-top: 22px; }
  .st-form-success__return { width: 100%; min-height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .st-form-success__return { transition: none; }
}
