/* ===== 13 — CTA final (#contact), sobre ===== */
.s-cta{text-align:center;background:var(--bg-2);border-top:1px solid var(--line)}
.s-cta__wrap{display:flex;flex-direction:column;align-items:center}

.s-cta__title{display:flex;flex-direction:column;align-items:center;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.03em;font-weight:700}
.s-cta__line{display:block}
.s-cta__quote{margin-top:clamp(18px,2.4vw,24px);max-width:560px;font-size:clamp(17px,1.5vw,19px);color:var(--ink);font-weight:500}
.s-cta__lead{margin:10px auto 0;font-size:16px}
.s-cta__tel{color:var(--blue);font-weight:600;white-space:nowrap}
.s-cta__tel:hover{text-decoration:underline}

.s-cta__actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:clamp(24px,3vw,32px)}
.s-cta__url{margin-top:14px;font-size:14px;font-weight:500;color:var(--ink-3)}

/* formulaire */
.s-cta__form{width:100%;max-width:720px;margin-top:clamp(36px,5vw,56px);padding:clamp(20px,3vw,32px);text-align:left;box-shadow:none}
.s-cta__form-head{margin-bottom:20px}
.s-cta__form-title{font-size:clamp(20px,2vw,24px)}
.s-cta__form-sub{margin-top:6px;font-size:15px;color:var(--ink-2)}
.s-cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.s-cta__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.s-cta__field--full{grid-column:1/-1}
.s-cta__field label,.s-cta__formules legend{font-size:14px;font-weight:600;color:var(--ink)}
.s-cta__opt{font-weight:400;color:var(--ink-3)}
.s-cta__field input[type=text],.s-cta__field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #d6dae1;border-radius:10px;padding:11px 14px;transition:border-color .2s ease;resize:vertical}
.s-cta__field input::placeholder,.s-cta__field textarea::placeholder{color:var(--ink-3)}
.s-cta__field input:focus,.s-cta__field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.s-cta__field [aria-invalid=true]{border-color:var(--red)!important;box-shadow:none!important}
.s-cta__formules{border:0;margin:0;padding:0}
.s-cta__formules legend{padding:0;margin-bottom:6px}
.s-cta__pills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.s-cta__pill{position:relative;cursor:pointer}
.s-cta__pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.s-cta__pill span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 8px;border-radius:10px;border:1px solid #d6dae1;background:#fff;font-weight:600;font-size:16px;transition:border-color .2s ease,background-color .2s ease}
.s-cta__pill:hover span{border-color:#aab3c0}
.s-cta__pill input:checked+span{border-color:var(--blue);background:#f1f6fd;box-shadow:0 0 0 1px var(--blue)}
.s-cta__pill input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.s-cta__formules.is-invalid .s-cta__pill span{border-color:var(--red)}
.s-cta__pills--2{grid-template-columns:repeat(2,1fr)}
.s-cta__pill small{display:block;font-weight:400;font-size:13px;color:var(--ink-2)}
.s-cta__pills--2 .s-cta__pill span{height:100%}
.s-cta__reco{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:var(--blue);margin-bottom:2px}
.s-cta__total{display:flex;align-items:center;justify-content:center;min-height:52px;padding:8px 14px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line);text-align:center}
.s-cta__total-hint{font-size:14px;color:var(--ink-2)}
.s-cta__total-price{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,2.6vw,28px);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.s-cta__total-eq{color:var(--ink-3);font-weight:600}
.s-cta__total.is-fade .s-cta__total-price{animation:sCtaFade .35s ease}
@keyframes sCtaFade{from{opacity:0}to{opacity:1}}
.s-cta__error{min-height:1.4em;margin:12px 0 4px;font-size:14px;font-weight:600;color:var(--red)}
.s-cta__error:empty{margin-top:6px}
.s-cta__submit{width:100%;justify-content:center}
.s-cta a:focus-visible,.s-cta button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

@media (max-width:760px){
  .s-cta__actions{flex-direction:column;align-items:stretch;width:100%;max-width:420px}
  .s-cta__actions .cm-btn{justify-content:center;white-space:normal}
  .s-cta__grid{grid-template-columns:1fr}
  .s-cta__pill span{font-size:15px;padding:10px 4px}
}
