/* APPUI: compléter le modèle A validé sans toucher à sa photographie ni à sa palette. */
.appui .mld-intro-main>p:not(.mld-lead){color:#52718a;font-size:15px}
.appui .mld-topbar .appui-logo{max-height:49px;max-width:125px;width:auto;object-fit:contain}
.appui .mld-topbar .mld-brand{min-width:0}
.appui .mld-brand>div:last-child{min-width:0}
.appui .mld-brand span{white-space:normal}
.appui-loginbox{margin-top:26px;padding:26px;background:#f5f9fe;border:1px solid #d6e6f4;border-radius:18px;max-width:590px}
.appui-loginbox h2{font-size:22px;color:#143d6b;margin:0 0 7px;font-weight:750}
.appui-loginbox p{font-size:14px;color:#52718a;margin:0 0 19px}
.appui label,.appui input,.appui select,.appui textarea{font-family:inherit}
.appui-loginbox label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.appui input[type=email],.appui input[type=text],.appui input[type=number],.appui textarea,.appui select{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #bdd4e9;border-radius:11px;padding:12px 14px;font-size:16px;line-height:1.5;color:#183956;background:white;box-shadow:none}
.appui input:focus,.appui textarea:focus,.appui select:focus{outline:3px solid rgba(18,101,187,.17);border-color:#1265bb}
.appui textarea{resize:vertical;min-height:110px}
.appui-loginbox .mld-btn{margin-top:16px;min-height:48px;max-width:100%}
.appui-panel{padding:46px 56px;color:#23455f;min-height:0}
.appui-panel h1{font-size:clamp(28px,3vw,38px);color:#143d6b}
.appui-panel h2{font-size:22px;color:#143d6b;margin-top:24px}
.appui-panel>p{max-width:900px}
.appui-panel .appui-consent-form{margin-top:22px}
.appui-consent-form fieldset{border:0;margin:0 0 25px;padding:0}
.appui-consent-form legend{font-weight:750;margin-bottom:13px;color:#143d6b;font-size:18px}
.appui-choices{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-top:14px;width:100%;min-width:0}
.appui-choice{display:flex!important;align-items:center;justify-content:flex-start;gap:13px;width:100%;max-width:100%;box-sizing:border-box;min-width:0;min-height:52px;padding:12px 15px;background:#fff;border:1px solid #d6e6f4;border-radius:11px;color:#274861;cursor:pointer;line-height:1.45;font-size:15px;font-weight:550;text-align:left;flex:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.appui-choice:hover{border-color:#6ca9e4;background:#f4f9ff;box-shadow:0 1px 6px rgba(22,92,160,.06)}
.appui-choice input[type=checkbox],.appui-choice input[type=radio]{appearance:auto!important;accent-color:#1265bb;flex:0 0 19px;width:19px;height:19px;margin:0;min-width:19px;min-height:19px;padding:0;box-shadow:none!important}.appui-choice>span{display:block;flex:1;min-width:0;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.appui-consent-form .appui-choice{max-width:700px;margin-bottom:11px;flex:none}
.appui-notice-link{font-weight:750;color:#1265bb;text-decoration:underline}
.appui-alert{border:1px solid #e3c98f;background:#fff7e5;color:#79540d;border-radius:12px;padding:15px 18px;margin:10px 0 19px;font-size:14px}
.appui-muted{font-size:13px!important;color:#647d92!important}
.appui-quiz{gap:0;min-height:500px;padding-top:31px}
.appui-quiz .mld-quiz-head{max-width:none}
.appui-question-group{margin:27px auto 0;width:100%;max-width:880px}
.appui-question-group>.mld-eyebrow{font-size:12px;margin-bottom:6px}
.appui-question-group>.appui-muted{margin:0 0 13px}
/* Mise en page stable : chaque question est un bloc vertical, sans legend flottant. */
.appui .appui-question{display:block!important;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:18px 0 22px;padding:23px 24px 25px;background:#fff;border:1px solid #dce8f4;border-radius:16px;box-shadow:0 3px 12px rgba(22,70,115,.035);float:none!important;clear:both}
.appui .appui-question-title{display:flex!important;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:14px;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0 0 18px!important;padding:0!important;float:none!important;clear:both;font-size:clamp(19px,1.55vw,22px);line-height:1.35;font-weight:800;color:#163b61;letter-spacing:-.012em;text-align:left}
.appui .appui-question-text{display:block;flex:1;min-width:0;overflow-wrap:break-word;word-break:normal}
.appui .appui-question .appui-choices{display:grid!important;grid-template-columns:minmax(0,1fr)!important;clear:both;float:none!important;width:100%;max-width:100%;min-width:0;margin-top:0}
.appui .appui-question .appui-choice{float:none!important;position:relative;max-width:100%;width:100%;min-width:0;box-sizing:border-box}
.appui .appui-question>input,.appui .appui-question>textarea,.appui .appui-question>select{clear:both;float:none!important;max-width:100%;box-sizing:border-box}
.appui-q-number{flex:0 0 37px;display:inline-grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#e9f3ff;color:#1265bb;font-size:13px;letter-spacing:.02em;font-weight:800;line-height:1}
.appui-conditional{clear:both;margin:14px 0 0;padding:17px;border:1px dashed #accce6;background:#eff6ff;border-radius:12px}
.appui-conditional[hidden]{display:none!important}
.appui-conditional>label{display:block;font-size:14px;font-weight:700;margin-bottom:9px;color:#234767}
.appui-conditional>.appui-choices{margin-top:0}
.appui-choice-group{border-bottom:1px solid #e5edf4;padding:3px 0 14px;margin-bottom:14px}.appui-choice-group:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.appui-question .appui-choice:has(input:checked){border-color:#1265bb;background:#eaf3fd;box-shadow:inset 3px 0 0 #1265bb;color:#113b68}
.appui-nav{border-top:1px solid #dfebf6;margin-top:25px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.appui-nav .mld-btn{min-width:170px}
.appui-signout{display:flex;justify-content:center;margin:25px 0 0}
.appui-text-button{padding:9px 12px;background:transparent;border:none;text-decoration:underline;color:#507898;cursor:pointer;font-size:13px}
.appui .mld-done{padding:65px 35px;min-height:460px}
.appui .mld-done>p{max-width:670px}
.appui .mld-foot{gap:13px}
@media(max-width:800px){
 .appui-panel{padding:32px 25px}
 .appui .mld-aside{min-height:180px}
 .appui .mld-intro-main{padding:34px 28px}
 .appui .appui-quiz{padding:26px 22px}
 .appui .appui-question{padding:20px 18px}
 .appui .appui-choice{width:100%}
}
@media(max-width:540px){
 .appui .mld-topbar{gap:8px}
 .appui .mld-brand-icon{width:34px;height:34px}
 .appui .mld-brand strong{font-size:15px}
 .appui .mld-brand span{font-size:10px}
 .appui .mld-smalltag{display:none}
 .appui .mld-intro-main{padding:25px 19px}
 .appui-loginbox{padding:18px 14px}
 .appui-loginbox h2{font-size:19px}
 .appui-panel{padding:27px 18px}
 .appui-panel h1{font-size:29px}
 .appui .appui-quiz{padding:20px 15px}
 .appui .appui-question{padding:17px 14px 19px;border-radius:13px}
 .appui .appui-question-title{font-size:17px;gap:10px;margin-bottom:14px!important}
 .appui-q-number{flex-basis:31px;width:31px;height:31px;font-size:12px}
 .appui .appui-choice{padding:12px 11px;font-size:14px;min-height:48px;gap:11px}
 .appui-nav{align-items:stretch;flex-direction:column}
 .appui-nav .mld-btn{width:100%}
 .appui .mld-foot{flex-direction:column;text-align:center;font-size:10px}
 .appui .mld-done{padding:45px 18px}
}
.appui-demo>.appui-alert{margin:0 0 25px}
.appui-demo-page[hidden],.appui-demo-end[hidden]{display:none!important}
.appui-demo-end{text-align:center;padding:65px 15px}
.appui-demo-end>h2{color:#143d6b}
/* En cas d'indisponibilité de l'image distante, conserver une illustration locale. */
.appui .mld-a .mld-aside-image,.appui.mld-a .mld-aside-image{
 background-image:linear-gradient(180deg,rgba(12,62,106,.06) 25%,rgba(5,48,87,.30) 100%),url("https://images.unsplash.com/photo-1626315869436-d6781ba69d6e?auto=format&fit=crop&w=1400&q=82"),url('research-building.svg');
 background-size:cover,cover,cover;
 background-position:center,49% center,center;
}

/* V0.2 : page d'accueil validée par ADESP et écran d'accès séparé. */
.appui .appui-validated-intro .mld-intro-main{justify-content:center;align-items:flex-start}
.appui .appui-validated-intro h1{font-size:clamp(26px,2.55vw,37px);line-height:1.17;margin-bottom:20px}
.appui-validated-copy{display:flex;flex-direction:column;gap:13px;color:#3d607e;font-size:15px;line-height:1.6}
.appui .appui-validated-copy p{margin:0;max-width:665px;color:#3d607e;font-size:15px}
.appui-welcome-cta{margin-top:26px;text-decoration:none}
.appui-access{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:500px}
.appui-access>p{margin-top:15px;color:#52718a;line-height:1.6}
.appui-access .appui-loginbox{width:100%;max-width:650px}
.appui-back-link{display:inline-block;margin-top:20px;color:#1265bb;font-weight:650}
.appui-declined-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.appui-declined-actions form{margin:0}
.appui-declined-actions a{text-decoration:none}
@media(max-width:800px){
 .appui .appui-validated-intro .mld-intro-main{padding:33px 28px}
}
@media(max-width:540px){
 .appui .appui-validated-intro .mld-intro-main{padding:25px 19px}
 .appui .appui-validated-intro h1{font-size:27px}
 .appui-validated-copy{gap:12px;font-size:14px}
 .appui .appui-validated-copy p{font-size:14px;line-height:1.55}
 .appui-welcome-cta{width:100%;margin-top:24px}
 .appui-declined-actions{flex-direction:column;width:100%;max-width:330px}
 .appui-declined-actions .mld-btn,.appui-declined-actions form{width:100%}
}

/* V0.3 – sobriété du modèle A : une seule colonne et une hiérarchie lisible. */
.appui .appui-question-group{max-width:860px}
.appui .appui-question-group>.mld-eyebrow{display:inline-flex;max-width:100%;white-space:normal;line-height:1.4}
.appui .appui-quiz{background:#fff}
.appui .appui-question-group>.appui-muted{line-height:1.55}
.appui .appui-choice:focus-within{outline:2px solid #1265bb;outline-offset:2px}
.appui .appui-choice>input:focus-visible{outline:2px solid #1265bb;outline-offset:3px}
.appui .appui-conditional{width:100%;max-width:100%;box-sizing:border-box;margin-top:13px}
.appui .appui-conditional input{width:100%;max-width:100%}
.appui .appui-nav{max-width:100%}
@media(max-width:540px){
 .appui .appui-question-group{margin-top:21px}
 .appui .appui-question{margin:14px 0 18px}
 .appui .appui-question .appui-choices{gap:8px}
 .appui .appui-quiz .mld-progress-heading{gap:10px}
}

/* V0.3 : icône à gauche et indicateur de choix à droite, dans l'esprit du modèle A validé. */
.appui .appui-question .appui-choice-icon{flex:0 0 32px;width:32px;height:32px;background:#eaf3fd;color:#2472b3;border-radius:8px;display:flex;align-items:center;justify-content:center}
.appui .appui-question .appui-choice-icon svg{width:17px;height:17px}
.appui .appui-question .appui-choice-label{flex:1;min-width:0;overflow-wrap:break-word;word-break:normal}
.appui .appui-question .appui-choice>input[type=radio],.appui .appui-question .appui-choice>input[type=checkbox]{margin-left:auto;flex:0 0 19px}
@media(max-width:540px){
 .appui .appui-question .appui-choice-icon{flex-basis:29px;width:29px;height:29px}
 .appui .appui-question .appui-choice-icon svg{width:15px;height:15px}
}


/* V0.4 – finitions visuelles demandées : accueil, icônes et menus déroulants. */
.appui-welcome-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px;margin:26px 0 18px}
.appui-welcome-stats .mld-stat{min-height:116px}
.appui-welcome-actions{width:100%;display:flex;justify-content:center;margin-top:6px}
.appui-welcome-cta{margin-top:0;min-width:280px}
.appui .appui-question select{appearance:none;-webkit-appearance:none;-moz-appearance:none;min-height:56px;padding:14px 48px 14px 16px;line-height:1.35;font-weight:550;color:#163b61;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231265bb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:18px 18px}
.appui .appui-question select option{color:#163b61}
.appui .appui-question select:invalid{color:#5f7990}
.appui .appui-question .appui-choice-icon{background:#edf5ff}
.appui .appui-question .appui-choice:has(input:checked) .appui-choice-icon{background:#d8ebff;color:#1265bb}
@media(max-width:540px){
 .appui-welcome-stats{grid-template-columns:1fr;max-width:none;margin:23px 0 16px}
 .appui-welcome-actions{justify-content:stretch}
 .appui-welcome-cta{width:100%;min-width:0}
 .appui .appui-question select{min-height:52px;padding-right:44px}
}


/* V0.5 – ajustements finaux : différenciation d'icônes et meilleure césure des titres. */
.appui-question-text{text-wrap:pretty;overflow-wrap:break-word;hyphens:auto;display:inline}
.appui-question-title{align-items:flex-start}
.appui-question-title .appui-q-number{margin-top:2px}

/* V0.6 : état de test technique, sans modification du design V0.5. */
.appui-test-banner,.appui-test-hint{background:#fff7e5;color:#715010;border:1px solid #eccf8a;border-radius:12px;padding:14px 18px;margin:0 0 18px;line-height:1.55;font-size:14px}
.appui-test-banner{margin-top:8px}
.appui-test-hint code,.appui-test-banner code{font-family:ui-monospace,Consolas,monospace;font-size:.93em}

/* V0.7 — repérage du mode de validation externe sans modifier le modèle A. */
.appui .appui-test-banner{line-height:1.6}

/* V0.8 — contact cliquable dans le pied de page APPUI existant (toutes les vues). */
.appui .mld-foot{flex-wrap:wrap;align-items:center}
.appui .mld-foot .appui-footer-contact{white-space:normal;text-align:center}
.appui .mld-foot .appui-footer-contact a{color:#376c9a;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.appui .mld-foot .appui-footer-contact a:hover,.appui .mld-foot .appui-footer-contact a:focus-visible{color:#1265bb}
@media(max-width:540px){.appui .mld-foot{flex-direction:column;align-items:center;text-align:center;gap:8px}}
