/*
Theme Name: Les Colibris de Bois-Franc
Description: Thème sur mesure pour la Garderie Les Colibris de Bois-Franc : annonces, calendriers, événements et classes, faciles à mettre à jour.
Version: 1.4.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: colibris
*/

/* ---------- Base ---------- */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--nectar);
	outline-offset: 3px;
	border-radius: 6px;
}
.screen-reader-text:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- En-tête ---------- */
.colibris-entete .wp-block-site-title a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}
.colibris-entete .wp-block-site-title a::before {
	content: "";
	flex: none;
	width: 46px;
	height: 46px;
	background: url("assets/img/colibri-marque.svg") center / contain no-repeat;
}
.colibris-entete .wp-block-navigation-item__content { padding: 0.35rem 0.15rem; border-bottom: 3px solid transparent; }
.colibris-entete .wp-block-navigation-item__content:hover,
.colibris-entete .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--wp--preset--color--nectar); }
.colibris-telephone .wp-block-button__link { white-space: nowrap; }

/* ---------- Accueil : héros ---------- */
.colibris-heros { position: relative; }
.colibris-heros h1 { max-width: 13ch; letter-spacing: -0.01em; }
.colibris-heros__intro { max-width: 34rem; font-size: var(--wp--preset--font-size--moyen); }
.colibris-illustration { width: 100%; height: auto; display: block; max-width: 540px; margin-inline: auto; }
.colibris-illustration .ailes { transform-origin: 336px 196px; animation: colibris-battement 0.9s ease-in-out 3; }
@keyframes colibris-battement {
	0%, 100% { transform: rotate(0deg); }
	50% { transform: rotate(-7deg); }
}
@media (prefers-reduced-motion: reduce) {
	.colibris-illustration .ailes { animation: none; }
}
.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--foret);
	color: var(--wp--preset--color--foret);
	background: transparent;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--foret); color: #fff; }

/* ---------- Listes d'annonces ---------- */
.colibris-liste > li {
	padding-block: 1.1rem;
	border-top: 1px solid rgba(23, 63, 51, 0.16);
}
.colibris-liste > li:last-child { border-bottom: 1px solid rgba(23, 63, 51, 0.16); }
.colibris-liste .wp-block-post-title { margin-top: 0.15rem; }
.colibris-liste .wp-block-post-excerpt__excerpt { margin: 0.35rem 0 0; }
.colibris-liste .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Événements ---------- */
.colibris-evenements { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.colibris-evenement { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; align-items: center; }
.colibris-evenement__date {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	background: #fff;
	border: 2px solid var(--wp--preset--color--foret);
	border-radius: 18px 18px 18px 4px;
	line-height: 1;
	text-align: center;
}
.colibris-evenement__date .jour {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
	font-size: 1.6rem;
	color: var(--wp--preset--color--foret);
	display: block;
}
.colibris-evenement__date .mois {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--wp--preset--color--rubis);
}
.colibris-evenement__titre {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--wp--preset--color--foret);
	text-decoration: none;
	line-height: 1.25;
}
.colibris-evenement__titre:hover { text-decoration: underline; }
.colibris-evenement__details { display: block; font-size: var(--wp--preset--font-size--petit); color: #44564f; }
.colibris-evenement--passe .colibris-evenement__date { border-color: rgba(23, 63, 51, 0.35); }
.colibris-evenement--passe .colibris-evenement__date .jour { color: #5b6b65; }

.colibris-infos {
	display: grid;
	gap: 0.35rem;
	margin: 0;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--ciel);
	border-radius: 14px;
}
.colibris-infos dt { font-weight: 700; color: var(--wp--preset--color--foret); }
.colibris-infos dd { margin: 0 0 0.4rem; }
.colibris-infos > div { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.75rem; }
@media (max-width: 480px) { .colibris-infos > div { grid-template-columns: 1fr; gap: 0; } }

.colibris-vide { color: #4f615a; font-style: italic; }

/* ---------- Classes ---------- */
.colibris-classes .wp-block-post-featured-image img,
.colibris-classe-photo img {
	border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%;
	aspect-ratio: 1;
	object-fit: cover;
}
.colibris-classes .wp-block-post-featured-image { margin-bottom: 0.75rem; }
.colibris-classes .wp-block-post-title { text-align: center; }
.colibris-classes .colibris-classe-ages { text-align: center; margin-top: 0.2rem; }
.colibris-classe-ages { color: var(--wp--preset--color--rubis); font-weight: 700; font-size: var(--wp--preset--font-size--petit); }
.colibris-classe-sans-photo {
	aspect-ratio: 1;
	border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%;
	background: var(--wp--preset--color--ciel) url("assets/img/colibri-marque.svg") center / 38% no-repeat;
	margin-bottom: 0.75rem;
}

/* ---------- Calendriers ---------- */
.colibris-calendriers .wp-block-file {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	padding: 0.9rem 1.1rem;
	background: #fff;
	border: 2px solid rgba(23, 63, 51, 0.16);
	border-radius: 14px;
}
.wp-block-file .wp-block-file__button {
	background: var(--wp--preset--color--foret);
	color: #fff;
	border-radius: 999px;
	padding: 0.45rem 1.1rem;
	font-weight: 700;
}

/* ---------- Pied de page ---------- */
.colibris-pied a { color: #fff; }
.colibris-pied a:hover { color: var(--wp--preset--color--nectar); }
.colibris-pied h2 { color: var(--wp--preset--color--nectar); }

/* ---------- Petits écrans ---------- */
@media (max-width: 781px) {
	.colibris-heros h1 { max-width: none; }
	.colibris-illustration { max-width: 340px; }
}

.colibris-classe-photo { display: block; margin-bottom: 0.75rem; }
.colibris-classe-photo img { display: block; width: 100%; height: auto; }
.wp-site-blocks > footer { margin-block-start: 0; }
.colibris-classes .wp-block-post-template > li > * + * { margin-block-start: 0.35rem; }
.colibris-classes .colibris-classe-photo,
.colibris-classes .colibris-classe-sans-photo { max-width: 280px; margin-inline: auto; }

/* ---------- Langue ---------- */
.colibris-entete .colibris-langue > .wp-block-navigation-item__content {
	padding-inline: 0.75rem;
	border: 2px solid rgba(23, 63, 51, 0.25);
	border-radius: 999px;
}
.colibris-entete .colibris-langue > .wp-block-navigation-item__content:hover { border-color: var(--wp--preset--color--foret); }
.colibris-note-langue {
	padding: 0.6rem 0.9rem;
	background: #FFF6D9;
	border-left: 4px solid var(--wp--preset--color--nectar);
	border-radius: 6px;
	font-size: var(--wp--preset--font-size--petit);
}
.colibris-pied__note { color: #C9DED6; font-size: 0.875rem; margin-top: var(--wp--preset--spacing--50); }

/* ---------- Fermetures ---------- */
.colibris-evenement--fermeture .colibris-evenement__date { background: var(--wp--preset--color--rubis); border-color: var(--wp--preset--color--rubis); }
.colibris-evenement--fermeture .colibris-evenement__date .jour,
.colibris-evenement--fermeture .colibris-evenement__date .mois { color: #fff; }

/* ---------- Calendrier du mois ---------- */
.colibris-cal { margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); scroll-margin-top: 1rem; }
.colibris-cal__nav { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.75rem; }
.colibris-cal__nav h2 { margin: 0; text-align: center; }
.colibris-cal__nav a {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--foret);
	padding: 0.4rem 0.95rem;
	border: 2px solid rgba(23, 63, 51, 0.25);
	border-radius: 999px;
	white-space: nowrap;
}
.colibris-cal__nav a:hover { border-color: var(--wp--preset--color--foret); }
.colibris-cal__grille { width: 100%; border-collapse: separate; border-spacing: 6px; table-layout: fixed; margin-inline: -6px; width: calc(100% + 12px); }
.colibris-cal__grille th {
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 600;
	color: var(--wp--preset--color--foret);
	text-align: left;
	padding: 0 0.5rem 0.2rem;
}
.colibris-cal__grille td {
	vertical-align: top;
	height: 7rem;
	padding: 0.45rem 0.5rem 0.55rem;
	background: #fff;
	border: 1px solid rgba(23, 63, 51, 0.12);
	border-radius: 12px;
}
.colibris-cal__grille td.hors-mois { background: transparent; border-color: transparent; }
.colibris-cal__grille td.aujourdhui { border: 3px solid var(--wp--preset--color--nectar); }
.colibris-cal__grille td.ferme { background: #FBE8EF; border-color: rgba(184, 31, 87, 0.3); }
.colibris-cal__jour .num { font-family: var(--wp--preset--font-family--titre); font-weight: 800; color: var(--wp--preset--color--foret); }
.colibris-cal__jour .jsem { display: none; }
.colibris-cal__grille ul { list-style: none; margin: 0.35rem 0 0; padding: 0; display: grid; gap: 0.3rem; }
.colibris-cal__grille li a {
	display: block;
	padding: 0.25rem 0.45rem;
	font-size: 0.875rem;
	line-height: 1.25;
	color: var(--wp--preset--color--foret);
	background: var(--wp--preset--color--ciel);
	border-radius: 8px;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.colibris-cal__grille li a:hover { text-decoration: underline; }
.colibris-cal__grille li.fermeture a { background: var(--wp--preset--color--rubis); color: #fff; font-weight: 700; }

@media (max-width: 760px) {
	.colibris-cal__nav { flex-wrap: wrap; }
	.colibris-cal__nav h2 { order: -1; flex-basis: 100%; }
	.colibris-cal__grille, .colibris-cal__grille tbody { display: block; width: 100%; margin: 0; }
	.colibris-cal__grille thead { display: none; }
	.colibris-cal__grille tr { display: contents; }
	.colibris-cal__grille td { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.5rem; height: auto; margin-bottom: 0.5rem; }
	.colibris-cal__grille td.vide, .colibris-cal__grille td.hors-mois { display: none; }
	.colibris-cal__jour .jsem { display: inline; font-family: var(--wp--preset--font-family--titre); font-weight: 600; color: var(--wp--preset--color--foret); }
	.colibris-cal__grille ul { margin: 0; }
}

/* ---------- Bouton de langue (coin supérieur droit) ---------- */
.colibris-entete .colibris-barre-langue { margin-bottom: -0.25rem; }
.colibris-entete .colibris-barre-langue p { margin: 0; }
.colibris-langue-lien {
	display: inline-block;
	padding: 0.2rem 0.85rem;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--foret);
	text-decoration: none;
	border: 2px solid rgba(23, 63, 51, 0.25);
	border-radius: 999px;
}
.colibris-langue-lien:hover { border-color: var(--wp--preset--color--foret); color: var(--wp--preset--color--foret); }

/* ---------- Images dans le calendrier ---------- */
.colibris-cal__grille li a { display: grid; gap: 0.25rem; justify-items: center; text-align: center; }
.colibris-cal__grille li a:not(:has(img)) { justify-items: start; text-align: left; }
.colibris-cal__image {
	display: block;
	width: 100%;
	max-width: 7rem;
	height: 4.5rem;
	object-fit: contain;
	border-radius: 6px;
}
@media (max-width: 760px) {
	.colibris-cal__grille li a { grid-template-columns: 3.5rem 1fr; justify-items: start; text-align: left; align-items: center; }
	.colibris-cal__grille li a:not(:has(img)) { grid-template-columns: 1fr; }
	.colibris-cal__image { width: 3.5rem; height: 3.5rem; }
}

/* ---------- Menu mobile ---------- */
@media (min-width: 600px) {
	.colibris-entete .colibris-nav-tel { display: none !important; }
}
@media (max-width: 599px) {
	.colibris-entete .colibris-telephone { display: none; }
	.colibris-entete .colibris-entete__rangee { flex-wrap: nowrap; align-items: center; }
	.colibris-entete .wp-block-site-title { flex: 1 1 auto; min-width: 0; font-size: 1.0625rem; }
	.colibris-entete .colibris-entete__droite { flex: none; }

	/* Bouton « Menu » */
	.colibris-entete .wp-block-navigation__responsive-container-open {
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
		padding: 0.45rem 0.85rem;
		border: 2px solid var(--wp--preset--color--foret);
		border-radius: 999px;
		color: var(--wp--preset--color--foret);
		font-family: var(--wp--preset--font-family--titre);
		font-weight: 600;
		font-size: 1rem;
	}
	.colibris-entete .wp-block-navigation__responsive-container-open::after { content: "Menu"; }
	.colibris-entete .wp-block-navigation__responsive-container-open svg { width: 20px; height: 20px; }
}

/* Menu ouvert (plein écran) */
.colibris-entete .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1rem 1.5rem 2rem;
	padding-top: calc(1rem + var(--wp-admin--admin-bar--height, 0px));
}
.colibris-entete .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.colibris-entete .is-menu-open .wp-block-navigation__responsive-container-close {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.85rem;
	border: 2px solid var(--wp--preset--color--foret);
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 600;
	font-size: 1rem;
	color: var(--wp--preset--color--foret);
}
.colibris-entete .is-menu-open .wp-block-navigation__responsive-container-close::after { content: "Fermer"; }
html:lang(en) .colibris-entete .is-menu-open .wp-block-navigation__responsive-container-close::after { content: "Close"; }
.colibris-entete .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 3.5rem !important;
}
.colibris-entete .is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	width: 100%;
}
.colibris-entete .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid rgba(23, 63, 51, 0.14);
}
.colibris-entete .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.9rem 0.25rem !important;
	font-size: 1.375rem;
	border-bottom: 0 !important;
}
.colibris-entete .is-menu-open .colibris-nav-tel { border-bottom: 0; margin-top: 1.5rem; }
.colibris-entete .is-menu-open .colibris-nav-tel .wp-block-navigation-item__content {
	text-align: center;
	font-size: 1.125rem;
	color: #fff;
	background: var(--wp--preset--color--foret);
	border-radius: 999px;
	padding: 0.85rem 1rem !important;
}
.colibris-entete .is-menu-open .wp-block-navigation-item__content { box-sizing: border-box; }
.colibris-entete .is-menu-open .colibris-nav-tel { margin-inline: 0; }

.colibris-note-traduction { margin-top: 2rem; font-size: var(--wp--preset--font-size--petit); color: #5b6b65; font-style: italic; }


/* ---------- Menu ---------- */
.colibris-menu__groupes { display: inline-flex; gap: 0.25rem; padding: 0.25rem; margin-bottom: 1.25rem; background: var(--wp--preset--color--ciel); border-radius: 999px; }
.colibris-menu__groupes a {
	padding: 0.45rem 1.1rem;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 600;
	color: var(--wp--preset--color--foret);
	text-decoration: none;
}
.colibris-menu__groupes a[aria-current="true"] { background: var(--wp--preset--color--foret); color: #fff; }
.colibris-menu__nav h2 { display: grid; justify-items: center; gap: 0.1rem; }
.colibris-menu__rotation { font-family: var(--wp--preset--font-family--texte); font-size: var(--wp--preset--font-size--petit); font-weight: 700; color: var(--wp--preset--color--rubis); }
.colibris-menu__jours { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; margin-top: 1rem; }
.colibris-menu__jour { padding: 0.9rem 0.9rem 1rem; background: #fff; border: 1px solid rgba(23, 63, 51, 0.12); border-radius: 14px; }
.colibris-menu__jour.est-aujourdhui { border: 3px solid var(--wp--preset--color--nectar); }
.colibris-menu__jour.est-ferme { background: #FBE8EF; border-color: rgba(184, 31, 87, 0.3); }
.colibris-menu__jour h3 { margin: 0 0 0.6rem; font-size: 1.125rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.colibris-menu__auj { font-family: var(--wp--preset--font-family--texte); font-size: 0.75rem; font-weight: 700; padding: 0.1rem 0.5rem; border-radius: 999px; background: var(--wp--preset--color--nectar); color: var(--wp--preset--color--foret); }
.colibris-menu__jour dl { margin: 0; display: grid; gap: 0.6rem; }
.colibris-menu__repas dt { font-size: 0.75rem; font-weight: 700; color: #5b6b65; }
.colibris-menu__repas dd { margin: 0.1rem 0 0; font-size: 0.9375rem; line-height: 1.4; }
.colibris-menu__repas--repas { padding: 0.5rem 0.6rem; background: var(--wp--preset--color--ciel); border-radius: 10px; }
.colibris-menu__repas--repas dd { font-weight: 700; color: var(--wp--preset--color--foret); }
.colibris-menu__ferme { margin: 0; font-weight: 700; color: var(--wp--preset--color--rubis); }
.colibris-menu__note { margin-top: 1.25rem; font-size: var(--wp--preset--font-size--petit); color: #4f615a; }
@media (max-width: 960px) {
	.colibris-menu__jours { grid-template-columns: 1fr; }
	.colibris-menu__jour dl { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
}
.colibris-menu-jour { margin-top: var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid rgba(23, 63, 51, 0.16); }
.colibris-menu-jour h3 { margin: 0 0 0.4rem; }
.colibris-menu-jour__plat { margin: 0; font-weight: 700; color: var(--wp--preset--color--foret); }
.colibris-menu-jour__dessert { margin: 0.2rem 0 0.5rem; font-size: var(--wp--preset--font-size--petit); }
