@page { size: A4; margin-top: 6cm; margin-bottom: 4cm; margin-left: 2cm; margin-right: 2cm; }
@media print { .no-print { display:none !important; } body { margin:0; } }

body { font-family: Arial, sans-serif; margin: 20px; }
.container { max-width: 980px; margin: 0 auto; }
.card { border: 1px solid #ddd; padding: 16px; border-radius: 10px; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
label { font-weight: 700; display:block; margin-bottom: 6px; }
.sub { font-weight: 500; color:#444; font-size: 12px; margin-top: 2px; display:block; }
input, select { width: 100%; padding: 10px; border-radius: 8px; border: 1px solid #ccc; }
.actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
a.btn, button.btn { background:#111; color:#fff; padding:10px 14px; border-radius:10px; text-decoration:none; border:none; cursor:pointer; display:inline-block; }
a.btn.secondary { background:#444; }
a.btn.danger { background:#b00020; }
table { width:100%; border-collapse: collapse; }
th, td { border-bottom:1px solid #eee; padding:10px; text-align:left; }
h1,h2 { margin: 0 0 12px 0; }
.small { color:#444; font-size: 10pt; }
.topbar { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.pill { background:#f3f3f3; padding:8px 10px; border-radius:999px; font-size: 13px; }

.cert { font-size: 12pt; line-height: 1.35; }
.cert h1 { text-align:center; font-size: 18pt; letter-spacing: .5px; margin-bottom: 4px; }
.cert h2 { text-align:center; font-size: 12pt; margin-top:0; color:#444; font-weight:600; }
.cert .row { display:flex; justify-content:space-between; gap:14px; }
.cert .box { margin-top: 14px; }
.cert .field { margin: 8px 0; }
.cert .field b { display:block; }
.cert .field .en { display:block; color:#444; font-size: 10pt; margin-top:2px; }
.cert .footer { margin-top: 18px; display:flex; justify-content:space-between; }

.cert .field br{line-height: 1.2;}
.cert .field{margin: 10px 0;}

/* Sanitaire: 1 ligne par champ (label + valeur) */
.cert.sanitaire .fieldline{
  display: flex;
  gap: 6px;
  align-items: baseline;
  margin: 3px 0;
  line-height: 1.1;
  white-space: nowrap; /* empêche label/valeur de se séparer */
}

.cert.sanitaire .fieldline .label{
  font-weight: 700;
}

.cert.sanitaire .fieldline .value{
  font-weight: 400;
}

/* Autoriser le retour à la ligne uniquement pour les champs longs (adresse) */
.cert.sanitaire .fieldline.allow-wrap{
  white-space: normal;
}

