.conversion-form { scroll-margin-top: 110px; }
.conversion-form h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.15; margin: 0 0 1rem; }
.conversion-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.conversion-form legend { font-weight: 700; margin-bottom: .75rem; }
.conversion-form label { display: block; margin: .8rem 0; }
.conversion-form input,.conversion-form select { width: 100%; box-sizing: border-box; margin-top: .35rem; min-height: 48px; padding: .75rem; border: 1px solid #b9c6de; border-radius: 10px; color: #10254b; background: white; font: inherit; }
.conversion-form [aria-invalid="true"] { border-color: #a32222; }
.conversion-note { font-size: .82rem; line-height: 1.55; margin: .8rem 0; }
.conversion-note a { text-decoration: underline; }
.conversion-back { background: none; border: 0; text-decoration: underline; font: inherit; cursor: pointer; margin: .5rem 0 1rem; color: inherit; }
.conversion-form [role="alert"] { color: #a32222; }
.conversion-form [role="status"] { margin-top: 1rem; }
.product-hero-grid > .product-calculator { width: 100%; min-width: 0; box-sizing: border-box; align-self: center; }
#simulateur-retraite,#per-contact { scroll-margin-top: 110px; }
.conversion-form [hidden] { display: none !important; }
@media(max-width: 700px) { .product-hero-grid > .product-calculator { padding: 22px; } }

/* Email-only study capture inside calculator results */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.email-study { min-width: 0; box-sizing: border-box; margin: 16px 0; padding: 14px; border: 1px solid rgba(3,31,148,.16); border-radius: 14px; background: #fff; color: var(--ink, #10254b); text-align: left; }
.email-study .email-study-title { margin: 0 0 10px; color: var(--blue, #031f94); font-family: "League Spartan", sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.25; }
.email-study-row { display: flex; gap: 8px; }
.email-study .email-study-row input { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: .65rem .8rem; box-sizing: border-box; border: 1px solid #b9c6de; border-radius: 10px; background: #fff; color: #10254b; font: inherit; }
.email-study .email-study-row input[aria-invalid="true"] { border-color: #a32222; }
.email-study .email-study-row .button { flex: 0 0 auto; min-height: 48px; padding: 0 16px; white-space: nowrap; }
.email-study .email-study-error { margin: 8px 0 0; color: #a32222; font-size: .82rem; line-height: 1.4; }
.email-study .email-study-done { margin: 0; color: #10254b; font-size: .9rem; line-height: 1.5; }
.email-study .email-study-done strong { display: inline; color: var(--blue, #031f94); font: inherit; font-weight: 700; }
.email-study [hidden] { display: none !important; }
.result-screen .email-study { margin: 0 0 12px; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.94); }
@media (max-width: 480px) { .email-study-row { flex-direction: column; } .email-study .email-study-row .button { width: 100%; } }

/* Callback and closing forms: a hint replaces the old required markers */
.callback-hint, .final-cta-hint { margin: -2px 0 0; }
.callback-form:has(.form-error:not([hidden])) .callback-hint, .final-cta-form:has(.form-error:not([hidden])) .final-cta-hint { display: none; }

/* The sticky bar steps aside while a form or calculator is on screen (see navigation.js) */
.alyor-form-in-view .mobile-actions, .alyor-form-focus .mobile-actions { display: none !important; }

@media (max-width: 640px) {
  /* Room for the sticky bar and the chat bubble under the last form button */
  body:has(.mobile-actions) { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  html { scroll-padding-bottom: 104px; }
  form button[type="submit"], .email-study button { scroll-margin-bottom: 104px; }
}

/* Short first screen on product pages: the form or calculator is visible without scrolling */
@media (max-width: 767px) {
  .product-page .product-hero { padding: 14px 0 28px; }
  .product-page .product-hero-grid { gap: 16px; }
  .product-page .product-hero .breadcrumb { margin: 0 0 6px; }
  .product-page .product-hero .eyebrow { margin: 0 0 6px; font-size: 11px; }
  .product-page .product-hero h1 { max-width: none; font-size: clamp(1.7rem, 8.4vw, 2.2rem); line-height: 1.05; }
  .product-page .product-hero-copy > p:not(.eyebrow):not(.breadcrumb),
  .product-page .product-hero-actions,
  .product-page .product-mini-proof { display: none; }
  .product-hero-grid > .product-calculator { padding: 18px; }
  .product-page .product-hero .product-calculator h2 { margin: 0 0 8px; font-size: 1.35rem; }
  .product-page .product-hero .product-calculator h3 { margin: 0 0 12px; font-size: 20px; }
  .product-page .product-hero .product-calculator > .eyebrow { margin-bottom: 4px; }
  .product-page .conversion-form [data-conversion-progress] { margin: 0 0 6px; font-size: .85rem; }
  .product-page .conversion-form legend { margin-bottom: 4px; }
  .product-page .conversion-form label { margin: .5rem 0; }
}
