/* Nexus World — styles communs (site public et administration) */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-700.woff") format("woff")}
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/lora-var.woff") format("woff")}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url("../fonts/lora-italic-var.woff") format("woff")}

:root{
  --navy:#0B2A4A; --navy-2:#143C66; --navy-3:#1D4F85;
  --teal:#0B7A7A; --teal-dark:#075A5A; --teal-light:#E1F2F1;
  --amber:#F0A92E; --amber-dark:#7A4F00; --amber-light:#FFF3D6;
  --ink:#0E1B2E; --text:#1B2A3E; --muted:#566678;
  --bg:#F5F7FA; --card:#FFFFFF; --line:#DCE3EB; --line-strong:#BCC8D6;
  --ok:#17693D; --ok-bg:#E3F4EA; --danger:#B3261E; --danger-bg:#FCE9E7; --info:#1B56B0; --info-bg:#E7EFFC;
  --radius:12px; --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(14,27,46,.06),0 1px 3px rgba(14,27,46,.08);
  --shadow-md:0 8px 24px rgba(14,27,46,.14);
  --font-ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-serif:"Lora",Georgia,"Times New Roman",serif;
  --maxw:1200px;
  --g-dark:#06303A; --g-mid:#0B6E73; --g-light:#5FD4C8;
}
/* couleur de rubrique : --g-mid sert de couleur de texte, --g-dark/--g-light de dégradé */
.c1{--g-dark:#06303A;--g-mid:#0B6E73;--g-light:#5FD4C8}
.c2{--g-dark:#0B2350;--g-mid:#1F5FBF;--g-light:#8DB8FF}
.c3{--g-dark:#25134A;--g-mid:#6B3FB4;--g-light:#C3A6FF}
.c4{--g-dark:#3A1A0B;--g-mid:#B5471B;--g-light:#FFB38A}
.c5{--g-dark:#0F2E17;--g-mid:#2E7D32;--g-light:#9BE29F}
.c6{--g-dark:#3A0B25;--g-mid:#A3195B;--g-light:#FF9CC8}
.c7{--g-dark:#33290A;--g-mid:#8A6D00;--g-light:#FFD966}
.c8{--g-dark:#16222B;--g-mid:#37474F;--g-light:#A8BEC9}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;font-family:var(--font-ui);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%}
img,video{height:auto}
a{color:var(--teal-dark);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover:where(:not([class])){color:var(--navy)}
h1,h2,h3,h4{color:var(--ink);line-height:1.2;margin:0}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}
::selection{background:#BFE7E4}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--navy);color:#fff;padding:10px 16px;border-radius:0 0 8px 8px;font-weight:600;text-decoration:none;transition:top .15s}
.skip-link:focus{top:0;color:#fff}
.muted{color:var(--muted)}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:820px}

.icon{width:1.25em;height:1.25em;flex:none;vertical-align:-.22em;display:inline-block}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:.55em 1.1em;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}
.btn:hover{background:#EEF2F7;border-color:var(--navy-3);color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-primary:hover{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2);color:#fff}
.btn-danger{background:#fff;border-color:#E3B1AD;color:var(--danger)}
.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}
.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-danger-solid:hover{background:#8F1D17;border-color:#8F1D17;color:#fff}
.btn-ghost{background:transparent;border-color:transparent}
.btn-ghost:hover{background:rgba(14,27,46,.07);border-color:transparent}
.btn-sm{min-height:36px;padding:.3em .8em;font-size:.88rem}
.btn-lg{min-height:52px;padding:.7em 1.5em;font-size:1.05rem}
.btn-block{display:flex;width:100%}
.btn[disabled],.btn.is-disabled{opacity:.55;pointer-events:none}

.badge{display:inline-flex;align-items:center;gap:.35em;padding:.15em .6em;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.5;background:#E9EEF4;color:var(--ink);white-space:nowrap}
.badge-demo{background:var(--amber-light);color:var(--amber-dark)}
