/**
 * com_cvmtherapeutes — fiche imprimable A4.
 *
 * Sert aussi bien a l'apercu ecran qu'a l'impression : la mise en page est
 * decrite une seule fois, en millimetres.
 */

@page {
	size: A4;
	margin: 14mm 16mm;
}

.cvm-sheet {
	--sheet-teal: #009fbb;
	--sheet-text: #222;
	--sheet-muted: #666;
	--sheet-rule: #d8d8d8;
	max-width: 178mm;
	margin: 0 auto;
	padding: 8mm 0;
	font-family: 'Nunito Sans', 'Segoe UI', Arial, sans-serif;
	font-size: 10.5pt;
	line-height: 1.45;
	color: var(--sheet-text);
	background: #fff;
}

/* ---------- En-tete ---------- */

.cvm-sheet__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10mm;
	padding-bottom: 4mm;
	border-bottom: 2px solid var(--sheet-teal);
}

.cvm-sheet__logo {
	width: 42mm;
	height: auto;
}

.cvm-sheet__centre {
	text-align: right;
	font-size: 9pt;
	color: var(--sheet-muted);
	line-height: 1.5;
}

/* ---------- Identite ---------- */

.cvm-sheet__identity {
	display: flex;
	align-items: flex-start;
	gap: 8mm;
	margin: 7mm 0 6mm;
}

.cvm-sheet__photo {
	width: 32mm;
	height: 32mm;
	object-fit: cover;
	border-radius: 50%;
	flex: none;
}

.cvm-sheet__name {
	font-size: 20pt;
	font-weight: bold;
	color: var(--sheet-teal);
	margin: 0 0 1mm;
	line-height: 1.2;
}

.cvm-sheet__role {
	font-size: 11pt;
	font-style: italic;
	color: var(--sheet-muted);
	margin: 0 0 3mm;
}

.cvm-sheet__contact {
	margin: 0;
	font-size: 10pt;
}

.cvm-sheet__contact span + span::before {
	content: ' · ';
	color: var(--sheet-rule);
}

/* ---------- Sections ---------- */

.cvm-sheet__section {
	margin: 0 0 6mm;
	page-break-inside: avoid;
}

.cvm-sheet__title {
	font-size: 10pt;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--sheet-teal);
	margin: 0 0 2mm;
	padding-bottom: 1mm;
	border-bottom: 1px solid var(--sheet-rule);
}

.cvm-sheet__list {
	columns: 2;
	column-gap: 8mm;
	margin: 0;
	padding-left: 5mm;
}

.cvm-sheet__list li {
	break-inside: avoid;
	margin-bottom: .8mm;
}

.cvm-sheet__text p {
	margin: 0 0 2mm;
}

.cvm-sheet__table {
	width: 100%;
	border-collapse: collapse;
}

.cvm-sheet__table th {
	width: 32mm;
	text-align: left;
	font-weight: bold;
	padding: 1mm 3mm 1mm 0;
	vertical-align: top;
}

.cvm-sheet__table td {
	padding: 1mm 0;
}

.cvm-sheet__note {
	color: var(--sheet-muted);
	font-style: italic;
}

/* ---------- Pied ---------- */

.cvm-sheet__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8mm;
	margin-top: 8mm;
	padding-top: 3mm;
	border-top: 1px solid var(--sheet-rule);
	font-size: 8.5pt;
	color: var(--sheet-muted);
}

.cvm-sheet__qr {
	flex: none;
	width: 24mm;
}

.cvm-sheet__qr svg {
	width: 100%;
	height: auto;
}

/* ---------- Barre d'action, ecran uniquement ---------- */

.cvm-sheet__actions {
	max-width: 178mm;
	margin: 6mm auto 0;
	display: flex;
	gap: .6rem;
	justify-content: flex-end;
}

.cvm-sheet__actions button {
	padding: .5rem 1.2rem;
	border: 1px solid var(--sheet-teal, #009fbb);
	border-radius: 4px;
	background: #009fbb;
	color: #fff;
	font: inherit;
	cursor: pointer;
}

.cvm-sheet__actions button.is-secondary {
	background: #fff;
	color: #009fbb;
}

@media screen {
	body {
		margin: 0;
		padding: 10mm 0 20mm;
		background: #f2f2f2;
	}

	.cvm-sheet {
		padding: 14mm 16mm;
		box-shadow: 0 2px 14px rgba(0, 0, 0, .12);
	}
}

@media print {
	.cvm-sheet__actions {
		display: none;
	}

	.cvm-sheet {
		box-shadow: none;
		padding: 0;
	}
}
