:root{--cm-dark:#343935;--cm-gold:#ECD9A5;--cm-light:#f7f4ed;--cm-radius:10px}
.cm-wrap{max-width:620px;margin:0 auto;font-family:inherit}
.cm-screen{display:none}
.cm-screen.active{display:block}
.cm-header{margin-bottom:1.5rem}
.cm-pretitle{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cm-dark);opacity:.5;margin-bottom:6px}
.cm-title{font-size:1.4rem;font-weight:700;color:var(--cm-dark);margin:0 0 6px;line-height:1.25;text-transform:none!important}
.cm-sub{font-size:14px;color:#666;text-transform:none!important}
.cm-back{background:none;border:none;font-size:13px;color:#888;cursor:pointer;padding:0;margin-bottom:12px;display:block}
.cm-back:hover{color:var(--cm-dark)}

/* Mode grid */
.cm-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1rem}
@media(max-width:480px){.cm-mode-grid{grid-template-columns:1fr}}
.cm-mode-card{background:#fff;border:1.5px solid #e0ddd7;border-radius:var(--cm-radius);padding:20px;cursor:pointer;text-align:left;position:relative;transition:border-color .15s}
.cm-mode-card:hover{border-color:var(--cm-dark)}
.cm-mode-ia{border-color:var(--cm-dark)}
.cm-mode-icon{font-size:24px;margin-bottom:10px;display:block}
.cm-mode-title{font-size:15px;font-weight:700;color:var(--cm-dark);margin-bottom:6px}
.cm-mode-desc{font-size:12px;color:#666;line-height:1.5}
.cm-mode-badge{position:absolute;top:-10px;right:12px;background:var(--cm-dark);color:var(--cm-gold);font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.04em}

/* Upload zone */
.cm-upload-area{border:1.5px dashed #e0ddd7;border-radius:var(--cm-radius);padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--cm-light)}
.cm-upload-area:hover{border-color:var(--cm-dark);background:#f0ede6}
.cm-upload-icon{font-size:32px;display:block;margin-bottom:12px}
.cm-upload-title{font-size:15px;font-weight:600;color:var(--cm-dark);margin-bottom:4px}
.cm-upload-sub{font-size:13px;color:#888}
.cm-preview{margin-top:12px;position:relative}
.cm-preview img{width:100%;max-height:260px;object-fit:cover;border-radius:var(--cm-radius);display:block}
.cm-change-btn{position:absolute;top:10px;right:10px;background:#fff;border:1px solid #ddd;border-radius:6px;padding:5px 12px;font-size:12px;cursor:pointer;color:#555}
.cm-change-btn:hover{color:var(--cm-dark)}
.cm-support-wrap{margin-top:14px}
.cm-support-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#888;margin-bottom:8px}
.cm-pills{display:flex;gap:6px;flex-wrap:wrap}
.cm-pill{font-size:13px;padding:6px 14px;border-radius:var(--cm-radius);border:1.5px solid #e0ddd7;cursor:pointer;background:#fff;color:#555;transition:all .15s}
.cm-pill:hover,.cm-pill.sel{background:var(--cm-dark);color:var(--cm-gold);border-color:var(--cm-dark)}
.cm-analyse-btn{width:100%;margin-top:14px;padding:14px;background:var(--cm-dark);color:var(--cm-gold);border:none;border-radius:var(--cm-radius);font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .2s}
.cm-analyse-btn:hover{background:#222}
.cm-analyse-btn:disabled{opacity:.5;cursor:not-allowed}

/* Loading */
.cm-loading{text-align:center;padding:3rem 0}
.cm-spinner{width:36px;height:36px;border:3px solid #e0ddd7;border-top-color:var(--cm-dark);border-radius:50%;animation:cmspin 1s linear infinite;margin:0 auto 16px}
@keyframes cmspin{to{transform:rotate(360deg)}}
.cm-loading-txt{font-size:14px;color:#888}

/* Résultat IA */
.cm-ia-header{display:flex;align-items:center;gap:12px;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0ddd7}
.cm-ia-img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex-shrink:0}
.cm-ia-title{font-size:15px;font-weight:700;color:var(--cm-dark);margin-bottom:3px}
.cm-ia-sub{font-size:13px;color:#888}
.cm-ia-badge{display:inline-block;font-size:12px;padding:4px 10px;border-radius:20px;font-weight:500;margin-bottom:12px}
.cm-ia-obs{background:var(--cm-light);border-radius:8px;padding:12px 16px;font-size:13px;color:#444;line-height:1.7;margin-bottom:14px}

/* Étapes partagées */
.cm-etapes{display:flex;flex-direction:column;gap:8px;margin-bottom:1.25rem}
.cm-etape{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #e0ddd7;border-radius:var(--cm-radius);padding:12px 14px}
.cm-etape-num{width:30px;height:30px;border-radius:50%;background:var(--cm-dark);color:var(--cm-gold);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cm-etape-body{flex:1}
.cm-etape-name{font-size:13px;font-weight:600;color:var(--cm-dark);margin-bottom:2px}
.cm-etape-desc{font-size:12px;color:#888;line-height:1.5}
.cm-etape-cta{font-size:12px;color:var(--cm-dark);font-weight:600;text-decoration:none;white-space:nowrap;padding:5px 10px;border:1px solid #ddd;border-radius:6px;flex-shrink:0}
.cm-etape-cta:hover{background:var(--cm-light)}

/* Conseil */
.cm-conseil-box{background:var(--cm-light);border-radius:var(--cm-radius);border:1px solid #e0ddd7;padding:1.5rem;margin-bottom:1.5rem}
.cm-conseil-box p{font-size:14px;color:#444;line-height:1.6;margin-bottom:1rem}
.cm-cta-tel{display:inline-block;background:var(--cm-dark);color:var(--cm-gold);font-size:1rem;font-weight:700;padding:14px 28px;border-radius:6px;text-decoration:none;margin-bottom:10px}
.cm-conseil-note{font-size:12px;color:#888;margin-top:8px}

/* Choix configurateur */
.cm-choices{display:flex;flex-direction:column;gap:10px}
.cm-choice{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid #e0ddd7;border-radius:var(--cm-radius);padding:14px 16px;cursor:pointer;text-align:left;width:100%;transition:border-color .15s}
.cm-choice:hover{border-color:var(--cm-dark);background:var(--cm-light)}
.cm-choice-contact{border-style:dashed}
.cm-choice-icon{font-size:22px;flex-shrink:0;width:36px;text-align:center}
.cm-choice-text{flex:1}
.cm-choice-text strong{display:block;font-size:14px;font-weight:600;color:var(--cm-dark);margin-bottom:2px}
.cm-choice-text span{font-size:12px;color:#888}
.cm-arrow{color:#ccc;font-size:20px;flex-shrink:0}
.cm-choice:hover .cm-arrow{color:var(--cm-dark)}

/* Actions */
.cm-actions{margin-top:24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cm-restart{background:transparent;border:1.5px solid #ddd;border-radius:6px;padding:9px 18px;font-size:13px;cursor:pointer;color:#666}
.cm-restart:hover{border-color:var(--cm-dark);color:var(--cm-dark)}
.cm-tel{font-size:13px;color:var(--cm-dark);font-weight:600;text-decoration:none}
