/* Salles privées (charte B) : compléments à site.css et compte.css */
.c-main > .c-card { margin-top: 18px; }
.c-main > .c-card:first-of-type { margin-top: 32px; }
.sp-ligne { display: flex; gap: 10px; }
.sp-ligne .c-input { flex: 1; min-width: 0; }
.sp-code { font: 22px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; }
.sp-code::placeholder { font: 15px var(--text, 'Inter', system-ui, sans-serif); letter-spacing: 0; text-transform: none; color: #8a847a; }
.sp-texte { margin: 0 0 16px; color: var(--ivory-2); }
.sp-deux { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.sp-switch { margin-top: 12px; border-top: 0; }
.sp-switch > span { display: grid; gap: 2px; }
.sp-switch small { font-size: 13px; color: var(--ivory-3); font-weight: 400; }
#sp-creer .s-btn { margin-top: 18px; }
.sp-salle { align-items: center; }
.sp-vignette { flex: none; width: 96px; aspect-ratio: 16 / 9; border-radius: 8px; object-fit: cover; background: #1d1d21; }
.sp-vignette--vide { display: block; background: linear-gradient(135deg, #1d1d21, #2a1416); }
.sp-passe { color: var(--ivory-2) !important; }
.sp-cadenas { vertical-align: -1px; margin-left: 4px; color: var(--ivory-3); }
.sp-salle .c-row { gap: 8px; }
.sp-danger { color: var(--red-soft); }
.sp-danger:hover { border-color: var(--red-soft); }
.sp-infos { margin-top: 36px; color: var(--ivory-2); font-size: 15px; }
.sp-infos ul { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 8px; }
.c-dialog .c-input { background: #fff; color: var(--paper-ink); border-color: #BDB3A2; }
.c-dialog .c-switch { border-color: rgba(20, 18, 20, .12); }
.c-dialog .c-field small { color: var(--paper-mute); }
@media (max-width: 640px) {
  .sp-deux { grid-template-columns: 1fr; }
  .sp-ligne { flex-direction: column; }
  .sp-salle { flex-wrap: wrap; }
  .sp-vignette { width: 72px; }
  .sp-salle .c-row { width: 100%; padding-left: 86px; }
}
