/* ── Général ─────────────────────────────────────────────────────────────── */
.ct-wrap{max-width:760px;margin:0 auto;padding:20px 0;font-family:inherit}
.ct-form-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);padding:36px 40px}
.ct-form-title{font-size:1.5em;font-weight:700;margin:0 0 24px;color:#1a1a2e}
.ct-field-group{margin-bottom:18px}
.ct-field-group label{display:block;font-weight:600;margin-bottom:6px;color:#333;font-size:.9em}
.ct-req{color:#e74c3c}.ct-opt{color:#999;font-weight:400;font-size:.85em}
.ct-field-group input[type="text"],.ct-field-group input[type="email"],.ct-field-group textarea{width:100%;padding:10px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:.95em;transition:border-color .2s;box-sizing:border-box;font-family:inherit}

/* ── Focus des champs : couleur #A32D2F ──────────────────────────────────── */
.ct-field-group input:focus,.ct-field-group textarea:focus{border-color:#A32D2F;outline:none;box-shadow:0 0 0 3px rgba(163,45,47,.12)}

/* ── Zone upload ─────────────────────────────────────────────────────────── */
.ct-upload-zone{border:2px dashed #ddd;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.ct-upload-zone:hover{border-color:#A32D2F;background:#fdf5f5}
.ct-upload-zone input[type="file"]{display:none}
.ct-upload-icon{font-size:2em;display:block;margin-bottom:8px}
.ct-upload-placeholder p{margin:0 0 4px;color:#555}
.ct-upload-placeholder small{color:#999;font-size:.8em}

/* ── Lien upload : couleur #A32D2F ───────────────────────────────────────── */
.ct-upload-link{color:#A32D2F;cursor:pointer;text-decoration:underline}
.ct-file-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* ── Chips fichiers : couleur #A32D2F ────────────────────────────────────── */
.ct-file-chip{background:#fdf0f0;border-radius:20px;padding:4px 12px;font-size:.82em;color:#A32D2F;display:flex;align-items:center;gap:6px}
.ct-file-chip-remove{cursor:pointer;color:#e74c3c;font-weight:700}

/* ── Boutons : couleur #A32D2F ───────────────────────────────────────────── */
.ct-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:8px;border:none;cursor:pointer;font-size:.95em;font-weight:600;transition:all .2s;font-family:inherit}
.ct-btn--primary{background:#A32D2F;color:#fff;width:100%;justify-content:center}
.ct-btn--primary:hover{background:#8a2527;transform:translateY(-1px);box-shadow:0 4px 12px rgba(163,45,47,.35)}
.ct-btn--small{background:#A32D2F;color:#fff;padding:8px 16px;font-size:.85em;border-radius:6px;margin-top:8px}
.ct-btn--small:hover{background:#8a2527}

/* ── Alertes feedback ────────────────────────────────────────────────────── */
#ct-form-feedback{margin-bottom:16px}
.ct-alert{padding:12px 16px;border-radius:8px;font-size:.9em}
.ct-alert--success{background:#d4edda;color:#155724;border-left:4px solid #28a745}
.ct-alert--error{background:#f8d7da;color:#721c24;border-left:4px solid #dc3545}

/* ── Liste des tickets ───────────────────────────────────────────────────── */
.ct-ticket-list{display:flex;flex-direction:column;gap:16px}
.ct-ticket-item{background:#fff;border-radius:10px;padding:20px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);border-left:4px solid #ddd}
.ct-ticket-ouvert{border-left-color:#f39c12}.ct-ticket-repondu{border-left-color:#3498db}.ct-ticket-ferme{border-left-color:#27ae60}
.ct-ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ct-ticket-title{font-weight:700;font-size:1em;color:#1a1a2e}
.ct-ticket-meta{font-size:.82em;color:#999;margin-bottom:8px}
.ct-ticket-preview{font-size:.9em;color:#555;margin-bottom:12px}

/* ── Badges statut ───────────────────────────────────────────────────────── */
.ct-status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.78em;font-weight:600}
.ct-status-ouvert{background:#fff3cd;color:#856404}.ct-status-repondu{background:#cce5ff;color:#004085}.ct-status-ferme{background:#d4edda;color:#155724}

/* ── Fil de réponses front ───────────────────────────────────────────────── */
.ct-ticket-replies{margin:12px 0;border-top:1px solid #f0f0f0;padding-top:12px}
.ct-reply-item{padding:10px 14px;border-radius:8px;margin-bottom:8px;font-size:.88em}

/* ── Bulle support : couleur #A32D2F ─────────────────────────────────────── */
.ct-reply--admin{background:#fdf0f0;border-left:3px solid #A32D2F}
.ct-reply--client{background:#f8f9fa;border-left:3px solid #adb5bd}
.ct-reply-meta{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.8em;color:#666}
.ct-reply-body{color:#333;line-height:1.5}

/* ── Formulaire réponse front ────────────────────────────────────────────── */
.ct-front-reply{margin-top:12px}
.ct-front-reply-msg{width:100%;padding:8px 12px;border:1.5px solid #ddd;border-radius:6px;font-family:inherit;font-size:.88em;box-sizing:border-box}
.ct-front-reply-msg:focus{border-color:#A32D2F;outline:none}
.ct-front-reply-feedback{font-size:.82em;margin-top:6px}
.ct-search-form .ct-field-group{max-width:400px}
.ct-empty{color:#999;font-style:italic;padding:20px 0}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media(max-width:600px){.ct-form-card{padding:24px 20px}.ct-ticket-header{flex-direction:column;align-items:flex-start;gap:6px}}
