/* Étape 08 · supports de la marque (greffe V2) */
#mockupsStudio{margin-top:18px}
.mk-logo{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}
.mk-apercu{width:120px;height:120px;flex:none;display:grid;place-items:center;border:1px dashed #b9b0d6;border-radius:14px;text-align:center;font-size:12px;color:var(--muted);background-color:#fff;background-image:linear-gradient(45deg,#eeeaf6 25%,transparent 25%,transparent 75%,#eeeaf6 75%),linear-gradient(45deg,#eeeaf6 25%,transparent 25%,transparent 75%,#eeeaf6 75%);background-size:16px 16px;background-position:0 0,8px 8px}
.mk-apercu img{max-width:108px;max-height:108px}
.mk-apercu span{background:#fff;padding:4px 6px;border-radius:6px}
.mk-logo-texte{flex:1;min-width:220px;display:flex;flex-direction:column;gap:6px}
.mk-logo-texte>strong{color:var(--ink);font-size:16px}
.mk-logo-texte>span{color:var(--muted)}
.mk-coche{display:flex;align-items:center;gap:8px;min-height:36px;color:var(--ink);font-size:14px}
.mk-coche input{width:20px;height:20px}
.mk-coche select{min-height:38px;padding:4px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}
#mockupsStudio .mk-logo-texte .toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}
#mockupsStudio .mk-logo-texte .toolbar>*{flex:none;width:auto}
#mockupsStudio .mk-coche{justify-content:flex-start}
#mockupsStudio .mk-coche input[type=checkbox]{flex:none;width:20px;height:20px;margin:0}
#mockupsStudio .mk-coche select{flex:none;width:auto}
.mk-coordonnees{margin:6px 0 14px}
.mk-barre{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 14px}
.mk-filtres{display:flex;gap:8px;flex-wrap:wrap}
.mk-filtres button{min-height:40px;padding:6px 16px;border:1.5px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}
.mk-filtres button[aria-pressed=true]{border-color:var(--plum);background:#fff;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}
.mk-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.mk-carte{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 18px #4b2a7a14}
.mk-carte[hidden]{display:none}
.mk-vue{display:block;width:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none;cursor:zoom-in}
.mk-vue svg,.mk-zoom svg{display:block;width:100%;height:auto}
.mk-pied{display:flex;align-items:center;gap:8px;padding:10px 12px}
.mk-pied>div,.mk-pied>strong{margin-right:auto}
.mk-pied strong{display:block;color:var(--ink);font-size:14px}
.mk-pied small{color:var(--muted);font-size:12px}
.mk-pied button{min-height:40px;white-space:nowrap}
.mk-zoom{width:min(1100px,96vw);max-height:94vh;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fff}
.mk-zoom::backdrop{background:#191a4bb3}
.mk-zoom svg{max-height:76vh}
@media(max-width:760px){.mk-grille{grid-template-columns:1fr 1fr;gap:10px}.mk-pied{flex-wrap:wrap;padding:8px}.mk-barre .primary{width:100%}.mk-apercu{width:96px;height:96px}.mk-apercu img{max-width:86px;max-height:86px}}
@media(max-width:420px){.mk-grille{grid-template-columns:1fr}}
@media print{#mockupsStudio,.mk-zoom{display:none!important}}

/* Étape 03 · voie ChatGPT (generer.js) */
.gen-pas{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.gen-pas li{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff}
.gen-pas li>div{flex:1;min-width:180px}
.gen-pas strong{display:block;color:var(--ink);font-size:15px}
.gen-pas small{color:var(--muted);font-size:13px}
.gen-num{flex:none;width:34px;height:34px;display:grid;place-items:center;border:2px solid var(--plum);border-radius:50%;background:#fff;color:var(--plum);font-weight:800}
#voieChat .gen-pas button,#voieChat .gen-pas .button{flex:none;width:auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
#voieChat .gen-pas [aria-disabled=true]{opacity:.5;pointer-events:none}
.gen-serveur{margin:16px 0}
.gen-serveur>section.card{margin-top:12px}
@media(max-width:760px){#voieChat .gen-pas button,#voieChat .gen-pas .button{width:100%}.gen-pas li>div{min-width:calc(100% - 60px)}}
/* Étape 01 · trois entrées pour le croquis (croquis.js) */
.cq-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0 6px}
.cq-choix .upload{margin:0;width:100%;height:100%;cursor:pointer;font:inherit;color:inherit}
.cq-choix button.upload{appearance:none}
.cq-note{margin:6px 0 12px}
.cq-boite{width:min(720px,96vw);max-height:94vh;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink)}
.cq-boite::backdrop{background:#191a4bb3}
.cq-barre{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.cq-barre strong{font-size:17px}
.cq-barre button{margin-left:auto;min-height:42px}
.cq-boite video{display:block;width:100%;max-height:62vh;border-radius:14px;background:#191a4b}
.cq-plein{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:10px;border:0;border-radius:0}
.cq-plein[open]{display:flex;flex-direction:column}
.cq-plein iframe{flex:1;width:100%;border:1px solid var(--line);border-radius:12px;background:#fff}
@media(max-width:760px){.cq-choix{grid-template-columns:1fr}.cq-barre .muted{display:none}}
/* Étape 01 · photo depuis le téléphone (QR code) */
.cq-tel-corps{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:18px;align-items:start}
.cq-qr{padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff}
.cq-qr svg{display:block;width:100%;height:auto}
.cq-tel ol{margin:0 0 10px;padding-left:20px}
.cq-etat{margin:0 0 10px;padding:10px 12px;border:2px solid var(--plum);border-radius:12px;background:#fff;color:var(--ink);font-weight:700}
.cq-lien{margin:4px 0 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:13px/1.4 Consolas,monospace;word-break:break-all;user-select:all}
@media(max-width:620px){.cq-tel-corps{grid-template-columns:1fr}}
/* Étape 03 · mur des variantes (variantes.js) */
#murVariantes{margin-bottom:18px}
.mv-outils{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.mv-outils>button,.mv-source button{min-height:44px;padding:8px 14px;border:2px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer;width:auto;flex:none}
.mv-source{display:flex;gap:6px;flex-wrap:wrap;margin-right:auto}
.mv-source button[aria-pressed=true]{border-color:var(--plum);color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}
.mv-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.mv-carte{display:flex;flex-direction:column;padding:0;border:2px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;cursor:zoom-in;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .2s;width:auto}
.mv-carte:hover{transform:translateY(-3px);border-color:var(--plum)}
.mv-carte svg{display:block;width:100%;height:auto}
.mv-carte small{padding:6px 10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:left}
.mv-carte.arrive{animation:mvArrive .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 55ms)}
@keyframes mvArrive{from{opacity:0;transform:scale(.85) rotate(-2deg)}}
.mv-vide{padding:16px;border:1.5px dashed var(--line);border-radius:16px;color:var(--ink)}
.mv-test{width:min(860px,96vw);max-height:94vh;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink)}
.mv-test::backdrop{background:#191a4bb3}
.mv-test-haut{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mv-test-haut strong{margin-right:auto}
.mv-test-haut button{min-width:44px;min-height:44px;border:2px solid var(--line);border-radius:22px;background:#fff;font-weight:800;cursor:pointer}
.mv-grand svg{display:block;width:100%;max-height:52vh;height:auto;border:1px solid var(--line);border-radius:14px}
.mv-test h3{margin:14px 0 8px;font-size:16px}
.mv-tests{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mv-tests figure{margin:0;padding:8px;border:1px solid var(--line);border-radius:14px;text-align:center}
.mv-tests figcaption{font-weight:700;font-size:13px;margin-top:6px}
.mv-tests figcaption small{display:block;font-weight:500;color:var(--muted)}
.mv-tests svg{display:block;width:100%;height:auto;border-radius:8px}
.mv-petit{display:grid;place-items:center;height:110px}
.mv-petit svg{width:56px!important}
.mv-nb svg{filter:grayscale(1) contrast(1.6)}
.mv-fonce{padding:6px;border-radius:10px;background:#191a4b}
.mv-fonce svg rect:first-child{fill:#191a4b}
.mv-loin svg{filter:blur(1.4px);transform:scale(.6)}
.mv-verdict{margin:12px 0 0;padding:10px 14px;border-radius:12px;border:2px solid #4f7d3a;background:#fbfef8;font-weight:700}
.mv-verdict.moyen{border-color:#c77d00;background:#fffaf0}
.mv-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.mv-actions button{min-height:48px;width:auto}
@media(max-width:640px){.mv-grille{grid-template-columns:1fr 1fr;gap:8px}.mv-tests{grid-template-columns:1fr 1fr}.mv-outils>button{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.mv-carte.arrive{animation:none}}

/* Étape 09 · partage à la galerie (partage.js) */
#partageCarte{margin-bottom:18px;border:2px solid var(--plum)}
.pt-corps{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start}
.pt-apercu{display:grid;place-items:center;aspect-ratio:4/3;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;text-align:center;color:var(--muted);font-size:13px;padding:8px}
.pt-apercu img{max-width:100%;max-height:100%;object-fit:contain}
.pt-champs{display:grid;gap:8px}
.pt-champs .primary{min-height:50px;width:auto;justify-self:start}
@media(max-width:640px){.pt-corps{grid-template-columns:1fr}.pt-apercu{max-width:240px}.pt-champs .primary{justify-self:stretch}}

/* Repères de parcours (v2.js) */
.ensuite{margin:6px 0 0;font-size:13px;color:var(--muted)}
.ensuite b{color:var(--plum)}
.official-details{margin-top:16px;font-size:13px;color:var(--muted)}
.official-details summary{cursor:pointer;min-height:36px;padding:6px 0}
/* Étape 01 : cadrage rapide sur la feuille et lien « sans feuille » (croquis.js) */
.cq-zones{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;background:#fff}
.cq-zones b{color:var(--ink)}
.cq-zones button{min-height:42px;padding:6px 14px;border:2px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer;width:auto;flex:none}
.cq-zones button[aria-pressed=true]{border-color:var(--plum);color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}
.cq-zones small{flex-basis:100%;color:var(--muted)}
.cq-sans-feuille{margin:4px 0 0;color:var(--muted);font-size:14px}
.cq-lien{display:inline;min-height:0;padding:4px 2px;border:0;background:none;color:var(--plum);font:700 14px "Segoe UI",Arial,sans-serif;text-decoration:underline;cursor:pointer;width:auto;box-shadow:none}

/* En-tête du calque : titre à gauche, deux boutons toujours visibles à droite */
.cq-barre-calque{flex-wrap:nowrap;gap:10px;margin-bottom:8px}
.cq-barre-calque .cq-titre{flex:1;min-width:0}
.cq-barre-calque .cq-titre strong{display:block}
.cq-barre-calque .cq-titre .muted{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cq-barre-calque button{margin-left:0;flex:none;width:auto;min-height:46px;padding:8px 16px;border-radius:24px;font-weight:800;cursor:pointer}
.cq-envoyer{border:2.5px solid var(--plum);background:#fff;color:var(--plum)}
.cq-fermer{border:2px solid var(--line);background:#fff;color:var(--ink)}
@media(max-width:760px){.cq-barre-calque{flex-wrap:wrap}.cq-barre-calque .cq-titre{flex-basis:100%}.cq-barre-calque .cq-titre .muted{display:none}.cq-barre-calque button{flex:1 1 45%;padding:8px 10px;font-size:14px}}

/* Étape 03 · dessins et définitions des styles et compositions (apercus.js) */
.ap-rappel{margin:0 0 12px;padding:10px 14px;border-left:4px solid var(--plum);border-radius:10px;background:#fff;color:var(--ink);font-size:14px}
.ap-rappel b{color:var(--plum)}
.ap-choix{display:flex!important;flex-direction:column;gap:6px}
.ap-dessin{display:block;width:100%;height:auto;max-height:96px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ap-choix strong{font-size:15px!important}
.ap-choix small{line-height:1.4}
.ap-ideal{display:block;margin-top:4px;color:var(--plum);font-weight:600}
@media(max-width:520px){.ap-choix .ap-dessin{max-height:80px}}

/* Étape 04 · palette (palette.js) */
.pa-sujet{border:2px solid var(--c1,var(--plum))}
.pa-lien{display:inline;min-height:0;padding:0;border:0;background:none;color:var(--plum);font-weight:700;text-decoration:underline;cursor:pointer;width:auto;box-shadow:none}
.pa-pals,.pa-harmonies{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.pa-pal{display:flex!important;flex-direction:column;gap:5px;padding:12px;border:2px solid var(--line);border-radius:16px;background:#fff;text-align:left;cursor:pointer;width:auto}
.pa-pal.choisie{border-color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}
.pa-pal strong{color:var(--ink);font-size:15px}
.pa-pal small{color:var(--muted);font-size:12px;line-height:1.35}
.pa-pal em{font-style:normal;font-weight:800;font-size:13px;color:var(--plum)}
.pa-bande{display:flex!important;width:100%;align-self:stretch;height:34px;border-radius:10px;overflow:hidden;border:1px solid #0001}
.pa-bande i{display:block!important;flex:1 1 0!important;height:100%!important;min-width:12px;margin:0!important;border:0!important;border-radius:0!important;opacity:1!important;transform:none!important}
.pa-eviter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border:1.5px solid #f0c9cf;border-radius:14px;background:#fff}
.pa-eviter b{color:#8e1b2e}
.pa-barre{display:flex;gap:4px}
.pa-barre i{position:relative;width:26px;height:26px;border-radius:6px}
.pa-barre i::after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:2.5px;background:#191a4b;transform:rotate(-35deg)}
.pa-eviter ul{flex-basis:100%;margin:0;padding-left:18px;color:var(--ink);font-size:13px}
.pa-vues{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pa-vues figure{margin:0}
.pa-vues figcaption{margin-top:4px;font-size:12px;font-weight:700;color:var(--muted);text-align:center}
.pa-vue{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;padding:14px;border-radius:16px;border:1px solid #0001;text-align:center}
.pa-vue img{max-width:80%;max-height:70px;object-fit:contain;border-radius:8px}
.pa-vue b{font-size:20px;line-height:1.1;word-break:break-word}
.pa-vue small{font-size:12px}
.pa-signe{position:relative;width:46px;height:46px;border-radius:50%}
.pa-signe i{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%}
.pa-etiquette{border-width:3px;border-style:solid;position:relative;overflow:hidden}
.pa-ruban{position:absolute;left:0;right:0;top:0;height:10px}
.pa-bouton{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:800}
.pa-verdicts{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.pa-verdicts li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:14px;color:var(--ink)}
.pa-verdicts li.bon{border-color:#7fae6b}.pa-verdicts li.moyen{border-color:#e0a94a}.pa-verdicts li.faible{border-color:#d0606e}
.pa-verdicts small{color:var(--muted)}
.pa-duo{display:flex}.pa-duo i{width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0002}.pa-duo i+i{margin-left:-6px}
.pa-depart{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-weight:700;color:var(--ink)}
.pa-depart input{width:56px;height:44px;padding:2px;border:1px solid var(--line);border-radius:10px;background:#fff}
.pa-copier{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;color:var(--ink);font-size:14px}
.pa-copier button{min-height:44px;width:auto}
@media(max-width:640px){.pa-vues{grid-template-columns:1fr}.pa-vue{min-height:120px}}
.pa-extraire{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:12px 14px;border:2px dashed var(--plum);border-radius:16px;background:#fff}
.pa-extraire>b{color:var(--ink);font-size:15px}
.pa-extraire-boutons{display:flex;gap:8px;flex-wrap:wrap}
.pa-extraire-boutons button{min-height:44px;width:auto;padding:8px 14px;border:2px solid var(--plum);border-radius:22px;background:#fff;color:var(--plum);font-weight:800;cursor:pointer}
.pa-extraire-boutons button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line);color:var(--muted)}
.pa-extrait{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.pa-extrait img{width:84px;height:84px;object-fit:cover;border:1px solid var(--line);border-radius:12px}
.pa-extrait>div{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}
.pa-extrait small{color:var(--muted);font-family:Consolas,monospace}
.pa-extrait .primary{width:auto;align-self:flex-start;min-height:44px}
.pa-extrait-erreur{margin:6px 0 0;padding:8px 12px;border:1.5px solid #e0a94a;border-radius:12px;background:#fffaf0;color:var(--ink);font-weight:600}
/* Étape 06 : « Ma palette » (celle de l'étape 04, y compris extraite d'un dessin) en tête des palettes */
.palette-option.ma-palette{position:relative;padding-bottom:16px!important}
.palette-option.ma-palette small{position:absolute;left:0;right:0;bottom:2px;font-size:10px;font-weight:800;color:var(--plum);text-align:center;line-height:1}
.sj-sans-code{border-color:#b9a8cc!important}
.sj-sans-code span{color:#67218d!important}
.sj-rempli .sj-lien{display:inline;padding:0;min-height:0;width:auto;box-shadow:none}

/* Étape 05 · typographie (typo.js) */
.ty-carte{display:flex!important;flex-direction:column;gap:6px;position:relative}
.ty-nom{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:26px;line-height:1.15;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ty-ideal{display:block;margin-top:4px;color:var(--plum);font-weight:600}
.ty-conseil{align-self:flex-start;padding:3px 10px;border:2px solid #c99a1e;border-radius:12px;background:#fff;color:#7a5600;font-size:12px;font-weight:800}
.ty-reglages{border:2px solid var(--plum)}
.ty-ligne{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0;color:var(--ink)}
.ty-ligne>b{min-width:150px}
.ty-ligne input[type=range]{flex:1;min-width:160px;accent-color:var(--plum)}
.ty-boutons{display:flex;gap:6px;flex-wrap:wrap}
.ty-boutons button{min-height:44px;width:auto;padding:6px 14px;border:2px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);cursor:pointer}
.ty-boutons button span{margin-right:6px;font-weight:800;color:var(--plum)}
.ty-boutons button[aria-pressed=true]{border-color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}
.ty-tailles{display:grid;gap:10px;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:16px}
.ty-tailles figure{margin:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.ty-tailles span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.ty-tailles figcaption{font-size:12px;color:#4b4b73}
.ty-verdict{margin:10px 0 0;padding:8px 12px;border:1.5px solid #7fae6b;border-radius:12px;background:#fff;color:var(--ink);font-weight:600}
.ty-verdict.moyen{border-color:#e0a94a}
.ty-duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:start}
.ty-carte-visite{display:flex;flex-direction:column;gap:6px;padding:18px;border:3px solid;border-radius:14px;aspect-ratio:85/55;justify-content:center;box-shadow:0 10px 24px #2a12401a;overflow:hidden}
.ty-cv-nom{line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ty-cv-slogan{font-size:14px}
.ty-cv-ligne{width:40px;height:3px;border-radius:2px}
.ty-cv-texte{font-size:11px;line-height:1.4}
.ty-duo-choix{display:flex;flex-direction:column;gap:6px;color:var(--ink)}
.ty-duo-choix small{color:var(--muted)}
@media(max-width:700px){.ty-duo{grid-template-columns:1fr}.ty-ligne>b{min-width:0;flex-basis:100%}}

/* ----- étape 08 : accès au studio 3D ----- */
.mk-3d{display:flex;align-items:center;gap:14px;margin:10px 0 16px;padding:14px 16px;border:2px solid #d7c8e5;border-radius:18px;background:#fff;color:#191a4b;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.mk-3d:hover,.mk-3d:focus-visible{border-color:#67218d;box-shadow:0 8px 22px #67218d1f}
.mk-3d-icone{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f3eef8;font-size:26px}
.mk-3d strong{display:block;font-size:16px}
.mk-3d small{display:block;color:#4b4b73;font-size:13px;line-height:1.35}
.mk-3d-fleche{margin-left:auto;flex:none;font-size:22px;font-weight:800;color:#67218d}

/* ----- photo depuis le téléphone : aide quand le téléphone ne se connecte pas ----- */
.cq-tel-aide{margin:10px 0;padding:12px 14px;border:2px solid #e3b341;border-radius:14px;background:#fffaf0;color:#3b2a05;font-size:14px;line-height:1.45}
.cq-tel-aide ul{margin:6px 0;padding-left:20px}
.cq-tel-aide p{margin:6px 0 0}

/* ----- étape 06 : « Que doit faire l'IA ? » (prompt-ordre.js) ----- */
.po-choix{margin:0 0 14px;padding:14px;border:1px solid #e1d7ed;border-radius:18px;background:#fbf9fd}
.po-titre{margin:0 0 10px;color:#191a4b}
.po-titre span{display:block;font-size:13px;color:#4b4b73}
.po-cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.po-carte{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:44px;padding:10px;border:2px solid #e1d7ed;border-radius:14px;background:#fff;color:#191a4b;text-align:left;cursor:pointer;font:inherit}
.po-carte svg{width:100%;max-width:150px;height:auto;border-radius:8px;background:#f6f2fa}
.po-carte strong{font-size:15px}
.po-carte small{font-size:12.5px;line-height:1.35;color:#4b4b73}
.po-carte[aria-pressed=true]{border-color:#67218d;box-shadow:inset 0 0 0 1.5px #67218d}
.po-carte[aria-pressed=true] strong::before{content:"✓ ";color:#67218d}
.po-note{margin:10px 0 0;font-size:13px;color:#5a3b00;background:#fff7e6;border:1px solid #f0d49a;border-radius:10px;padding:8px 10px}
@media(max-width:700px){.po-cartes{grid-template-columns:1fr}.po-carte{flex-direction:row;flex-wrap:wrap;align-items:center}.po-carte svg{width:96px}.po-carte small{flex-basis:100%}}
/* bloc « Mes précisions pour l'IA » : ouvert et lisible (plus de petit bouton caché) */
.po-perso{margin-top:14px;border:2px solid #d7c8e5!important;border-radius:16px;background:#fff;padding:0}
.po-perso>summary{display:block;list-style:none;cursor:default;pointer-events:none;padding:14px 16px 6px;background:none!important}
.po-perso>summary::-webkit-details-marker{display:none}
.po-perso>summary::marker{content:""}
.po-perso-titre{display:block;font-size:17px;font-weight:800;color:#191a4b}
.po-perso-sous{display:block;margin-top:2px;font-size:13px;font-weight:500;color:#4b4b73}
.po-perso>div{padding:4px 16px 14px}
.po-perso .mini-mode[hidden]{display:none!important}
.po-perso>summary .po-perso-titre{font-size:17px!important;font-weight:800!important;color:#191a4b!important;margin:0!important;float:none!important}
.po-perso>summary .po-perso-sous{font-size:13px!important;font-weight:500!important;color:#4b4b73!important;margin:2px 0 0!important;float:none!important}
/* étape 08 : logos prêts (Université, HADINAL) à côté d'« Importer mon logo » */
.mk-prets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.mk-prets>span{font-size:13px;color:#4b4b73}
.mk-pret{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:5px 14px 5px 6px;border:2px solid #d7c8e5;border-radius:24px;background:#fff;color:#191a4b;font-weight:700;cursor:pointer}
.mk-pret img{width:34px;height:34px;object-fit:contain;border-radius:8px;background:#fff}
.mk-pret:hover,.mk-pret:focus-visible{border-color:#67218d}

/* ----- étapes 06-07 : « Le formateur génère pour nous » (envoi-formateur.js) ----- */
.ef-carte{border:2px solid #d7c8e5}
.ef-corps{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:start}
.ef-apercu{display:grid;place-items:center;aspect-ratio:1;border:1px solid #e1d7ed;border-radius:14px;background:#fff;overflow:hidden;font-size:12.5px;color:#4b4b73;text-align:center;padding:6px}
.ef-apercu img{width:100%;height:100%;object-fit:contain}
.ef-actions{display:flex;flex-direction:column;gap:10px}
.ef-actions .primary{min-height:48px;font-size:16px}
.ef-etat{margin:0;padding:10px 12px;border-radius:12px;background:#f6f2fa;color:#191a4b;font-size:14px}
.ef-etat.attente{background:#fff7e6;border:1px solid #f0d49a;color:#5a3b00}
.ef-etat.ok{background:#eaf7ee;border:1px solid #a9d8b6;color:#14532d}
.ef-etat.souci{background:#fdecec;border:1px solid #f1b0b0;color:#7f1d1d}
@media(max-width:600px){.ef-corps{grid-template-columns:1fr}.ef-apercu{max-width:180px}}
