/* ============================================================
   BASE — typographie globale, liens, boutons, médias
   ============================================================ */

html {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body {
	background-color: var(--up-paper);
	color: var(--up-ink-soft);
	font-family: var(--up-font-body);
	font-size: var(--up-fs-base);
	line-height: var(--up-lh-body);
	font-feature-settings: "liga" 1, "kern" 1;
}

/* ---- Titres : Fraunces. !important car Blocksy injecte de l'inline. ---- */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.ct-hero-title {
	font-family: var(--up-font-display) !important;
	color: var(--up-ink);
	font-weight: 600;
	line-height: var(--up-lh-tight);
	letter-spacing: 0;
	font-optical-sizing: auto;
}

h1, .page-title { font-size: var(--up-fs-3xl); font-weight: 700; }
h2 { font-size: var(--up-fs-2xl); }
h3 { font-size: var(--up-fs-xl); }
h4 { font-size: var(--up-fs-lg); }

/* ---- Corps de texte ---- */
p { margin: 0 0 var(--up-space-6); }

a {
	color: var(--up-accent);
	text-decoration: none;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
	transition: color var(--up-ease);
}
a:hover { color: var(--up-accent-dark); text-decoration: underline; }

/* Liens dans le corps d'article : soulignés discrètement par défaut */
.entry-content a:not(.wp-block-button__link):not(.button) {
	text-decoration: underline;
	text-decoration-color: var(--up-line-strong);
}
.entry-content a:not(.wp-block-button__link):not(.button):hover {
	text-decoration-color: var(--up-accent);
}

strong, b { font-weight: 600; color: var(--up-ink); }
em, i { font-style: italic; }

/* ---- Séparateur horizontal : un filet, jamais une barre épaisse ---- */
hr, .wp-block-separator {
	border: 0;
	border-top: var(--up-rule);
	height: 0;
	margin: var(--up-space-12) 0;
}
.wp-block-separator.is-style-dots { border: 0; }

/* ---- Citations : barre verticale bordeaux, pas de fond ---- */
blockquote, .wp-block-quote {
	margin: var(--up-space-8) 0;
	padding: var(--up-space-1) 0 var(--up-space-1) var(--up-space-6);
	border-left: 2px solid var(--up-accent);
	font-style: italic;
	color: var(--up-ink);
}
blockquote p:last-child { margin-bottom: 0; }
blockquote cite {
	display: block;
	margin-top: var(--up-space-3);
	font-style: normal;
	font-size: var(--up-fs-sm);
	color: var(--up-muted);
}

/* ---- Listes ---- */
ul, ol { padding-left: 1.25em; }
li { margin-bottom: var(--up-space-2); }

/* ---- Images : nettes, sans arrondi ---- */
img { max-width: 100%; height: auto; border-radius: 0; }
figure { margin: var(--up-space-8) 0; }
figcaption {
	margin-top: var(--up-space-2);
	font-size: var(--up-fs-xs);
	color: var(--up-muted);
	text-align: left;
}

/* ---- Boutons : plein bordeaux ou contour. Angles vifs. ---- */
.wp-block-button__link,
.button,
input[type="submit"],
.ct-button {
	border-radius: 0 !important;
	font-family: var(--up-font-body);
	font-weight: 600;
	font-size: var(--up-fs-sm);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.75em 1.6em;
	background-color: var(--up-accent);
	color: var(--up-white);
	border: 1px solid var(--up-accent);
	transition: background-color var(--up-ease), color var(--up-ease);
	cursor: pointer;
}
.wp-block-button__link:hover,
.button:hover,
input[type="submit"]:hover,
.ct-button:hover {
	background-color: var(--up-accent-dark);
	border-color: var(--up-accent-dark);
	color: var(--up-white);
}

/* Boutons « nus » (réactions, votes, actions…) : pas de style imposé,
   chaque composant définit le sien. On garde juste un reset propre. */
button {
	font-family: var(--up-font-body);
	cursor: pointer;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.button.is-outline {
	background: transparent;
	color: var(--up-accent);
	border-color: var(--up-line-strong);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--up-accent);
	color: var(--up-white);
	border-color: var(--up-accent);
}

/* ---- Sélection ---- */
::selection { background: var(--up-accent); color: var(--up-white); }

/* ---- Focus accessible (clavier) ---- */
:where(a, button, input, select, textarea, .ct-button):focus-visible {
	outline: 2px solid var(--up-accent);
	outline-offset: 2px;
}

/* ---- Conteneur de lecture : on borne la mesure ---- */
.entry-content,
.ct-container :where(.entry-content) {
	max-width: var(--up-measure);
}
