/* Page CV : mise en forme fidèle à la maquette validée.
   Chargé uniquement sur la page dont l'adresse est /cv/.
   Les valeurs (couleurs, tailles, espaces) viennent de la maquette. */

:root {
	--cv-gold: #f5b82e;
	--cv-gold-ink: #120d02;
	--cv-surface: #0f0e0c;
	--cv-line: #2a2721;
	--cv-fg: #f6f4ef;
	--cv-soft: #d6d2c8;
	--cv-muted: #a8a399;
	--cv-display: "Helvetica Neue", "Segoe UI", system-ui, Arial, sans-serif;
}

/* ---------- Largeur et alignement ----------
   La colonne (titre + contenu) est réglée une seule fois pour tout le site : voir --de-col dans de-global.css. */
main.wp-block-group {
	padding-top: calc(var(--de-header-h) + 2rem);
}

/* ---------- Grand titre « cv » ---------- */
main .wp-block-post-title {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	font-family: var(--cv-display);
	font-weight: 800;
	line-height: 0.85;
	letter-spacing: -0.04em;
	text-transform: lowercase;
	color: var(--cv-fg);
}

/* ---------- Accroche ---------- */
main .de-cv-accroche {
	max-width: 36rem !important;
	margin-left: 0 !important;
	margin-top: 2.25rem !important;
	margin-bottom: 0;
	font-size: clamp(1.2rem, 3.6vw, 1.6rem);
	line-height: 1.4;
	color: var(--cv-soft);
	text-wrap: balance;
}
.de-cv-accroche strong { color: var(--cv-fg); font-weight: 650; }

/* ---------- Boutons ---------- */
main .wp-block-post-content > .wp-block-buttons {
	margin-top: 2rem !important;
	gap: 0.75rem;
}
.wp-block-post-content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 3.25rem;
	padding: 0.75rem 1.5rem;
	border: 2px solid var(--cv-gold);
	border-radius: 0.4rem;
	background: transparent;
	color: var(--cv-gold);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.wp-block-post-content .wp-block-button__link:hover {
	background: var(--cv-gold);
	color: var(--cv-gold-ink);
	text-decoration: none;
}
.wp-block-post-content .de-cv-primary .wp-block-button__link {
	background: var(--cv-gold);
	color: var(--cv-gold-ink);
}
.wp-block-post-content .de-cv-primary .wp-block-button__link:hover {
	background: #ffc94d;
	border-color: #ffc94d;
	color: var(--cv-gold-ink);
	transform: translateY(-2px);
}

/* ---------- Fiche physique + cadre de l'agent ---------- */
main .de-cv-infos {
	display: grid;
	gap: 1.5rem;
	margin-top: 2.5rem !important;
}
@media (min-width: 760px) {
	main .de-cv-infos { grid-template-columns: 1.4fr 1fr; gap: 3rem; }
}
.de-cv-fiche {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem 1rem;
	margin: 0;
	align-content: start;
}
.de-cv-fiche > *, .de-cv-agent > * { margin: 0 !important; }
.de-cv-fiche__item { font-size: 1.15rem; line-height: 1.45; color: var(--cv-fg); }
.de-cv-fiche__item strong,
.de-cv-label {
	display: block;
	margin-bottom: 0.15rem;
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cv-muted);
}
.de-cv-agent {
	min-width: 0;
	padding: 1.25rem;
	background: var(--cv-surface);
	border: 1px solid var(--cv-line);
	border-radius: 0.5rem;
}
.de-cv-agent__nom {
	font-family: var(--cv-display);
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.15;
	text-transform: none;
	color: var(--cv-fg);
}
.de-cv-agent__tel { margin-top: 0.25rem !important; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.de-cv-agent__tel a { color: var(--cv-fg); text-decoration: underline; text-decoration-color: var(--cv-gold); text-underline-offset: 4px; }

/* Navigation interne (pastilles) : voir de-chips.css (partagé avec Projets et Galerie). */

/* ---------- Rubriques ---------- */
main .de-cv-section {
	margin-top: 0 !important;
	padding-block: 3.5rem 0.5rem;
	scroll-margin-top: 5.5rem;
}
main .de-cv-section > h2,
main .de-cv-closing > h2 {
	margin: 0 0 1.25rem !important;
	font-family: var(--cv-display);
	font-weight: 200;
	font-size: clamp(1.75rem, 1.3rem + 2vw, 3rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	text-transform: lowercase;
	text-wrap: balance;
	color: var(--cv-fg);
}
.de-cv-section > .de-cv-row:first-of-type { border-top: 1px solid var(--cv-line); }
.de-cv-row {
	display: grid;
	grid-template-columns: 6.25rem minmax(0, 1fr);
	gap: 1rem;
	margin: 0 !important;
	padding-block: 1.1rem;
	border-bottom: 1px solid var(--cv-line);
	transition: background 0.2s ease;
}
.de-cv-row:hover { background: var(--cv-surface); }
@media (min-width: 760px) {
	.de-cv-row { grid-template-columns: 9rem minmax(0, 1fr); gap: 2rem; }
}
.de-cv-row > *, .de-cv-info > * { margin: 0 !important; }
main .de-cv-row .de-cv-year {
	padding-top: 0.15rem;
	font-size: 0.95rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: #f5b82e !important;
}
.de-cv-info { min-width: 0; }
.de-cv-info h3 {
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 1.1rem;
	font-weight: 650;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	text-wrap: balance;
	color: var(--cv-fg);
}
.de-cv-meta { margin-top: 0.25rem !important; font-size: 0.95rem; color: var(--cv-muted); }
.de-cv-role { margin-top: 0.35rem !important; }
.de-cv-role strong {
	margin-right: 0.35rem;
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cv-muted);
}
.de-cv-plain { font-size: 1.05rem; }

/* ---------- Fin de page ---------- */
main .de-cv-closing { padding-block: 4rem 2rem; }

@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link, .de-cv-row { transition: none; }
}
