/*
 * Ferraro 1970 — styles globaux (layout, header, footer, base).
 * Pas de reset agressif : on preserve l'admin bar WP.
 */

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

body {
	margin: 0;
	font-family: var(--frr-font-body);
	font-size: var(--frr-fs-body);
	line-height: var(--frr-lh-normal);
	color: var(--frr-color-text);
	background-color: var(--frr-color-bg);
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3 {
	font-family: var(--frr-font-heading);
	line-height: var(--frr-lh-tight);
	margin: 0 0 var(--frr-space-sm);
}

a {
	color: var(--frr-color-accent);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Accessibilite */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.frr-skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	clip: auto;
	z-index: 1000;
	padding: var(--frr-space-xs) var(--frr-space-sm);
	background: var(--frr-color-text);
	color: #fff;
}

/* Conteneur generique */
.frr-header__inner,
.frr-footer__inner,
.frr-page__inner,
.frr-archive__inner,
.frr-404__inner {
	max-width: var(--frr-content-max);
	margin: 0 auto;
	padding-left: var(--frr-page-padding);
	padding-right: var(--frr-page-padding);
}

/* Header */
.frr-header {
	border-bottom: 1px solid var(--frr-color-line);
}

.frr-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--frr-space-md);
	padding-top: var(--frr-space-sm);
	padding-bottom: var(--frr-space-sm);
}

.frr-header__title {
	font-family: var(--frr-font-heading);
	font-size: var(--frr-fs-h3);
	text-decoration: none;
	color: var(--frr-color-text);
}

.frr-nav__list {
	list-style: none;
	display: flex;
	gap: var(--frr-space-md);
	margin: 0;
	padding: 0;
}

.frr-nav__list a {
	text-decoration: none;
	color: var(--frr-color-text);
}

/* Footer */
.frr-footer {
	margin-top: var(--frr-space-xl);
	border-top: 1px solid var(--frr-color-line);
	background: var(--frr-color-surface);
}

.frr-footer__inner {
	padding-top: var(--frr-space-md);
	padding-bottom: var(--frr-space-md);
}

.frr-footer__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: var(--frr-space-md);
	margin: 0 0 var(--frr-space-sm);
	padding: 0;
}

.frr-footer__copy {
	color: var(--frr-color-muted);
	font-size: var(--frr-fs-small);
	margin: 0;
}

/* Bouton generique */
.frr-button {
	display: inline-block;
	padding: var(--frr-space-xs) var(--frr-space-md);
	background: var(--frr-color-accent);
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	transition: opacity var(--frr-duration) var(--frr-ease);
}

.frr-button:hover {
	opacity: 0.85;
}

/* Pages simples */
.frr-page,
.frr-archive,
.frr-404 {
	padding-top: var(--frr-space-lg);
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
