/* Atoumo — profils santé interactifs + modale. Tokens repris de la charte. */
.apr{--rose:#C90055;--jaune:#FFC400;--encre:#171016;--sec:#665D64;--filets:#EADFE5;--doux:#FFF1F6;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.apr-ctrl{margin:2px 0 20px}
.apr-lab{display:block;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--sec);text-transform:uppercase;margin-bottom:12px}
.apr-range{--apr-pct:33%;-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--rose) 0,var(--rose) var(--apr-pct),var(--doux) var(--apr-pct),var(--doux) 100%);outline:none}
.apr-graduations{display:flex;justify-content:space-between;margin:9px 2px 0;pointer-events:none}
.apr-graduations span{width:2px;height:7px;border-radius:2px;background:var(--filets)}
.apr-cran{font-size:1.12rem;font-weight:800;line-height:1.25;letter-spacing:-.02em;color:var(--rose);margin:12px 0 0}
.apr-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--rose);box-shadow:0 3px 10px rgba(201,0,85,.28);cursor:pointer}
.apr-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--rose);box-shadow:0 3px 10px rgba(201,0,85,.28);cursor:pointer}
.apr-range:focus-visible{outline:3px solid var(--jaune);outline-offset:4px}
.apr-choix{display:flex;flex-wrap:wrap;gap:8px}
.apr-opt{font:inherit;font-size:.86rem;font-weight:700;color:var(--sec);background:#fff;border:1px solid var(--filets);border-radius:999px;padding:9px 16px;cursor:pointer;transition:.15s}
.apr-opt:hover{border-color:var(--rose);color:var(--rose)}
.apr-opt.est-actif{background:var(--doux);border-color:var(--rose);color:var(--rose)}
.apr-opt:focus-visible{outline:3px solid var(--jaune);outline-offset:2px}
.apr-res{display:grid;gap:14px;margin-bottom:10px}
.apr-bloc{display:flex;flex-direction:column;gap:3px}
.apr-cle{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sec)}
.apr-budget{font-size:1.35rem;font-weight:800;color:var(--encre);letter-spacing:-.02em}
.apr-besoin{font-size:.98rem;font-weight:600;color:var(--encre)}
.apr-mention{font-size:.76rem;line-height:1.45;color:var(--sec);margin:0 0 16px}
.apr-cta{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:14px;font-weight:800;color:#090909;background:var(--jaune);border:0;border-radius:999px;padding:13px 22px;cursor:pointer;transition:.15s}
.apr-cta:hover{background:#FFD44D}
.apr-cta:focus-visible{outline:3px solid var(--rose);outline-offset:3px}

/* ---------- Modale ---------- */
.apm{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.apm[hidden]{display:none}
.apm-fond{position:absolute;inset:0;background:rgba(9,9,9,.55)}
.apm-boite{position:relative;background:#fff;border-radius:24px;padding:34px 30px 28px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 70px rgba(71,0,32,.32)}
.apm-x{position:absolute;top:14px;right:16px;font-size:30px;line-height:1;color:#665D64;background:none;border:0;cursor:pointer;padding:4px 8px}
.apm-x:hover{color:#C90055}
.apm-sur{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C90055;margin:0 0 6px}
.apm-boite h3{font-family:'Inter Tight',Inter,sans-serif;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 10px;color:#171016}
.apm-recap{font-size:.88rem;line-height:1.5;color:#665D64;background:#FFF6FA;border:1px solid #EADFE5;border-radius:14px;padding:11px 14px;margin:0 0 20px}
.apm-grille{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:16px}
.apm-large{grid-column:1/-1}
.apm-grille label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#665D64}
.apm-grille input{font:inherit;font-size:.98rem;font-weight:500;text-transform:none;letter-spacing:0;color:#171016;background:#FAF8F9;border:1px solid #EADFE5;border-radius:12px;padding:12px 14px}
.apm-grille input:focus{outline:0;border-color:#C90055;background:#fff}
.apm-rgpd{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;line-height:1.5;color:#665D64;margin-bottom:16px}
.apm-rgpd input{margin-top:3px;width:17px;height:17px;accent-color:#C90055;flex:0 0 auto}
.apm-rgpd a{color:#C90055}
.apm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.apm-err{font-size:.86rem;font-weight:600;color:#C90055;background:#FFF1F6;border-radius:10px;padding:10px 13px;margin:0 0 14px}
.apm-err[hidden]{display:none}
.apm-envoi{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:15px;font-weight:800;color:#090909;background:#FFC400;border:0;border-radius:999px;padding:15px 26px;cursor:pointer;width:100%;justify-content:center;transition:.15s}
.apm-envoi:hover{background:#FFD44D}
.apm-envoi:disabled{opacity:.6;cursor:default}
.apm-envoi:focus-visible{outline:3px solid #C90055;outline-offset:3px}
.apm-reass{font-size:.78rem;color:#665D64;text-align:center;margin:12px 0 0}
.apm-ok{font-size:2.6rem;text-align:center;margin-bottom:8px}
[data-apm-etape="ok"]{text-align:center}
[data-apm-etape="ok"] p{font-size:.95rem;line-height:1.55;color:#665D64;margin:0 0 22px}
@media(max-width:560px){.apm-grille{grid-template-columns:1fr}.apm-boite{padding:30px 22px 24px;border-radius:20px}}

/* ---------- Priorite sur les regles boutons du kit Elementor ----------
   Le kit stylise globalement <button> ; sans cette surcharge nos CTA
   repassent en contour rose transparent. */
.apr button.apr-cta,
.apm button.apm-envoi{background-color:#FFC400!important;background-image:none!important;color:#090909!important;border:0!important;border-radius:999px!important;text-decoration:none!important}
.apr button.apr-cta:hover,
.apm button.apm-envoi:hover{background-color:#FFD44D!important;color:#090909!important}
.apm button.apm-envoi:disabled{opacity:.6!important}
.apr button.apr-opt{background-color:#fff!important;background-image:none!important;color:#665D64!important;border:1px solid #EADFE5!important;border-radius:999px!important}
.apr button.apr-opt:hover{border-color:#C90055!important;color:#C90055!important}
.apr button.apr-opt.est-actif{background-color:#FFF1F6!important;border-color:#C90055!important;color:#C90055!important}
.apm button.apm-x{background:none!important;border:0!important;color:#665D64!important;padding:4px 8px!important}

