/* ============================================================
   HERO & SECTIONS D'ACCUEIL
   Classes utilitaires à poser sur les blocs Gutenberg de la page
   d'accueil (voir CLAUDE.md § Conventions de contenu).
   Pas de carte, pas de dégradé : composition par filets & espace.
   ============================================================ */

/* ---- Page d'accueil : le contenu occupe toute la largeur du conteneur ---- */
.home .entry-content,
.page-id-front .entry-content { max-width: none !important; }
.home .entry-content > * { margin-block: 0; }

/* Espace vertical entre les grands blocs de la home */
.home .entry-content > section,
.home .entry-content > .up-hero { margin: 0; }

/* ---- Masthead d'accueil : héro typographique centré (sans photo) ---- */
.up-masthead {
	text-align: center;
	padding: var(--up-space-24) 0 var(--up-space-16);
	border-bottom: var(--up-rule);
}
.up-masthead__eyebrow {
	font-size: var(--up-fs-xs);
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--up-accent);
	margin-bottom: var(--up-space-6);
}
.up-masthead__title {
	font-family: var(--up-font-display) !important;
	font-size: var(--up-fs-4xl);
	font-weight: 600;
	line-height: var(--up-lh-tight);
	letter-spacing: -0.015em;
	color: var(--up-ink);
	margin: 0 auto var(--up-space-8);
	max-width: 18ch;
}
.up-masthead__title em { font-style: italic; color: var(--up-accent); }
.up-masthead__lead {
	font-size: var(--up-fs-lg);
	line-height: var(--up-lh-body);
	color: var(--up-ink-soft);
	max-width: 60ch;
	margin: 0 auto;
}

/* ---- Accueil : deux colonnes image / texte ---- */
.up-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--up-space-16);
	align-items: center;
	padding: var(--up-space-16) 0;
	border-bottom: var(--up-rule);
}
.up-hero__media img { display: block; width: 100%; height: auto; }

.up-hero__eyebrow {
	font-size: var(--up-fs-xs);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--up-muted);
	margin-bottom: var(--up-space-4);
}
.up-hero__title {
	font-family: var(--up-font-display) !important;
	font-size: var(--up-fs-4xl);
	font-weight: 600;
	line-height: var(--up-lh-tight);
	color: var(--up-ink);
	margin: 0 0 var(--up-space-6);
}
.up-hero__title em { font-style: italic; color: var(--up-accent); }
.up-hero__lead {
	font-size: var(--up-fs-lg);
	line-height: var(--up-lh-body);
	color: var(--up-ink-soft);
}
.up-hero__signature {
	margin-top: var(--up-space-6);
	font-style: italic;
	color: var(--up-accent);
}

/* ---- En-tête de section (eyebrow + titre + chapô) ---- */
.up-section {
	padding: var(--up-space-16) 0;
	border-bottom: var(--up-hairline);
}
.up-section-head { max-width: var(--up-measure); margin-bottom: var(--up-space-12); }
.up-section-head__eyebrow {
	font-size: var(--up-fs-xs);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--up-accent);
	margin-bottom: var(--up-space-3);
}
.up-section-head__title {
	font-family: var(--up-font-display) !important;
	font-size: var(--up-fs-3xl);
	font-weight: 600;
	line-height: var(--up-lh-tight);
	margin: 0 0 var(--up-space-4);
}
.up-section-head__intro { color: var(--up-muted); font-size: var(--up-fs-lg); }

/* ---- Grille de thèmes (« Trouvez le poème juste pour chaque émotion »)
   Liens nets séparés par des filets — pas de boutons-cartes. ---- */
.up-theme-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: var(--up-hairline);
	border-left: var(--up-hairline);
}
.up-theme-grid__item {
	border-right: var(--up-hairline);
	border-bottom: var(--up-hairline);
}
.up-theme-grid__item a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--up-space-4);
	padding: var(--up-space-6);
	font-family: var(--up-font-display);
	font-size: var(--up-fs-lg);
	color: var(--up-ink);
	text-decoration: none;
	transition: background-color var(--up-ease), color var(--up-ease);
}
.up-theme-grid__item a::after {
	content: "→";
	color: var(--up-line-strong);
	transition: color var(--up-ease), transform var(--up-ease);
}
.up-theme-grid__item a:hover {
	background: var(--up-accent);
	color: var(--up-white);
}
.up-theme-grid__item a:hover::after { color: var(--up-white); transform: translateX(3px); }

/* ---- Bandeau de tags / sous-thèmes (liste de liens en ligne) ---- */
.up-taglist {
	display: flex;
	flex-wrap: wrap;
	gap: var(--up-space-3) var(--up-space-6);
	padding: var(--up-space-8) 0;
	border-bottom: var(--up-hairline);
	font-size: var(--up-fs-sm);
}
.up-taglist a {
	color: var(--up-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 2px;
}
.up-taglist a:hover { color: var(--up-accent); border-bottom-color: var(--up-accent); }

/* ============================================================
   Blocs Gutenberg natifs — alignement éditorial
   ============================================================ */
.wp-block-cover { border-radius: 0; }
.wp-block-columns { gap: var(--up-space-12); }
.wp-block-group.has-background { border-radius: 0; }

/* ---- Responsive ---- */
@media (max-width: 880px) {
	.up-hero { grid-template-columns: 1fr; gap: var(--up-space-8); padding: var(--up-space-12) 0; }
	.up-theme-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.up-theme-grid { grid-template-columns: 1fr; }
}
