/*
Theme Name: ARSENEAULT Org
Theme URI: https://arseneault.org
Description: Thème enfant de Twenty Twenty-Five pour le site de test ARSENEAULT Org. Les couleurs, espacements et polices sont dans theme.json ; ce fichier ne contient que les règles que theme.json ne peut pas exprimer.
Author: ARSENEAULT
Template: twentytwentyfive
Version: 1.0.1
Requires at least: 6.6
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: arseneault-org
*/

/* ---------------------------------------------------------------------------
   1. Polices : repli ajusté
   Open Sans est auto-hébergée (voir theme.json). Ces deux polices de repli
   reprennent ses largeurs pour limiter le saut de mise en page au chargement.
   --------------------------------------------------------------------------- */
@font-face {
	font-family: "Open Sans Fallback";
	src: local("Arial"), local("Helvetica Neue"), local("Liberation Sans");
	font-weight: 300 600;
	size-adjust: 104.6%;
}

@font-face {
	font-family: "Open Sans Fallback Cond";
	src: local("Arial Bold"), local("Arial"), local("Liberation Sans");
	font-weight: 600 800;
	size-adjust: 80%;
}

/* Titres : version condensée d'Open Sans (axe de largeur), sans capitales forcées. */
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading,
.wp-block-post-title {
	font-stretch: 75%;
	text-transform: none;
}

/* ---------------------------------------------------------------------------
   2. Boutons
   --------------------------------------------------------------------------- */
.wp-element-button,
.wp-block-button__link {
	font-family: inherit;
	font-weight: 600;
}

.wp-block-button .wp-block-button__link {
	padding: 0.65em 1.4em;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	padding: calc(0.65em - 1px) calc(1.4em - 1px);
}

/* Boutons à contour : même survol que les boutons pleins. */
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--accent-3);
	border-color: var(--wp--preset--color--accent-3);
	color: var(--wp--preset--color--base);
}

/* ---------------------------------------------------------------------------
   3. Navigation : page active
   --------------------------------------------------------------------------- */
.wp-block-navigation .wp-block-navigation-item.current-menu-item > a,
.wp-block-navigation a[aria-current="page"] {
	color: var(--wp--preset--color--accent-1);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--accent-2);
	text-decoration-thickness: 3px;
	text-underline-offset: 8px;
}

/* ---------------------------------------------------------------------------
   4. Mise en page
   --------------------------------------------------------------------------- */
/* Pas de marge entre le contenu et le pied de page : l'espacement vient des sections. */
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* Infobox : hauteurs égales et hauteur minimale (classe .equal-card sur le groupe). */
.wp-block-column:has(> .equal-card) {
	display: flex;
	flex-direction: column;
}

.equal-card {
	flex: 1 1 auto;
	box-sizing: border-box;
	min-height: clamp(220px, 22vw, 280px);
}

/* ---------------------------------------------------------------------------
   5. Blogue : barre latérale
   --------------------------------------------------------------------------- */
@media (min-width: 782px) {
	.wp-block-column.blog-sidebar-col {
		position: sticky;
		top: 24px;
		align-self: flex-start;
	}
}

.wp-block-categories,
.wp-block-latest-posts {
	list-style: none;
	padding-left: 0;
}

.wp-block-categories li,
.wp-block-latest-posts li {
	padding: 0.25em 0;
}

.blog-sidebar-col .wp-block-search__inside-wrapper {
	gap: 8px;
	flex-wrap: nowrap;
}

.blog-sidebar-col .wp-block-search__input {
	min-width: 0;
	flex: 1 1 auto;
	padding: 0.5em 0.9em;
}

.blog-sidebar-col .wp-block-search .wp-block-search__button {
	flex: none;
	padding: 0.5em 0.8em;
	margin-left: 0;
}
