/* ==========================================================================
   Signal Hero — hero plein-écran « type travaux »
   Grande image en fond, contenu aligné en bas, titre blanc OU noir.
   Couleurs Signal via tokens : --ink #21180a, --paper #f4f1ec, --glint #8c672c
   ========================================================================== */

/* ---------- Hero Container ---------- */
.signalhero {
	position: relative;
	width: 100vw;
	max-width: none;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	margin-top: 0;
	min-height: 85svh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: calc(var(--header-height, max(63.75px, 5.1vw)) + 3rem)
	         var(--container-padding, clamp(1.5rem, 4vw, 4rem))
	         clamp(2.5rem, 6vw, 5rem);
	box-sizing: border-box;
	background: var(--paper, #f4f1ec);
	overflow: clip;
}

/* Full-width override for FSE */
body:not(.block-editor-page) .wp-block-signalhero-hero,
body:not(.block-editor-page) .signalhero {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc(-50vw + 50%) !important;
	margin-right: calc(-50vw + 50%) !important;
}

/* ---------- Background image ---------- */
.signalhero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

/* Scrim adaptatif pour la lisibilité — sombre sous texte blanc, clair sous texte noir */
.signalhero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.signalhero[data-header-color="white"]::after {
	background: linear-gradient(to top,
		rgba(15, 14, 12, 0.72) 0%,
		rgba(15, 14, 12, 0.30) 38%,
		rgba(15, 14, 12, 0.05) 70%);
}

.signalhero[data-header-color="black"]::after {
	background: linear-gradient(to top,
		rgba(244, 241, 236, 0.82) 0%,
		rgba(244, 241, 236, 0.40) 40%,
		rgba(244, 241, 236, 0.08) 72%);
}

/* ---------- Content ---------- */
.signalhero__content {
	position: relative;
	z-index: 2;
	width: 100%;
}

.signalhero__inner {
	max-width: var(--max-wide, 1280px);
	width: 100%;
	margin: 0 auto;
}

/* ---------- Meta row ---------- */
.signalhero .signal-hero__meta {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.signalhero .signal-hero__category {
	font-family: var(--f-body, 'PP Monument Normal', system-ui, sans-serif);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--glint, #8c672c);
}

.signalhero .signal-hero__category a {
	color: var(--glint, #8c672c);
	text-decoration: none;
	border: 1px solid currentColor;
	padding: 0.3em 0.8em;
	border-radius: 2px;
}

.signalhero .signal-hero__date,
.signalhero .signal-hero__reading-time {
	font-family: var(--f-body, 'PP Monument Normal', system-ui, sans-serif);
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.signalhero .signal-hero__reading-time {
	margin-left: auto;
}

/* ---------- Title ---------- */
.signalhero .signal-hero__title {
	font-family: var(--f-display, 'PP Grafier Display', Georgia, serif);
	font-weight: 400;
	font-size: clamp(2.5rem, 2rem + 4vw, 5rem);
	line-height: 1.05;
	letter-spacing: -0.01em;
	max-width: 18ch;
	margin-bottom: 1.5rem;
}

.signalhero .signal-hero__title em,
.signalhero .signal-hero__title i {
	font-style: italic;
	color: var(--glint, #8c672c);
}

.signalhero .signal-hero__title strong {
	font-weight: 600;
}

/* ---------- Chapeau ---------- */
.signalhero .signal-hero__chapeau {
	font-family: var(--f-body, 'PP Monument Normal', system-ui, sans-serif);
	font-size: clamp(1rem, 0.9rem + 0.4vw, 1.2rem);
	font-weight: 400;
	line-height: 1.6;
	max-width: 52ch;
}

/* ---------- Couleur blanc / noir ---------- */
.signalhero[data-header-color="white"] .signal-hero__title,
.signalhero[data-header-color="white"] .signal-hero__chapeau {
	color: #fff;
}
.signalhero[data-header-color="white"] .signal-hero__date,
.signalhero[data-header-color="white"] .signal-hero__reading-time {
	color: rgba(255, 255, 255, 0.78);
}

.signalhero[data-header-color="black"] .signal-hero__title,
.signalhero[data-header-color="black"] .signal-hero__chapeau {
	color: var(--ink, #21180a);
}
.signalhero[data-header-color="black"] .signal-hero__date,
.signalhero[data-header-color="black"] .signal-hero__reading-time {
	color: var(--muted, #7a7268);
}

/* ==========================================================================
   Header recoloring (.signal-header) — driven by render.php injected class
   ========================================================================== */
.signal-header--hero-white .signal-header__title,
.signal-header--hero-white .signal-header__title:visited,
.signal-header--hero-white .signal-header__category {
	color: #fff;
}
.signal-header--hero-white .signal-header__logo-img {
	/* mauve SVG → blanc */
	filter: brightness(0) invert(1);
}

.signal-header--hero-black .signal-header__title,
.signal-header--hero-black .signal-header__title:visited,
.signal-header--hero-black .signal-header__category {
	color: var(--ink, #21180a);
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
	.signalhero {
		min-height: 70svh;
		padding-bottom: clamp(2rem, 8vw, 3rem);
	}

	.signalhero .signal-hero__title {
		max-width: none;
		font-size: clamp(2rem, 8vw, 2.8rem);
	}

	.signalhero .signal-hero__reading-time {
		margin-left: 0;
	}
}

/* ==========================================================================
   Editor preview (static)
   ========================================================================== */
.signalhero-editor__preview {
	position: relative;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 2rem;
	border-radius: 6px;
	background: linear-gradient(to top, #2a2820, #4a4640);
	color: #fff;
	overflow: hidden;
}

.signalhero-editor__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #c8a060;
}

.signalhero-editor__meta {
	display: flex;
	gap: 1rem;
	margin-bottom: 0.75rem;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.7;
}

.signalhero-editor__title {
	font-family: Georgia, serif;
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.1;
	margin-bottom: 0.75rem;
}

.signalhero-editor__chapeau {
	font-size: 0.95rem;
	line-height: 1.6;
	opacity: 0.8;
	max-width: 52ch;
}
