/**
 * Salam — Base & typographie
 * Reset minimal, styles globaux du document.
 */

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--salam-font-body);
	font-size: var(--salam-font-size-body);
	line-height: var(--salam-line-height-body);
	color: var(--salam-color-text);
	background-color: var(--salam-color-bg-page);
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--salam-color-primary);
	text-decoration: none;
	transition: color var(--salam-transition);
}

a:hover,
a:focus-visible {
	color: var(--salam-color-primary-dark);
}

/* Accessibilité */
.salam-skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 9999;
	padding: 0.75rem 1.25rem;
	background: var(--salam-color-primary);
	color: var(--salam-color-text-inverse);
	border-radius: var(--salam-radius-sm);
}

.salam-skip-link:focus {
	top: 1rem;
}

/* Titres globaux */
.salam-heading {
	font-family: var(--salam-font-heading);
	font-weight: 700;
	font-size: var(--salam-font-size-h1);
	line-height: var(--salam-line-height-heading);
	color: var(--salam-color-text);
	margin: 0 0 1rem;
}

.salam-section-title {
	font-family: var(--salam-font-heading);
	font-weight: 700;
	font-size: var(--salam-font-size-h2);
	line-height: 1.2;
	text-align: center;
	margin: 0 0 var(--salam-spacing-block);
	color: var(--salam-color-text);
}

.salam-content {
	font-size: var(--salam-font-size-body-lg);
	line-height: var(--salam-line-height-content);
}

.salam-content p {
	margin: 0 0 1.25rem;
}
