/* ===== Thème Exode sur Bootstrap 5.3 : Lato (comme canada.ca), pied de page ardoise IRCC ===== */
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/lato-400.woff2") format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/lato-700.woff2") format("woff2")}
:root,[data-bs-theme=light]{
  --bs-font-sans-serif:"Lato","Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-line-height:1.5;
  --bs-body-bg:#f5f7fa;--bs-body-color:#16202c;--bs-emphasis-color:#16202c;
  --bs-primary:#1d4f91;--bs-primary-rgb:29,79,145;--bs-primary-bg-subtle:#e4edf8;--bs-primary-border-subtle:#b9cfec;--bs-primary-text-emphasis:#16396b;
  --bs-success:#1a7a4a;--bs-success-rgb:26,122,74;--bs-success-bg-subtle:#dff2e8;--bs-success-text-emphasis:#10502f;--bs-success-border-subtle:#a9d9bf;
  --bs-warning-bg-subtle:#fdecd2;--bs-warning-text-emphasis:#7a4800;--bs-warning-border-subtle:#f3cf94;
  --bs-link-color:#1d4f91;--bs-link-color-rgb:29,79,145;--bs-link-hover-color:#123259;--bs-link-hover-color-rgb:18,50,89;
  --bs-border-color:#d5dde7;--bs-border-radius:.625rem;--bs-secondary-color:#5b6877;--bs-secondary-bg:#eef2f7;
  --mut:#5b6877;--ok:#1a7a4a;--warn:#9a5b00;--soft:#e4edf8;--acc:#1d4f91;--line:#d5dde7;--card:#fff;--ink:#16202c;--foot:#26374a;
  color-scheme:light}
body{min-height:100vh;display:flex;flex-direction:column;background:var(--bs-body-bg);color:var(--bs-body-color)}
main.container{flex:1 0 auto;padding-top:1.25rem;padding-bottom:1.25rem}
.container-narrow{max-width:760px}
h1{font-size:1.75rem;line-height:1.25;font-weight:700;margin:0}h2{font-size:1.375rem;line-height:1.3;font-weight:700;margin:0}h3{font-weight:700}
@media(max-width:575.98px){h1{font-size:1.5rem}h2{font-size:1.25rem}}
.form-label,label{font-weight:700;margin-bottom:.25rem}
.form-check-label{font-weight:400}
.btn{font-weight:700;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.btn-sm{min-height:36px}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#1d4f91;--bs-btn-border-color:#1d4f91;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#173f74;--bs-btn-hover-border-color:#173f74;--bs-btn-active-color:#fff;--bs-btn-active-bg:#123259;--bs-btn-active-border-color:#123259;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#1d4f91;--bs-btn-disabled-border-color:#1d4f91;--bs-btn-focus-shadow-rgb:29,79,145}
.btn-outline-primary{--bs-btn-color:#1d4f91;--bs-btn-border-color:#9db9de;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#1d4f91;--bs-btn-hover-border-color:#1d4f91;--bs-btn-active-color:#fff;--bs-btn-active-bg:#123259;--bs-btn-active-border-color:#123259;--bs-btn-disabled-color:#1d4f91;--bs-btn-disabled-border-color:#9db9de;--bs-btn-focus-shadow-rgb:29,79,145;background:#e4edf8}
.btn-link{--bs-btn-color:#1d4f91;--bs-btn-hover-color:#123259;font-weight:400;min-height:0}
.form-control,.form-select{font-size:1rem;min-height:44px;border-width:1.5px}
textarea.form-control{min-height:5rem}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:#1d4f91;box-shadow:0 0 0 .25rem rgba(29,79,145,.25)}
.form-check-input:checked{background-color:#1d4f91;border-color:#1d4f91}
.form-check-input{width:1.25em;height:1.25em;margin-top:.15em}
a:focus-visible,button:focus-visible{outline:2px solid #1d4f91;outline-offset:2px}
.card{--bs-card-border-color:var(--line);--bs-card-border-radius:.875rem;--bs-card-bg:#fff;--bs-card-inner-border-radius:.8125rem}
.card-body{padding:1.25rem}@media(max-width:575.98px){.card-body{padding:1rem}}
.alert{font-size:.9375rem;margin:0}
.badge{font-weight:700;font-size:.8125rem}
.table{--bs-table-bg:transparent;font-size:.9375rem;margin:0}
.table>:not(caption)>*>*{padding:.6rem .5rem}
.progress{height:.5rem;background:var(--soft)}.progress-bar{background:var(--acc)}
.navbar-portal{background:#fff;border-bottom:1px solid var(--line);padding:.25rem 0}
.navbar-portal .nav-link{font-weight:700;color:var(--acc);padding:.6rem .75rem;min-height:44px;display:flex;align-items:center}
.navbar-portal .nav-link:hover,.navbar-portal .nav-link:focus{background:var(--soft);border-radius:.5rem}
.navbar-portal .navbar-toggler{border-color:#9db9de}
/* Composants propres à l'outil */
.wordmark{font-weight:700;font-size:1.125rem;color:var(--acc)}
/* Pied de page (ardoise, comme le pied de canada.ca) */
.site-foot{background:var(--foot);color:#fff;margin-top:2rem;padding:1.75rem 0 1.25rem;font-size:.9375rem}
.site-foot h3{font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:#cdd6e0;margin:0 0 .375rem}
.site-foot p{margin:0}.site-foot a{color:#fff}.site-foot .foot-muted,.foot-legal{color:#cdd6e0}
.foot-brand img{max-width:100%;height:36px;width:auto;display:block;margin-bottom:.5rem;background:#fff;padding:4px 8px;border-radius:6px}
.foot-legal{font-size:.8125rem;border-top:1px solid rgba(255,255,255,.28);margin-top:1.25rem!important;padding-top:.75rem}
.site-foot :focus-visible{outline-color:#fff}
@media print{.site-foot,.navbar-portal{display:none}}
/* Neutralise le style « Cerulean » du paquet Bootstrap utilisé (dégradés, titres bleus) */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{--bs-heading-color:#16202c;color:var(--bs-heading-color)}
.btn,.btn-primary,.btn-outline-primary{background-image:none}
.btn-outline-primary:hover,.btn-outline-primary:focus-visible{background-color:#1d4f91}
.list-group{--bs-list-group-bg:transparent;--bs-list-group-border-color:var(--line)}
.card-body.d-grid{grid-template-columns:minmax(0,1fr)}
.card-body>*{min-width:0}
.form-check-input[type=checkbox]{border-radius:.25em}
/* Espacements de formulaire (rythme vertical uniforme) */
.form-control+p,.form-select+p,textarea+p,.form-control+.btn,.form-select+.btn,textarea+.btn,.form-control+.small,.form-select+.small,.form-control+div,.form-select+div{margin-top:1rem}
.form-control+label,.form-select+label,textarea+label,.form-check+label{margin-top:1rem}
form>p:has(>.btn),form>p:has(>button){margin-top:1rem}
.qhelp{width:44px;height:44px;padding:0;flex:none;font-weight:700}
.prewrap{white-space:pre-wrap}
.site-foot .wordmark{color:#fff}
.site-foot .foot-brand img[src="logo.php"]{background:#fff;padding:6px 8px;border-radius:6px;height:44px;width:auto}
