/* Socle commun aux trois templates. Tout est préfixé .pc- ou body.pc-page
   pour ne rien déborder sur le thème. */

.pc-landing {
	--pc-ink: #1a1a17;
	/* --pc-accent-soft plafonne à 3,6:1 : filets et aplats, jamais du texte. */
	--pc-accent: #ae4a2e;
	--pc-accent-soft: #cb5a3a;
	--pc-muted: #6b675e;
	--pc-line: #ddd8c9;
	--pc-line-strong: #b8b2a1;
	--pc-paper: #f2efe6;
	--pc-alt: #eae6da;
	/* Alerte du diagnostic : cramoisi, pour ne pas se confondre avec l'argile. */
	--pc-alert: #9b1c1c;
	--pc-sage: #a9c8a3;
	--pc-sage-dark: #5d7a54;

	/* Une seule famille : deux grotesques se ressemblent trop pour se
	   hiérarchiser. Le contraste vient du mono. */
	--pc-display: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pc-sans: var(--pc-display);
	--pc-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

	--pc-gutter: clamp(20px, 5vw, 64px);
	--pc-rhythm: clamp(40px, 5.5vw, 72px);

	background: var(--pc-paper);
	color: var(--pc-ink);
	font-family: var(--pc-sans);
	font-size: 1.0625rem;
	line-height: 1.6;
	font-synthesis-weight: none;
	-webkit-font-smoothing: antialiased;
	/* Filet de sécurité : aucun mot long (URL, email) n'élargit la page. */
	overflow-wrap: break-word;
}

.pc-landing *,
.pc-landing *::before,
.pc-landing *::after {
	box-sizing: border-box;
}

.pc-wrap {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 var(--pc-gutter);
}

/* ----------------------------------------------------------- Typographie */

/* Remise à zéro en :where() : spécificité nulle, donc une simple classe de
   section suffit à la surcharger sans !important. */
.pc-landing :where(h1, h2, h3, h4) {
	margin: 0;
	font-weight: 400;
	text-wrap: balance;
}

.pc-landing :where(p) {
	margin: 0;
	max-width: 68ch;
}

.pc-landing :where(ul, ol) {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-landing :where(a) {
	color: inherit;
}

.pc-label {
	font-family: var(--pc-mono);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pc-muted);
}

/* ---------------------------------------------------------------- Boutons */

.pc-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	padding: 15px 30px;
	border: 1px solid var(--pc-ink);
	border-radius: 0;
	font-family: var(--pc-sans);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.pc-btn--primary {
	background: var(--pc-ink);
	color: var(--pc-paper);
}

.pc-btn--primary:hover,
.pc-btn--primary:focus-visible {
	background: var(--pc-accent-soft);
	border-color: var(--pc-accent-soft);
	color: var(--pc-ink);
}

.pc-btn--ghost {
	background: transparent;
	color: var(--pc-ink);
}

.pc-btn--ghost:hover,
.pc-btn--ghost:focus-visible {
	background: var(--pc-ink);
	color: var(--pc-paper);
}

.pc-btn--lg {
	padding: 18px 38px;
	font-size: 1rem;
}

/* Lien fléché : la troisième action, volontairement plus légère qu'un bouton. */
.pc-arrow {
	display: inline-flex;
	align-items: baseline;
	gap: 0.5em;
	font-family: var(--pc-mono);
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	color: var(--pc-accent);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}

.pc-arrow::after {
	content: '\2192';
	transition: transform 0.18s ease;
}

.pc-arrow:hover::after,
.pc-arrow:focus-visible::after {
	transform: translateX(4px);
}

.pc-landing :focus-visible {
	outline: 2px solid var(--pc-accent);
	outline-offset: 3px;
}

/* --------------------------------------------------------- Entête Kadence */

body.pc-page {
	background: #f2efe6;
}

/* Kadence peint l'entête via #masthead, un sélecteur d'ID : il faut passer
   par l'ID aussi, sinon la barre reste blanche sous la page ivoire. */
body.pc-page #masthead,
body.pc-page #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
	background: #f2efe6;
}

body.pc-page .site-header {
	border-bottom: 1px solid #ddd8c9;
}

body.pc-page .site-branding img.custom-logo {
	max-height: 34px;
	width: auto;
}

body.pc-page #primary-menu > li > a {
	font-family: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b675e;
}

body.pc-page #primary-menu > li > a:hover,
body.pc-page #primary-menu > li.current-menu-item > a {
	color: #1a1a17;
}

/* Kadence peut injecter un pied vide sous une landing qui porte déjà le sien. */
body.pc-page .site-footer:empty {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.pc-landing *,
	.pc-landing *::before,
	.pc-landing *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
