/**
 * PNC France : page d'accueil (page-templates/pnc-accueil.php)
 *
 * @package PNC_France
 */

/* -------------------------------------------------------------------------
   Bandeau d'accueil
   ------------------------------------------------------------------------- */

.pnc-page--accueil {
	padding-top: var(--pnc-space-6);
}

.pnc-accueil__hero.pnc-brand-hero--photo {
	display: flex;
	align-items: flex-end;
	min-height: clamp(280px, 42vw, 440px);
	/* Réserve la place des tuiles qui chevauchent le bas du bandeau. */
	padding: var(--pnc-space-10) var(--pnc-space-6) calc(var(--pnc-space-10) + var(--pnc-space-8));
	border-radius: var(--pnc-radius-lg);
	box-shadow: var(--pnc-shadow-md);
}

.pnc-accueil__hero .pnc-brand-hero__inner {
	width: 100%;
	max-width: 44rem;
	margin: 0;
}

.pnc-accueil__hero .pnc-brand-hero__title {
	margin-bottom: var(--pnc-space-4);
	font-size: clamp(2rem, 6vw, 3.5rem);
}

.pnc-accueil__accroche {
	margin: 0;
	font-size: clamp(var(--pnc-font-size-base), 2.2vw, var(--pnc-font-size-lg));
	line-height: var(--pnc-line-height-base);
	color: rgba(255, 255, 255, 0.92);
}

@media (min-width: 768px) {
	.pnc-accueil__hero.pnc-brand-hero--photo {
		padding: var(--pnc-space-12) var(--pnc-space-12) calc(var(--pnc-space-12) + var(--pnc-space-8));
	}
}

/* -------------------------------------------------------------------------
   Tuiles des rubriques
   ------------------------------------------------------------------------- */

.pnc-accueil__rubriques {
	position: relative;
	z-index: 3;
	margin: calc(-1 * var(--pnc-space-8)) var(--pnc-space-4) 0;
}

.pnc-rubriques {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--pnc-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.pnc-rubriques__item {
	margin: 0;
}

.pnc-rubriques__lien {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	text-decoration: none;
	background: var(--pnc-color-brand-blue);
	border-radius: var(--pnc-radius-md);
	box-shadow: var(--pnc-shadow-md);
	transition: transform var(--pnc-transition), box-shadow var(--pnc-transition);
}

.pnc-rubriques__lien::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(30, 50, 96, 0.05) 30%, rgba(30, 50, 96, 0.88) 100%);
	transition: background var(--pnc-transition);
}

.pnc-rubriques__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.pnc-rubriques__titre {
	position: absolute;
	right: var(--pnc-space-3);
	bottom: var(--pnc-space-3);
	left: var(--pnc-space-3);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pnc-space-2);
	font-size: var(--pnc-font-size-sm);
	font-weight: var(--pnc-font-weight-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pnc-color-white);
}

.pnc-rubriques__titre::after {
	content: "→";
	color: var(--pnc-color-secondary-light);
	transition: transform var(--pnc-transition);
}

.pnc-rubriques__lien:hover,
.pnc-rubriques__lien:focus-visible {
	transform: translateY(-3px);
	box-shadow: var(--pnc-shadow-lg);
}

.pnc-rubriques__lien:hover .pnc-rubriques__image,
.pnc-rubriques__lien:focus-visible .pnc-rubriques__image {
	transform: scale(1.05);
}

.pnc-rubriques__lien:hover .pnc-rubriques__titre::after,
.pnc-rubriques__lien:focus-visible .pnc-rubriques__titre::after {
	transform: translateX(3px);
}

.pnc-rubriques__lien:focus-visible {
	outline: 3px solid var(--pnc-color-secondary);
	outline-offset: 2px;
}

@media (min-width: 600px) {
	.pnc-rubriques__titre {
		right: var(--pnc-space-4);
		bottom: var(--pnc-space-4);
		left: var(--pnc-space-4);
		font-size: var(--pnc-font-size-base);
	}
}

@media (min-width: 900px) {
	.pnc-accueil__rubriques {
		margin-right: var(--pnc-space-8);
		margin-left: var(--pnc-space-8);
	}

	.pnc-rubriques {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--pnc-space-4);
	}
}

/* -------------------------------------------------------------------------
   Sections
   ------------------------------------------------------------------------- */

.pnc-page--accueil .pnc-section__title {
	font-size: clamp(var(--pnc-font-size-xl), 3.5vw, var(--pnc-font-size-2xl));
}

.pnc-accueil__une {
	border-top: 0;
}

.pnc-accueil__une .pnc-post-grid {
	margin-bottom: 0;
}

.pnc-accueil__actions {
	justify-content: center;
	margin-bottom: 0;
}

.pnc-accueil__video-une .pnc-player {
	margin-bottom: 0;
}

.pnc-accueil__intro {
	margin: calc(-1 * var(--pnc-space-3)) 0 var(--pnc-space-6);
	color: var(--pnc-color-text-muted);
}

@media (min-width: 900px) {
	.pnc-accueil__videos .pnc-video-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Blocs à fond pointillé (reprend le motif « green-energy » de l'ancien site). */
.pnc-accueil__bloc,
.pnc-accueil__adhesion {
	background-color: var(--pnc-color-bg-subtle);
	background-image: radial-gradient(var(--pnc-color-border) 1.5px, transparent 1.6px);
	background-position: 0 0;
	background-size: 26px 26px;
	border-radius: var(--pnc-radius-lg);
}

.pnc-accueil__bloc {
	margin-top: var(--pnc-space-12);
	padding: var(--pnc-space-6);
}

.pnc-accueil__bloc .pnc-split {
	margin: 0;
}

.pnc-accueil__titre {
	margin: 0 0 var(--pnc-space-4);
	font-size: clamp(var(--pnc-font-size-xl), 3.5vw, var(--pnc-font-size-2xl));
	font-weight: var(--pnc-font-weight-bold);
	line-height: var(--pnc-line-height-tight);
	color: var(--pnc-color-primary);
}

.pnc-accueil__paragraphe {
	margin: 0;
	font-size: var(--pnc-font-size-md);
	line-height: var(--pnc-line-height-relaxed);
}

.pnc-accueil__texte .pnc-actions,
.pnc-accueil__adhesion .pnc-actions {
	margin: var(--pnc-space-6) 0 0;
}

@media (min-width: 768px) {
	.pnc-accueil__bloc {
		padding: var(--pnc-space-10);
	}
}

/* -------------------------------------------------------------------------
   Qui sommes-nous ?
   ------------------------------------------------------------------------- */

.pnc-president {
	margin: 0;
	padding: var(--pnc-space-8) var(--pnc-space-6);
	text-align: center;
	color: var(--pnc-color-text-inverse);
	background: linear-gradient(160deg, var(--pnc-color-brand-blue) 0%, var(--pnc-color-brand-blue-dark) 100%);
	border-radius: var(--pnc-radius-lg);
	box-shadow: var(--pnc-shadow-md);
}

.pnc-president__photo {
	display: block;
	width: min(220px, 60%);
	height: auto;
	margin: 0 auto var(--pnc-space-5);
	border: 4px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
}

.pnc-president__nom {
	display: block;
	font-size: var(--pnc-font-size-xl);
	font-weight: var(--pnc-font-weight-bold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pnc-president__role {
	display: block;
	margin-top: var(--pnc-space-1);
	font-size: var(--pnc-font-size-md);
	font-weight: 300;
	color: rgba(255, 255, 255, 0.85);
}

/* -------------------------------------------------------------------------
   Adhésion et infolettre
   ------------------------------------------------------------------------- */

.pnc-accueil__engagement {
	display: grid;
	gap: var(--pnc-space-6);
	margin-top: var(--pnc-space-8);
}

.pnc-accueil__adhesion,
.pnc-accueil__infolettre {
	padding: var(--pnc-space-6);
}

.pnc-accueil__infolettre {
	color: var(--pnc-color-text-inverse);
	background: linear-gradient(160deg, var(--pnc-color-brand-blue) 0%, var(--pnc-color-brand-blue-dark) 100%);
	border-radius: var(--pnc-radius-lg);
	box-shadow: var(--pnc-shadow-md);
}

.pnc-accueil__infolettre-titre {
	margin: 0 0 var(--pnc-space-5);
	font-size: clamp(var(--pnc-font-size-xl), 3vw, var(--pnc-font-size-2xl));
	font-weight: var(--pnc-font-weight-bold);
	line-height: var(--pnc-line-height-tight);
	color: inherit;
}

.pnc-accueil__infolettre .pnc-form__field label {
	color: var(--pnc-color-text-inverse);
}

.pnc-accueil__infolettre .pnc-form input[type="text"],
.pnc-accueil__infolettre .pnc-form input[type="email"] {
	color: var(--pnc-color-text-inverse);
	background: rgba(255, 255, 255, 0.08);
	border: 2px solid rgba(255, 255, 255, 0.75);
}

.pnc-accueil__infolettre .pnc-form input:focus {
	border-color: var(--pnc-color-white);
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25);
}

.pnc-accueil__infolettre .pnc-form__notice--ok {
	color: var(--pnc-color-white);
	background: rgba(122, 173, 46, 0.35);
	border-color: rgba(149, 196, 74, 0.7);
}

@media (min-width: 768px) {
	.pnc-accueil__engagement {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.pnc-accueil__adhesion,
	.pnc-accueil__infolettre {
		padding: var(--pnc-space-10);
	}

	.pnc-accueil__adhesion {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	/* Colonne étroite : champs empilés. */
	.pnc-accueil__infolettre .pnc-form__grid {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 1024px) {
	.pnc-accueil__infolettre .pnc-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* -------------------------------------------------------------------------
   Carte du patrimoine
   ------------------------------------------------------------------------- */

.pnc-accueil__carte-media img {
	aspect-ratio: 676 / 535;
	object-fit: cover;
	box-shadow: var(--pnc-shadow-md);
}
