/*
 * Montigny Baseball 2K27 — compléments CSS au theme.json.
 * Animations, styles de blocs, en-tête, héros et détails de la maquette.
 */

/* ---- Utilitaires ---------------------------------------------------- */
.mlb-label,
.is-style-label {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 800 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important;
}
.is-style-lead { font-size: 1.125rem; line-height: 1.6; max-width: 440px; }
.is-style-outline {
	color: transparent !important;
	-webkit-text-stroke: 1.5px var(--mlb-outline, var(--wp--preset--color--accent));
}
.has-primary-color .is-style-outline, .is-style-outline.has-primary-color { --mlb-outline: var(--wp--preset--color--primary); }
.is-style-outline.has-cream-color { --mlb-outline: var(--wp--preset--color--cream); }
.is-style-outline.has-accent-color { --mlb-outline: var(--wp--preset--color--accent); }

.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent !important;
	color: var(--wp--preset--color--accent) !important;
	padding: 0 0 0.25em !important;
	border-bottom: 2px solid var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
	letter-spacing: 0.15em;
	border-radius: 0;
}
.has-cream-background-color .wp-block-button.is-style-ghost .wp-block-button__link {
	color: var(--wp--preset--color--primary) !important;
	border-bottom-color: var(--wp--preset--color--accent);
}

.wp-block-group.is-style-card {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: box-shadow 0.2s ease;
}
.wp-block-group.is-style-card:hover { box-shadow: 0 16px 40px rgba(28, 28, 28, 0.16); }
.wp-block-group.is-style-rule-top { position: relative; }
.wp-block-group.is-style-rule-top::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: var(--wp--preset--gradient--accent-rule);
	z-index: 3;
}

.wp-block-image.is-style-corners { position: relative; }
.wp-block-image.is-style-corners::before,
.wp-block-image.is-style-corners::after {
	content: "";
	position: absolute;
	width: 70px; height: 70px;
	pointer-events: none;
}
.wp-block-image.is-style-corners::before { left: -1px; top: -1px; border-left: 4px solid var(--wp--preset--color--primary); border-top: 4px solid var(--wp--preset--color--primary); }
.wp-block-image.is-style-corners::after { right: -1px; bottom: -1px; border-right: 4px solid var(--wp--preset--color--primary); border-bottom: 4px solid var(--wp--preset--color--primary); }

/* ---- En-tête ------------------------------------------------------- */
.mlb-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(18, 18, 18, 0.94);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(216, 178, 136, 0.25);
}
body.admin-bar .mlb-header { top: var(--wp-admin--admin-bar--height, 32px); }
.mlb-header .wp-block-site-logo img { width: 48px; height: 48px; object-fit: contain; }
.mlb-brand { line-height: 1; }
.mlb-brand__name { font-family: var(--wp--preset--font-family--display); font-size: 1.25rem; letter-spacing: 1px; text-transform: uppercase; font-weight: 400; }
.mlb-brand__sub { color: var(--wp--preset--color--accent); font-size: 0.6875rem; letter-spacing: 0.25em; font-weight: 700; text-transform: uppercase; }
.mlb-topbar a { text-decoration: none; }
.mlb-topbar a:hover { color: var(--wp--preset--color--accent); }
.wp-block-navigation .wp-block-navigation-item__content { padding: 0.25em 0; }
.wp-block-navigation .wp-block-navigation-item.mlb-nav-cta a {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--cream);
	padding: 0.7em 1.4em;
	border-radius: 2px;
	transition: background 0.2s ease, color 0.2s ease;
}
.wp-block-navigation .wp-block-navigation-item.mlb-nav-cta a:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--black); }
.wp-block-navigation__submenu-container { background: var(--wp--preset--color--charcoal) !important; border: 1px solid rgba(216, 178, 136, 0.2) !important; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--black) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2rem; font-size: 1.25rem; }

/* ---- Héros --------------------------------------------------------- */
.mlb-hero { min-height: 720px; }
.mlb-hero__partners { align-self: flex-start; margin-left: 1.5rem !important; gap: 0.6rem !important; }
.mlb-hero__partners .is-style-label { margin-right: 0.4rem; }
.mlb-hero .wp-block-cover__image-background { object-position: center 30%; }
.mlb-hero__logo img { filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.5)); }
.mlb-hero__title { font-size: var(--wp--preset--font-size--giant); line-height: 0.9; letter-spacing: 0.5px; }
.mlb-hero .wp-block-buttons { gap: 1.1rem; }
.mlb-hero__nav { border-top: 1px solid rgba(245, 240, 227, 0.2); padding-top: 1.25rem; }
.mlb-hero__nav .wp-block-navigation { font-size: 0.9375rem; letter-spacing: 0.1em; }
.mlb-hero__partners .mlb-partners { gap: 0.6rem; }
.mlb-hero__partners .mlb-partner { border-color: rgba(245, 240, 227, 0.3); }

/* ---- Bandeau défilant ---------------------------------------------- */
@keyframes mlb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mlb-marquee { overflow: hidden; }
.mlb-marquee__track {
	display: flex;
	width: max-content;
	gap: 0;
	animation: mlb-marquee 22s linear infinite;
}
.mlb-marquee__track > * {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 3.6vw, 3.25rem); font-weight: 400;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 0 30px;
	line-height: 1;
	margin: 0;
}
.mlb-marquee__track > :nth-child(even) { color: transparent; -webkit-text-stroke: 1.5px var(--wp--preset--color--accent); }
@media (prefers-reduced-motion: reduce) { .mlb-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; } }

/* ---- Actus : cartes --------------------------------------------------- */
.mlb-news-feature { position: relative; min-height: 460px; height: 100%; max-height: 520px; display: flex; align-items: flex-end; overflow: hidden; background: var(--wp--preset--color--charcoal); }
.mlb-news-feature .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; }
.mlb-news-feature .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.mlb-news-feature .wp-block-post-featured-image::after { content: ""; position: absolute; inset: 0; background: var(--wp--preset--gradient--card-overlay); }
.mlb-news-feature__body { position: relative; z-index: 1; padding: 2rem; }
.mlb-news-feature .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); }
.mlb-news-feature .wp-block-post-title a, .mlb-news-card .wp-block-post-title a { text-decoration: none; color: inherit; }
.mlb-news-feature .wp-block-post-title a:hover, .mlb-news-card .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }
.mlb-news-card { display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); box-shadow: var(--wp--preset--shadow--soft); overflow: hidden; }
.mlb-news-card .wp-block-post-featured-image { margin: 0; width: 160px; height: 100%; min-height: 200px; }
.mlb-news-card .wp-block-post-featured-image:empty { display: none; }
.mlb-news-card > .mlb-news-card__body:first-child { padding-left: 1.1rem; }
.mlb-news-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.mlb-news-card__body { padding: 1.1rem 1.1rem 1.1rem 0; display: flex; flex-direction: column; justify-content: center; gap: 0.4rem; }
.mlb-news-card .wp-block-post-title { font-family: var(--wp--preset--font-family--body); font-size: 1.1875rem; font-weight: 700; text-transform: none; line-height: 1.25; }
.mlb-news-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
.mlb-news-card .wp-block-post-terms a { color: var(--wp--preset--color--primary); }
.mlb-cat-badge .wp-block-post-terms a { display: inline-block; background: var(--wp--preset--color--primary); color: var(--wp--preset--color--cream); padding: 0.45em 0.9em; }
@media (max-width: 560px) { .mlb-news-card { grid-template-columns: 1fr; } .mlb-news-card__body { padding: 1.1rem; } }

/* Grille d'articles (archives, accueil des actus) */
.is-style-cards .wp-block-post { background: var(--wp--preset--color--charcoal-2); display: flex; flex-direction: column; overflow: hidden; transition: transform 0.2s ease; }
.is-style-cards .wp-block-post:hover { transform: translateY(-3px); }
.is-style-cards .wp-block-post .wp-block-post-featured-image { margin: 0; aspect-ratio: 16 / 10; }
.is-style-cards .wp-block-post .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.is-style-cards .wp-block-post > :not(.wp-block-post-featured-image) { margin-left: 1.25rem; margin-right: 1.25rem; }
.is-style-cards .wp-block-post > :last-child { margin-bottom: 1.25rem; }
.is-style-cards .wp-block-post .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); }
.is-style-cards .wp-block-post .wp-block-post-title a { text-decoration: none; color: inherit; }
.is-style-cards .wp-block-post .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }

/* ---- Contenu éditorial ------------------------------------------------ */
.entry-content > :where(:not(.alignwide):not(.alignfull)) { max-width: var(--wp--style--global--content-size); margin-left: auto; margin-right: auto; }
.entry-content img { height: auto; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content table td, .entry-content table th { border: 1px solid rgba(216, 178, 136, 0.2); padding: 0.5rem 0.7rem; }
.entry-content iframe { max-width: 100%; }
.mlb-page-header { border-bottom: 1px solid rgba(216, 178, 136, 0.15); }
.mlb-page-header .wp-block-post-title { font-size: var(--wp--preset--font-size--huge); }

/* ---- Pied de page --------------------------------------------------- */
.mlb-footer a { text-decoration: none; }
.mlb-footer .wp-block-list { list-style: none; margin: 0; }
.mlb-footer .wp-block-list li { margin-bottom: 0.55rem; }
.mlb-footer .mlb-brand__name { font-size: 1.1875rem; }
.mlb-footer a:hover { color: var(--wp--preset--color--accent); }
.mlb-footer .wp-block-navigation { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--muted-light); }
.mlb-footer .wp-block-navigation .wp-block-navigation-item__content { padding: 0; }
.mlb-footer__bottom { border-top: 1px solid rgba(245, 240, 227, 0.1); }

/* ---- Pagination, formulaires ---------------------------------------- */
.wp-block-query-pagination a { text-decoration: none; }
.wp-block-search__input, .comment-form input:not([type="submit"]), .comment-form textarea {
	background: var(--wp--preset--color--charcoal-2);
	color: var(--wp--preset--color--cream);
	border: 1px solid rgba(216, 178, 136, 0.3);
	padding: 0.6em 0.9em;
}

/* ---- Ajustements responsive --------------------------------------- */
.is-style-cards .wp-block-post .wp-block-post-title { font-size: var(--wp--preset--font-size--large); line-height: 1.05; }
@media (max-width: 1100px) {
	.mlb-header .wp-block-navigation { font-size: 0.75rem; gap: 1rem !important; }
	.mlb-hero__nav .wp-block-navigation { font-size: 0.8125rem; gap: 1.1rem !important; }
}
@media (max-width: 782px) {
	.is-style-cards .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Calages maquette ----------------------------------------------- */
.mlb-topbar { font-size: 0.75rem; }
.mlb-header .wp-block-navigation, .mlb-hero__nav .wp-block-navigation { font-size: 0.9375rem; }
.wp-block-navigation .wp-block-navigation-item.mlb-nav-cta a { font-size: 0.875rem; padding: 0.75em 1.5em; }
.mlb-partners--grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mlb-partner__logo { max-height: 56px; max-width: 70%; }
.mlb-next-match__label, .mlb-last-results__label { font-size: 0.8125rem; }
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 2px; }
@media (max-width: 1024px) { .mlb-partners--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mlb-partners--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mlb-hero { min-height: 640px; } .mlb-hero .wp-block-cover__inner-container { min-height: calc(640px - 1.4rem); } }

.mlb-hero .wp-block-cover__inner-container { display: flex; flex-direction: column; width: 100%; min-height: calc(720px - 1.4rem); }
.mlb-hero__logo { margin-top: auto !important; }
.mlb-footer h6 { margin-bottom: 1rem; }

.wp-block-heading, .wp-block-post-title, .mlb-marquee__track > *, .wp-block-button__link { font-weight: 400; }

/* ---- En-tête fixe sur l'accueil -------------------------------------- */
.mlb-header--fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 60; transform: translateY(-100%); transition: transform 0.3s ease; }
body.admin-bar .mlb-header--fixed { top: var(--wp-admin--admin-bar--height, 32px); }
body.is-scrolled .mlb-header--fixed { transform: none; }

/* ---- Marque et bouton contour ----------------------------------------- */
.mlb-brand a { text-decoration: none; color: inherit; }
.mlb-brand a:hover { color: var(--wp--preset--color--accent); }
.mlb-brand__name { font-size: 1.1875rem; }
.mlb-brand__sub { font-size: 0.625rem; }
.wp-block-button.is-style-outline .wp-block-button__link { backdrop-filter: blur(4px); }
.has-cream-background-color .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; }

/* ---- Méga-menus ------------------------------------------------------- */
@media (min-width: 600px) {
	.wp-block-navigation .has-child { position: relative; }
	.wp-block-navigation .has-child > .wp-block-navigation-item__content { padding-right: 0.2em; }
	.wp-block-navigation .has-child .wp-block-navigation__submenu-icon { margin-left: 0.3em; opacity: 0.7; transition: transform 0.2s ease; }
	.wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-icon,
	.wp-block-navigation .has-child:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon { transform: rotate(180deg); }

	.wp-block-navigation .wp-block-navigation__submenu-container {
		top: calc(100% + 1rem) !important;
		left: -1.25rem !important;
		min-width: 300px !important;
		width: max-content !important;
		max-width: min(640px, calc(100vw - 2rem));
		padding: 1.85rem 1.75rem 1.5rem !important;
		background: var(--wp--preset--color--charcoal) !important;
		color: var(--wp--preset--color--cream) !important;
		border: 1px solid rgba(216, 178, 136, 0.2) !important;
		box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
		height: auto !important;
		overflow: visible !important;
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 0.1rem 2rem;
		text-transform: none;
		letter-spacing: 0;
		font-weight: 600;
		font-size: 0.9375rem;
	}
	.wp-block-navigation .wp-block-navigation__submenu-container::before {
		content: "";
		position: absolute;
		top: 0; left: 0; right: 0;
		height: 4px;
		background: var(--wp--preset--gradient--accent-rule);
	}
	/* Pont invisible pour garder le panneau ouvert entre l'item et le panneau. */
	.wp-block-navigation .wp-block-navigation__submenu-container::after {
		content: "";
		position: absolute;
		left: 0; right: 0; top: -1.1rem;
		height: 1.2rem;
	}
	.wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
	.wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container,
	.wp-block-navigation .has-child.is-open > .wp-block-navigation__submenu-container {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	.wp-block-navigation .wp-block-navigation__submenu-container:has(> li:nth-child(5)) { grid-template-columns: 1fr 1fr; min-width: 560px !important; }
	.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item { width: auto; }
	.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block;
		position: relative;
		padding: 0.55rem 0.9rem 0.55rem 1.1rem !important;
		border-radius: 2px;
		color: var(--wp--preset--color--muted-light);
		transition: color 0.15s ease, background 0.15s ease, padding-left 0.15s ease;
	}
	.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		content: "";
		position: absolute;
		left: 0; top: 0.75rem; bottom: 0.75rem;
		width: 3px;
		background: var(--wp--preset--color--accent);
		opacity: 0;
		transition: opacity 0.15s ease;
	}
	.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
		color: var(--wp--preset--color--cream) !important;
		background: rgba(245, 240, 227, 0.05);
		padding-left: 1.3rem !important;
	}
	.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before,
	.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus::before { opacity: 1; }
	/* Les derniers menus s'alignent à droite pour ne pas déborder de l'écran. */
	.wp-block-navigation .has-child:nth-last-child(-n+4) > .wp-block-navigation__submenu-container { left: auto !important; right: -1.25rem !important; }
	/* Héros : le panneau s'ouvre au-dessus de la nav qui est en bas de l'écran. */
	.mlb-hero__nav .wp-block-navigation__submenu-container { top: auto !important; bottom: calc(100% + 1rem) !important; transform: translateY(-8px); }
	.mlb-hero__nav .wp-block-navigation__submenu-container::after { top: auto; bottom: -1.1rem; }
	.mlb-hero__nav .has-child:hover > .wp-block-navigation__submenu-container,
	.mlb-hero__nav .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translateY(0); }
}

/* Voile noir léger sur le héros pour la lisibilité. */
.mlb-hero .wp-block-cover__image-background { filter: brightness(0.82); }
.mlb-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(18,18,18,0.55) 0%, rgba(18,18,18,0.35) 40%, rgba(18,18,18,0.95) 85%), rgba(0, 0, 0, 0.25) !important; }

/* Lien secondaire du héros. */
.mlb-hero .wp-block-button.is-style-ghost.mlb-hero__link .wp-block-button__link { color: #fff !important; border-bottom: 2px solid transparent !important; font-size: 1rem; transition: border-color 0.2s ease, color 0.2s ease; font-weight: 800; letter-spacing: 0.1em; padding-bottom: 0.3em !important; text-shadow: 0 1px 2px rgba(0,0,0,0.9), 0 2px 16px rgba(0,0,0,0.8); }
.mlb-hero .wp-block-button.is-style-ghost.mlb-hero__link .wp-block-button__link:hover { color: #fff !important; border-bottom-color: #fff !important; }

/* Héros : logos partenaires seuls, en gris, sans cadre. */
.mlb-hero__partners .mlb-partner { background: none !important; border: 0 !important; backdrop-filter: none; width: auto; min-height: 0; padding: 0; }
.mlb-hero__partners .mlb-partner__logo { max-height: 44px; filter: grayscale(1) invert(1) contrast(1.1); mix-blend-mode: screen; opacity: 0.8; transition: opacity 0.2s ease; }
.mlb-hero__partners .mlb-partner:hover .mlb-partner__logo { opacity: 1; }
.mlb-hero__partners .mlb-partners { gap: 1.25rem; }

/* Section partenaires : logos en couleur, sans cadre. */
.mlb-partners--grid .mlb-partner { border: 0 !important; background: none; min-height: 90px; padding: 0.5rem; }
.mlb-partners--grid .mlb-partner__logo { max-height: 80px; max-width: 100%; transition: transform 0.2s ease; }
.mlb-partners--grid .mlb-partner:hover .mlb-partner__logo { transform: scale(1.05); }

/* ---- Pages intérieures : fond clair, texte sombre -------------------- */
body:not(.mlb-front) { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--ink); }
body:not(.mlb-front) main a:not(.wp-block-button__link):not(.mlb-button) { color: var(--wp--preset--color--primary); }
body:not(.mlb-front) main a:not(.wp-block-button__link):not(.mlb-button):hover { color: var(--wp--preset--color--primary-dark); }
body:not(.mlb-front) .mlb-page-header { background: var(--wp--preset--color--white) !important; border-bottom: 1px solid rgba(28, 28, 28, 0.08); }
body:not(.mlb-front) .mlb-page-header .wp-block-post-terms a, body:not(.mlb-front) .mlb-page-header .has-accent-color { color: var(--wp--preset--color--primary) !important; }
body:not(.mlb-front) .has-muted-light-color { color: var(--wp--preset--color--ink-soft) !important; }
body:not(.mlb-front) .wp-block-post-date, body:not(.mlb-front) .wp-block-post-author-name { color: var(--wp--preset--color--muted) !important; }
body:not(.mlb-front) .wp-block-post-excerpt { color: var(--wp--preset--color--ink-soft); }
body:not(.mlb-front) .wp-block-post-terms.has-accent-color a, body:not(.mlb-front) .wp-block-post-terms.has-accent-color { color: var(--wp--preset--color--primary) !important; }
/* Cartes d'articles */
body:not(.mlb-front) .is-style-cards .wp-block-post { background: var(--wp--preset--color--white); box-shadow: var(--wp--preset--shadow--soft); }
body:not(.mlb-front) .is-style-cards .wp-block-post .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
/* Boutons */
body:not(.mlb-front) main .wp-block-button__link { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--cream); }
body:not(.mlb-front) main .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--cream); }
body:not(.mlb-front) main .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); border-color: rgba(28, 28, 28, 0.3); }
body:not(.mlb-front) main .wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }
body:not(.mlb-front) main .wp-block-button.is-style-ghost .wp-block-button__link { color: var(--wp--preset--color--primary) !important; border-bottom-color: var(--wp--preset--color--accent); background: transparent !important; }
/* Blocs sportifs */
body:not(.mlb-front) .mlb-match-list--accordion details { background: var(--wp--preset--color--white); border-color: rgba(28, 28, 28, 0.1); box-shadow: var(--wp--preset--shadow--soft); }
body:not(.mlb-front) .mlb-match-list--accordion summary::after { border-color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .mlb-match-list--accordion summary:hover { color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .mlb-match-list__panel { border-top-color: rgba(28, 28, 28, 0.08); }
body:not(.mlb-front) .mlb-match-list__row { border-top-color: rgba(28, 28, 28, 0.1); }
body:not(.mlb-front) .mlb-match-list__more a { color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .mlb-match-list__team a:hover { color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .mlb-standings__table th { color: var(--wp--preset--color--ink-soft); }
body:not(.mlb-front) .mlb-standings__table td { border-bottom-color: rgba(28, 28, 28, 0.1); }
body:not(.mlb-front) .mlb-standings__age { color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .mlb-player-card__row { border-top-color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .mlb-person__sub { color: var(--wp--preset--color--ink-soft); }
body:not(.mlb-front) .mlb-person__number { color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .mlb-person__photo { background: #e6e0d0; }
body:not(.mlb-front) .mlb-tag--away { background: rgba(28, 28, 28, 0.08); }
body:not(.mlb-front) .mlb-result--D { color: var(--wp--preset--color--cream); }
body:not(.mlb-front) .mlb-partners--grid .mlb-partner { color: var(--wp--preset--color--ink); }
body:not(.mlb-front) .mlb-team-card { color: var(--wp--preset--color--cream); }
body:not(.mlb-front) .mlb-next-match__empty, body:not(.mlb-front) .mlb-last-results__empty { color: rgba(245, 240, 227, 0.75); }
body:not(.mlb-front) .mlb-match-list__empty, body:not(.mlb-front) .mlb-standings__empty, body:not(.mlb-front) .mlb-roster__empty { color: var(--wp--preset--color--ink-soft); }
/* Formulaires, pagination, séparateurs */
body:not(.mlb-front) .wp-block-search__input, body:not(.mlb-front) .comment-form input:not([type="submit"]), body:not(.mlb-front) .comment-form textarea { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); border-color: rgba(28, 28, 28, 0.2); }
body:not(.mlb-front) .wp-block-separator { border-color: rgba(28, 28, 28, 0.15); color: rgba(28, 28, 28, 0.15); }
body:not(.mlb-front) .entry-content table td, body:not(.mlb-front) .entry-content table th { border-color: rgba(28, 28, 28, 0.12); }
body:not(.mlb-front) .wp-block-quote { border-left-color: var(--wp--preset--color--primary); }
body:not(.mlb-front) .wp-block-code { background: #efe9da; }
body:not(.mlb-front) .is-style-label.has-accent-color { color: var(--wp--preset--color--primary) !important; }
/* Sections sombres volontaires (bande partenaires, appels à l'action) gardent leur texte clair. */
body:not(.mlb-front) .has-charcoal-background-color, body:not(.mlb-front) .has-black-background-color, body:not(.mlb-front) .has-primary-background-color, body:not(.mlb-front) .has-primary-diagonal-gradient-background { color: var(--wp--preset--color--cream); }
body:not(.mlb-front) .has-charcoal-background-color a:not(.wp-block-button__link), body:not(.mlb-front) .has-primary-background-color a:not(.wp-block-button__link) { color: var(--wp--preset--color--accent); }
body:not(.mlb-front) .mlb-topbar, body:not(.mlb-front) .mlb-header, body:not(.mlb-front) .mlb-footer { color: var(--wp--preset--color--cream); }
body:not(.mlb-front) .mlb-header .wp-block-navigation, body:not(.mlb-front) .mlb-header .wp-block-navigation a { color: var(--wp--preset--color--cream); }
body:not(.mlb-front) .mlb-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
body:not(.mlb-front) .mlb-page-header, body:not(.mlb-front) .mlb-page-header .wp-block-post-title, body:not(.mlb-front) .mlb-page-header h1 { color: var(--wp--preset--color--ink) !important; }
body:not(.mlb-front) main .mlb-last-results a, body:not(.mlb-front) main .mlb-next-match a:not(.mlb-button), body:not(.mlb-front) main .mlb-match-header a, body:not(.mlb-front) main .mlb-team-card { color: var(--wp--preset--color--cream); }
body:not(.mlb-front) main .mlb-last-results a:hover, body:not(.mlb-front) main .mlb-match-header a:hover { color: var(--wp--preset--color--accent); }

/* ---- Contraste : jamais de vert sur fond sombre ------------------------ */
.has-black-background-color a:not(.wp-block-button__link), .has-charcoal-background-color a:not(.wp-block-button__link), .has-charcoal-2-background-color a:not(.wp-block-button__link), .has-footer-background-color a:not(.wp-block-button__link), .has-primary-background-color a:not(.wp-block-button__link), .has-primary-dark-background-color a:not(.wp-block-button__link), .has-primary-diagonal-gradient-background a:not(.wp-block-button__link),
body:not(.mlb-front) main .has-black-background-color a:not(.wp-block-button__link), body:not(.mlb-front) main .has-charcoal-background-color a:not(.wp-block-button__link), body:not(.mlb-front) main .has-charcoal-2-background-color a:not(.wp-block-button__link), body:not(.mlb-front) main .has-primary-background-color a:not(.wp-block-button__link), body:not(.mlb-front) main .has-primary-diagonal-gradient-background a:not(.wp-block-button__link),
.mlb-last-results a, .mlb-next-match a:not(.mlb-button), .mlb-match-header a, .mlb-team-card, .mlb-footer a, .mlb-header a, .mlb-topbar a { color: var(--wp--preset--color--cream); }
.has-black-background-color a:not(.wp-block-button__link):hover, .has-charcoal-background-color a:not(.wp-block-button__link):hover, .has-charcoal-2-background-color a:not(.wp-block-button__link):hover, .has-footer-background-color a:not(.wp-block-button__link):hover, .has-primary-background-color a:not(.wp-block-button__link):hover, .has-primary-diagonal-gradient-background a:not(.wp-block-button__link):hover, .mlb-footer a:hover, .mlb-header a:hover { color: var(--wp--preset--color--accent); }
.has-black-background-color .has-primary-color, .has-charcoal-background-color .has-primary-color, .has-charcoal-2-background-color .has-primary-color, .has-footer-background-color .has-primary-color, .has-primary-background-color .has-primary-color, .has-primary-diagonal-gradient-background .has-primary-color, .mlb-front .has-primary-color:not(.has-cream-background-color *) { color: var(--wp--preset--color--accent) !important; }
.has-black-background-color .wp-block-post-terms a, .has-charcoal-background-color .wp-block-post-terms a, .has-charcoal-2-background-color .wp-block-post-terms a { color: var(--wp--preset--color--accent); }
.mlb-news-feature .wp-block-post-terms a, .mlb-news-feature .wp-block-post-date { color: var(--wp--preset--color--cream); }

/* Pas d'espace entre en-tête, contenu principal et pied de page. */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.wp-site-blocks > main, body .wp-site-blocks main.wp-block-group { margin-top: 0 !important; }

/* Cartes sombres sur pages claires : noms d'équipes en or. */
.mlb-last-results a, .mlb-last-results .mlb-last-results__teams { color: var(--wp--preset--color--accent) !important; }
.mlb-last-results a:hover { color: var(--wp--preset--color--cream) !important; }
.mlb-next-match a:not(.mlb-button), .mlb-match-header a { color: var(--wp--preset--color--cream) !important; }
.mlb-next-match a:not(.mlb-button):hover, .mlb-match-header a:hover { color: var(--wp--preset--color--accent) !important; }

/* ---- Page équipe ------------------------------------------------------ */
.single-equipe .wp-block-post-featured-image img { object-position: center 25%; }
.mlb-person__photo { object-position: center top; aspect-ratio: 3 / 4; }
.mlb-person__photo[src*="logo-griffe"] { object-fit: contain; padding: 22%; opacity: 0.35; background: #e6e0d0; }
body.mlb-front .mlb-person__photo[src*="logo-griffe"], .has-black-background-color .mlb-person__photo[src*="logo-griffe"] { background: var(--wp--preset--color--charcoal-2); }
.mlb-person__photo { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; box-sizing: border-box; }
.mlb-person__photo[src*="logo-griffe"] { padding: 24%; }
.mlb-team-photo img { width: 100%; height: auto; max-height: 640px; object-fit: cover; object-position: center 20%; }

/* ---- Mobile --------------------------------------------------------------- */
@media (max-width: 560px) {
	.mlb-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.75rem; }
	.mlb-team-card { min-height: 190px !important; }
	.mlb-team-card__num { font-size: 2.5rem; }
	.mlb-team-card__name { font-size: 1.125rem; }
	.mlb-team-card__body { padding: 0.9rem; }
	.mlb-news-card { grid-template-columns: 1fr; }
	.mlb-news-card .wp-block-post-featured-image { width: 100%; min-height: 0; aspect-ratio: 16 / 9; }
	.mlb-news-card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; }
	.mlb-news-card__body { padding: 1rem 1.1rem 1.2rem; }
	.mlb-news-feature { min-height: 380px; }
	.mlb-standings__table { font-size: 0.875rem; }
	.mlb-standings__table th, .mlb-standings__table td { padding: 0.5rem 0.35rem; white-space: nowrap; }
	.mlb-standings__table .rank { width: 1.8rem; }
	.mlb-match-list__row { grid-template-columns: auto 1fr auto; align-items: center; }
	.mlb-match-list__score, .mlb-match-list__row > .mlb-tag { grid-column: auto; justify-self: end; }
	.mlb-match-list__when { min-width: 3rem; padding: 0.3rem 0.4rem; }
	.mlb-match-list__teams { font-size: 0.9375rem; }
	.mlb-match-list__meta { font-size: 0.75rem; }
	.mlb-tag { font-size: 0.625rem; padding: 0.25em 0.5em; }
	.wp-block-columns.mlb-stats-row { flex-wrap: nowrap !important; gap: 1rem !important; }
	.wp-block-columns.mlb-stats-row > .wp-block-column { flex-basis: 0 !important; flex-grow: 1; }
	.mlb-hero__title { font-size: clamp(2.5rem, 13vw, 3.25rem); }
	.mlb-roster__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
}
@media (max-width: 600px) {
	/* Sur mobile l'en-tête fixe de l'accueil est toujours visible et la nav du héros disparaît. */
	.mlb-header--fixed { position: sticky; transform: none; }
	.mlb-hero__nav, .mlb-hero__partners { display: none !important; }
	.mlb-hero { min-height: 560px; }
	.mlb-hero .wp-block-cover__inner-container { min-height: calc(560px - 1.4rem); justify-content: center; }
	.mlb-hero__logo { margin-top: 0 !important; }
	.mlb-hero .wp-block-buttons { margin-bottom: 1.5rem !important; }
}

/* Menu mobile : l'en-tête ne doit pas confiner le panneau plein écran. */
.mlb-header:has(.wp-block-navigation__responsive-container.is-menu-open) { backdrop-filter: none; transform: none !important; }
.wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; height: 100vh; height: 100dvh; z-index: 100000 !important; padding: 2rem 1.5rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.375rem; color: var(--wp--preset--color--cream) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static !important; background: none !important; border: 0 !important; box-shadow: none; padding: 0.5rem 0 0 1rem !important; opacity: 1; visibility: visible; transform: none; display: block !important; width: auto !important; min-width: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::before, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::after { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; color: var(--wp--preset--color--muted-light) !important; padding: 0.4rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .mlb-nav-cta a { display: inline-block; margin-top: 0.5rem; }
.wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--cream) !important; }
/* Étiquettes sable sur les bandes sombres des pages claires. */
body:not(.mlb-front) .has-charcoal-background-color .is-style-label.has-accent-color, body:not(.mlb-front) .has-black-background-color .is-style-label.has-accent-color, body:not(.mlb-front) .has-primary-background-color .is-style-label.has-accent-color, body:not(.mlb-front) .has-primary-diagonal-gradient-background .is-style-label.has-accent-color { color: var(--wp--preset--color--accent) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { justify-content: flex-start !important; align-items: flex-start !important; text-align: left; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
