/* Documents du cabinet (charte, information aux soins) : lecture à l'écran et impression A4 à afficher au cabinet */
.doc .wrap { max-width: 980px; }
.doc-head { display: flex; align-items: center; gap: 16px; margin: 8px 0 18px; padding-bottom: 14px; border-bottom: 3px solid var(--blue-900); }
.doc-head h1 { margin: 0; font-size: 2rem; }
.doc-sub { margin: 2px 0 0; color: var(--ink-soft); font-weight: 600; }
.doc-print { margin-left: auto; }
.doc-lead { font-size: 1.08rem; color: var(--ink); background: var(--blue-50); border-left: 4px solid var(--blue-900); padding: 12px 16px; border-radius: 6px; }
.doc h2 { font-size: 1.15rem; display: flex; align-items: center; gap: 10px; margin: 0 0 8px; }
.doc-num { display: inline-grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--blue-900); color: #fff; font-size: .9rem; }
.doc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.doc-grid article, .doc-block { border: 1px solid #d6e2ec; border-radius: 10px; padding: 14px 16px; background: #fff; }
.doc-block { margin: 14px 0; }
.doc ul { margin: 0; padding-left: 1.15em; }
.doc li { margin: 4px 0; line-height: 1.45; }
.doc-cols { columns: 2; column-gap: 28px; }
.doc-cols li { break-inside: avoid; }
.doc-rights { border-color: var(--blue-900); background: var(--blue-50); }
.doc-table-wrap { overflow-x: auto; }
.doc-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.doc-table th, .doc-table td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid #d6e2ec; }
.doc-table thead th { background: var(--blue-900); color: #fff; font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; }
.doc-table tbody th { color: var(--blue-900); width: 20%; }
.doc-table tbody tr:target { background: #fff6d6; }
.doc-sign { margin: 18px 0; padding: 16px; border: 2px dashed var(--blue-900); border-radius: 10px; }
.doc-sign h2 { margin-bottom: 6px; }
.doc-sign-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 14px; min-height: 90px; }
.doc-foot { font-size: .82rem; color: var(--ink-soft); border-top: 1px solid #d6e2ec; padding-top: 10px; margin-top: 18px; }
@media (max-width: 720px) {
  .doc-grid, .doc-sign-grid { grid-template-columns: 1fr; }
  .doc-cols { columns: 1; }
  .doc-head { flex-wrap: wrap; }
  .doc-head h1 { font-size: 1.5rem; }
}
/* Impression : A4, sans en-tête ni pied du site, couleurs conservées */
@media print {
  @page { size: A4; margin: 9mm 10mm; }
  .site-header, .site-footer, .doc-print { display: none !important; }
  body { font-size: 9.3pt; background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .page { padding: 0 !important; }
  .doc .wrap { max-width: none; padding: 0; }
  .doc-head { margin: 0 0 8px; padding-bottom: 6px; }
  .doc-head h1 { font-size: 18pt; }
  .doc-lead { font-size: 9.6pt; padding: 6px 10px; margin: 6px 0; }
  .doc h2 { font-size: 11pt; margin-bottom: 4px; }
  .doc-num { width: 20px; height: 20px; font-size: 8pt; }
  .doc-grid { display: block; margin: 8px 0; }
  .doc-grid article { display: block; margin: 0 0 6px; }
  .doc-grid article, .doc-block { padding: 8px 10px; break-inside: avoid; }
  .doc-block { margin: 8px 0; }
  .doc li { margin: 2px 0; line-height: 1.3; }
  .doc-table { font-size: 8.5pt; }
  .doc-table th, .doc-table td { padding: 4px 6px; }
  .doc-sign { break-inside: avoid; }
  .doc a { color: inherit; text-decoration: none; }
}
