.danz-qsignup{max-width:820px;margin:0 auto;color:var(--dqs-text-color,#111)}
.danz-qsignup *{box-sizing:border-box}

.danz-qsignup-form{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:18px}
.danz-qsignup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

.danz-qsignup-field label{display:block;font-weight:600;margin:0 0 6px;color:var(--dqs-text-color,#111)!important}
.danz-qsignup-field input[type="text"],
.danz-qsignup-field input[type="email"],
.danz-qsignup-field input[type="password"],
.danz-qsignup-field input[type="date"],
.danz-qsignup-field select,
.danz-qsignup-field textarea{width:100%;max-width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--dqs-input-border,#d0d0d0)!important;background:var(--dqs-input-bg,#fff)!important;color:var(--dqs-input-text,#111)!important;box-sizing:border-box}

.danz-qsignup-field input::placeholder,
.danz-qsignup-field textarea::placeholder{color:var(--dqs-placeholder,#777)!important;opacity:1}

.danz-qsignup-field select[multiple]{min-height:92px}

/* Checklists (Styles / Niveaux) */
.danz-qsignup-checklist{display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--dqs-input-border,#d0d0d0)!important;background:var(--dqs-input-bg,#fff)!important;color:var(--dqs-input-text,#111)!important}
.danz-qsignup-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.danz-qsignup-check input{margin:0}
.danz-qsignup-field-checklist label{margin-bottom:8px}

.danz-qsignup-actions{margin-top:16px;display:flex;justify-content:flex-end}
.danz-qsignup-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 16px;border:0;background:var(--dqs-btn-bg,#111)!important;color:var(--dqs-btn-text,#fff)!important;text-decoration:none;cursor:pointer;font-weight:700}
.danz-qsignup-btn:hover{opacity:.92}
.danz-qsignup-btn-secondary{background:var(--dqs-btn2-bg,#f2f2f2)!important;color:var(--dqs-btn2-text,#111)!important}

.danz-qsignup-alert{margin:0 0 12px;padding:12px 14px;border-radius:12px;font-weight:600}
.danz-qsignup-error{background:#ffecec;border:1px solid #ffb6b6;color:#7a0000}

.danz-qsignup-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;opacity:0}

@media (max-width:640px){.danz-qsignup-grid{grid-template-columns:1fr}}

.danz-qsignup-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:18px;z-index:99999}
.danz-qsignup-modal-box{background:#fff;border-radius:16px;max-width:520px;width:100%;padding:18px 18px 16px;box-shadow:0 18px 60px rgba(0,0,0,.25)}
.danz-qsignup-modal-title{font-size:18px;font-weight:800;margin:0 0 8px;color:var(--dqs-text-color,#111)}
.danz-qsignup-modal-msg{color:var(--dqs-text-color,#333);margin:0 0 14px}
.danz-qsignup-modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}


.danz-qsignup-small{margin:6px 0 0;font-size:12px;opacity:.9;color:var(--dqs-text-color,#111)}
.danz-qsignup-small input{margin-right:6px}

/* Photo field */
.danz-qsignup-photo-row{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.danz-qsignup-photo-preview{width:120px;height:120px;border-radius:14px;border:1px dashed var(--dqs-input-border,#d0d0d0);background:rgba(0,0,0,.02);display:flex;align-items:center;justify-content:center;overflow:hidden}
.danz-qsignup-photo-preview img{width:120px;height:120px;object-fit:cover;display:none}
.danz-qsignup-photo-preview.is-active img{display:block}
.danz-qsignup-photo-actions{display:flex;flex-direction:column;gap:10px;min-width:220px}

@media (max-width:640px){
  .danz-qsignup-photo-preview{width:96px;height:96px}
  .danz-qsignup-photo-preview img{width:96px;height:96px}
  .danz-qsignup-photo-actions{min-width:0;width:100%}
}

/* Camera modal */
.danz-qsignup-camera-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:14px;z-index:999999}
.danz-qsignup-camera-box{background:#fff;border-radius:16px;width:100%;max-width:560px;box-shadow:0 18px 60px rgba(0,0,0,.25);padding:14px}
.danz-qsignup-camera-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.danz-qsignup-camera-title{font-size:18px;font-weight:800;color:var(--dqs-text-color,#111)}
.danz-qsignup-camera-close{border:0;background:transparent;font-size:26px;line-height:1;padding:4px 10px;cursor:pointer;color:var(--dqs-text-color,#111)}
.danz-qsignup-camera-stage{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}
.danz-qsignup-camera-stage video,.danz-qsignup-camera-stage img{width:100%;height:100%;object-fit:cover}
.danz-qsignup-camera-actions{margin-top:12px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
