.qfs-pro{max-width:820px;margin:0 auto;padding:8px 16px 48px;font-family:"League Spartan",Arial,sans-serif;color:#2a2a2f}
.qfs-pro *{box-sizing:border-box}
.qfs-pro-etapes{list-style:none;margin:0 0 28px;padding:0;display:flex;gap:4px;align-items:center;flex-wrap:nowrap}
.qfs-pro-etapes li{display:flex;align-items:center;flex:0 1 auto;min-width:0}
.qfs-pro-etapes li+li{flex:1 1 auto}
.qfs-pro-form{max-width:700px}
.qfs-pro-etapes li+li::before{content:"";flex:1 1 10px;min-width:8px;height:1px;background:#d6d6da;margin:0 8px}
.qfs-pro-etapes li.fait+li::before,.qfs-pro-etapes li.actif::before{background:#11a138}
.qfs-pro-etape{display:flex;align-items:center;gap:8px;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:#7a7a82;font-size:13px}
.qfs-pro-etape:disabled{cursor:default}
.qfs-pro-rond{display:inline-flex;width:30px;height:30px;border-radius:50%;border:1px solid #d6d6da;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:#fff;flex:none}
li.fait .qfs-pro-rond{background:#11a138;border-color:#11a138;color:#fff}
li.actif .qfs-pro-rond{background:#60d669;border-color:#11a138;color:#0c2e15}
li.actif .qfs-pro-etape,li.fait .qfs-pro-etape{color:#1c7a34;font-weight:600}
.qfs-pro-etape-nom{white-space:nowrap}
@media (max-width:640px){.qfs-pro-etape-nom{display:none}li.actif .qfs-pro-etape-nom{display:inline}}
.qfs-pro-titre{font-size:30px;font-weight:700;margin:0 0 6px !important;color:#1a1a1a}
.qfs-pro-oblig{font-size:12px;color:#7a7a82;margin:0 0 18px !important}
.qfs-pro-grille{display:flex;flex-wrap:wrap;gap:14px 20px}
.qfs-pro-champ{flex:1 1 100%;min-width:0}
.qfs-pro-champ.moitie{flex:1 1 calc(50% - 10px)}
@media (max-width:640px){.qfs-pro-champ.moitie{flex-basis:100%}}
.qfs-pro-label{display:block;font-size:13px;font-weight:700;color:#1a1a1a;margin:0 0 7px}
.qfs-pro-req{color:#e52421}
.qfs-pro-input{width:100%;height:42px;border:1px solid #e4e4e7;border-radius:10px;padding:0 14px;font:inherit;font-size:14px;background:#fff;color:#2a2a2f}
textarea.qfs-pro-input{height:auto;padding:12px 14px;resize:vertical}
.qfs-pro-input:focus,.qfs-pro-cc:focus{outline:2px solid #60d669;outline-offset:0;border-color:#11a138}
.qfs-pro-input::placeholder{color:#8c8c93}
.qfs-pro-aide{font-size:11.5px;color:#7a7a82;margin:6px 0 0 !important;line-height:1.4}
.qfs-pro-err{font-size:12px;color:#e52421;margin:5px 0 0 !important;min-height:0}
.qfs-pro-champ.erreur .qfs-pro-input,.qfs-pro-champ.erreur .qfs-pro-cc{border-color:#e52421}
.qfs-pro-tel{display:flex}
.qfs-pro-cc{flex:none;height:42px;width:96px;border:1px solid #e4e4e7;border-right:0;border-radius:10px 0 0 10px;background:#f6f6f7;font:inherit;font-size:13px;padding:0 6px}
.qfs-pro-tel .qfs-pro-input{border-radius:0 10px 10px 0}
.qfs-pro-cases{display:flex;flex-direction:column;gap:9px}
.qfs-pro-case{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.qfs-pro-case input,.qfs-pro-type input{width:18px;height:18px;accent-color:#11a138;flex:none}
.qfs-pro-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:640px){.qfs-pro-types{grid-template-columns:1fr}}
.qfs-pro-type{display:flex;flex-direction:column;gap:6px;border:1px solid #e4e4e7;border-radius:14px;padding:16px;background:#fff;cursor:pointer}
.qfs-pro-type.on{border:2px solid #11a138;background:#eaf7ec;padding:15px}
.qfs-pro-type-tete{display:flex;align-items:center;gap:9px}
.qfs-pro-type-lettre{display:inline-flex;min-width:20px;height:20px;border-radius:6px;background:#eceef0;font-size:11px;font-weight:700;align-items:center;justify-content:center;padding:0 5px}
.qfs-pro-type.on .qfs-pro-type-lettre{background:#11a138;color:#fff}
.qfs-pro-type-titre{font-size:17px;font-weight:700;color:#1a1a1a}
.qfs-pro-type-desc{font-size:13.5px;color:#2a2a2f;line-height:1.35}
.qfs-pro-type-hint{font-size:11.5px;color:#7a7a82;line-height:1.35}
.qfs-pro-rubriques{display:flex;flex-direction:column;gap:9px}
.qfs-pro-groupe{font-size:12px;font-weight:700;letter-spacing:.04em;color:#2a2a2f;margin:10px 0 0 !important}
.qfs-pro-note{background:#fff7e3;border:1px solid #f9b233;border-radius:12px;padding:14px 16px;font-size:14px}
.qfs-pro-note p{margin:0 !important}
.qfs-pro-pied{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:34px}
.qfs-pro-pied-g{font-size:12px;color:#7a7a82;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.qfs-pro-lien,.qfs-pro-retour{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:700;color:#11a138;cursor:pointer;text-decoration:underline}
.qfs-pro-retour{margin-right:10px}
.qfs-pro-suivant{border:0;border-radius:999px;background:#60d669;color:#0c2e15;font:inherit;font-weight:700;font-size:15px;padding:14px 28px;cursor:pointer}
.qfs-pro-suivant:hover{background:#4fc75a}
.qfs-pro-reprise-msg{margin-top:20px;background:#eaf7ec;border:1px solid #cdeccf;border-radius:12px;padding:14px 16px;font-size:14px}
.qfs-pro-reprise-msg p{margin:0 0 8px !important}

.qfs-pro-form.large{max-width:760px}
.qfs-pro-champ.cache{display:none !important}
.qfs-pro-champ.tiers{flex:1 1 calc(33.333% - 14px)}
@media (max-width:640px){.qfs-pro-champ.tiers{flex-basis:100%}}
.qfs-pro-intro{margin:0 0 14px !important;font-size:13.5px;color:#55555c;flex:1 1 100%}
.qfs-pro-sstitre-section{flex:1 1 100%;margin:6px 0 0 !important;font-size:19px;font-weight:700;color:#1a1a1a}
.qfs-pro-soustitre{flex:1 1 100%;font-weight:700;margin:6px 0 0 !important}
.qfs-pro-onglets{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 100%;margin-bottom:6px}
.qfs-pro-onglet{border:1px solid #e4e4e7;background:#fff;border-radius:10px;padding:9px 14px;font:inherit;font-size:13px;cursor:pointer;color:#55555c}
.qfs-pro-onglet.on{border:1.5px solid #11a138;background:#eaf7ec;color:#0c2e15}
.qfs-pro-note strong{display:block;font-size:11px;letter-spacing:.06em;color:#8a5a00;margin-bottom:4px}
.qfs-pro-note.bleu{background:#eaf3fb;border-color:#b5d4f4}
.qfs-pro-note.bleu strong{color:#134d71;font-size:13px;letter-spacing:0}
.qfs-pro-note{flex:1 1 100%}
.qfs-pro-cartes{display:flex;flex-direction:column;gap:16px;flex:1 1 100%}
.qfs-pro-carte{background:#f6f6f7;border:1px solid #e4e4e7;border-radius:16px;padding:18px}
.qfs-pro-carte.mince{background:#fff}
.qfs-pro-carte-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.qfs-pro-carte-tete strong{font-size:17px;color:#1a1a1a}
.qfs-pro-suppr{border:0;background:none;font-size:20px;line-height:1;color:#7a7a82;cursor:pointer;padding:0 6px}
.qfs-pro-suppr:hover{color:#e52421}
.qfs-pro-ajout{border:0;background:none;padding:6px 0;font:inherit;font-size:13px;font-weight:700;color:#11a138;cursor:pointer;text-align:left;margin-top:4px}
.qfs-pro-champ>.qfs-pro-cartes{margin-top:8px}
.qfs-pro-rows{display:flex;flex-direction:column;gap:8px}
.qfs-pro-row{display:flex;gap:8px;align-items:center}
.qfs-pro-row.entete span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7a7a82}
.qfs-pro-row>span{min-width:0}
.qfs-pro-row .qfs-pro-input{height:38px;padding:0 10px;font-size:13px}
.qfs-pro-row .x{flex:0 0 26px}
@media (max-width:640px){.qfs-pro-row{flex-wrap:wrap}.qfs-pro-row>span{flex:1 1 45% !important}.qfs-pro-row.entete{display:none}}
.qfs-pro-select{appearance:auto}
.qfs-pro-autre{margin-top:8px}
.qfs-pro-cases.ligne{flex-direction:row;flex-wrap:wrap;gap:8px 18px}
.qfs-pro-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:110px;border:1.5px dashed #c9c9ce;border-radius:12px;background:#fff;color:#7a7a82;font-size:13px;cursor:pointer;text-align:center;padding:12px;position:relative}
.qfs-pro-photo.survol{border-color:#11a138;background:#eaf7ec}
.qfs-pro-photo small{font-size:11px}
.qfs-pro-photo img{max-height:140px;max-width:100%;border-radius:8px}
.qfs-pro-photo .nom{font-size:12px;color:#2a2a2f}
.qfs-pro-photo .chg{font-size:12px;color:#11a138;font-weight:700}
.qfs-pro-file{position:absolute;inset:0;opacity:0;cursor:pointer}
.qfs-pro-optionsprix{display:flex;flex-direction:column;gap:10px}
.qfs-pro-optionprix{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.qfs-pro-prix{display:flex;align-items:center;gap:8px;font-size:12px;color:#7a7a82}
.qfs-pro-prix .qfs-pro-input{width:130px;height:38px}

.qfs-pro-bandeau{flex:1 1 100%;background:#eaf7ec;border-radius:12px;padding:13px 16px;font-size:14px;color:#1c7a34;font-weight:600}
.qfs-pro-boite{background:#f6f6f7;border:1px solid #e4e4e7;border-radius:14px;padding:16px}
.qfs-pro-boite .qfs-pro-input{margin:8px 0 6px}
.qfs-pro-champ>.qfs-pro-boite{flex:1 1 100%}
.qfs-pro-annul{flex:1 1 100%;background:#eaf7ec;border:1px solid #cdeccf;border-radius:14px;padding:16px;font-size:14px}
.qfs-pro-annul strong{font-size:15px;display:block;margin-bottom:4px}
.qfs-pro-annul p{margin:0 0 8px !important}
.qfs-pro-annul-ligne{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border-radius:10px;padding:9px 12px;margin-bottom:6px;font-size:13px}
.qfs-pro-annul-ligne span{color:#1c7a34}
.qfs-pro-lien-txt{font-size:12px;font-weight:700;color:#11a138 !important;text-decoration:underline}
.qfs-pro-liens-cond{flex:1 1 100%;font-size:12.5px;color:#55555c;margin:0 !important}
.qfs-pro-liens-cond a{color:#11a138 !important;font-weight:700;text-decoration:underline}
.qfs-pro-merci{background:#eaf7ec;border:1px solid #cdeccf;border-radius:16px;padding:28px}
.qfs-pro-champ.moitie .qfs-pro-photo,.qfs-pro-champ .qfs-pro-photo{min-height:96px}

.qfs-pro-televendeur{background:#134d71;color:#fff;border-radius:10px;padding:9px 14px;font-size:12.5px;margin:0 0 18px}
.qfs-pro-vcarte{background:#f6f6f7;border:1px solid #e4e4e7;border-radius:16px;padding:16px 18px;margin:0 0 14px}
.qfs-pro-vtete{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.qfs-pro-vtete strong{font-size:16px;color:#1a1a1a}
.qfs-pro-vtxt{margin:0 !important;font-size:13.5px;color:#2a2a2f}
.qfs-pro-vsous{margin:10px 0 4px !important;font-size:13px;font-weight:700}
.qfs-pro-vchamp b{font-size:13px}.qfs-pro-vchamp p{margin:2px 0 0 !important;font-size:13px}
.qfs-pro-fixe{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e4e4e7;border-radius:10px;padding:9px 12px;margin-top:8px;font-size:13px}
.qfs-pro-fixe>div{display:flex;align-items:center;gap:10px}
.qfs-pro-lock{font-size:11px;color:#7a7a82}
.qfs-pro-lock::before{content:"🔒 "}
.qfs-pro-form .qfs-pro-grille+.qfs-pro-pied{margin-top:24px}

/* ===== Alignement Figma (03/10) : Salient écrasait les champs et le bouton ===== */
body .qfs-pro{max-width:none;padding:8px 0 48px}
body .qfs-pro .qfs-pro-etapes{max-width:1200px;gap:0}
body .qfs-pro .qfs-pro-form{max-width:780px;margin:0}
body .qfs-pro .qfs-pro-rond{width:32px;height:32px;font-size:14px}
body .qfs-pro .qfs-pro-etape{font-size:14px}
body .qfs-pro li.actif .qfs-pro-etape{color:#2a2a2f}
body .qfs-pro .qfs-pro-etapes li+li::before{height:2px;background:#e4e4e7}
body .qfs-pro .qfs-pro-titre{font-size:26px;font-weight:700;color:#2a2a2f}
body .qfs-pro .qfs-pro-label{font-size:14px;font-weight:600;color:#2a2a2f}
body .qfs-pro input.qfs-pro-input,body .qfs-pro textarea.qfs-pro-input{border:1px solid #e4e4e7!important;border-radius:10px!important;padding:0 14px!important;font-size:15px!important;line-height:normal!important;color:#2a2a2f!important;background:#fff!important;height:42px!important;margin:0!important;box-shadow:none!important;font-family:inherit!important}
body .qfs-pro textarea.qfs-pro-input{padding:12px 14px!important;height:auto!important}
body .qfs-pro input.qfs-pro-input::placeholder,body .qfs-pro textarea.qfs-pro-input::placeholder{color:#7a7a82!important;opacity:1!important}
body .qfs-pro .qfs-pro-tel input.qfs-pro-input{border-radius:0 10px 10px 0!important}
body .qfs-pro .qfs-pro-row input.qfs-pro-input{height:38px!important;padding:0 10px!important;font-size:13px!important}
body .qfs-pro .qfs-pro-prix input.qfs-pro-input{width:130px!important;height:38px!important}
body .qfs-pro select.qfs-pro-input,body .qfs-pro select.qfs-pro-cc{font-size:15px!important;color:#2a2a2f!important;border:1px solid #e4e4e7!important;border-radius:10px!important;height:42px!important;background-color:#fff}
body .qfs-pro button.qfs-pro-suivant{border-radius:999px!important;background:#60d669!important;color:#0c2e15!important;padding:16px 32px!important;font-size:16px!important;font-weight:600!important;line-height:normal!important;border:0!important;height:auto!important;box-shadow:none!important}
body .qfs-pro .qfs-pro-pied-g{font-size:12px}

@media (max-width:640px){body .qfs-pro .qfs-pro-row>span[data-l]::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;color:#55555c;margin-bottom:4px}}

/* Mobile (Figma 5355:367 etc.) : « Étape N sur 5 · Nom » + barre de progression au lieu des pastilles. */
.qfs-pro-prog{display:none}
@media (max-width:767px){
.qfs-pro-etapes li:not(.qfs-pro-prog){display:none!important}
.qfs-pro-etapes li.qfs-pro-prog{display:block!important;width:100%;flex:1 1 100%}
.qfs-pro-etapes li.qfs-pro-prog::before{display:none!important}
.qfs-pro-prog-txt{margin:0 0 8px!important;padding:0!important;font:600 14px/1.3 "League Spartan",Arial,sans-serif;color:#2a2a2f}
.qfs-pro-prog-piste{display:block;height:6px;border-radius:999px;background:#e4e4e7;overflow:hidden}
.qfs-pro-prog-piste i{display:block;height:100%;border-radius:999px;background:#11a138}
.qfs-pro p,.qfs-pro .qfs-pro-intro{line-height:1.35!important}
}

/* ===== Étape 3 / composants communs (Figma 5360:367 et suivants) ===== */
/* La ligne « Étape N sur 5 » n'existe qu'en mobile */
.qfs-pro-etapes li.qfs-pro-prog{display:none}
@media (max-width:767px){.qfs-pro-etapes li.qfs-pro-prog{display:block!important}}
/* Pas de légende « * indique les champs obligatoires » à l'étape 3 */
body .qfs-pro .qfs-pro-form:has(.qfs-pro-cartes) .qfs-pro-oblig{display:none}
/* Intro et titres de section */
body .qfs-pro .qfs-pro-intro{font-size:15px;color:#55555c;line-height:normal!important;margin:0!important}
body .qfs-pro .qfs-pro-sstitre-section{font-size:20px;font-weight:700;color:#2a2a2f;line-height:normal!important;margin:0!important}
body .qfs-pro .qfs-pro-soustitre{font-size:14px;font-weight:700;color:#2a2a2f;margin:0!important}
/* Encart « À retenir » */
body .qfs-pro .qfs-pro-note{background:#fff6e3;border:1px solid #f9b233;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:6px}
body .qfs-pro .qfs-pro-note strong{font-size:11px;font-weight:700;letter-spacing:0;color:#9a6a00;margin:0;line-height:normal}
body .qfs-pro .qfs-pro-note p{font-size:14px;color:#2a2a2f;line-height:normal!important;margin:0!important}
/* Carte de prestation */
body .qfs-pro .qfs-pro-carte{background:#f6f6f7;border:1px solid #e4e4e7;border-radius:14px;padding:20px}
body .qfs-pro .qfs-pro-carte>.qfs-pro-grille{gap:14px 20px}
body .qfs-pro .qfs-pro-carte-tete{margin:0 0 14px}
body .qfs-pro .qfs-pro-carte-tete strong{font-size:18px;font-weight:700;color:#2a2a2f}
body .qfs-pro .qfs-pro-cartes{gap:16px}
/* Libellé et saisie de texte */
body .qfs-pro .qfs-pro-label{margin:0 0 8px;line-height:normal}
body .qfs-pro input.qfs-pro-input,body .qfs-pro input.qfs-pro-input[type=number]{height:48px!important;padding:0 16px!important}
body .qfs-pro .qfs-pro-champ>.qfs-pro-aide{font-size:12px;color:#7a7a82;line-height:normal;margin:8px 0 0!important}
/* Listes déroulantes : libellé en petites capitales, boîte à chevron (Champ / Sélecteur) */
body .qfs-pro .qfs-pro-champ.sel>.qfs-pro-label{font-size:10px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:#7a7a82;margin:0 0 7px}
body .qfs-pro .qfs-pro-champ.sel>.qfs-pro-label .qfs-pro-req{display:none}
body .qfs-pro select.qfs-pro-input{-webkit-appearance:none;appearance:none;height:46px!important;padding:0 36px 0 14px!important;font-size:15px!important;font-weight:500;color:#2a2a2f!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%232a2a2f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center!important}
body .qfs-pro .qfs-pro-champ.sel>.qfs-pro-aide{font-size:11px;line-height:16px;margin:7px 0 0!important}
/* Cases à cocher et boutons radio : carré de 20 px (Ligne / Case à cocher) */
body .qfs-pro .qfs-pro-case{gap:10px;font-size:15px;color:#2a2a2f}
body .qfs-pro .qfs-pro-case input[type=checkbox],body .qfs-pro .qfs-pro-case input[type=radio],body .qfs-pro .qfs-pro-type input[type=checkbox]{-webkit-appearance:none;appearance:none;width:20px;height:20px;border:1.5px solid #7a7a82;border-radius:4px;background:#fff;flex:none;margin:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative}
body .qfs-pro .qfs-pro-case input:checked,body .qfs-pro .qfs-pro-type input:checked{background:#11a138;border-color:#11a138}
body .qfs-pro .qfs-pro-case input:checked::after,body .qfs-pro .qfs-pro-type input:checked::after{content:"✓";color:#fff;font:700 14px/1 "League Spartan",Arial,sans-serif}
body .qfs-pro .qfs-pro-champ:has(>.qfs-pro-cases)>.qfs-pro-label{font-weight:700}
body .qfs-pro .qfs-pro-cases{gap:8px}
/* Tableaux de tarifs */
body .qfs-pro .qfs-pro-rows{gap:10px}
body .qfs-pro .qfs-pro-row{gap:12px}
body .qfs-pro .qfs-pro-row.entete span{font-size:11px;font-weight:600;letter-spacing:0;color:#7a7a82;text-transform:uppercase}
body .qfs-pro .qfs-pro-row input.qfs-pro-input,body .qfs-pro .qfs-pro-row select.qfs-pro-input{height:44px!important;padding:0 14px!important;font-size:14px!important;font-weight:400}
body .qfs-pro .qfs-pro-row select.qfs-pro-input{padding-right:32px!important}
body .qfs-pro .qfs-pro-row input.qfs-pro-input::placeholder{font-size:14px}
body .qfs-pro .qfs-pro-row .x{flex:0 0 14px}
body .qfs-pro .qfs-pro-suppr{font-size:14px;color:#7a7a82;padding:0}
body .qfs-pro .qfs-pro-ajout{font-size:14px;font-weight:700;color:#11a138;padding:0;margin:0}
body .qfs-pro .qfs-pro-champ>.qfs-pro-label+.qfs-pro-aide{margin:0 0 4px!important}

/* Champs empilés, liste à choix multiples, titres de groupe, encart bleu (coûts officiels) */
body .qfs-pro .qfs-pro-champ.pile{display:flex;flex-direction:column;gap:14px}
body .qfs-pro .qfs-pro-champ.sel>.qfs-pro-label .qfs-pro-req{display:inline;color:#e52421}
.qfs-pro-menu{position:relative}
.qfs-pro-menu-btn{width:100%;height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e4e4e7;border-radius:10px;background:#fff;padding:0 14px;font:500 15px/1.2 "League Spartan",Arial,sans-serif;color:#2a2a2f;text-align:left;cursor:pointer;box-shadow:none}
.qfs-pro-menu-btn .t{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.qfs-pro-menu-btn.vide .t{color:#7a7a82;font-weight:400}
.qfs-pro-menu-btn .ch{flex:none;width:11px;height:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%232a2a2f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center}
body .qfs-pro .qfs-pro-menu-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid #e4e4e7;border-radius:12px;box-shadow:0 12px 30px rgba(18,18,18,.12);padding:14px;display:flex;flex-direction:column;flex-wrap:nowrap;gap:12px;max-height:300px;overflow:auto}
.qfs-pro-menu-panel[hidden]{display:none!important}
body .qfs-pro .qfs-pro-menu-panel .qfs-pro-autre{margin:0}
body .qfs-pro .qfs-pro-groupe-titre{margin:0 0 8px!important;font-size:14px;font-weight:700;color:#2a2a2f;line-height:normal}
body .qfs-pro .qfs-pro-carte.bleu{background:#eef4f8;border:0;border-radius:14px;padding:16px}
body .qfs-pro .qfs-pro-carte.bleu .qfs-pro-carte-tete{margin:0 0 12px}
body .qfs-pro .qfs-pro-carte.bleu .qfs-pro-carte-tete strong{font-size:15px;color:#134d71}
body .qfs-pro .qfs-pro-carte-intro{margin:0 0 12px!important;font-size:13px;color:#134d71;line-height:normal!important}
body .qfs-pro .qfs-pro-carte.bleu>.qfs-pro-grille{gap:12px}
/* Stepper desktop : pas de trait avant la 1re pastille, traits verts jusqu'à l'étape en cours */
body .qfs-pro .qfs-pro-etapes li.qfs-pro-prog+li::before{display:none}
body .qfs-pro .qfs-pro-etapes li.fait+li::before,body .qfs-pro .qfs-pro-etapes li.actif::before{background:#11a138}

/* Rythme d'une formation (jours cochés + horaires par jour) */
body .qfs-pro .qfs-pro-rythme{display:flex;flex-direction:column;gap:12px}
body .qfs-pro .qfs-pro-rythme .qfs-pro-cases.ligne{gap:10px 18px}
body .qfs-pro .qfs-pro-ryt-rapide{display:flex;gap:18px;flex-wrap:wrap}
body .qfs-pro .qfs-pro-ryt-rapide .qfs-pro-lien{font-size:12px;font-weight:600;text-decoration:none}
body .qfs-pro .qfs-pro-ryt-ligne{display:flex;gap:12px;align-items:flex-end}
body .qfs-pro .qfs-pro-ryt-ligne .qfs-pro-champ{flex:1 1 0;min-width:0}
body .qfs-pro .qfs-pro-ryt-ligne .qfs-pro-ajout{white-space:nowrap;font-size:12px;margin:0 0 14px;flex:none}
body .qfs-pro .qfs-pro-ryt-ligne .qfs-pro-suppr{margin:0 0 14px;flex:none}
body .qfs-pro .qfs-pro-ryt-vide{flex:0 0 0}
@media (max-width:640px){body .qfs-pro .qfs-pro-ryt-ligne{flex-wrap:wrap}body .qfs-pro .qfs-pro-ryt-ligne .qfs-pro-champ{flex:1 1 28%}body .qfs-pro .qfs-pro-ryt-ligne .qfs-pro-ajout{flex:1 1 100%;margin:0;order:5}body .qfs-pro .qfs-pro-ryt-ligne .qfs-pro-suppr{order:4}}
body .qfs-pro .qfs-pro-soustitre{margin:0!important}

/* Onglets des types (étape 3) et textes d'aide libres */
body .qfs-pro .qfs-pro-onglet{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border-radius:10px;border:1px solid #e4e4e7;background:#fff;color:#2a2a2f;text-align:left}
body .qfs-pro .qfs-pro-onglet b{font-size:13px;font-weight:700;line-height:1.2}
body .qfs-pro .qfs-pro-onglet small{font-size:11px;line-height:1.2;color:#7a7a82}
body .qfs-pro .qfs-pro-onglet.on{border:1.5px solid #11a138;background:#eaf7ec}
body .qfs-pro .qfs-pro-onglet.on small{color:#1c7a34}
body .qfs-pro .qfs-pro-texte-aide{flex:1 1 100%;margin:0!important;font-size:12px;color:#7a7a82;line-height:normal!important}
body .qfs-pro .qfs-pro-row.entete span{line-height:1.2}

body .qfs-pro .qfs-pro-carte.mince{background:#fff;border:1px solid #e4e4e7;border-radius:14px;padding:16px}
body .qfs-pro .qfs-pro-carte.mince .qfs-pro-carte-tete strong{font-size:15px}
body .qfs-pro .qfs-pro-champ>.qfs-pro-label+.qfs-pro-cartes{margin-top:2px}

/* Cartes de type (étape 2) — Figma 5353:1042 : case 18 px verte avec ✓, titre 18 px #2a2a2f, texte 14 px #55555c, aide 12 px, padding 18/20 */
body .qfs-pro .qfs-pro-type{padding:18px 20px}
body .qfs-pro .qfs-pro-type.on{padding:17px 19px}
body .qfs-pro .qfs-pro-type input[type=checkbox]{width:18px;height:18px}
body .qfs-pro .qfs-pro-type-titre{font-size:18px;color:#2a2a2f}
body .qfs-pro .qfs-pro-type-desc{font-size:14px;color:#55555c}
body .qfs-pro .qfs-pro-type-hint{font-size:12px}
