:root{--fga-blue:#0b3a68;--fga-blue-2:#145a96;--fga-gold:#d5a72c;--bg:#f4f7fb;--text:#183247;--muted:#657789;--line:#dbe4ec;--white:#fff;--success:#176b45;--danger:#a52d2d;--shadow:0 10px 30px rgba(19,52,79,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Segoe UI",sans-serif;line-height:1.55}.container{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px}.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{width:min(1120px,calc(100% - 32px));margin:auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:8px}.brand-mark{width:44px;height:44px;border-radius:10px;background:var(--fga-blue);display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px}.brand strong{display:block;font-size:16px}.brand span{display:block;color:var(--muted);font-size:12px}.page-title{margin:0;font-size:32px;color:var(--fga-blue)}.page-subtitle{margin:7px 0 0;color:var(--muted)}.card,.step,.hero,.site-card,.profile-card,.success-card{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.hero{padding:52px 34px;text-align:center;margin-top:32px}.hero .eyebrow{display:inline-block;background:#edf4fb;color:var(--fga-blue);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.hero h1{font-size:40px;line-height:1.15;margin:18px auto 12px;color:var(--fga-blue);max-width:760px}.hero-slogan{font-weight:700;color:var(--fga-blue)!important;margin-top:10px!important}.hero p{max-width:700px;margin:0 auto;color:var(--muted);font-size:17px}.landing-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border:1px solid #cbd7e2;border-radius:10px;background:#fff;color:var(--text);font-weight:700;text-decoration:none;cursor:pointer;transition:.18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(19,52,79,.1)}.btn-primary{background:var(--fga-blue);border-color:var(--fga-blue);color:#fff!important}.btn-secondary{background:#eef3f7}.btn-danger{background:#fff1f1;border-color:#efcaca;color:var(--danger)}.btn.full{width:100%}.muted{color:var(--muted)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:18px 0 26px}.category-section{margin:28px 0}.category-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}.category-title h2{margin:0;color:var(--fga-blue);font-size:22px}.site-card-qr-only .site-card-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.site-card-qr-only h3{margin:0;font-size:18px}.site-qr-display{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 0}.site-qr-display .qr-placeholder{width:150px;height:150px;border:5px solid #17212b}.site-qr-label{font-size:13px;color:var(--muted)}.site-qr-code{font-size:14px;color:var(--fga-blue);word-break:break-word}.site-questionnaires-btn{width:100%;max-width:220px;margin-top:2px}.site-grid,.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-card{overflow:hidden}.site-card-content{padding:16px}.site-card h3{margin:0 0 4px;font-size:20px;color:var(--fga-blue)}.site-code{margin:0;color:var(--muted);font-size:13px}.site-meta{margin:18px 0;padding:12px 14px;border-radius:10px;background:#f7fafc;border:1px solid #e6edf3}.site-meta strong,.site-meta span{display:block}.site-meta span{color:var(--muted);font-size:13px}.qr-panel{display:flex;align-items:center;gap:15px;padding:13px;margin:16px 0;border:1px solid var(--line);border-radius:12px}.qr-placeholder{width:76px;height:76px;flex:none;border:4px solid #17212b;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#17212b 0 4px,#fff 4px 8px);font-weight:800}.qr-placeholder span{background:#fff;color:#17212b;padding:3px}.qr-panel small,.qr-panel strong{display:block}.empty{background:#fff;border:1px dashed #c7d2dc;border-radius:10px;padding:18px;color:var(--muted)}.small{font-size:13px}.profile-intro{margin:18px 0}.profile-section{padding:28px;margin-top:20px}.profile-card{padding:24px;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:15px}.profile-card:hover{border-color:#9eb9d0;transform:translateY(-2px)}.profile-icon{width:44px;height:44px;border-radius:12px;background:#edf4fb;color:var(--fga-blue);display:grid;place-items:center;font-weight:800}.profile-card strong{display:block;color:var(--fga-blue)}.profile-card span{display:block;color:var(--muted);font-size:13px;margin-top:2px}.questionnaire-top{margin-bottom:20px}.site-context{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.context-pill{background:#edf4fb;border:1px solid #d8e6f2;color:var(--fga-blue);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.progress-wrap{margin:20px 0}.progress-bar{height:8px;background:#e5ebf1;border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;width:0;background:var(--fga-blue);transition:width .2s}.step{padding:26px;margin:20px 0}.step[hidden],.question[hidden],.field[hidden]{display:none!important}.step-header{margin-bottom:22px;padding-bottom:15px;border-bottom:1px solid var(--line)}.step h2{margin:0;color:var(--fga-blue);font-size:24px}.step-header p{margin:5px 0 0;color:var(--muted)}.question,.field{margin:0 0 20px}.question fieldset{border:0}.question legend{font-weight:700;margin-bottom:9px;color:#233f54}.option-list{display:grid;gap:9px}.option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd;cursor:pointer}.option:hover{border-color:#a8bfd2;background:#f6fafd}.option input{accent-color:var(--fga-blue);width:18px;height:18px}.field label,.signature-label{display:block;font-weight:700;margin-bottom:7px;color:#233f54}.required{color:#a52d2d}.form-control,select,textarea,input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time]{width:100%;min-height:46px;padding:11px 13px;border:1px solid #cbd7e2;border-radius:10px;background:#fff;color:var(--text);font:inherit;outline:none}textarea{min-height:110px;resize:vertical}select:focus,textarea:focus,input:focus{border-color:#6e9bc0;box-shadow:0 0 0 3px rgba(20,90,150,.1)}.field small{display:block;margin-top:5px;color:var(--muted)}.readonly-value{padding:11px 13px;background:#f2f6f9;border:1px solid var(--line);border-radius:10px;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.consent{display:flex;align-items:flex-start;gap:10px;padding:15px;background:#f7fafc;border:1px solid var(--line);border-radius:10px;margin:18px 0}.consent input{margin-top:4px;accent-color:var(--fga-blue)}details{margin:18px 0;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px}summary{cursor:pointer;font-weight:700;color:var(--fga-blue)}.alert{padding:14px 16px;border-radius:10px;margin:18px 0}.alert-error{background:#fff2f2;border:1px solid #efc9c9;color:#7c2323}.signature-box{margin:28px 0;padding:22px;background:#fbfcfd;border:1px solid var(--line);border-radius:14px}.signature-help{margin:0 0 12px;color:var(--muted);font-size:14px}.signature-canvas-wrap{position:relative;width:100%;height:280px;margin:12px 0;background:#fff;border:2px solid #71859a;border-radius:10px;overflow:hidden}.signature-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;background:#fff}.signature-canvas-wrap:after{content:"";position:absolute;left:28px;right:28px;bottom:50px;border-bottom:1px dashed #aab7c3;pointer-events:none}.signature-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#a2afbb;font-size:18px;font-weight:600;pointer-events:none}.signature-placeholder.hidden{display:none}.signature-actions{display:flex;justify-content:flex-end;gap:10px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.success-card{text-align:center;padding:48px 28px;margin-top:40px}.success-icon{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;background:#e9f7f0;color:var(--success);display:grid;place-items:center;font-size:28px;font-weight:800}.footer{text-align:center;color:var(--muted);font-size:12px;padding:20px 0}.sr-only{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:1000px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.container{width:min(100% - 22px,1120px);padding-top:18px}.header-inner{width:min(100% - 22px,1120px)}.hero{padding:36px 20px}.hero h1{font-size:30px}.page-title{font-size:27px}.page-head{display:block}.page-head .btn{margin-top:12px}.form-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.step{padding:18px}.signature-canvas-wrap{height:220px}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .btn{width:100%}.brand span{display:none}}

/* Assistant en 4 étapes du parcours public */
.wizard-card{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px;margin-top:20px}.wizard-head{margin-bottom:22px}.stepper{display:flex;align-items:center;gap:10px;padding:18px 0 24px;margin-bottom:4px}.stepper-item{display:flex;align-items:center;gap:9px;min-width:0;color:#8a99a8}.stepper-item>span:last-child{display:flex;flex-direction:column}.stepper-item strong{font-size:13px;white-space:nowrap}.stepper-item small{font-size:11px;color:var(--muted);white-space:nowrap}.stepper-number{width:34px;height:34px;border-radius:50%;border:2px solid #cbd7e2;background:#fff;display:grid!important;place-items:center;font-weight:800;flex:none}.stepper-item.active{color:var(--fga-blue)}.stepper-item.active .stepper-number{background:var(--fga-blue);border-color:var(--fga-blue);color:#fff}.stepper-item.done{color:var(--success)}.stepper-item.done .stepper-number{background:#e9f7f0;border-color:#a9d8bf;color:var(--success)}.stepper-line{height:2px;flex:1;background:#e1e8ee;min-width:18px}.stepper-line.done{background:#a9d8bf}.stage-panel,.wizard-stage{animation:wizardIn .24s ease}.wizard-stage[hidden]{display:none!important}@keyframes wizardIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}.stage-title{padding:4px 0 18px;margin-bottom:20px;border-bottom:1px solid var(--line)}.stage-title h2{margin:4px 0 3px;color:var(--fga-blue);font-size:25px}.stage-title p{margin:0;color:var(--muted)}.stage-kicker{font-size:12px;font-weight:800;color:var(--fga-blue);text-transform:uppercase;letter-spacing:.06em}.progress-label{display:flex;justify-content:space-between;gap:15px;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:700}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.hospital-question-list{display:grid;grid-template-columns:1fr;gap:0}.hospital-question-list .hospital-question-wrap{min-width:0}.field-grid .field{min-width:0}.profile-choice{position:relative}.profile-arrow{margin-left:auto!important;font-size:20px!important;color:var(--fga-blue)!important}.evaluation-counter{text-align:center;font-size:13px;font-weight:800;color:var(--fga-blue);margin:4px 0 8px}.evaluation-track{height:7px;background:#e8edf2;border-radius:99px;overflow:hidden;margin-bottom:22px}.evaluation-track span{display:block;height:100%;width:0;background:var(--fga-blue);transition:width .25s ease}.evaluation-item{display:none;animation:wizardIn .22s ease}.evaluation-item.active{display:block}.evaluation-item[hidden]{display:none!important}.evaluation-item-number{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:9px;text-transform:uppercase;letter-spacing:.05em}.question-focus,.validation-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd}.question-focus legend{font-size:20px;line-height:1.4}.option-list-large{gap:11px}.option-large{padding:15px 16px;font-size:16px;background:#fff}.option-large input{width:20px;height:20px}.evaluation-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.stage-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.hospital-block{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd}.hospital-block-intro{margin:0 0 18px;color:var(--muted)}.validation-card h3{margin:0 0 5px;color:var(--fga-blue);font-size:21px}.validation-card>p{margin:0 0 18px;color:var(--muted)}.validation-field{margin-top:20px}.profile-stage{padding-top:4px}
@media(max-width:800px){.wizard-card{padding:20px}.stepper{overflow-x:auto;align-items:flex-start}.stepper-item{flex:1}.stepper-item small{display:none}.stepper-line{margin-top:16px}.field-grid{grid-template-columns:1fr}.stage-navigation{flex-direction:column;align-items:stretch}.stage-navigation .btn{width:100%}.evaluation-nav{flex-direction:column}.evaluation-nav .btn{width:100%}}

/* Messages centralisés et validation du parcours */
lu-approuve{align-items:flex-start}.lu-approuve .consent-content{display:block;min-width:0;line-height:1.5}.lu-approuve .consent-content p{margin:0}.lu-approuve .consent-title{font-weight:700;margin-bottom:4px!important}.lu-approuve .consent-title strong{font-weight:700}.lu-approuve .consent-text{color:var(--muted);font-weight:400;line-height:1.5}.legal-link{display:inline;color:var(--fga-blue);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}.legal-link:hover{opacity:.8}.fga-legal-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.fga-legal-modal[hidden]{display:none!important}.fga-legal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}.fga-legal-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(82vh,720px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:30px}.fga-legal-dialog h2{margin:0 42px 20px 0;color:var(--fga-blue);font-size:22px;line-height:1.3}.fga-legal-content{color:var(--text);line-height:1.65;white-space:normal}.fga-legal-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:30px;line-height:1;cursor:pointer}.fga-legal-close:hover{background:#f2f4f7;color:var(--text)}.identification-signature{margin-top:20px}

.hospital-fieldset{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0}.hospital-fieldset>legend{padding:0 10px;font-weight:700;color:var(--fga-blue);font-size:18px;text-transform:uppercase;letter-spacing:.03em}.hospital-question{margin:14px 0;padding:15px}.hospital-question legend{font-size:16px;line-height:1.45}.hospital-radio-inline{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 18px}.hospital-radio-inline .option{display:inline-flex;align-items:center;width:auto!important;min-width:0}.field-readonly-gray input[readonly]{background:#eef1f4;color:#596875;cursor:not-allowed}


/* V2.37 - Fieldsets HTML/CSS, sans table de rubriques. */
.identification-fieldset{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0}.identification-fieldset>legend{padding:0 10px;font-weight:700;color:var(--fga-blue);font-size:18px;text-transform:uppercase;letter-spacing:.03em}.identification-fieldset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.identification-field{min-width:0;grid-column:span 1!important}.identification-field label{display:block}.identification-field input,.identification-field select,.identification-field textarea{width:100%;box-sizing:border-box}@media (max-width:720px){.identification-fieldset-grid{grid-template-columns:1fr}}
.alert-success{padding:12px 14px;border:1px solid #b8dec4;background:#effaf2;color:#245b32;border-radius:10px;margin:16px 0}

/* V2.41.1 — Evaluation : options radio sur une seule ligne (responsive). */
.evaluation-item .option-list-large,.validation-card .option-list-large{display:flex!important;flex-wrap:nowrap;align-items:center;gap:10px 18px;overflow-x:auto;padding-bottom:3px;}
.evaluation-item .option-list-large .option-large,.validation-card .option-list-large .option-large{display:inline-flex;align-items:center;width:auto!important;min-width:max-content;flex:0 0 auto;}

/* V2.41.6 — Hospitalisation : le libellé des remarques est la légende du fieldset généré par PHP. */
.hospital-suggestions-fieldset{width:100%;min-width:0;}
.hospital-suggestions-fieldset>legend{font-size:18px;line-height:1.4;}
.hospital-suggestions-fieldset .field-grid{display:block;width:100%;}
.hospital-suggestions-fieldset .hospital-suggestions-field{display:block;width:100%;min-width:0;margin:0;}
.hospital-suggestions-fieldset .hospital-suggestions-field textarea{display:block;width:100%;max-width:none;min-height:180px;box-sizing:border-box;}

/* V2.41.9 — Style générique des fieldsets publics : tout nouveau fieldset hérite automatiquement du même design. */
.wizard-card fieldset {
  min-width: 0;
  margin: 20px 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-sizing: border-box;
}
.wizard-card fieldset:first-child { margin-top: 0; }
.wizard-card fieldset:last-child { margin-bottom: 0; }
.wizard-card fieldset > legend {
  padding: 0 10px;
  margin: 0;
  color: var(--fga-blue);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  box-sizing: border-box;
}
.wizard-card fieldset > textarea,
.wizard-card fieldset textarea {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 180px;
  box-sizing: border-box;
}
/* Les fieldsets imbriqués gardent le même langage visuel sans devoir ajouter une nouvelle classe CSS. */
.wizard-card fieldset fieldset {
  margin: 14px 0;
  background: #fbfcfd;
}
/* Harmonisation des options radio dans tout fieldset public. */
.wizard-card fieldset .option-list-large {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px 18px;
  overflow-x: auto;
  padding-bottom: 3px;
}
.wizard-card fieldset .option-list-large .option-large {
  display: inline-flex;
  align-items: center;
  width: auto !important;
  min-width: max-content;
  flex: 0 0 auto;
}

/* Alerte de justification commune aux interfaces Évaluation et Hospitalisation. */
.justification-alert{margin-top:14px;padding:12px 14px;border:1px solid #ead6d6;border-radius:10px;background:#fff7f7;color:#6f2d2d;font-size:13px;}
.justification-alert strong{display:block;margin-bottom:5px;}
.justification-alert ul{margin:5px 0 0;padding-left:20px;}
.justification-alert li{margin:3px 0;}

/* Justification conditionnelle des réponses négatives en hospitalisation. */
.hospital-justification-list{margin-top:14px;padding:12px 14px;border:1px solid #ead6d6;border-radius:10px;background:#fff7f7;color:#6f2d2d;font-size:13px}
.hospital-justification-list strong{display:block;margin-bottom:5px}
.hospital-justification-list ul{margin:5px 0 0;padding-left:20px}
.hospital-justification-list li{margin:3px 0}

/* V2.42.17 — Catalogue des sites : dimensions universelles. */
.site-catalog-container{
  width:min(1248px,calc(100% - 32px));
  overflow-x:auto;
}
.site-grid{
  display:grid;
  grid-template-columns:repeat(4,300px);
  grid-auto-columns:300px;
  width:1248px;
  max-width:none;
  justify-content:start;
  gap:16px;
}
.site-card-qr-only{
  width:300px !important;
  min-width:300px !important;
  max-width:300px !important;
  height:400px !important;
  min-height:400px !important;
  max-height:400px !important;
  overflow:hidden;
}
.site-card-qr-only .site-card-content{
  box-sizing:border-box;
  width:300px;
  height:400px;
  padding:18px 20px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.site-card-qr-only h3{
  width:200px;
  max-width:200px;
  margin:0 0 12px;
  font-size:20px;
  line-height:1.25;
  color:var(--fga-blue);
  flex:0 0 auto;
}
.site-card-qr-only .site-qr-display{
  width:200px;
  height:207px;
  min-height:207px;
  flex:0 0 207px;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:4px 0 18px;
}
.site-card-qr-only .site-qr-image{
  display:block;
  width:207px !important;
  height:207px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain;
  image-rendering:auto;
}
.site-card-qr-only .site-questionnaires-btn{
  width:200px !important;
  min-width:200px !important;
  max-width:200px !important;
  height:51px !important;
  min-height:51px !important;
  max-height:51px !important;
  margin-left:20px;
  margin-right:20px;
  padding:0 12px;
  border-radius:10px;
  font-size:16px;
  flex:0 0 51px;
}

/* V2.42.26 — Harmonisation des fieldsets publics : Identification, Hospitalisation, Evaluation et Satisfaction globale. */
.fga-main-fieldset{
  min-width:0;
  margin:22px 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-sizing:border-box;
}
.fga-main-fieldset>legend{
  padding:0 10px;
  margin:0;
  color:var(--fga-blue);
  font-size:18px;
  font-weight:700;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-sizing:border-box;
}
/* Les questions d'évaluation gardent une légende lisible tout en reprenant exactement le conteneur des fieldsets d'identification. */
.fga-main-fieldset.question-focus>legend{font-size:18px;line-height:1.45}
.fga-main-fieldset .field-grid,.fga-main-fieldset .identification-fieldset-grid{min-width:0}
.fga-main-fieldset textarea{width:100%;box-sizing:border-box}
.fga-main-fieldset .option-list-large{display:flex!important;flex-wrap:nowrap;align-items:center;gap:10px 18px;overflow-x:auto;padding-bottom:3px}
.fga-main-fieldset .option-list-large .option-large{display:inline-flex;align-items:center;width:auto!important;min-width:max-content;flex:0 0 auto}
.fga-main-fieldset.validation-question-fieldset{margin-top:0}
.fga-main-fieldset.validation-fieldset{margin-top:20px}
@media(max-width:720px){
  .fga-main-fieldset{padding:16px 14px}
  .fga-main-fieldset>legend{font-size:17px}
}

/* V2.42.20 — Interface évaluation / validation */
.identification-stage-title{display:flex;align-items:center;justify-content:space-between;gap:16px}
.icon-back-button{width:auto;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--fga-blue);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:24px;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 2px 7px rgba(0,0,0,.06);transition:transform .15s ease,background .15s ease,border-color .15s ease}.icon-back-label{font-size:14px;font-weight:700;line-height:1}
.icon-back-button:hover{background:#f4f8fb;border-color:#b8ccdc;transform:translateX(-2px)}
.icon-back-button:focus-visible{outline:3px solid rgba(20,90,150,.18);outline-offset:2px}
.validation-consent{margin:20px 0 0}

/* Identification : l'objet de la visite / relation occupe toute la largeur. */
.identification-field-long{grid-column:1 / -1!important}
.identification-object-input{min-height:120px;resize:vertical}
@media(max-width:720px){.identification-field-long{grid-column:auto!important}}

/* V2.42.34 — Consentement Lu et Approuvé après la signature. */
.identification-consent-alert{display:flex;align-items:flex-start;gap:12px;margin-top:18px;background:#e9f7f0;border:1px solid #bfe4cf;color:#185c3a;text-align:left}
.consent-checkbox{display:flex;align-items:flex-start;gap:12px;width:100%;cursor:pointer;line-height:1.5}
.consent-checkbox input{width:20px;height:20px;min-width:20px;margin:2px 0 0;accent-color:var(--fga-blue);cursor:pointer}
.consent-checkbox strong{font-size:16px}
.consent-notice{color:#315b48;font-weight:400}
.identification-consent-alert .legal-link{border:0;background:none;padding:0;margin:0;font:inherit;color:var(--fga-blue);font-weight:700}
.identification-consent-alert .legal-link:hover{text-decoration:underline}

/* =====================================================================
   FGA REFONTE VISUELLE — HABILLAGE PUBLIC V2.42.36
   Référence : maquette « Avant-après : refonte du questionnaire FGA ».
   Habillage uniquement : aucune modification du parcours ou des règles.
   ===================================================================== */
:root{
  --fga-green:#0b5d4f;
  --fga-green-dark:#063f36;
  --fga-green-2:#0f806d;
  --fga-green-soft:#eaf7f2;
  --fga-orange:#f28c28;
  --fga-orange-2:#ffb347;
  --fga-orange-soft:#fff4e6;
  --fga-blue:#14556a;
  --fga-bg:#f4faf8;
  --fga-ink:#173b38;
  --fga-muted:#667b78;
  --fga-line:#d8e8e3;
  --fga-white:#fff;
  --shadow:0 18px 50px rgba(8,75,63,.10);
}
html,body{min-height:100%;}
body{
  background:
    radial-gradient(circle at 8% 5%,rgba(242,140,40,.10),transparent 23rem),
    radial-gradient(circle at 92% 12%,rgba(15,128,109,.10),transparent 28rem),
    linear-gradient(135deg,#f8fcfb 0%,#eef8f5 100%);
  color:var(--fga-ink);
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.30;
  background-image:linear-gradient(rgba(11,93,79,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,93,79,.035) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
}
.site-header{
  background:rgba(255,255,255,.90);
  border-bottom:1px solid rgba(11,93,79,.12);
  box-shadow:0 5px 24px rgba(8,75,63,.07);
  backdrop-filter:blur(14px);
}
.site-header:after{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--fga-green-dark),var(--fga-green-2) 62%,var(--fga-orange));opacity:.95}
.header-inner{min-height:78px}
.brand{gap:13px;color:var(--fga-ink)}
.brand-logo,.brand-mark{width:48px;height:48px;border-radius:14px}
.brand-mark{background:linear-gradient(145deg,var(--fga-green-dark),var(--fga-green-2));box-shadow:0 8px 18px rgba(11,93,79,.22)}
.brand strong{color:var(--fga-green-dark);font-size:15px;letter-spacing:.01em}
.brand span span{color:var(--fga-muted)}
.container{padding-top:32px}
.hero,.wizard-card,.success-card,.profile-section,.site-card{
  border:1px solid rgba(11,93,79,.12);
  box-shadow:var(--shadow);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
}
.hero{position:relative;overflow:hidden;padding:58px 38px;margin-top:22px}
.hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-95px;top:-120px;background:radial-gradient(circle,rgba(242,140,40,.23),rgba(242,140,40,0) 70%)}
.hero:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;left:-95px;bottom:-110px;background:radial-gradient(circle,rgba(15,128,109,.16),rgba(15,128,109,0) 70%)}
.hero>*{position:relative;z-index:1}
.hero .eyebrow,.badge,.context-pill{background:var(--fga-green-soft);border:1px solid rgba(15,128,109,.16);color:var(--fga-green)}
.hero .eyebrow{padding:7px 14px}
.hero h1{color:var(--fga-green-dark);font-size:clamp(32px,5vw,48px);letter-spacing:-.025em}
.hero h1:after{content:"";display:block;width:62px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--fga-green),var(--fga-orange));margin:18px auto 0}
.hero p{color:var(--fga-muted)}
.hero-slogan{color:var(--fga-green)!important}
.page-title{color:var(--fga-green-dark)}
.page-subtitle{color:var(--fga-muted)}
.btn{border-color:rgba(11,93,79,.18);border-radius:13px;min-height:46px;padding:12px 20px;box-shadow:0 5px 14px rgba(8,75,63,.05)}
.btn-primary{background:linear-gradient(135deg,var(--fga-green-2),var(--fga-green));border-color:var(--fga-green);box-shadow:0 9px 22px rgba(11,93,79,.22)}
.btn-primary:hover{background:linear-gradient(135deg,var(--fga-green),var(--fga-green-dark));box-shadow:0 12px 26px rgba(11,93,79,.28)}
.btn-secondary{background:#fff;border-color:rgba(11,93,79,.24);color:var(--fga-green-dark)}
.btn-secondary:hover{border-color:var(--fga-orange);color:var(--fga-green-dark);background:var(--fga-orange-soft)}
.landing-actions .btn-primary:after,.site-questionnaires-btn:after{content:" →";font-weight:900;color:var(--fga-orange-2)}
.site-catalog-search{position:relative;margin:0 0 26px}
.site-catalog-search:before{content:"⌕";position:absolute;left:15px;top:8px;color:var(--fga-green);font-size:24px;z-index:1}
.site-catalog-search input{padding-left:45px}
.category-section{margin:32px 0}
.category-title{padding:0 4px 10px;border-bottom:1px solid rgba(11,93,79,.10)}
.category-title:before{content:"";width:7px;height:28px;border-radius:99px;background:linear-gradient(var(--fga-green),var(--fga-orange));display:block}
.category-title h2{color:var(--fga-green-dark)}
.site-grid{gap:18px}
.site-card{border-radius:20px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.site-card:hover{transform:translateY(-4px);border-color:rgba(242,140,40,.40);box-shadow:0 20px 42px rgba(8,75,63,.14)}
.site-card-content{padding:22px}
.site-card h3{color:var(--fga-green-dark);font-size:18px}
.site-code,.site-qr-label{color:var(--fga-muted)}
.site-qr-display{padding:15px 0;background:linear-gradient(180deg,#fbfefd,var(--fga-green-soft));border-radius:16px;border:1px solid rgba(11,93,79,.08)}
.site-qr-image{width:165px;height:165px;padding:8px;background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(8,75,63,.10)}
.site-questionnaires-btn{max-width:none}
.empty{border-color:rgba(11,93,79,.18);background:#f8fcfb}
.profile-section{padding:28px}
.wizard-card{border-radius:24px;padding:30px}
.wizard-head{position:relative;padding:10px 6px 4px}
.wizard-head:after,.questionnaire-top:after{content:"";display:block;width:72px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--fga-green),var(--fga-orange));margin-top:14px}
.stepper{padding:22px 4px 26px}
.stepper-item{color:#849793}
.stepper-number{width:40px;height:40px;border:2px solid #cfe0db;background:#fff;color:#78908b;box-shadow:0 3px 10px rgba(8,75,63,.05)}
.stepper-item.active{color:var(--fga-green-dark)}
.stepper-item.active .stepper-number{background:linear-gradient(145deg,var(--fga-green-2),var(--fga-green-dark));border-color:var(--fga-green);box-shadow:0 8px 18px rgba(11,93,79,.22)}
.stepper-item.active small{color:var(--fga-orange)}
.stepper-item.done .stepper-number{background:var(--fga-green-soft);border-color:#a9d7ca;color:var(--fga-green)}
.stepper-line{background:#dce9e5}
.stepper-line.done{background:linear-gradient(90deg,var(--fga-green),#9ad4c5)}
.progress-bar{height:8px;background:#e4efeb}
.progress-bar span,.evaluation-track span{background:linear-gradient(90deg,var(--fga-green),var(--fga-orange));box-shadow:0 0 12px rgba(242,140,40,.20)}
.stage-title,.step-header{border-bottom-color:rgba(11,93,79,.10)}
.stage-title h2,.step h2,.validation-card h3{color:var(--fga-green-dark)}
.stage-kicker{color:var(--fga-orange)}
.profile-grid{gap:16px}
.profile-card{border-radius:18px;border-color:rgba(11,93,79,.12);padding:22px;background:linear-gradient(145deg,#fff,#f7fcfa);transition:all .2s ease}
.profile-card:hover{border-color:rgba(242,140,40,.55);box-shadow:0 14px 30px rgba(8,75,63,.11);transform:translateY(-3px)}
.profile-icon{width:48px;height:48px;min-width:48px;border-radius:15px;background:linear-gradient(145deg,var(--fga-green),var(--fga-green-2));color:#fff;box-shadow:0 7px 16px rgba(11,93,79,.18);display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;margin-top:0!important;padding:0!important}.profile-icon .bi{display:block!important;margin:0!important;padding:0!important;font-size:1.35rem!important;line-height:1!important;color:#fff!important}
.profile-card strong,.profile-arrow{color:var(--fga-green-dark)!important}
.profile-arrow{font-size:24px!important}
.site-context{gap:10px}
.context-pill{padding:7px 12px}
.wizard-stage,.stage-panel{animation:wizardIn .28s ease}
.question-focus,.validation-card,.hospital-block,.hospital-fieldset,.signature-box{border-color:rgba(11,93,79,.12);background:linear-gradient(145deg,#fff,#f8fcfb);border-radius:18px;box-shadow:0 8px 22px rgba(8,75,63,.045)}
.fga-main-fieldset>legend,.question legend,.field label,.signature-label{color:var(--fga-green-dark)}
.required{color:var(--fga-orange)}
.option{border-color:#d6e6e1;background:#fbfefd;border-radius:14px;transition:all .18s ease}
.option:hover{border-color:rgba(242,140,40,.45);background:#fffaf4;transform:translateY(-1px)}
.option input{accent-color:var(--fga-green)}
.option-large{padding:16px 18px}
.evaluation-item .option-list-large,.validation-card .option-list-large{gap:12px;scrollbar-color:var(--fga-green) #eaf2ef}
.evaluation-item .option-list-large .option-large,.validation-card .option-list-large .option-large{border-radius:16px}
.evaluation-item .option-list-large .option-large:has(input:checked),.validation-card .option-list-large .option-large:has(input:checked){border-color:var(--fga-orange);background:linear-gradient(145deg,#fffaf4,var(--fga-orange-soft));box-shadow:0 8px 20px rgba(242,140,40,.12)}
.form-control,select,textarea,input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time]{border-color:#cfe1dc;border-radius:14px;background:rgba(255,255,255,.96);color:var(--fga-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.form-control:focus,select:focus,textarea:focus,input:focus{border-color:var(--fga-green-2);box-shadow:0 0 0 4px rgba(15,128,109,.10),0 6px 18px rgba(8,75,63,.06)}
.readonly-value{background:#eef6f3;border-color:#d7e8e3}
.consent{background:linear-gradient(145deg,#f2faf7,#fff8ef);border-color:rgba(11,93,79,.13);border-radius:15px}
.consent input{accent-color:var(--fga-green)}
details{background:#fbfefd;border-color:rgba(11,93,79,.13);border-radius:15px}
summary{color:var(--fga-green-dark)}
.alert-error{background:#fff6f4;border-color:#f0c9b7;color:#813b2a;border-radius:14px}
.signature-box{background:linear-gradient(145deg,#fbfefd,#fffaf4)}
.signature-canvas-wrap{border-color:#9bb9b1;border-radius:14px}
.signature-actions .btn{border-color:rgba(242,140,40,.35)}
.form-actions,.stage-navigation{border-top-color:rgba(11,93,79,.10)}
.success-card{position:relative;overflow:hidden;padding:56px 30px;border-radius:24px}
.success-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% -10%,rgba(15,128,109,.14),transparent 40%),radial-gradient(circle at 100% 100%,rgba(242,140,40,.12),transparent 35%)}
.success-card>*{position:relative}
.success-icon{width:76px;height:76px;background:var(--fga-green-soft);color:var(--fga-green);border:1px solid #b8dfd4;box-shadow:0 10px 24px rgba(11,93,79,.13)}
.success-card h1{color:var(--fga-green-dark)}
.footer{color:#718783;padding:28px 0}
.footer:before{content:"";display:block;width:55px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--fga-green),var(--fga-orange));margin:0 auto 14px}
@media(max-width:700px){
  .hero{padding:40px 20px}
  .wizard-card{padding:20px;border-radius:20px}
  .stepper{overflow-x:auto;padding-bottom:20px}
  .stepper-item small{display:none}
  .stepper-line{min-width:14px}
  .profile-card{padding:18px}
  .site-qr-image{width:145px;height:145px}
}

/* =====================================================================
   V2.42.38 — ACCUEIL FUTURISTE FGA + BOOTSTRAP 5.3.8
   Habillage visuel uniquement. Parcours, logique métier et BDD inchangés.
   Référence visuelle : « Avant-après : refonte du questionnaire FGA ».
   ===================================================================== */
:root{
  --fga-green:#0b5d4f;--fga-green-dark:#063f36;--fga-green-2:#0f806d;
  --fga-orange:#f28c28;--fga-orange-2:#ffb347;--fga-cyan:#55d9bd;
  --fga-ink:#092f2a;--fga-soft:#eff8f5;
}
.fga-home{background:#f7fbfa;color:var(--fga-ink);overflow-x:hidden}
.fga-home-header{position:relative;z-index:30;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(11,93,79,.12);backdrop-filter:blur(18px)}
.fga-home-header .container-xl{max-width:1240px}
.fga-home-logo{width:54px;height:54px;object-fit:contain;border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(6,63,54,.12)}
.fga-logo-fallback{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--fga-green-dark),var(--fga-green-2));color:#fff;font-weight:900;letter-spacing:.05em;box-shadow:0 8px 25px rgba(6,63,54,.2)}
.fga-brand-name{color:var(--fga-green-dark);font-size:.98rem;line-height:1.1}
.fga-home-header small{color:#728781;font-size:.72rem;letter-spacing:.04em}
.fga-header-btn{border:1px solid rgba(11,93,79,.2);background:#fff;color:var(--fga-green);font-weight:700;transition:.2s ease}
.fga-header-btn:hover{background:var(--fga-green);color:#fff;transform:translateY(-1px)}
.fga-hero-section{position:relative;min-height:calc(100vh - 82px);display:flex;align-items:center;background:radial-gradient(circle at 82% 35%,rgba(255,179,71,.19),transparent 26%),radial-gradient(circle at 14% 75%,rgba(85,217,189,.14),transparent 30%),linear-gradient(135deg,#f8fcfb 0%,#eef8f5 48%,#f9fbfa 100%)}
.fga-hero-section:before{content:"";position:absolute;inset:0;opacity:.33;background-image:linear-gradient(rgba(11,93,79,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(11,93,79,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
.fga-hero-section .container-xl{z-index:2}
.min-vh-75{min-height:calc(100vh - 150px)}
.fga-orb{position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none}
.fga-orb-one{width:420px;height:420px;right:-170px;top:70px;background:radial-gradient(circle,rgba(242,140,40,.17),transparent 68%)}
.fga-orb-two{width:360px;height:360px;left:-170px;bottom:-120px;background:radial-gradient(circle,rgba(11,128,109,.16),transparent 68%)}
.fga-hero-copy{max-width:650px}
.fga-hero-badge{padding:.65rem 1rem;background:rgba(11,93,79,.08);color:var(--fga-green);border:1px solid rgba(11,93,79,.14);font-size:.72rem;letter-spacing:.12em;font-weight:800}
.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--fga-orange);margin-right:7px;box-shadow:0 0 0 5px rgba(242,140,40,.12),0 0 18px rgba(242,140,40,.55)}
.fga-hero-copy h1{color:var(--fga-green-dark);letter-spacing:-.045em;line-height:.98}
.fga-hero-copy h1 span{background:linear-gradient(90deg,var(--fga-green),var(--fga-green-2),var(--fga-orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.fga-hero-copy .lead{color:#526b65;font-size:1.12rem;line-height:1.7;max-width:590px}
.fga-slogan{font-weight:800;color:var(--fga-green);display:flex;align-items:center;gap:10px}
.accent-line{display:inline-block;width:34px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--fga-green),var(--fga-orange))}
.fga-cta{border:0;color:#fff!important;font-weight:800;background:linear-gradient(100deg,var(--fga-green-dark),var(--fga-green-2) 70%,#15957f);box-shadow:0 15px 35px rgba(11,93,79,.24);transition:.22s ease}
.fga-cta:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(11,93,79,.3)}
.cta-arrow{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;background:rgba(255,255,255,.18);margin-left:5px}
.fga-secondary-cta{border:1px solid rgba(11,93,79,.18);background:rgba(255,255,255,.78);color:var(--fga-green)!important;font-weight:800;box-shadow:0 8px 24px rgba(6,63,54,.07)}
.fga-secondary-cta:hover{border-color:var(--fga-orange);color:var(--fga-orange)!important;transform:translateY(-2px)}
.fga-trust-row{max-width:650px}
.fga-trust-item{height:100%;display:flex;align-items:center;gap:9px;padding:.75rem .65rem;border-radius:15px;background:rgba(255,255,255,.6);border:1px solid rgba(11,93,79,.09);box-shadow:0 8px 25px rgba(6,63,54,.045)}
.trust-icon{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;background:var(--fga-soft);color:var(--fga-green);font-weight:900}
.trust-icon.orange{background:#fff3e5;color:var(--fga-orange)}
.fga-trust-item strong,.fga-trust-item small{display:block}.fga-trust-item strong{font-size:.77rem;color:var(--fga-green-dark)}.fga-trust-item small{font-size:.68rem;color:#82928e;margin-top:1px}
.fga-visual-wrap{position:relative;max-width:650px;margin-inline:auto;padding:22px}
.fga-hero-image{position:relative;z-index:2;width:100%;filter:drop-shadow(0 28px 45px rgba(6,63,54,.22));animation:fgaFloat 7s ease-in-out infinite}
.fga-visual-glow{position:absolute;z-index:1;inset:12% 8%;border-radius:50%;background:radial-gradient(circle,rgba(85,217,189,.24),rgba(242,140,40,.08) 45%,transparent 70%);filter:blur(25px)}
.fga-floating-badge{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.9);box-shadow:0 15px 35px rgba(6,63,54,.16);backdrop-filter:blur(14px)}
.fga-floating-badge>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--fga-orange),var(--fga-orange-2));color:#fff;font-weight:900}
.fga-floating-badge strong,.fga-floating-badge small{display:block}.fga-floating-badge strong{font-size:.75rem;color:var(--fga-green-dark)}.fga-floating-badge small{font-size:.63rem;color:#7b8d88}.fga-floating-top{top:8%;right:-1%}.fga-floating-bottom{left:-1%;bottom:8%}.fga-floating-bottom>span{background:linear-gradient(135deg,var(--fga-green),var(--fga-green-2))}
@keyframes fgaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.fga-value-section{position:relative;background:#fff}
.fga-section-kicker{font-size:.68rem;font-weight:900;letter-spacing:.16em;color:var(--fga-orange)}
.fga-value-section h2{color:var(--fga-green-dark);letter-spacing:-.025em}
.fga-feature-card{position:relative;padding:28px;border-radius:24px;border:1px solid #dcebe6;background:linear-gradient(145deg,#fff,#f6fbf9);box-shadow:0 12px 35px rgba(6,63,54,.07);overflow:hidden;transition:.22s ease}
.fga-feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--fga-green),var(--fga-orange))}
.fga-feature-card:hover,.fga-feature-card.active{transform:translateY(-5px);box-shadow:0 20px 45px rgba(6,63,54,.11);border-color:rgba(11,93,79,.2)}
.feature-number{position:absolute;right:22px;top:18px;font-size:2.4rem;font-weight:900;color:rgba(11,93,79,.055)}
.feature-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#eaf7f3;color:var(--fga-green);font-size:1.4rem;font-weight:900;margin-bottom:20px}.feature-icon.orange{background:#fff0df;color:var(--fga-orange)}
.fga-feature-card h3{font-size:1.05rem;color:var(--fga-green-dark);font-weight:800}.fga-feature-card p{color:#70817c;font-size:.9rem;margin:0;line-height:1.65}
.fga-home-footer{background:linear-gradient(105deg,var(--fga-green-dark),#0b5d4f 60%,#14556a);color:rgba(255,255,255,.78);border-top:3px solid var(--fga-orange)}
.fga-home-footer strong{color:#fff}.fga-home-footer .small{color:rgba(255,255,255,.65)}
@media (max-width:991.98px){.min-vh-75{min-height:auto}.fga-hero-section{min-height:auto}.fga-hero-copy{margin-inline:auto;text-align:center}.fga-hero-copy .lead{margin-inline:auto}.fga-slogan{justify-content:center}.fga-trust-row{margin-inline:auto}.fga-visual-wrap{padding:10px;max-width:590px}.fga-floating-top{right:0}.fga-floating-bottom{left:0}}
@media (max-width:575.98px){.fga-home-header .navbar{padding-block:.65rem!important}.fga-home-logo,.fga-logo-fallback{width:45px;height:45px}.fga-brand-name{font-size:.78rem}.fga-header-btn{font-size:.7rem;padding-inline:.8rem!important}.fga-header-btn span{display:none}.fga-hero-copy h1{font-size:2.7rem}.fga-hero-copy .lead{font-size:.98rem}.fga-floating-badge{padding:8px 10px;border-radius:14px}.fga-floating-badge>span{width:30px;height:30px;border-radius:9px}.fga-floating-badge strong{font-size:.63rem}.fga-floating-badge small{font-size:.53rem}.fga-floating-top{top:1%;right:-2%}.fga-floating-bottom{bottom:1%;left:-2%}}

/* FGA PUBLIC — AJUSTEMENTS INTERFACE REPONDANT V2.42.39
   Habillage uniquement : header orange vif + largeur maximale des containers.
*/
.site-header{
  background:linear-gradient(110deg,#e85d04 0%,#f97316 35%,#ff8a00 68%,#ffb000 100%) !important;
  border-bottom:0 !important;
  box-shadow:0 8px 26px rgba(233,93,4,.28);
  position:sticky;
  top:0;
  z-index:1030;
}
.site-header:before{
  content:"";
  display:block;
  height:3px;
  background:linear-gradient(90deg,#063f36 0%,#0b806d 28%,#ffd166 62%,#fff3bf 100%);
}
.site-header:after{display:none !important}
.site-header .brand,
.site-header .brand strong,
.site-header .brand span{color:#fff !important}
.site-header .brand span{opacity:.94}
.site-header .brand-logo{background:rgba(255,255,255,.14);padding:4px}
.site-header .brand-mark{background:rgba(6,63,54,.9);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 6px 18px rgba(6,63,54,.22)}
.site-header .btn{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.5);
  color:#fff !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 4px 14px rgba(130,55,0,.16);
}
.site-header .btn:hover{background:rgba(255,255,255,.24);border-color:#fff;color:#fff !important}

/* Tous les containers publics : largeur de lecture maîtrisée à 1000px. */
.container{
  width:100% !important;
  max-width:1000px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media(max-width:1020px){
  .container{width:calc(100% - 32px) !important;max-width:1000px !important}
}
@media(max-width:700px){
  .container{width:calc(100% - 22px) !important;max-width:1000px !important}
}

/* FGA PUBLIC — LANDING SIMPLIFIEE V2.42.40
   Objectif : une page répondant plus claire, plus directe et moins chargée.
   Aucun changement de logique métier.
*/
.fga-home-simple{background:#f5faf8;color:#173b38;}
.fga-home-simple .fga-home-header{background:linear-gradient(110deg,#e85d04 0%,#f97316 48%,#ff9f1c 100%);border:0;box-shadow:0 8px 28px rgba(205,77,0,.18)}
.fga-home-simple .fga-home-header .container{max-width:1000px!important}
.fga-home-simple .fga-home-header:after{display:none}
.fga-home-simple .fga-home-logo{width:43px;height:43px;border-radius:11px;background:#fff;box-shadow:0 5px 16px rgba(82,38,0,.18)}
.fga-home-simple .fga-logo-fallback{width:43px;height:43px;border-radius:11px;background:#075f50;color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.16);font-size:.85rem}
.fga-home-simple .fga-brand-text strong,.fga-home-simple .fga-brand-text small{display:block;color:#fff}
.fga-home-simple .fga-brand-text strong{font-size:.83rem;line-height:1.1}
.fga-home-simple .fga-brand-text small{font-size:.62rem;opacity:.88;margin-top:2px}
.fga-home-simple .fga-header-btn{background:#fff;border:0;color:#c95108!important;font-weight:800;font-size:.72rem;box-shadow:0 5px 15px rgba(89,35,0,.14)}
.fga-home-simple .fga-header-btn:hover{background:#075f50;color:#fff!important}

.fga-simple-hero{min-height:calc(100vh - 65px);display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(115deg,#f7fcfa 0%,#eaf7f3 48%,#fff8ed 100%)}
.fga-simple-hero:before{content:"";position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(7,95,80,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(7,95,80,.045) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,black 0%,transparent 86%)}
.fga-simple-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(4px)}
.fga-simple-orb-a{width:430px;height:430px;left:-260px;bottom:-220px;background:radial-gradient(circle,rgba(10,130,108,.18),transparent 70%)}
.fga-simple-orb-b{width:380px;height:380px;right:-220px;top:-170px;background:radial-gradient(circle,rgba(255,159,28,.19),transparent 70%)}
.fga-simple-hero .container{max-width:1000px!important;z-index:2;padding-top:35px;padding-bottom:35px}
.fga-simple-copy{max-width:470px}
.fga-simple-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#e6f4f0;color:#076553;font-size:.62rem;font-weight:900;letter-spacing:.11em;border:1px solid #cbe7df}
.fga-simple-badge span{width:7px;height:7px;border-radius:50%;background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.11)}
.fga-simple-copy h1{margin:18px 0 14px;font-size:clamp(3rem,5.4vw,5rem);line-height:.94;letter-spacing:-.055em;font-weight:900;color:#075f50}
.fga-simple-copy h1 em{font-style:normal;background:linear-gradient(90deg,#087c68,#f26b0b);-webkit-background-clip:text;background-clip:text;color:transparent}
.fga-simple-lead{max-width:455px;margin:0 0 25px;color:#5f746f;font-size:1rem;line-height:1.7}
.fga-simple-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:0 24px 0 27px;border:0;border-radius:17px;background:linear-gradient(100deg,#075f50,#0b806d 66%,#15957f);color:#fff!important;font-weight:900;font-size:.95rem;box-shadow:0 16px 30px rgba(7,95,80,.22);transition:.2s ease}
.fga-simple-cta span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);font-size:1.1rem}
.fga-simple-cta:hover{transform:translateY(-3px);box-shadow:0 20px 36px rgba(7,95,80,.28)}
.fga-simple-reassurance{display:flex;align-items:center;gap:18px;margin-top:24px;color:#66807a}
.fga-simple-reassurance div{display:flex;flex-direction:column;gap:1px}
.fga-simple-reassurance b{font-size:.77rem;color:#075f50}
.fga-simple-reassurance span{font-size:.61rem}
.fga-simple-reassurance i{width:1px;height:28px;background:#cddfd9}
.fga-simple-slogan{margin-top:20px;font-size:.68rem;font-weight:800;color:#e06a10}

.fga-simple-visual{position:relative;min-height:470px;display:grid;place-items:center}
.fga-simple-visual:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(8,119,99,.22),rgba(242,107,11,.07) 52%,transparent 72%);filter:blur(10px)}
.fga-simple-visual-ring{position:absolute;width:420px;height:420px;border:1px solid rgba(8,119,99,.13);border-radius:50%;box-shadow:0 0 0 35px rgba(8,119,99,.025),0 0 0 70px rgba(242,107,11,.025)}
.fga-simple-visual-card{position:relative;width:min(365px,78vw);padding:27px;border-radius:27px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 65px rgba(7,95,80,.18),0 4px 16px rgba(7,95,80,.07);transform:rotate(1deg);z-index:2}
.fga-mini-top{display:flex;align-items:center;gap:8px;color:#718783;font-size:.56rem;font-weight:900;letter-spacing:.1em}
.fga-mini-dot{width:8px;height:8px;border-radius:50%;background:#f97316}
.fga-mini-question{margin-top:28px;color:#075f50;font-size:1.28rem;font-weight:900;line-height:1.18}
.fga-mini-stars{display:flex;gap:7px;margin:23px 0}.fga-mini-stars span{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#fff1df;color:#f97316;font-size:1rem;box-shadow:inset 0 0 0 1px #ffe0bd}.fga-mini-stars span:nth-child(-n+3){background:#e8f6f2;color:#087c68;box-shadow:inset 0 0 0 1px #cce9e1}
.fga-mini-lines{display:flex;flex-direction:column;gap:9px}.fga-mini-lines span{height:9px;border-radius:99px;background:#edf3f1}.fga-mini-lines span:nth-child(1){width:94%}.fga-mini-lines span:nth-child(2){width:76%}.fga-mini-lines span:nth-child(3){width:56%}
.fga-mini-button{margin-top:25px;padding:12px 14px;border-radius:12px;background:linear-gradient(100deg,#075f50,#0b806d);color:#fff;text-align:center;font-size:.62rem;font-weight:800}
.fga-mini-float{position:absolute;z-index:4;padding:11px 14px;border-radius:14px;background:#fff;box-shadow:0 14px 30px rgba(7,95,80,.14);border:1px solid #e3eeeb;color:#f97316;font-size:1rem;font-weight:900}
.fga-mini-float span{margin-left:6px;color:#446660;font-size:.61rem;font-weight:800}
.fga-mini-float-a{top:10%;right:3%}.fga-mini-float-b{bottom:11%;left:1%;color:#087c68}

.fga-simple-bottom{background:#fff;border-top:1px solid #edf3f1}
.fga-simple-bottom-inner{min-height:145px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.fga-bottom-kicker{font-size:.58rem;font-weight:900;letter-spacing:.15em;color:#f26b0b}
.fga-simple-bottom h2{margin:6px 0 0;color:#075f50;font-size:1.35rem;font-weight:900;letter-spacing:-.025em}
.fga-simple-bottom p{max-width:390px;margin:0;color:#70827e;font-size:.78rem;line-height:1.65}
.fga-simple-footer{border-top:3px solid #f97316!important;background:#075f50!important}
.fga-simple-footer .container{max-width:1000px!important}
.fga-simple-footer{font-size:.65rem}

@media(max-width:991.98px){
  .fga-simple-hero{min-height:auto}
  .fga-simple-hero .container{padding-top:55px;padding-bottom:55px}
  .fga-simple-copy{margin:0 auto;text-align:center}
  .fga-simple-lead{margin-left:auto;margin-right:auto}
  .fga-simple-reassurance{justify-content:center}
  .fga-simple-visual{min-height:410px;margin-top:5px}
  .fga-simple-bottom-inner{padding:28px 0;display:block;text-align:center}
  .fga-simple-bottom p{margin:12px auto 0}
}
@media(max-width:575.98px){
  .fga-home-simple .fga-home-header .container{padding-inline:12px!important}
  .fga-home-simple .fga-header-btn{font-size:.62rem;padding:.5rem .8rem!important}
  .fga-brand-text strong{font-size:.7rem}
  .fga-brand-text small{font-size:.55rem}
  .fga-simple-hero .container{padding-top:38px;padding-bottom:38px}
  .fga-simple-copy h1{font-size:2.75rem}
  .fga-simple-lead{font-size:.88rem}
  .fga-simple-cta{width:100%;min-height:55px}
  .fga-simple-reassurance{gap:11px;justify-content:space-between}
  .fga-simple-reassurance i{height:22px}
  .fga-simple-reassurance b{font-size:.68rem}.fga-simple-reassurance span{font-size:.54rem}
  .fga-simple-visual{min-height:340px}
  .fga-simple-visual-ring{width:310px;height:310px}
  .fga-simple-visual:before{width:300px;height:300px}
  .fga-simple-visual-card{width:min(315px,82vw);padding:21px;border-radius:22px}
  .fga-mini-question{font-size:1.08rem}.fga-mini-stars span{width:33px;height:33px;border-radius:10px;font-size:.8rem}
  .fga-mini-float{padding:8px 10px}.fga-mini-float span{font-size:.5rem}.fga-mini-float-a{right:-1%;top:4%}.fga-mini-float-b{left:-1%;bottom:3%}
}

/* ==========================================================
   FGA PUBLIC V2.42.41 — ACCUEIL RÉPONDANT EN CADRE UNIQUE
   Présentation uniquement : les données et routes métier sont conservées.
   ========================================================== */
.fga-public-home{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 8% 15%,rgba(9,128,106,.13),transparent 27%),
    radial-gradient(circle at 92% 86%,rgba(249,115,22,.13),transparent 29%),
    linear-gradient(135deg,#edf9f5 0%,#f8fcfb 50%,#fff8ef 100%);
  color:#163d37;
  overflow-x:hidden;
}
.fga-home-shell{
  min-height:100vh;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px 18px;
}
.fga-home-card{
  position:relative;
  width:min(940px,100%);
  overflow:hidden;
  border:1px solid rgba(8,105,87,.12);
  border-radius:32px;
  background:rgba(255,255,255,.94);
  box-shadow:0 32px 90px rgba(7,82,69,.15),0 8px 25px rgba(7,82,69,.07);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.fga-home-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(8,119,99,.045),transparent 42%,rgba(249,115,22,.045));
}
.fga-home-card-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(4px)}
.fga-home-card-glow-green{width:330px;height:330px;left:-230px;top:-210px;background:radial-gradient(circle,rgba(8,128,106,.2),transparent 70%)}
.fga-home-card-glow-orange{width:300px;height:300px;right:-210px;bottom:-220px;background:radial-gradient(circle,rgba(249,115,22,.17),transparent 70%)}
.fga-home-brand-row{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 30px;border-bottom:1px solid rgba(8,105,87,.09);
  background:linear-gradient(90deg,rgba(6,95,80,.035),rgba(249,115,22,.035));
}
.fga-home-brand{display:flex;align-items:center;gap:12px;color:#173e38!important}
.fga-home-brand img,.fga-home-logo-fallback{width:48px;height:48px;object-fit:contain;border-radius:13px}
.fga-home-brand img{background:#fff;box-shadow:0 5px 18px rgba(6,63,54,.1)}
.fga-home-logo-fallback{display:grid;place-items:center;background:#075f50;color:#fff;font-weight:900}
.fga-home-brand strong{display:block;font-size:.9rem;line-height:1.15}
.fga-home-brand small{display:block;color:#71857f;font-size:.65rem;margin-top:3px}
.fga-login-btn{
  display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid rgba(7,95,80,.17);border-radius:999px;
  color:#075f50!important;background:#fff;text-decoration:none;font-size:.72rem;font-weight:800;transition:.18s ease
}
.fga-login-btn:hover{background:#075f50;color:#fff!important;transform:translateY(-1px)}
.fga-home-main{position:relative;z-index:2;text-align:center;padding:42px 38px 32px}
.fga-home-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#e7f5f1;color:#08705d;border:1px solid #cae7df;font-size:.58rem;font-weight:900;letter-spacing:.12em}
.fga-home-badge span{width:7px;height:7px;border-radius:50%;background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.1)}
.fga-home-main h1{margin:19px auto 8px;max-width:760px;font-size:clamp(2.5rem,5vw,4.2rem);line-height:.98;letter-spacing:-.055em;font-weight:900;color:#075f50}
.fga-home-subtitle{margin:0;color:#48655e;font-size:1rem;font-weight:700}
.fga-home-slogan{display:flex;align-items:center;justify-content:center;gap:9px;margin:13px auto 0;color:#e86a11;font-size:.72rem;font-weight:900}
.fga-home-slogan i{width:27px;height:2px;border-radius:2px;background:linear-gradient(90deg,#075f50,#f97316)}
.fga-home-intro{max-width:610px;margin:16px auto 0;color:#71827d;font-size:.88rem;line-height:1.65}
.fga-home-actions{display:flex;justify-content:center;align-items:center;gap:11px;flex-wrap:wrap;margin:25px 0 20px}
.fga-main-action,.fga-secondary-action{min-height:54px;border-radius:16px;font-weight:900;font-size:.82rem;text-decoration:none;cursor:pointer;transition:.2s ease}
.fga-main-action{display:inline-flex;align-items:center;gap:11px;padding:0 15px 0 10px;border:0;background:linear-gradient(100deg,#075f50,#0b806d 70%,#13937e);color:#fff;box-shadow:0 14px 28px rgba(7,95,80,.2)}
.fga-main-action:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(7,95,80,.25)}
.fga-action-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.16)}
.fga-action-arrow{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.13);font-size:.9rem}
.fga-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 19px;border:1px solid #d5e2de;background:#fff;color:#075f50!important}
.fga-secondary-action:hover{border-color:#0b806d;background:#edf8f5;transform:translateY(-2px)}
.fga-trust-line{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;color:#71827d;font-size:.62rem}
.fga-trust-line b{color:#075f50}
.fga-trust-separator{width:4px;height:4px;border-radius:50%;background:#f4a261}
.fga-site-picker{position:relative;z-index:3;margin:0 30px 28px;padding:25px;border:1px solid #dceae5;border-radius:24px;background:linear-gradient(145deg,#f8fcfb,#fffdf9);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);opacity:0;transform:translateY(-8px);transition:.18s ease}
.fga-site-picker.is-open{opacity:1;transform:none}
.fga-site-picker[hidden]{display:none}
.fga-site-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}
.fga-picker-kicker{font-size:.56rem;font-weight:900;letter-spacing:.14em;color:#e76f0b}
.fga-site-picker h2{margin:4px 0 3px;color:#075f50;font-size:1.35rem;font-weight:900}
.fga-site-picker-head p{margin:0;color:#71827d;font-size:.72rem}
.fga-close-sites{width:34px;height:34px;border:1px solid #dce7e3;border-radius:50%;background:#fff;color:#61766f;font-size:1.25rem;line-height:1;cursor:pointer}
.fga-close-sites:hover{background:#075f50;color:#fff}
.fga-site-search-wrap{position:relative;margin-bottom:19px}
.fga-site-search-wrap>span{position:absolute;left:14px;top:9px;color:#0b806d;font-size:1.1rem}
.fga-site-search-wrap input{width:100%;min-height:43px;padding:10px 14px 10px 39px;border:1px solid #d4e2de;border-radius:13px;background:#fff;color:#173e38;outline:0;font-size:.78rem}
.fga-site-search-wrap input:focus{border-color:#0b806d;box-shadow:0 0 0 3px rgba(11,128,109,.09)}
.fga-home-category{margin-top:20px}
.fga-home-category:first-child{margin-top:0}
.fga-home-category-title{display:flex;align-items:center;gap:10px;margin-bottom:11px;color:#31574f;font-size:.72rem;font-weight:900}
.fga-home-category-title:before{content:"";width:20px;height:3px;border-radius:5px;background:linear-gradient(90deg,#075f50,#f97316)}
.fga-home-site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fga-home-site-card{position:relative;display:flex;flex-direction:column;min-height:92px;padding:14px 14px 12px;border:1px solid #dce8e4;border-radius:15px;background:#fff;color:#244b43!important;text-decoration:none;box-shadow:0 5px 15px rgba(7,95,80,.045);transition:.18s ease}
.fga-home-site-card:hover{border-color:#8cc7ba;transform:translateY(-2px);box-shadow:0 10px 22px rgba(7,95,80,.1)}
.fga-site-number{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#e8f5f1;color:#08705d;font-size:.67rem;font-weight:900;margin-bottom:9px}
.fga-home-site-name{font-size:.76rem;font-weight:850;line-height:1.3}
.fga-home-site-go{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:9px;color:#8a9a95;font-size:.58rem;font-weight:800}
.fga-home-site-go b{color:#e76f0b;font-size:.85rem}
.fga-home-sites-empty{padding:18px;text-align:center;border:1px dashed #cadbd5;border-radius:13px;color:#7b8b86;font-size:.75rem}
.fga-home-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;gap:15px;padding:13px 30px;border-top:1px solid rgba(8,105,87,.08);background:#fbfdfc;color:#879590;font-size:.59rem}
.fga-home-bottom span:first-child{color:#55746c;font-weight:800}

/* Catalogue public : 3 colonnes sur écran desktop. */
.site-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.site-card-qr-only .site-card-content{min-height:100%;padding:18px}
@media(max-width:850px){
  .fga-home-site-grid,.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fga-home-card{border-radius:25px}
}
@media(max-width:620px){
  .fga-home-shell{padding:14px 10px;align-items:flex-start}
  .fga-home-card{margin-top:8px;border-radius:22px}
  .fga-home-brand-row{padding:15px 17px}
  .fga-home-brand strong{font-size:.74rem}
  .fga-home-brand small{font-size:.57rem}
  .fga-home-brand img,.fga-home-logo-fallback{width:40px;height:40px}
  .fga-login-btn{padding:8px 11px;font-size:.62rem}
  .fga-home-main{padding:35px 18px 26px}
  .fga-home-main h1{font-size:2.45rem}
  .fga-home-subtitle{font-size:.85rem}
  .fga-home-intro{font-size:.78rem}
  .fga-home-actions{align-items:stretch;flex-direction:column}
  .fga-main-action,.fga-secondary-action{width:100%}
  .fga-trust-line{gap:8px;font-size:.55rem}
  .fga-trust-separator{display:none}
  .fga-site-picker{margin:0 12px 15px;padding:17px;border-radius:18px}
  .fga-home-site-grid,.site-grid{grid-template-columns:1fr!important}
  .fga-home-bottom{padding:12px 17px;flex-direction:column;text-align:center}
}

/* ==========================================================
   FGA PUBLIC — V2.42.45 ACCUEIL : ORANGE / VISUEL / FOOTER VERT
   Présentation uniquement — aucune logique métier modifiée.
   ========================================================== */
.fga-home-brand-row{
  background:linear-gradient(110deg,#d94801 0%,#f05a0a 28%,#ff7300 62%,#ff9d00 100%) !important;
  border-bottom:0 !important;
  box-shadow:0 10px 28px rgba(229,86,4,.20);
}
.fga-home-brand-row:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,#ffbd59,#fff1d1,#ffbd59);opacity:.9;
}
.fga-home-brand{color:#fff!important}
.fga-home-brand strong,.fga-home-brand small{color:#fff!important}
.fga-home-brand small{opacity:.86}
.fga-home-brand img{box-shadow:0 6px 18px rgba(95,36,0,.18)}
.fga-home-logo-fallback{background:rgba(6,63,54,.92);box-shadow:0 0 0 1px rgba(255,255,255,.28)}
.fga-login-btn{color:#fff!important;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fga-login-btn:hover{background:#fff;color:#d94801!important;border-color:#fff}
.fga-home-main{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:center;
  gap:24px;text-align:left;padding:42px 44px 36px;min-height:460px;
}
.fga-home-copy{position:relative;z-index:3;max-width:575px}
.fga-home-main .fga-home-badge{font-size:.57rem}
.fga-home-main h1{margin:18px 0 10px;max-width:570px;font-size:clamp(2.55rem,5vw,4.25rem);line-height:.96}
.fga-home-subtitle{max-width:520px;font-size:1.02rem}
.fga-home-slogan{justify-content:flex-start;margin-top:12px}
.fga-home-intro{max-width:510px;margin:18px 0 0;font-size:.9rem}
.fga-home-actions{justify-content:flex-start;margin:25px 0 20px}
.fga-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:560px}
.fga-trust-grid>div{display:flex;align-items:center;gap:8px;padding:10px 9px;border:1px solid #e0ece8;border-radius:14px;background:rgba(255,255,255,.75);box-shadow:0 5px 16px rgba(7,95,80,.04)}
.fga-trust-grid .fga-trust-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#e9f6f2;color:#08705d;font-weight:900;font-size:.75rem}
.fga-trust-grid>div:nth-child(2) .fga-trust-icon{background:#fff0e4;color:#e76508}
.fga-trust-grid b{display:block;color:#075f50;font-size:.64rem;line-height:1.1}
.fga-trust-grid small{display:block;margin-top:2px;color:#82918d;font-size:.51rem;line-height:1.1}
.fga-home-visual{position:relative;min-height:410px;display:flex;align-items:center;justify-content:center}
.fga-visual-image-wrap{position:relative;z-index:2;width:min(100%,430px);filter:drop-shadow(0 28px 30px rgba(6,63,54,.16));animation:fgaVisualFloat 5s ease-in-out infinite}
.fga-visual-image-wrap img{display:block;width:100%;height:auto}
.fga-visual-orbit{position:absolute;border:1px dashed rgba(8,128,106,.22);border-radius:50%;pointer-events:none}
.fga-visual-orbit-one{width:360px;height:360px}
.fga-visual-orbit-two{width:280px;height:280px;border-color:rgba(249,115,22,.2);transform:rotate(24deg)}
.fga-visual-badge{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:13px;background:rgba(255,255,255,.95);border:1px solid rgba(7,95,80,.1);box-shadow:0 12px 25px rgba(7,95,80,.13);color:#31574f;font-size:.57rem;font-weight:800}
.fga-visual-badge strong{color:#f28c28;font-size:.9rem}
.fga-visual-badge-top{top:32px;right:4px}
.fga-visual-badge-bottom{bottom:30px;left:4px}
.fga-visual-badge-bottom strong{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#e9f6f2;color:#08705d;font-size:.68rem}
@keyframes fgaVisualFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.fga-home-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 30px;
  border-top:0 !important;background:linear-gradient(110deg,#045a4b 0%,#087764 45%,#07947b 100%) !important;color:#fff !important;
}
.fga-footer-brand{display:flex;flex-direction:column;gap:3px;min-width:220px}
.fga-footer-brand strong{font-size:.66rem;color:#fff}
.fga-footer-brand span{font-size:.5rem;color:rgba(255,255,255,.72)}
.fga-footer-details{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.fga-footer-details span{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.84);font-size:.53rem}
.fga-footer-details b{color:#ffbd59;font-size:.72rem}
@media(max-width:850px){
  .fga-home-main{grid-template-columns:1fr;gap:5px;text-align:center;padding:38px 30px 32px}
  .fga-home-copy{max-width:none}
  .fga-home-main h1,.fga-home-intro{margin-left:auto;margin-right:auto}
  .fga-home-slogan,.fga-home-actions{justify-content:center}
  .fga-trust-grid{margin:0 auto}
  .fga-home-visual{min-height:340px}
  .fga-visual-image-wrap{width:min(100%,390px)}
  .fga-visual-orbit-one{width:310px;height:310px}
  .fga-visual-orbit-two{width:240px;height:240px}
  .fga-home-bottom{flex-direction:column;text-align:center}
  .fga-footer-details{justify-content:center}
  .fga-footer-brand{align-items:center}
}
@media(max-width:620px){
  .fga-home-main{padding:32px 18px 26px}
  .fga-home-main h1{font-size:2.45rem}
  .fga-trust-grid{grid-template-columns:1fr;max-width:300px;width:100%}
  .fga-home-visual{min-height:290px;margin-top:4px}
  .fga-visual-image-wrap{width:100%;max-width:330px}
  .fga-visual-orbit-one{width:260px;height:260px}
  .fga-visual-orbit-two{width:205px;height:205px}
  .fga-visual-badge{font-size:.48rem;padding:8px 10px}
  .fga-visual-badge-top{top:15px;right:-2px}
  .fga-visual-badge-bottom{bottom:14px;left:-2px}
  .fga-home-bottom{padding:16px 18px}
  .fga-footer-details{gap:9px;flex-direction:column}
}


/* FGA PUBLIC — V2.42.46 : suppression des trois informations de réassurance de l'accueil. */
.fga-trust-grid{display:none!important}


/* FGA PUBLIC — V2.42.48 : visuel répondant simplifié + grille catalogue compacte. */
.fga-home-visual{min-height:250px}
.fga-visual-image-wrap{
  width:min(100%,255px)!important;
  filter:none!important;
  animation:none!important;
}
.fga-visual-orbit,.fga-visual-badge{display:none!important}

/* Le catalogue utilise réellement le container public de 1000px : 3 cartes compactes. */
.site-catalog-container{
  width:100%!important;
  max-width:1000px!important;
  overflow-x:visible!important;
  padding-left:0!important;
  padding-right:0!important;
}
.site-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-columns:auto!important;
  width:100%!important;
  max-width:100%!important;
  justify-content:stretch!important;
  gap:10px!important;
}
.site-card-qr-only{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
}
.site-card-qr-only .site-card-content{
  width:100%!important;
  height:360px!important;
  padding:14px 12px!important;
}
.site-card-qr-only h3{width:100%!important;max-width:100%!important;margin-bottom:8px!important;font-size:17px!important}
.site-card-qr-only .site-qr-display{width:100%!important;height:190px!important;min-height:190px!important;flex-basis:190px!important;margin:2px 0 10px!important}
.site-card-qr-only .site-qr-image{width:180px!important;height:180px!important}
.site-card-qr-only .site-questionnaires-btn{width:180px!important;min-width:180px!important;max-width:180px!important;margin-left:auto!important;margin-right:auto!important;height:44px!important;min-height:44px!important;max-height:44px!important;font-size:14px!important}
.category-section{margin:18px 0!important}
.category-title{margin-bottom:9px!important}
@media(max-width:850px){
  .site-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .site-grid{grid-template-columns:1fr!important}
}


/* FGA PUBLIC — V2.42.49 : écran de chargement institutionnel 3 secondes. */
.fga-page-loader{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#d9ddda 0%,#eef0ee 48%,#d2d7d4 100%);
  opacity:1;visibility:visible;
  transition:opacity .6s ease,visibility .6s ease;
}
.fga-page-loader.is-ready{opacity:0;visibility:hidden;pointer-events:none}
.fga-loader-panel{
  width:min(88vw,430px);padding:38px 34px 32px;text-align:center;
  background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.95);
  border-radius:26px;box-shadow:0 22px 60px rgba(30,48,42,.16);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.fga-loader-logo-wrap{width:108px;height:108px;margin:0 auto 18px;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.fga-loader-logo{max-width:88px;max-height:88px;object-fit:contain}
.fga-loader-name{font-weight:800;font-size:1.02rem;letter-spacing:.01em;color:#064b3f}
.fga-loader-line{width:170px;height:4px;margin:22px auto 12px;border-radius:99px;background:#dfe4e1;overflow:hidden}
.fga-loader-line span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f36f21,#ff9f1c,#0b806d);animation:fgaLoaderProgress 2.8s ease-in-out forwards}
.fga-loader-label{font-size:.78rem;color:#63716d}
@keyframes fgaLoaderProgress{from{transform:translateX(-120%)}to{transform:translateX(360%)}}




/* V2.42.61 — réduction de l'espacement entre l'en-tête et le container du questionnaire. */
.entete{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:24px;
  margin-top:18px !important;
  margin-bottom:0 !important;
  width:980px !important;
  max-width:calc(100% - 20px) !important;
  padding:22px 28px !important;
  min-height:138px;
  border-radius:20px;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(115deg,var(--fga-green-dark) 0%,var(--fga-green) 48%,var(--fga-green-2) 100%);
  box-shadow:0 14px 34px rgba(4,90,58,.16);
  position:relative;
  isolation:isolate;
}
.entete:before,.entete:after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
}
.entete:before{
  width:420px;
  height:220px;
  right:-70px;
  top:-95px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  transform:rotate(-8deg);
}
.entete:after{
  width:520px;
  height:170px;
  left:-170px;
  bottom:-125px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  transform:rotate(7deg);
}
.entete-profile{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:4px 8px;
}
.entete-profile-kicker{
  display:block;
  margin-bottom:8px;
  font-size:10px;
  line-height:1.1;
  letter-spacing:.16em;
  font-weight:800;
  color:rgba(255,255,255,.78);
}
.entete-profile strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3vw,2.25rem);
  line-height:1.12;
  letter-spacing:-.025em;
  font-weight:800;
}
.entete-site{
  flex:0 0 405px;
  width:405px;
  min-width:0;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:17px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.entete-site-row{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.entete-site-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.17);
  border:1px solid rgba(255,255,255,.18);
  font-size:18px;
}
.entete-site-row > div{min-width:0}
.entete-site-label{
  display:block;
  margin-bottom:3px;
  color:rgba(255,255,255,.7);
  font-size:8px;
  line-height:1.1;
  letter-spacing:.14em;
  font-weight:800;
}
.entete-site strong{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.25;
  font-weight:750;
  overflow-wrap:anywhere;
}
.entete-site-divider{
  height:1px;
  margin:10px 0;
  background:rgba(255,255,255,.2);
}
.entete + .container{
  padding-top:0 !important;
}
.entete + .container .wizard-card{
  margin-top:6px !important;
}
@media(max-width:760px){
  .entete{
    width:calc(100% - 22px) !important;
    max-width:none !important;
    flex-direction:column;
    gap:14px;
    padding:20px !important;
    min-height:0;
    border-radius:18px;
  }
  .entete-profile{padding:2px 0 0}
  .entete-site{
    flex:0 0 auto;
    width:100%;
    padding:14px 15px;
  }
}
@media(max-width:480px){
  .entete{padding:18px !important}
  .entete-profile strong{font-size:1.45rem}
  .entete-site strong{font-size:12px}
}

/* V2.42.62 — léger espace entre les légendes des questionnaires et les réponses radio. */
.fga-main-fieldset.question-focus > legend,
.hospital-question > legend{
  margin-bottom:12px !important;
}

/* V2.42.63 — suppression de l'espacement ajouté aux légendes et séparation des blocs hospitalisation. */
.fga-main-fieldset.question-focus > legend,
.hospital-question > legend{
  margin-bottom:0 !important;
}

.hospital-question-list{
  gap:14px !important;
}

.hospital-question-wrap{
  margin:0 !important;
}

/* V2.42.64 — alerte d'erreur publique HTML, rouge. */
#fga-public-error-alert{margin:18px 0;padding:14px 18px;background:#fff1f1;border:1px solid #e2a8a8;border-left:5px solid #c62828;color:#8b1e1e;border-radius:14px;box-shadow:0 6px 18px rgba(198,40,40,.08)}
#fga-public-error-alert[hidden]{display:none!important}
#fga-public-error-alert strong{color:#a61b1b}
#fga-public-error-list{margin:7px 0 0;padding-left:22px}
#fga-public-error-list li{margin:3px 0}

/* V2.42.66 — filet de sécurité du loader : la page ne reste jamais bloquée si le JavaScript inline est refusé. */
.fga-page-loader{
  animation:fgaLoaderAutoHide .6s ease 3s forwards;
}
@keyframes fgaLoaderAutoHide{
  0%,99%{opacity:1;visibility:visible;pointer-events:auto}
  100%{opacity:0;visibility:hidden;pointer-events:none}
}


/* V2.42.67 — nouvelle illustration de satisfaction FGA */
.fga-visual-image-wrap{width:min(100%,500px);filter:drop-shadow(0 22px 28px rgba(6,63,54,.12));}
.fga-visual-image-wrap img{display:block;width:100%;height:auto;border-radius:22px;}
.fga-visual-orbit,.fga-visual-badge{display:none!important;}
@media(max-width:850px){.fga-visual-image-wrap{width:min(100%,500px)}}
@media(max-width:620px){.fga-visual-image-wrap{width:100%;max-width:360px}}

/* V2.42.68 — légère augmentation de l'illustration d'accueil */
.fga-visual-image-wrap{width:min(100%,530px)!important}
@media(max-width:850px){.fga-visual-image-wrap{width:min(100%,515px)!important}}
@media(max-width:620px){.fga-visual-image-wrap{width:100%!important;max-width:375px!important}}

/* V2.42.79 — rubriques conditionnelles génériques. */
.conditional-public-block{padding:8px 0}.conditional-public-block .fga-main-fieldset{margin-bottom:16px}

/* V2.42.136 — Responsive global du parcours public FGA */
html,body{max-width:100%;overflow-x:hidden;}
img,svg,canvas,video{max-width:100%;height:auto;}
.container,.header-inner,.hero,.wizard-card,.step,.profile-section,.signature-box,.fga-home-main,.fga-home-header{min-width:0;}
.page-head>*,.category-title>*,.wizard-head>*,.step-header>*,.fga-hero-copy>*{min-width:0;max-width:100%;overflow-wrap:anywhere;}
.table-wrap,.fga-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{max-width:100%;}
.form-control,select,textarea,input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=password]{box-sizing:border-box;max-width:100%;}

@media(max-width:900px){
  .container{width:min(100% - 24px,1120px);}
  .header-inner{width:min(100% - 24px,1120px);gap:12px;}
  .page-head{gap:14px;}
  .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fga-home-main{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .container{width:calc(100% - 20px);padding-top:16px;padding-bottom:34px;}
  .header-inner{width:calc(100% - 20px);min-height:62px;}
  .site-header{position:relative;}
  .brand{min-width:0;}
  .brand strong{font-size:14px;}
  .brand span{font-size:10px;}
  .page-title{font-size:24px;line-height:1.15;}
  .page-subtitle{font-size:12px;}
  .hero{padding:30px 17px;margin-top:18px;}
  .hero h1{font-size:28px;}
  .hero p{font-size:15px;}
  .landing-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px;}
  .landing-actions .btn{width:100%;}
  .site-grid,.profile-grid{grid-template-columns:1fr!important;}
  .site-card-content{padding:14px;}
  .wizard-card{padding:16px;margin-top:14px;}
  .step{padding:16px;margin:14px 0;}
  .step h2{font-size:20px;}
  .stepper{overflow-x:auto;padding:12px 0 18px;scrollbar-width:thin;}
  .stepper-item{flex:0 0 auto;}
  .stepper-line{min-width:14px;}
  .option{align-items:flex-start;padding:11px 12px;}
  .option-large{font-size:14px;}
  .question legend,.question-focus legend{font-size:17px;line-height:1.4;}
  .signature-box{padding:15px;margin:20px 0;}
  .signature-canvas-wrap{height:200px;}
  .signature-actions,.form-actions,.stage-navigation,.evaluation-nav{display:flex;flex-direction:column;align-items:stretch;}
  .signature-actions .btn,.form-actions .btn,.stage-navigation .btn,.evaluation-nav .btn{width:100%;}
  .fga-legal-modal{padding:10px;}
  .fga-legal-dialog{padding:20px;max-height:90vh;}
  .fga-legal-dialog h2{font-size:19px;}
}
@media(max-width:420px){
  .brand strong{font-size:13px;}
  .brand-logo,.brand-mark{width:40px;height:40px;}
  .hero{padding:25px 14px;}
  .hero h1{font-size:25px;}
  .hero p{font-size:14px;}
  .page-title{font-size:22px;}
  .stepper-item strong{font-size:11px;}
  .context-pill{font-size:11px;}
}

/* V2.42.143 — feedback 3 s + responsive public renforcé */
.fga-feedback-hide{opacity:0!important;transform:translateY(-6px)!important;transition:opacity .28s ease,transform .28s ease!important;pointer-events:none!important}
.alert-success,.alert-error{transition:opacity .28s ease,transform .28s ease}
@media(max-width:700px){.site-catalog-container{width:100%!important;overflow:visible!important}.site-grid{width:100%!important;grid-template-columns:1fr!important;grid-auto-columns:1fr!important}.site-card-qr-only{width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important}.site-card-qr-only .site-card-content{width:100%!important;height:auto!important;min-height:360px}.evaluation-item .option-list-large,.validation-card .option-list-large,.wizard-card fieldset .option-list-large{flex-wrap:wrap!important;overflow-x:visible!important}.option-large{min-width:0!important;max-width:100%;white-space:normal}.fga-legal-dialog{width:100%}.question-focus,.validation-card,.hospital-block{padding:16px}}
@media(max-width:420px){.container{width:calc(100% - 14px)}.wizard-card{padding:12px}.wizard-card fieldset{padding:13px}.site-card-qr-only .site-card-content{padding:14px 12px}.btn{min-height:44px}}

/* V2.42.152 — justification dynamique générique pilotée par les règles BDD */
.rule-justification-list{margin-top:14px;padding:12px 14px;border:1px solid #ead6d6;border-radius:10px;background:#fff7f7;color:#6f2d2d;font-size:13px}
.rule-justification-list strong{display:block;margin-bottom:5px}
.rule-justification-list ul{margin:5px 0 0;padding-left:20px}
.rule-justification-list li{margin:3px 0}

/* V2.42.155 — Carte système Lu et Approuvé, conservée à son emplacement dans Identification. */
.identification-consent-card{display:block!important;visibility:visible!important;margin-top:18px;padding:18px 20px;background:#fff;border:1px solid rgba(11,93,79,.18);border-radius:16px;box-shadow:0 8px 24px rgba(17,59,51,.07);color:var(--text);text-align:left}
.identification-consent-card .consent-checkbox{display:flex;align-items:flex-start;gap:13px;width:100%;margin:0;cursor:pointer}
.identification-consent-card .consent-checkbox>input{width:21px;height:21px;min-width:21px;margin:3px 0 0;accent-color:var(--fga-green);cursor:pointer}
.consent-card-icon{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:11px;background:rgba(11,93,79,.08);color:var(--fga-green);font-size:18px}
.consent-card-content{display:block;min-width:0;flex:1}.consent-card-title{display:block;margin-bottom:4px;font-size:16px;font-weight:800;color:var(--fga-green)}
.identification-consent-card .consent-notice{display:block;color:var(--muted);font-weight:400;line-height:1.55}.identification-consent-card .legal-link{display:inline-flex;align-items:center;gap:6px;margin-top:7px;border:0;background:none;padding:0;color:var(--fga-green);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent-card-help{display:block;margin-top:8px;color:var(--muted);font-size:12px}.identification-consent-card:has(#consent:checked){border-color:rgba(11,93,79,.42);box-shadow:0 8px 24px rgba(17,59,51,.1)}
@media(max-width:640px){.identification-consent-card{padding:15px}.consent-card-icon{display:none}}

/* V2.42.156 - Consentement : cadenas compact et mention plus discrète */
.identification-consent-card .consent-card-icon{
  width:30px;
  height:30px;
  min-width:30px;
  border-radius:8px;
  font-size:.82rem;
}
.identification-consent-card .consent-notice{
  font-size:.78rem;
  line-height:1.3;
}
@media(max-width:640px){
  .identification-consent-card .consent-card-icon{
    display:inline-grid;
    width:28px;
    height:28px;
    min-width:28px;
    font-size:.78rem;
  }
}


/* V2.42.157 - Carte de consentement plus compacte */
.identification-consent-card{
  margin-top:14px;
  padding:13px 15px;
  border-radius:14px;
}
.identification-consent-card .consent-checkbox{gap:10px;}
.identification-consent-card .consent-checkbox>input{
  width:18px;
  height:18px;
  min-width:18px;
  margin-top:2px;
}
.identification-consent-card .consent-card-icon{
  width:27px;
  height:27px;
  min-width:27px;
  border-radius:7px;
  font-size:.74rem;
}
.identification-consent-card .consent-card-title{
  margin-bottom:3px;
  font-size:.88rem;
}
.identification-consent-card .consent-notice{
  font-size:.73rem;
  line-height:1.25;
}
.identification-consent-card .legal-link{
  gap:4px;
  margin-top:5px;
  font-size:.74rem;
}
@media(max-width:640px){
  .identification-consent-card{padding:12px;}
  .identification-consent-card .consent-card-icon{
    width:25px; height:25px; min-width:25px; font-size:.7rem;
  }
}


/* V2.42.158 - Bootstrap Icons disponible sur le questionnaire public */
.identification-consent-card .consent-card-icon{
  display:inline-grid;
  place-items:center;
}
.identification-consent-card .consent-card-icon .bi{
  display:inline-block;
  line-height:1;
  font-size:1em;
  color:inherit;
}

/* V2.42.159 — Header public fixe pendant le défilement. */
.site-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1050 !important;
}
body:has(.site-header){
  padding-top:81px;
}
@media(max-width:700px){
  .site-header{position:fixed !important;}
  body:has(.site-header){padding-top:65px;}
}

/* V2.42.162 - Lisibilite du badge Site selectionne */
.badge-site-selected{color:#000!important}

/* ==========================================================
   FGA PUBLIC — V2.42.167 : TITRE ACCUEIL FUTURISTE + SHELL COMPACT
   Présentation uniquement — aucune logique métier / BDD modifiée.
   ========================================================== */
.fga-home-shell{
  width:min(1040px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:26px 16px;
}
.fga-home-card{
  width:min(900px,100%);
}
.fga-home-main h1{
  position:relative;
  display:inline-block;
  max-width:590px;
  margin:16px 0 13px;
  padding:0 0 13px;
  color:#075f50;
  background:linear-gradient(105deg,#064f43 0%,#07816b 45%,#0a9a7e 68%,#f97316 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 10px 28px rgba(7,95,80,.10);
  letter-spacing:-.045em;
  text-wrap:balance;
}
.fga-home-main h1::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:86px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#075f50 0 68%,#f97316 68% 100%);
  box-shadow:0 0 16px rgba(8,128,106,.20);
}
@media(max-width:850px){
  .fga-home-shell{width:100%;padding:20px 14px}
  .fga-home-card{width:min(860px,100%)}
  .fga-home-main h1{display:block;margin-left:auto;margin-right:auto}
  .fga-home-main h1::after{left:50%;transform:translateX(-50%)}
}
@media(max-width:620px){
  .fga-home-shell{padding:12px 9px}
  .fga-home-main h1{font-size:clamp(2rem,11vw,2.45rem);padding-bottom:11px}
  .fga-home-main h1::after{width:68px;height:3px}
}

/* V2.42.168 — Accueil : titre, icônes et visuel futuriste paramétrable */
.fga-public-home .fga-home-main h1{
  text-transform:uppercase;
}
.fga-public-home .fga-home-slogan::before{
  content:none!important;
  display:none!important;
}
.fga-public-home .fga-home-slogan i{display:none!important}
.fga-public-home .fga-action-icon i,
.fga-public-home .fga-action-arrow i{
  display:block;
  line-height:1;
  font-size:1rem;
}
.fga-public-home .fga-footer-details,
.fga-public-home .fga-footer-details span,
.fga-public-home .fga-footer-details b,
.fga-public-home .fga-footer-details i{
  color:#fff!important;
}
.fga-public-home .fga-visual-image-wrap{
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 26px 60px rgba(4,74,63,.22),0 0 0 8px rgba(9,128,106,.05);
  background:linear-gradient(145deg,rgba(7,95,80,.08),rgba(249,115,22,.08));
}
.fga-public-home .fga-visual-image-wrap img{
  width:100%;height:100%;object-fit:cover;display:block;
}
@media(max-width:620px){
  .fga-public-home .fga-home-main h1{font-size:clamp(2rem,11vw,2.75rem)}
}

/* V2.42.169 — Réduction du visuel de la page d'accueil */
.fga-public-home .fga-visual-image-wrap{
  width:min(100%,450px)!important;
  margin-inline:auto;
}
@media(max-width:850px){
  .fga-public-home .fga-visual-image-wrap{width:min(100%,390px)!important}
}
@media(max-width:620px){
  .fga-public-home .fga-visual-image-wrap{width:100%!important;max-width:320px!important}
}

/* V2.42.170 — Dimensions width + height responsives du visuel d'accueil */
.fga-public-home .fga-visual-image-wrap{
  width:min(100%,400px)!important;
  height:300px!important;
  max-width:100%;
  margin-inline:auto;
}
.fga-public-home .fga-visual-image-wrap img{
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  object-position:center;
}
@media(max-width:850px){
  .fga-public-home .fga-visual-image-wrap{
    width:min(100%,350px)!important;
    height:263px!important;
  }
}
@media(max-width:620px){
  .fga-public-home .fga-visual-image-wrap{
    width:min(100%,300px)!important;
    height:225px!important;
  }
}
@media(max-width:360px){
  .fga-public-home .fga-visual-image-wrap{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3;
  }
}
/* V2.42.171 — accueil inspiré de la maquette futuriste */
.fga-home-v171{margin:0;background:#043f37;color:#fff;min-height:100vh}.fga171-page{min-height:100vh;background:#043f37;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.fga171-hero{position:relative;overflow:hidden;min-height:76vh;padding:28px clamp(24px,5vw,78px) 34px;background:linear-gradient(90deg,rgba(0,70,58,.98) 0%,rgba(0,69,58,.90) 42%,rgba(4,61,53,.58) 70%,rgba(5,53,47,.72) 100%)}.fga171-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 75% 34%,rgba(255,255,255,.22),transparent 27%),linear-gradient(135deg,rgba(0,111,91,.2),transparent 55%),url('/assets/img/fga-home-futuristic.png') center/cover no-repeat;filter:blur(1.5px);opacity:.25;transform:scale(1.02)}.fga171-header,.fga171-grid{position:relative;z-index:2}.fga171-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.fga171-brand{display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;max-width:520px}.fga171-brand img{width:150px;height:86px;object-fit:contain;background:#fff;border-radius:8px;padding:6px}.fga171-brand strong{display:block;font-size:clamp(17px,1.8vw,28px);text-transform:uppercase;line-height:1.05}.fga171-brand small{display:block;margin-top:6px;font-size:15px;opacity:.88}.fga171-location{padding:13px 22px;border:1px solid rgba(255,255,255,.6);border-radius:18px;background:rgba(0,75,63,.78);box-shadow:0 8px 30px rgba(0,0,0,.16);font-weight:700}.fga171-location i{margin-right:10px}.fga171-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:34px;align-items:center;margin-top:48px}.fga171-copy h1{max-width:800px;margin:0;font-size:clamp(40px,4.6vw,76px);line-height:.98;text-transform:uppercase;letter-spacing:-2px;font-weight:900;text-shadow:0 0 22px rgba(46,255,213,.28)}.fga171-copy h1::first-line{color:#fff}.fga171-slogan{font-size:18px;margin:20px 0 0;opacity:.92}.fga171-benefits{display:flex;gap:34px;margin:34px 0 30px;flex-wrap:wrap}.fga171-benefits>div{display:flex;align-items:center;gap:12px;font-size:16px}.fga171-benefits i{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;border:1px solid #75ffe2;background:rgba(0,88,73,.72);font-size:24px;color:#ffbd48;box-shadow:0 0 18px rgba(58,255,219,.25)}.fga171-profile{display:flex;align-items:center;gap:20px;width:min(620px,100%);padding:22px 28px;border-radius:22px;background:#fff;color:#0a3440;text-decoration:none;border:1px solid #ffb142;box-shadow:0 18px 48px rgba(0,0,0,.18)}.fga171-profile-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:#07806c;color:#fff;font-size:31px}.fga171-profile span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}.fga171-profile strong{font-size:24px}.fga171-profile small{font-size:17px;color:#4f8192}.fga171-profile>b{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#00634f;color:#fff;font-size:24px}.fga171-admin{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:14px 28px;border:1px solid rgba(255,255,255,.75);border-radius:14px;color:#fff;text-decoration:none;background:rgba(0,74,63,.55)}.fga171-visual{position:relative;height:510px;display:grid;place-items:center}.fga171-orbit{position:absolute;width:410px;height:410px;border:2px solid #7dffe9;border-radius:50%;box-shadow:0 0 30px rgba(89,255,224,.25)}.fga171-orbit.o2{width:480px;height:190px;top:295px;border-color:#ffae35;transform:rotate(-3deg)}.fga171-phone{position:relative;z-index:3;width:230px;height:430px;padding:11px;border-radius:38px;background:#0b2f35;transform:rotate(8deg);box-shadow:0 30px 60px rgba(0,0,0,.35)}.fga171-phone-screen{height:100%;border-radius:29px;background:#f7ffff;color:#073e37;display:flex;flex-direction:column;align-items:center;padding:28px 20px;text-align:center}.fga171-phone-screen img{width:72px;height:42px;object-fit:contain}.fga171-phone-screen strong{font-size:21px;margin:15px 0}.fga171-qr{font-size:108px;line-height:1}.fga171-phone-screen small{text-align:left;line-height:1.8}.fga171-phone-screen small i{color:#00a36f;margin-right:5px}.fga171-float{position:absolute;z-index:4;width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:rgba(0,92,77,.9);border:1px solid #92ffe9;font-size:27px;box-shadow:0 0 24px rgba(74,255,220,.4)}.fga171-float i{color:#fff}.fga171-float.f1{top:15px;left:52%}.fga171-float.f2{top:115px;right:2%}.fga171-float.f3{right:5%;bottom:60px}.fga171-float.f3 i{color:#ffb83e}.fga171-float.f4{left:4%;bottom:100px}.fga171-ringtext{position:absolute;bottom:16px;z-index:5;font-size:13px;font-weight:800;letter-spacing:1px}.fga171-values{display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:0;padding:28px clamp(24px,5vw,78px);background:#004a3f;border-top:1px solid rgba(92,255,225,.4)}.fga171-values>div:not(.fga171-voice){display:flex;align-items:center;gap:13px;padding:0 22px;border-right:1px solid rgba(255,255,255,.15)}.fga171-values>div:first-child{padding-left:0}.fga171-values i{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(120,255,231,.35);border-radius:50%;color:#ffc14e;font-size:21px}.fga171-values span{display:flex;flex-direction:column}.fga171-values strong{font-size:13px}.fga171-values small{margin-top:5px;opacity:.8;line-height:1.3}.fga171-voice{display:grid;place-items:center;text-align:center;font-size:22px;font-style:italic;font-weight:600;padding-left:24px;color:#fff}.fga171-footer{display:flex;justify-content:space-between;gap:20px;padding:17px clamp(24px,5vw,78px);font-size:13px;background:#003d35;color:rgba(255,255,255,.8);border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:1050px){.fga171-grid{grid-template-columns:1fr}.fga171-visual{height:430px}.fga171-values{grid-template-columns:repeat(2,1fr)}.fga171-values>div{margin:10px 0}.fga171-voice{grid-column:1/-1}.fga171-brand img{width:110px}.fga171-copy h1{max-width:900px}}
@media(max-width:650px){.fga171-hero{padding:20px 16px 28px}.fga171-header{align-items:center}.fga171-brand span{display:none}.fga171-brand img{width:82px;height:58px}.fga171-location{font-size:12px;padding:10px 12px}.fga171-grid{margin-top:34px}.fga171-copy h1{font-size:38px;letter-spacing:-1px}.fga171-benefits{gap:14px}.fga171-benefits>div{width:100%}.fga171-profile{padding:16px}.fga171-profile-icon{width:58px;height:58px}.fga171-profile strong{font-size:19px}.fga171-profile small{font-size:14px}.fga171-visual{height:390px;transform:scale(.86);margin:-20px -20px}.fga171-values{grid-template-columns:1fr;padding:22px 16px}.fga171-values>div:not(.fga171-voice){border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:12px 0}.fga171-voice{grid-column:auto;padding:18px 0}.fga171-footer{flex-direction:column;padding:16px;text-align:center}}

/* V2.42.172 — cadre accueil compact, centré et universellement responsive */
.fga-home-v171{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(8px,1.5vw,20px);
}
.fga171-page{
  width:min(100%,1440px);
  min-height:0;
  margin:0 auto;
  overflow:hidden;
  border-radius:clamp(12px,1.5vw,22px);
  box-shadow:0 20px 55px rgba(0,0,0,.22);
}
.fga171-hero{
  min-height:auto;
  padding:clamp(18px,2.3vw,30px) clamp(18px,3.5vw,50px) clamp(22px,2.7vw,34px);
}
.fga171-grid{
  margin-top:clamp(26px,3vw,42px);
  gap:clamp(22px,2.5vw,34px);
}
.fga171-visual{height:clamp(390px,35vw,490px)}
.fga171-values{padding:clamp(18px,2vw,25px) clamp(18px,3.5vw,50px)}
.fga171-footer{padding:14px clamp(18px,3.5vw,50px)}
@media(max-width:1050px){
  .fga171-page{width:min(100%,920px)}
  .fga171-visual{height:410px}
}
@media(max-width:650px){
  .fga-home-v171{padding:0}
  .fga171-page{width:100%;border-radius:0;box-shadow:none}
  .fga171-hero{padding:18px 14px 24px}
  .fga171-visual{height:360px}
}
@media(max-width:380px){
  .fga171-copy h1{font-size:clamp(29px,9.5vw,36px)}
  .fga171-visual{height:330px;transform:scale(.78);margin:-34px -34px}
}

/* V2.42.173 — accueil ultra compact, centré et réaliste */
.fga-home-v171{align-items:center;min-height:100vh;padding:clamp(6px,1vw,14px)}
.fga171-page{width:min(calc(100% - 12px),1120px);margin:auto}
.fga171-hero{padding:clamp(14px,1.7vw,22px) clamp(14px,2.5vw,30px) clamp(16px,2vw,24px)}
.fga171-brand{gap:12px;max-width:390px}.fga171-brand img{width:105px;height:60px;padding:4px}.fga171-brand strong{font-size:clamp(14px,1.35vw,20px)}.fga171-brand small{font-size:12px;margin-top:3px}.fga171-location{padding:9px 14px;border-radius:14px;font-size:12px}.fga171-location i{margin-right:6px}
.fga171-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);margin-top:clamp(18px,2vw,26px);gap:clamp(14px,2vw,24px)}
.fga171-copy h1{max-width:620px;font-size:clamp(29px,3.5vw,48px);letter-spacing:-1.2px;line-height:1}.fga171-slogan{font-size:14px;margin-top:12px}.fga171-benefits{gap:18px;margin:20px 0 18px}.fga171-benefits>div{gap:8px;font-size:12px}.fga171-benefits i{width:40px;height:40px;font-size:18px}
.fga171-profile{width:min(500px,100%);gap:14px;padding:14px 18px;border-radius:17px}.fga171-profile-icon{width:52px;height:52px;border-radius:14px;font-size:23px}.fga171-profile strong{font-size:18px}.fga171-profile small{font-size:13px}.fga171-profile>b{width:40px;height:40px;font-size:18px}.fga171-admin{gap:8px;margin-top:16px;padding:9px 18px;border-radius:11px;font-size:13px}
.fga171-visual{height:350px;transform:scale(.82)}.fga171-orbit{width:300px;height:300px}.fga171-orbit.o2{width:350px;height:140px;top:205px}.fga171-phone{width:170px;height:315px;padding:8px;border-radius:29px}.fga171-phone-screen{border-radius:22px;padding:19px 13px}.fga171-phone-screen img{width:52px;height:31px}.fga171-phone-screen strong{font-size:15px;margin:10px 0}.fga171-qr{font-size:78px}.fga171-phone-screen small{font-size:10px;line-height:1.6}.fga171-float{width:48px;height:48px;font-size:19px}.fga171-float.f2{top:85px}.fga171-float.f3{bottom:42px}.fga171-float.f4{bottom:70px}.fga171-ringtext{bottom:8px;font-size:9px}
.fga171-values{padding:16px 26px}.fga171-values>div:not(.fga171-voice){gap:9px;padding:0 13px}.fga171-values i{width:36px;height:36px;font-size:16px}.fga171-values strong{font-size:11px}.fga171-values small{font-size:10px;margin-top:3px}.fga171-voice{font-size:16px;padding-left:15px}.fga171-footer{padding:10px 26px;font-size:10px}
@media(max-width:900px){.fga171-page{width:min(calc(100% - 12px),760px)}.fga171-grid{grid-template-columns:1fr}.fga171-visual{height:300px;transform:scale(.72);margin:-20px 0}.fga171-copy h1{max-width:100%}.fga171-values{grid-template-columns:repeat(2,1fr)}.fga171-voice{grid-column:1/-1;padding:12px 0 0}.fga171-values>div:not(.fga171-voice){border-right:0;padding:8px}}
@media(max-width:600px){.fga-home-v171{padding:0;align-items:flex-start}.fga171-page{width:100%;border-radius:0}.fga171-header{gap:10px;align-items:center}.fga171-brand img{width:78px;height:46px}.fga171-brand strong{font-size:13px}.fga171-brand small{font-size:10px}.fga171-location{padding:7px 9px;font-size:10px}.fga171-hero{padding:14px 12px 18px}.fga171-grid{margin-top:16px}.fga171-copy h1{font-size:clamp(26px,8.8vw,38px)}.fga171-benefits{gap:10px}.fga171-benefits>div{font-size:11px}.fga171-profile{padding:12px 14px}.fga171-visual{height:270px;transform:scale(.62);margin:-35px -45px}.fga171-values{padding:12px}.fga171-footer{padding:9px 12px;flex-direction:column;gap:5px;text-align:center}}

/* V2.42.174 — Accueil : carte profil compacte + fond clair dégradé */
body.fga-public-home.fga-home-v171{
  background:
    radial-gradient(circle at 88% 8%, rgba(255,132,0,.34) 0, rgba(255,132,0,.14) 22%, transparent 43%),
    radial-gradient(circle at 7% 88%, rgba(225,228,232,.88) 0, rgba(245,246,247,.72) 30%, transparent 55%),
    linear-gradient(135deg,#ffffff 0%,#f3f4f5 43%,#fff7ef 68%,#ff8a00 135%);
  background-attachment:fixed;
}
.fga171-profile{
  width:min(430px,100%);
  gap:11px;
  padding:10px 13px;
  border-radius:15px;
}
.fga171-profile-icon{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:12px;
  font-size:20px;
}
.fga171-profile span:nth-child(2){gap:2px}
.fga171-profile strong{font-size:15px;line-height:1.15}
.fga171-profile small{font-size:11px;line-height:1.3}
.fga171-profile>b{
  width:34px;
  height:34px;
  min-width:34px;
  font-size:15px;
}
@media(max-width:600px){
  body.fga-public-home.fga-home-v171{background-attachment:scroll}
  .fga171-profile{width:100%;padding:9px 11px;gap:9px;border-radius:13px}
  .fga171-profile-icon{width:40px;height:40px;min-width:40px;font-size:18px;border-radius:11px}
  .fga171-profile strong{font-size:14px}
  .fga171-profile small{font-size:10.5px}
  .fga171-profile>b{width:31px;height:31px;min-width:31px;font-size:14px}
}

/* V2.42.175 — accueil : icône flottante haute + loader institutionnel adapté. */
.fga-home-v171 .fga171-float.f1{top:-10px;}
.fga-home-v171 .fga-page-loader{
  background:
    radial-gradient(circle at 82% 12%,rgba(255,126,24,.32),transparent 31%),
    radial-gradient(circle at 12% 82%,rgba(221,224,226,.72),transparent 36%),
    linear-gradient(135deg,#ffffff 0%,#f2f3f4 48%,#fff7f0 72%,#ff8a28 135%);
}
@media (max-width:768px){.fga-home-v171 .fga171-float.f1{top:-4px;}}

/* V2.42.176 — accueil : remonter davantage l’icône conversation pour dégager le téléphone. */
.fga-home-v171 .fga171-float.f1{
  top:-30px;
  left:52%;
}
@media (max-width:900px){
  .fga-home-v171 .fga171-float.f1{top:-24px;}
}
@media (max-width:600px){
  .fga-home-v171 .fga171-float.f1{top:-18px;}
}

/* V2.42.177 — Position du texte circulaire du visuel accueil */
.fga-home-v171 .fga171-ringtext{bottom:-4px;}
@media (max-width:900px){.fga-home-v171 .fga171-ringtext{bottom:-6px;}}
@media (max-width:600px){.fga-home-v171 .fga171-ringtext{bottom:-8px;}}


/* V3.0.9 — Questionnaire public : respiration des réponses et icônes pilotées par la classification BDD. */
.wizard-card fieldset > legend,
.fga-main-fieldset > legend,
.hospital-question > legend{
  text-transform:capitalize!important;
}
.wizard-card fieldset > legend + .option-list-large,
.fga-main-fieldset > legend + .option-list-large,
.hospital-question > legend + .option-list-large{
  margin-top:30px!important;
}
.option-large .option-content{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.option-large .option-choice-icon{
  font-size:1.15em;
  line-height:1;
  flex:0 0 auto;
  color:var(--fga-green-dark);
}
.option-large:has(input:checked) .option-choice-icon{color:var(--fga-orange)}

/* V3.0.10 — Questionnaire public : espacement renforcé entre la question et ses choix. */
.wizard-card fieldset > legend + .option-list-large,
.fga-main-fieldset > legend + .option-list-large,
.hospital-question > legend + .option-list-large{
  margin-top:60px!important;
}
@media (max-width:700px){
  .wizard-card fieldset > legend + .option-list-large,
  .fga-main-fieldset > legend + .option-list-large,
  .hospital-question > legend + .option-list-large{
    margin-top:42px!important;
  }
}

/* V3.0.45 — icône Accueil publique plus lisible */
.site-header .btn .bi-house-fill{font-size:1.55rem;line-height:1}

/* V3.0.46 — navigation publique */
.public-back-row{max-width:100%;margin:0 0 12px;display:flex;justify-content:flex-start}
.public-back-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(10,104,83,.20);background:#fff;color:#075f4e;border-radius:10px;padding:9px 14px;font-weight:700;box-shadow:0 5px 16px rgba(7,95,78,.08);cursor:pointer}
.public-back-btn:hover{background:#f2fbf7}.public-back-btn i{font-size:1.05rem}

/* V3.0.57 — navigation publique : bouton Précédent dans le bas du cadre profil */
.wizard-card > .public-back-row{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);}
.public-back-btn{text-decoration:none;}

/* Smileys Bootstrap Icons de satisfaction : icônes homogènes dans tout le questionnaire. */
.option .option-choice-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--fga-green-dark)}
.option .option-choice-icon .fga-smiley-icon{display:inline-block;font-size:1.5em;line-height:1;vertical-align:middle}
.option:has(input:checked) .option-choice-icon{color:var(--fga-orange)}

/* Compteur de visites public : sans données personnelles */
.fga-visit-stats{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0;align-items:stretch}
.fga-visit-stats>div{display:flex;align-items:center;gap:12px;padding:12px 17px;border:1px solid rgba(255,255,255,.35);border-radius:15px;background:rgba(255,255,255,.13);backdrop-filter:blur(5px);color:inherit;min-width:160px}
.fga-visit-stats i{font-size:1.45rem;color:#ffbd59}
.fga-visit-stats span{display:flex;flex-direction:column;gap:2px}
.fga-visit-stats strong{font-size:1.5rem;line-height:1.1;font-weight:800}
.fga-visit-stats small{font-size:.79rem;line-height:1.3}
@media(max-width:520px){.fga-visit-stats>div{flex:1;min-width:135px;padding:10px}.fga-visit-stats strong{font-size:1.25rem}}
