/* Typography aligned with the DiSAQ ASTIN page (Elementor kit + page post-27654):
   body text "Inclusive Sans" 400 16px/1.5, headings "Inclusive Sans" 600 #1C355E,
   buttons "Source Code Pro" 600 uppercase. Fonts are already loaded by Elementor on that page.
   Body text uses #6F6F6F instead of the page's #7A7A7A to meet WCAG AA contrast (4.9:1). */
.astin-registration{--astin-font:"Inclusive Sans",sans-serif;--astin-font-accent:"Source Code Pro",monospace;--astin-heading:#1C355E;--astin-text:#6F6F6F;--astin-strong:#333;--astin-border:#dfe4e8;--astin-soft:#F2F2F2;max-width:1080px;margin:2rem auto;padding:0 1rem;font-family:var(--astin-font);font-size:16px;font-weight:400;line-height:1.5;color:var(--astin-text)}
.astin-registration *{box-sizing:border-box}
.astin-registration h2,.astin-registration h3{font-family:var(--astin-font);font-weight:600;line-height:1.2em;color:var(--astin-heading);margin:0 0 1rem}
.astin-registration h2{font-size:35px}
.astin-registration h3{font-size:20px}
.astin-registration p{margin:0 0 .9rem}
.astin-registration strong{color:var(--astin-strong)}
.astin-registration__intro{margin-bottom:1.5rem}
.astin-fee{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--astin-border);border-bottom:1px solid var(--astin-border);padding:1rem 0;margin:1rem 0}
.astin-fee span{font-family:var(--astin-font-accent);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--astin-heading)}
.astin-fee strong{font-size:30px;font-weight:600;color:var(--astin-heading)}
.astin-form{background:#fff;border:1px solid var(--astin-border);padding:1.5rem}
.astin-required-note,.astin-help{font-size:14px;color:var(--astin-text)}
.astin-section-title,.astin-subsection{margin-bottom:1.25rem}
.astin-subsection{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--astin-border)}
.astin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.astin-field.wide{grid-column:1/-1}
.astin-field label,.astin-conditional label{display:block;font-weight:600;line-height:1.5;color:var(--astin-heading)}
.astin-grid input,.astin-grid textarea,.astin-conditional textarea{width:100%;padding:.75rem;margin-top:.35rem;border:1px solid #7d8791;border-radius:0;font:inherit;background:#fff;color:var(--astin-strong)}
.astin-choice{border:0;padding:0;margin:1.1rem 0}
.astin-choice--compact{margin:.25rem 0 1rem}
.astin-choice legend{font-weight:600;color:var(--astin-heading);margin-bottom:.45rem}
.astin-choice label{display:inline-flex;align-items:center;gap:.35rem;margin-right:1.25rem;line-height:1.5}
.astin-conditional{padding:1rem;background:var(--astin-soft);margin:.5rem 0 1rem}
.astin-note{margin:.8rem 0 0;padding:.75rem 1rem;background:#fff7e6;border-left:4px solid #9b6b00;font-size:14px}
.astin-switch,.astin-check{display:block;margin:1.1rem 0;line-height:1.5}
.astin-switch strong{color:var(--astin-heading)}
.astin-invoice{padding:1rem;background:var(--astin-soft);margin:1rem 0}
.astin-privacy-summary{margin:1.5rem 0;padding:1.1rem 1.2rem;background:var(--astin-soft);border:1px solid var(--astin-border)}
.astin-privacy-summary h3{margin-bottom:.9rem}
.astin-payment-method{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--astin-border)}
.astin-payment-method .astin-help{margin:.5rem 0 0}
.astin-pay{width:100%;padding:1rem;border:0;border-radius:0;background:var(--astin-heading);color:#fff;font-family:var(--astin-font-accent);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:2.6px;cursor:pointer}
.astin-pay:hover{background:#043A5C}
.astin-pay:disabled{opacity:.55;cursor:not-allowed}
.astin-secure{font-size:14px;text-align:center;color:var(--astin-text);margin-top:.9rem}
.astin-error,.astin-status{padding:.9rem;margin:1rem 0}
.astin-error{background:#fff0f0;color:#7d1111;border:1px solid #b42318}
.astin-status{background:#eef6ff;color:#102f4e;border:1px solid #8fb8dd}
.astin-bank{background:#fff;border:1px solid var(--astin-border);border-top:4px solid #009A91;padding:1.5rem}
.astin-bank__details{display:grid;grid-template-columns:max-content 1fr;gap:.6rem 1.5rem;margin:1.25rem 0;padding:1rem;background:var(--astin-soft)}
.astin-bank__details dt{font-weight:600;color:var(--astin-heading)}
.astin-bank__details dd{margin:0;color:var(--astin-strong);word-break:break-word}
.astin-bank__details [data-bank="iban"],.astin-bank__details [data-bank="reference"]{font-family:var(--astin-font-accent);letter-spacing:.5px}
.astin-copy{margin-left:.5rem;padding:.15rem .6rem;border:1px solid var(--astin-heading);border-radius:0;background:#fff;color:var(--astin-heading);font-family:var(--astin-font-accent);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.astin-copy:hover{background:var(--astin-heading);color:#fff}
.hidden{display:none!important}
.astin-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.astin-registration input:focus-visible,.astin-registration textarea:focus-visible,.astin-registration button:focus-visible,.astin-registration a:focus-visible{outline:3px solid #005fcc;outline-offset:3px}
.astin-registration input[type=radio],.astin-registration input[type=checkbox]{min-width:1.15rem;min-height:1.15rem}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1024px){.astin-registration h2{font-size:30px}}
@media(max-width:700px){.astin-grid{grid-template-columns:1fr}.astin-field.wide{grid-column:auto}.astin-fee{align-items:flex-start;gap:1rem}.astin-choice label{display:flex;margin:.4rem 0}.astin-form,.astin-bank{padding:1rem}.astin-pay{min-height:48px;letter-spacing:1.5px}.astin-bank__details{grid-template-columns:1fr;gap:.2rem}.astin-bank__details dd{margin-bottom:.6rem}}
@media(prefers-reduced-motion:reduce){.astin-registration *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
