/* Mission 116 — Fluent Forms uniquement. Valeurs TANDT-DESIGN-SYSTEM.md.
   Les styles locaux des blocs et formulaires ont été retirés à leur source. */
body .fluentform {font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;color:#17212B;}
body .fluentform .frm-fluent-form,body .fluentform .frm-fluent-form * {box-sizing:border-box;}
body .fluentform .frm-fluent-form {margin:0;padding:24px;background:#FFFFFF;color:#17212B;border:0;border-radius:16px;box-shadow:none;min-width:0;}
/* Les trois pages refondues fournissent déjà leur panneau blanc et son padding. */
body :is(.m113-form-panel,.tct-form-panel,.rr-form) .fluentform .frm-fluent-form {padding:0;border-radius:0;}
body .fluentform .frm-fluent-form fieldset {padding:0;margin:0;border:0;min-width:0;background:transparent;box-shadow:none;}
body .fluentform .frm-fluent-form .ff-el-group {margin-bottom:24px;}
body .fluentform .frm-fluent-form .ff-el-input--label {margin-bottom:8px;}
body .fluentform .frm-fluent-form .ff-el-input--label label {color:#17212B;font:400 16px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
body .fluentform .frm-fluent-form .ff-el-input--label.ff-el-is-required label::after,body .fluentform .text-danger {color:#B42318;}
body .fluentform .frm-fluent-form .ff-el-form-control {width:100%;max-width:100%;min-height:48px;height:48px;padding:8px 12px;border:1px solid #C8CECB;border-radius:8px;background:#FFFFFF;color:#17212B;box-shadow:none;font:400 16px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
body .fluentform .frm-fluent-form textarea.ff-el-form-control {height:128px;min-height:128px;resize:vertical;}
body .fluentform .frm-fluent-form .ff-el-form-control::placeholder {color:#4E5D67;opacity:1;}
body .fluentform .frm-fluent-form .ff-t-cell {min-width:0;}
body .fluentform .frm-fluent-form .ff-el-form-check {display:block;margin:0 0 8px;padding:0;}
body .fluentform .frm-fluent-form .ff-el-form-check-label {display:flex;align-items:center;gap:12px;min-height:48px;margin:0;padding:8px 12px;border:1px solid #C8CECB;border-radius:8px;background:#FFFFFF;color:#17212B;font:400 16px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;cursor:pointer;}
body .fluentform .frm-fluent-form .ff-el-form-check-label > span {padding:0;min-height:0;min-width:0;}
body .fluentform .frm-fluent-form .ff-el-form-check-label:has(input:checked) {background:#E7ECEB;border-color:#42656F;}
body .fluentform .frm-fluent-form .ff-el-form-check-label input {width:24px;height:24px;min-width:24px;flex:0 0 24px;margin:0;position:static;accent-color:#172F46;}
body .fluentform .frm-fluent-form .tandt-ff-acceptance .ff-el-form-check-label {width:100%;}
body .fluentform .frm-fluent-form .ff_list_3col > .ff-el-input--content {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
body .fluentform .frm-fluent-form .ff_list_3col .ff-el-form-check {margin:0;}
body .fluentform .frm-fluent-form .ff_list_3col .ff-el-form-check-label {height:100%;}
/* Choix natifs en boutons : préserver leur interaction et leur état sélectionné. */
body .fluentform .frm-fluent-form .ff_list_buttons .ff-el-form-check {display:inline-flex;}
body .fluentform .frm-fluent-form .ff_list_buttons .ff-el-form-check-label {padding:0;gap:0;border:0;background:transparent;}
body .fluentform .frm-fluent-form .ff_list_buttons .ff-el-form-check-label > span {display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid #C8CECB;border-radius:8px;color:#17212B;background:#FFFFFF;box-shadow:none;font:400 16px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
body .fluentform .frm-fluent-form .ff_list_buttons .ff-el-form-check.ff_item_selected label > span {background:#172F46;border-color:#172F46;color:#FFFFFF;box-shadow:none;}
body .fluentform .frm-fluent-form .ff-btn-submit {display:inline-flex;align-items:center;justify-content:center;min-height:48px;height:auto;max-width:100%;padding:12px 24px;border:0;border-radius:8px;background:#B9470D;color:#FFFFFF;font:600 15px/1.3 Montserrat,sans-serif;box-shadow:none;white-space:normal;cursor:pointer;}
body .fluentform .frm-fluent-form .ff-btn-submit:hover {background:#913300;color:#FFFFFF;box-shadow:none;}
body .fluentform .frm-fluent-form .ff-btn-submit {width:100%;}
body .fluentform .frm-fluent-form :is(input,textarea,select,button,a):focus-visible,body .fluentform .ff-el-form-check-label:focus-within {outline:3px solid #0067B1;outline-offset:3px;box-shadow:none;}
body .fluentform .frm-fluent-form .ff-el-form-control:focus {border-color:#0067B1;box-shadow:none;}
body .fluentform .frm-fluent-form .ff-el-help-message {font:400 14px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#4E5D67;margin-top:8px;}
body .fluentform .frm-fluent-form .ff-el-is-error .ff-el-form-control,body .fluentform .ff-el-is-error .ff-el-form-check-label {border-color:#B42318;}
body .fluentform .frm-fluent-form .error,body .fluentform .ff-el-is-error .error {color:#B42318;font-size:14px;line-height:1.5;}
/* La confirmation native est insérée après le formulaire, pas à l’intérieur. */
body .fluentform .ff-message-success {color:#26734D;background:#FFFFFF;border:1px solid #26734D;border-radius:8px;padding:16px;box-shadow:none;text-align:left;font:400 16px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
body .fluentform .ff-message-success p {margin:0;color:inherit;font:inherit;}
body .fluentform .ff-message-success p + p {margin-top:8px;}
body .fluentform .ff-message-success strong {font-weight:700;color:inherit;}
body .fluentform .frm-fluent-form .ff_file_upload_holder {display:block;padding:0;border:0;background:transparent;}
body .fluentform .frm-fluent-form .ff_upload_btn {display:block;min-height:48px;padding:16px;border:1px solid #C8CECB;border-radius:8px;background:#F3F1ED;color:#17212B;font:400 16px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
body .fluentform .frm-fluent-form .ff_upload_btn:hover {background:#E7ECEB;}
body .fluentform .frm-fluent-form .ff_file_upload_holder:focus-within {outline:3px solid #0067B1;outline-offset:3px;}
body .fluentform .frm-fluent-form :is(input,textarea,select,button):disabled {opacity:.6;cursor:not-allowed;}
@media(max-width:689.98px){
body .fluentform .frm-fluent-form .ff-t-container {display:block;}
body .fluentform .frm-fluent-form .ff-t-cell {width:100%;padding:0;}
body .fluentform .frm-fluent-form .ff_list_3col > .ff-el-input--content {grid-template-columns:minmax(0,1fr);}
body .fluentform .frm-fluent-form .ff_list_buttons .ff-el-input--content {display:flex;flex-wrap:wrap;gap:8px;}
body .fluentform .frm-fluent-form .ff_list_buttons .ff-el-form-check {margin:0;}
body .fluentform .frm-fluent-form .ff_list_buttons .ff-el-form-check-label > span {padding:12px 16px;}
}

/* Héritage de conteneurs historiques : texte explicite dans les composants du formulaire. */
body .fluentform .frm-fluent-form .ff-el-form-check-label > span {color:inherit;font:inherit;}
body .fluentform .frm-fluent-form .ff-dropzone .ff_upload_btn.ff-btn {color:#17212B;background:#F3F1ED;border:1px solid #C8CECB;border-radius:8px;min-height:48px;padding:16px;font:400 16px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
body .fluentform .frm-fluent-form .ff-dropzone .ff_upload_btn.ff-btn:hover {background:#E7ECEB;}
body .fluentform .frm-fluent-form .ff-el-section-title {font:600 18px/1.4 Montserrat,sans-serif;color:#172F46;margin:0 0 12px;}
body .fluentform .frm-fluent-form .ff-el-section-break > div {color:#4E5D67;font:400 14px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
@media(max-width:689.98px){body .fluentform .frm-fluent-form .ff-el-section-title {font-size:17px;}}

/* M116 - Type d'installation du Devis uniquement : neutraliser les largeurs natives de colonnes. */
body .fluentform .frm-fluent-form[data-form_id="3"] .ff-el-group.ff_list_3col:has(input[data-name="checkbox"]) .ff-el-form-check {width:100%;min-width:0;padding:0;margin:0;}
body .fluentform .frm-fluent-form[data-form_id="3"] .ff-el-group.ff_list_3col:has(input[data-name="checkbox"]) .ff-el-form-check-label {width:100%;padding:12px 16px;white-space:normal;}

/* M116 - Aides natives Fluent Forms : bouton clavier/tactile, texte depliable. */
body .fluentform .frm-fluent-form .tandt-ff-help-toggle {display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:44px;height:44px;min-height:44px;min-width:44px;padding:0;margin:0 0 0 4px;border:0;border-radius:8px;background:transparent;color:#245B78;box-shadow:none;cursor:pointer;}
body .fluentform .frm-fluent-form .tandt-ff-help-toggle svg {width:16px;height:16px;fill:currentColor;}
body .fluentform .frm-fluent-form .tandt-ff-help-toggle:hover {background:#E7ECEB;color:#245B78;}
body .tandt-ff-help-panel {position:fixed;z-index:100000;display:block;box-sizing:border-box;width:320px;max-width:calc(100vw - 32px);margin:0;padding:12px 16px;border:1px solid #C8CECB;border-radius:8px;background:#F3F1ED;color:#17212B;font:400 14px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;text-align:left;white-space:normal;overflow-wrap:anywhere;overflow-y:auto;}
body .tandt-ff-help-panel[hidden] {display:none;}

/* M116 : aligner les titres voisins avec une aide, sans espacer les champs mobiles. */
@media (min-width:690px) {
body .fluentform .frm-fluent-form .ff-column-container:has(> .ff-t-cell + .ff-t-cell):has(.tandt-ff-help-toggle) > .ff-t-cell > .ff-el-group > .ff-el-input--label {
  display:flex;align-items:center;flex-wrap:wrap;min-height:44px;
}
body .fluentform .frm-fluent-form .ff-column-container:has(> .ff-t-cell + .ff-t-cell):has(.tandt-ff-help-toggle) > .ff-t-cell > .ff-el-group > .ff-el-input--label > label {margin-bottom:0;}
}
