/*
Theme Name: Bribes
Theme URI: https://example.com/bribes
Author: Sébastien Bailly
Description: Thème minimaliste pour publier des textes courts et inachevés, une page par texte. Chaque bribe peut recevoir sa propre police et ses propres couleurs. Accueil avec la dernière bribe et une bribe au hasard. Par défaut, un bleu de Prusse sur fond ocre, d'après Cézanne.
Version: 1.2.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bribes
Tags: blog, one-column, block-styles, full-site-editing, editor-style, wide-blocks
*/

/*
 * L'essentiel des styles est dans theme.json.
 * Ce fichier ne contient que ce que theme.json ne sait pas exprimer.
 */

/* Les variables --bribe-* sont définies, texte par texte, par functions.php. */

::selection {
	background: var(--bribe-accent, var(--wp--preset--color--accent));
	color: var(--bribe-fond, var(--wp--preset--color--papier));
}

/* Le texte : une colonne étroite, des paragraphes sans marge excessive. */
.bribes-texte p {
	hyphens: auto;
	-webkit-hyphens: auto;
	hanging-punctuation: first;
}

/* Liens discrets, soulignés finement. */
a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

a:hover,
a:focus-visible {
	text-decoration-thickness: 2px;
}

:focus-visible {
	outline: 2px solid var(--bribe-accent, var(--wp--preset--color--accent));
	outline-offset: 3px;
}

/* Navigation de bas de page : précédent / hasard / suivant. */
.bribes-nav {
	font-size: var(--wp--preset--font-size--petit);
	letter-spacing: 0.02em;
	margin-top: var(--wp--preset--spacing--40) !important;
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(in srgb, currentColor 25%, transparent);
}

.bribes-nav .post-navigation-link-previous,
.bribes-nav .post-navigation-link-next {
	flex: 1 1 0;
}

.bribes-nav .post-navigation-link-next {
	text-align: right;
}

.bribes-nav .bribes-nav__hasard {
	flex: 0 0 auto;
	text-align: center;
	margin: 0;
}

@media (max-width: 480px) {
	.bribes-nav {
		flex-wrap: wrap;
		row-gap: 0.75rem;
	}

	.bribes-nav .bribes-nav__hasard {
		order: 3;
		flex-basis: 100%;
		text-align: left;
	}
}

@media (prefers-reduced-motion: no-preference) {
	a {
		transition: text-decoration-thickness 0.15s ease;
	}
}

/* Pied de page : une ligne fine, « Toutes les bribes » à gauche, copyright à droite. */
.bribes-pied__ligne {
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(in srgb, currentColor 25%, transparent);
	letter-spacing: 0.02em;
}

.bribes-pied__ligne p {
	margin: 0;
}

.bribes-pied__copyright {
	opacity: 0.75;
}

/* Liste de toutes les bribes : titre à gauche, date à droite. */
.bribes-liste__compte {
	opacity: 0.65;
}

.bribes-liste__ligne {
	padding: 0.7rem 0;
	border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.bribes-liste__ligne .wp-block-post-title {
	margin: 0;
}

.bribes-liste__ligne .wp-block-post-date {
	flex-shrink: 0;
	white-space: nowrap;
}
