/* parcours.css — parcours de qualification PNS. Palette PNS : marine = texte et
   surfaces sombres, or = action seulement (texte marine sur or : blanc sur or
   echoue au contraste AA). */
.pns-pc-sec{padding:clamp(24px,5vw,64px) 16px;background:#EEF2F8}
.pns-pc-cadre{max-width:1180px;margin:0 auto}
#pns-parcours{scroll-margin-top:90px}
.pns-pc{--m:#132A45;--m2:#1F3E63;--o:#F5B93A;--l:#DDE3EE;display:grid;grid-template-columns:minmax(260px,330px) 1fr;
  border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(19,42,69,.14);color:var(--m);
  font-size:16px;line-height:1.5;text-align:left}
.pns-pc *{box-sizing:border-box}
.pns-pc svg{display:block}
.pns-pc__cote{background:var(--m);color:#fff;padding:34px 28px;display:flex;flex-direction:column;gap:18px}
.pns-pc__marque{margin:0;font-weight:800;font-size:20px;letter-spacing:.01em}
.pns-pc__marque::after{content:"";display:block;width:64px;height:3px;margin-top:10px;
  background:linear-gradient(90deg,#0055A4 0 33%,#fff 33% 66%,#EF4135 66%)}
.pns-pc__acc{margin:0;font-size:22px;line-height:1.25;font-weight:700}
.pns-pc__rass{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pns-pc__rass li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:rgba(255,255,255,.88)}
.pns-pc__rass svg{flex:0 0 26px;width:26px;height:26px;color:var(--o)}
.pns-pc__mini{margin-top:4px;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.pns-pc__mini p{margin:0 0 4px;font-size:13px;color:rgba(255,255,255,.75)}
.pns-pc__mini b{display:block;font-size:26px;color:var(--o)}
.pns-pc__mini span{font-size:14px}
.pns-pc__pref{margin:auto 0 -8px;font-size:14px;color:rgba(255,255,255,.75)}
.pns-pc__tel{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:12px 18px;border-radius:999px;
  background:var(--o);color:var(--m)!important;font-weight:700;text-decoration:none}
.pns-pc__tel svg{width:20px;height:20px}
.pns-pc__main{position:relative;padding:clamp(22px,4vw,48px);background:#F6F8FC;min-height:560px}
.pns-pc__barre{height:6px;border-radius:6px;background:var(--l);overflow:hidden;margin-bottom:26px}
.pns-pc__barre span{display:block;height:100%;background:var(--m);border-radius:6px;transition:width .35s ease}
.pns-pc__retour{display:block;margin:-14px 0 4px;border:0;background:none;
  color:var(--m2);font:600 14px/1 inherit;cursor:pointer;padding:6px 0}
.pns-pc__ecran{max-width:760px;margin:0 auto;text-align:center}
.pns-pc__groupe{margin:6px 0 8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5B6B82}
.pns-pc__titre{margin:0 0 10px;font-size:clamp(22px,2.6vw,30px);line-height:1.2;font-weight:800;color:var(--m);outline:none}
.pns-pc__aide{margin:0 auto 6px;max-width:560px;color:#44546B;font-size:15px}
.pns-pc__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:26px auto 0}
.pns-pc__options--nombreuses{grid-template-columns:repeat(3,minmax(0,1fr))}
.pns-pc__opt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-height:150px;padding:22px 14px 18px;border:2px solid var(--l);border-radius:16px;background:#fff;color:var(--m);
  font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.pns-pc__opt:hover{border-color:#9FB0C8;transform:translateY(-2px)}
.pns-pc__opt:focus-visible{outline:3px solid var(--o);outline-offset:2px}
.pns-pc__opt[aria-pressed="true"]{border-color:var(--m);box-shadow:0 0 0 3px rgba(245,185,58,.6)}
.pns-pc__coche{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;border:2px solid #9FB0C8}
.pns-pc__opt[aria-pressed="true"] .pns-pc__coche{border-color:var(--m);background:radial-gradient(circle,var(--m) 0 45%,transparent 50%)}
.pns-pc__pic svg{width:52px;height:52px;color:var(--m2)}
.pns-pc__lib{font-weight:600;font-size:15.5px;line-height:1.3}
.pns-pc__opt small{font-size:13px;color:#5B6B82}
.pns-pc__suite{display:inline-flex;align-items:center;justify-content:center;margin:26px auto 0;min-width:220px;padding:15px 28px;
  border:0;border-radius:12px;background:var(--m);color:#fff;font:700 16px/1.2 inherit;cursor:pointer}
.pns-pc__suite[disabled]{opacity:.4;cursor:default}
.pns-pc__suite--fort{background:var(--o);color:var(--m)}
.pns-pc__commune{display:grid;gap:12px;max-width:440px;margin:26px auto 0;text-align:left}
.pns-pc__commune label{font-weight:600;font-size:14px}
.pns-pc__commune select,.pns-pc__commune input,.pns-pc__form input:not([type=radio]):not([type=checkbox]){
  width:100%;padding:14px 16px;border:2px solid var(--l);border-radius:12px;background:#fff;color:var(--m);font:16px/1.3 inherit}
.pns-pc__commune select:focus,.pns-pc__commune input:focus,.pns-pc__form input:focus{outline:none;border-color:var(--m)}
.pns-pc__res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0 0;text-align:left}
.pns-pc__res div{padding:18px 20px;border-radius:14px;background:#fff;border:1px solid var(--l)}
.pns-pc__res span{display:block;font-size:13px;font-weight:600;color:#5B6B82;text-transform:uppercase;letter-spacing:.04em}
.pns-pc__res b{display:block;margin:6px 0 2px;font-size:26px;line-height:1.15;color:var(--m)}
.pns-pc__res small{font-size:13.5px;color:#44546B}
.pns-pc__res .pns-pc__res-fort{background:var(--m);border-color:var(--m)}
.pns-pc__res .pns-pc__res-fort span,.pns-pc__res .pns-pc__res-fort small{color:rgba(255,255,255,.8)}
.pns-pc__res .pns-pc__res-fort b{color:var(--o)}
.pns-pc__hyp{margin:16px 0 0;text-align:left;font-size:14px;color:#44546B}
.pns-pc__hyp summary{cursor:pointer;font-weight:600;color:var(--m2)}
.pns-pc__hyp ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}
.pns-pc__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin:24px 0 0;text-align:left}
.pns-pc__form>label{display:grid;gap:6px;font-weight:600;font-size:14px}
.pns-pc__form em{font-weight:400;color:#5B6B82;font-style:normal}
.pns-pc__form fieldset{grid-column:1/-1;border:0;margin:0;padding:0}
.pns-pc__form legend{font-weight:600;font-size:14px;margin-bottom:8px}
.pns-pc__creneaux{display:flex;flex-wrap:wrap;gap:10px}
.pns-pc__creneaux label{cursor:pointer}
.pns-pc__creneaux input{position:absolute;opacity:0;pointer-events:none}
.pns-pc__creneaux span{display:inline-block;padding:10px 18px;border:2px solid var(--l);border-radius:999px;background:#fff;font-weight:600;font-size:15px}
.pns-pc__creneaux input:checked+span{border-color:var(--m);background:var(--m);color:#fff}
.pns-pc__creneaux input:focus-visible+span{outline:3px solid var(--o)}
.pns-pc__rgpd{grid-column:1/-1;display:flex!important;grid-template-columns:none!important;gap:10px!important;align-items:flex-start;font-weight:400!important;font-size:14px!important}
.pns-pc__rgpd input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}
.pns-pc__err{grid-column:1/-1;margin:0;padding:10px 14px;border-radius:10px;background:#FDECEC;color:#8B1E1E;font-size:14px}
.pns-pc__form .pns-pc__suite{grid-column:1/-1;margin-top:6px}
.pns-pc__merci{padding:30px 0}
.pns-pc__merci>svg{width:64px;height:64px;margin:0 auto 14px;color:#1E8E5A}
.pns-pc__merci p{margin:8px 0}
.pns-pc__merci .pns-pc__tel{margin-top:6px}
@media (max-width:900px){
  .pns-pc{grid-template-columns:1fr;border-radius:18px}
  .pns-pc__cote{padding:18px 20px;gap:10px;flex-direction:row;flex-wrap:wrap;align-items:center}
  .pns-pc__acc,.pns-pc__rass,.pns-pc__pref{display:none}
  .pns-pc__marque{font-size:17px;margin-right:auto}
  .pns-pc__marque::after{width:48px;margin-top:6px}
  .pns-pc__mini{order:3;flex:1 1 100%;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 14px;margin:0}
  .pns-pc__mini p{margin:0}.pns-pc__mini b{display:inline;font-size:20px}
  .pns-pc__tel{padding:9px 14px;font-size:14px}
  .pns-pc__main{min-height:0}
  .pns-pc__options--nombreuses{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .pns-pc-sec{padding:16px 12px}
  .pns-pc__main{padding:18px 14px 22px}
  .pns-pc__retour{position:static;display:block;margin:-10px 0 8px}
  .pns-pc__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
  .pns-pc__opt{min-height:124px;padding:18px 8px 12px;gap:8px;border-radius:14px}
  .pns-pc__pic svg{width:40px;height:40px}
  .pns-pc__lib{font-size:14.5px}
  .pns-pc__coche{top:8px;right:8px;width:16px;height:16px}
  .pns-pc__res,.pns-pc__form{grid-template-columns:1fr}
  .pns-pc__res b{font-size:22px}
  .pns-pc__suite{width:100%}
}
@media (prefers-reduced-motion:reduce){.pns-pc__opt,.pns-pc__barre span{transition:none}}
