/* Homepage */
.pe-hero {
	padding-block: var(--space-xl) var(--space-2xl);
	background: linear-gradient(180deg, var(--color-surface-tinted) 0%, var(--color-bg) 100%);
}

.pe-hero__grid {
	display: grid;
	gap: var(--space-xl);
	align-items: center;
}

@media (min-width: 900px) {
	.pe-hero__grid {
		grid-template-columns: 1fr minmax(280px, 42%);
	}
}

.pe-hero__content {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
}

.pe-hero__title {
	font-size: var(--font-size-hero);
}

.pe-hero__edition {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm);
}

.pe-hero__date {
	font-size: var(--font-size-lg);
	color: var(--color-text-muted);
	font-weight: 500;
}

.pe-hero__desc {
	color: var(--color-text-muted);
	font-size: var(--font-size-lg);
	max-width: 38rem;
}

.pe-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
}

.pe-hero__poster {
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	background: var(--color-surface);
}

.pe-hero__poster img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.pe-announce {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	padding: var(--space-xl);
	box-shadow: var(--shadow-sm);
	border-left: 4px solid var(--theme-primary);
}

.pe-programme-teaser {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-lg);
}

.pe-programme-teaser__thumb {
	max-width: 280px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	transition: transform var(--transition-base);
}

.pe-programme-teaser__thumb:hover {
	transform: scale(1.02);
}

.pe-programme-teaser__thumb img {
	width: 100%;
}

.pe-newsletter {
	text-align: center;
}

.pe-newsletter__form {
	max-width: 28rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.pe-newsletter__form .pe-input {
	text-align: center;
}

.pe-access-card {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	padding: var(--space-xl);
	box-shadow: var(--shadow-sm);
}
