/* Styles limités au Check-up et à ses accès. */
.checkup-header { flex-shrink:0; border:1px solid currentColor; border-radius:7px; padding:10px 12px; font-size:.82rem; font-weight:700; text-align:center; }
.nav-wrap:has(.checkup-header) { gap:14px; }
.nav-wrap:has(.checkup-header) .primary-nav { gap:14px; }
.checkup-header:focus-visible,.checkup-page :focus-visible,.checkup-callout a:focus-visible { outline:3px solid #d3a35f; outline-offset:4px; }
.checkup-callout { padding:36px 0; background:var(--lin-deep); }
.checkup-callout .container { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.checkup-callout p { margin:0; font-weight:600; }
.checkup-content { padding:56px 0; }
.checkup-content h2 { font-size:clamp(1.8rem,4vw,2.8rem); margin-bottom:28px; }
.checkup-page .legal-hero h1 { max-width:950px; }
.checkup-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:32px; }
.checkup-cards article { padding:24px; background:var(--white); border:1px solid var(--line); border-radius:7px; }
.checkup-cards h3 { margin-bottom:16px; }
.checkup-form-wrap { max-width:820px; margin:40px auto; }
.checkup-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; }
.checkup-field { min-width:0; margin-bottom:16px; }
.checkup-field label { display:block; font-weight:600; margin-bottom:8px; }
.checkup-field input:not([type=checkbox]),.checkup-field select { display:block; width:100%; min-height:48px; padding:10px 12px; font:inherit; font-size:16px; background:white; color:var(--ink); border:1px solid var(--granite); border-radius:6px; }
.checkup-consent label { display:flex; align-items:flex-start; gap:12px; font-weight:400; }
.checkup-consent input { width:22px; height:22px; flex-shrink:0; margin-top:4px; accent-color:var(--green); }
.checkup-content a:not(.button),.checkup-alert a { text-decoration:underline; }
.checkup-error { color:#9b2525; font-size:.9rem; margin:6px 0 0; }
.checkup-error:empty { display:none; }
.checkup-field [aria-invalid=true] { border:2px solid #9b2525!important; }
.checkup-alert { border:2px solid #9b2525; background:#fff2eb; color:#702020; padding:18px; margin-bottom:24px; border-radius:6px; scroll-margin-top:120px; }
.checkup-trap,.checkup-page [hidden] { display:none!important; }
.checkup-page button[type=submit] { border:0; cursor:pointer; gap:10px; font-family:inherit; max-width:100%; padding:14px 24px; }
.checkup-page button:disabled { opacity:.7; cursor:wait; }
.checkup-reassurance { font-size:.92rem; margin-top:18px; }
.checkup-spinner { width:18px; height:18px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:checkup-spin .8s linear infinite; flex-shrink:0; }
@keyframes checkup-spin { to { transform:rotate(360deg); } }
.checkup-faq { max-width:820px; margin:56px auto; }
.checkup-faq details { padding:18px 0; border-bottom:1px solid var(--line); }
.checkup-faq summary { cursor:pointer; font-weight:700; }
.checkup-faq details p { margin-top:16px; }
.checkup-rdv { padding:32px 0; text-align:center; }
#checkup-result:not(:empty) { padding:24px; background:white; border:1px solid var(--green); border-radius:7px; }
@media (min-width:901px) and (max-width:1120px) { .nav-wrap:has(.checkup-header) { flex-wrap:wrap; padding:10px 0; } .nav-wrap:has(.checkup-header) .primary-nav { width:100%; justify-content:center; } body:has(.checkup-header) { padding-top:120px; } }
@media (max-width:900px) { .checkup-header { margin-left:auto; } }
@media (max-width:600px) { .checkup-cards,.checkup-fields { grid-template-columns:1fr; } .checkup-content { padding:36px 0; } .nav-wrap:has(.checkup-header) { gap:8px; } .nav-wrap:has(.checkup-header) .brand-official-logo { width:100px; } .checkup-header { padding:10px 8px; font-size:.75rem; } .checkup-page button[type=submit] { width:100%; } }
@media (prefers-reduced-motion:reduce) { .checkup-spinner { animation:none; } }
@media (max-width:380px) { .nav-wrap:has(.checkup-header) .brand-official-logo { width:80px; } }
