/* Ajouts v3 : erreurs, envois, consentements. Reprend les variables de checkout.css */
.adc-err { display: none; margin-top: 8px; font-size: 12.5px; font-weight: 600; color: var(--danger); line-height: 1.45; }
.adc-summary-err { margin-top: 18px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--danger-bg); border: 1px solid var(--danger-border); color: var(--danger); font-size: 13.5px; font-weight: 600; }
.adc-summary-err[hidden] { display: none; }
.adc-notice { margin-bottom: 18px; padding: 12px 16px; border-radius: var(--radius-sm); background: var(--accent-bg); color: var(--accent-dark); font-size: 13.5px; font-weight: 600; }
.adc-notice[hidden] { display: none; }

.adc-doc-action { margin-top: 10px; font-size: 13px; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.adc-file { font-weight: 600; color: var(--success); word-break: break-all; }
.adc-file small { color: var(--text-muted); font-weight: 500; }
.adc-state { color: var(--text-muted); font-weight: 600; }
.adc-link { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-size: 12.5px; font-weight: 600; color: var(--accent); text-decoration: underline; }
.adc-remove { color: var(--danger); }

.adc-date { margin-top: 10px; }
.adc-date label { display: block; font-size: 12px; font-weight: 600; color: var(--text-mid); margin-bottom: 4px; }
.adc-date input { font: inherit; font-size: 14px; padding: 8px 10px; border: 1.5px solid var(--border); border-radius: var(--radius-sm); background: var(--white); }
.adc-date input:focus { outline: none; border-color: var(--accent); }

.co-doc-item:has(.adc-err[style*="block"]) { border-color: var(--danger-border); background: var(--danger-bg); }

.adc-consents { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.adc-check { display: flex; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.55; color: var(--text-mid); cursor: pointer; }
.adc-check input { margin-top: 4px; width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--accent); }
.adc-check a { color: var(--accent); }

.co-field input { width: 100%; }
@media (max-width: 640px) { .adc-doc-action { flex-direction: column; align-items: flex-start; } }

/* Mobile : récapitulatif compact en haut, formulaire juste en dessous, rassurance en bas */
@media (max-width: 860px) {
  .co-layout { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 20px 16px 60px; }
  .co-sidebar { display: contents; }
  .co-summary { order: 1; width: 100%; display: block !important; padding: 16px 18px; }
  .co-summary .co-service-desc, .co-summary .co-includes { display: none; }
  .co-summary .co-price-row { margin-top: 8px; padding-top: 8px; }
  .co-main { order: 2; width: 100%; }
  .co-trust { order: 3; }
  .co-service-name, .co-service-desc { overflow-wrap: anywhere; }
  .co-panel-card { padding: 22px 18px; }
  .co-actions { gap: 10px; }
}
