/*!
 * Theme Name:  Les Plus Belles Fêtes de Village — Allianz
 * Theme URI:   https://lafetecontinue.allianz.fr
 * Author:      Agence
 * Description: Thème one-page custom pour le concours national Allianz × FNCOF.
 * Version:     1.0.0
 * Requires at least: 6.0
 * Tested up to:      6.9
 * Requires PHP:      8.0
 * License:     Proprietary
 * Text Domain: lafetecontinue-allianz
 *
 * @package lafetecontinue-allianz
 */

/* ==========================================================================
   FONTS — AllianzNeo (fichiers locaux TTF)
   ========================================================================== */

@font-face {
	font-family: 'AllianzNeo';
	src: url('assets/fonts/AllianzNeo-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'AllianzNeo';
	src: url('assets/fonts/AllianzNeo-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'AllianzNeoCondensed';
	src: url('assets/fonts/AllianzNeo-CondensedBold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* ==========================================================================
   DESIGN TOKENS — Variables CSS globales
   Toute la charte graphique Allianz en un seul endroit.
   ========================================================================== */

:root {

	/* --- Couleurs --- */
	--color-blue-dark:    #122B54;
	--color-blue-primary: #006192;
	--color-blue-light:   #13A0D3;
	--color-cyan-pale:    #DFEFF2;
	--color-yellow:       #FAB600;
	--color-sand:         #F5F0E0;
	--color-grey:         #D4D4D4;
	--color-white:        #FFFFFF;
	--color-black:        #000000;

	/* Couleurs de texte */
	--color-text:       #122B54;
	--color-text-light: #FFFFFF;

	/* --- Typographie --- */
	--font-family-base:      'AllianzNeo', sans-serif;
	--font-family-condensed: 'AllianzNeoCondensed', 'AllianzNeo', sans-serif;

	--font-weight-regular: 400;
	--font-weight-bold:    700;

	/* Échelle typographique */
	--font-size-h1:   5.6875rem; /* 91px */
	--font-size-h2:   2.25rem;   /* 36px */
	--font-size-h3:   1.5rem;    /* 24px */
	--font-size-body: 1rem;      /* 16px */
	--font-size-nav:  1.125rem;  /* 18px */
	--font-size-btn:  1.25rem;   /* 20px */

	--line-height-heading: 1.05;
	--line-height-body:    1.6;

	/* --- Espacements sections --- */
	--spacing-section-x:    10rem;    /* 160px — padding horizontal sections */
	--spacing-section-y-sm: 5.625rem; /*  90px — padding vertical réduit */
	--spacing-section-y-lg: 10rem;    /* 160px — padding vertical large */

	/* Espacements utilitaires */
	--spacing-xs:  0.5rem;    /*  8px */
	--spacing-sm:  1rem;      /* 16px */
	--spacing-md:  1.5rem;    /* 24px */
	--spacing-lg:  2rem;      /* 32px */
	--spacing-xl:  2.875rem;  /* 46px */
	--spacing-2xl: 3.8125rem; /* 61px */

	/* --- Boutons --- */
	--btn-padding-y: 0.8125rem; /* 13px */
	--btn-padding-x: 2.75rem;   /* 44px */
	--btn-radius:    0.375rem;  /*  6px */
	--btn-font-size: var(--font-size-btn);

	/* --- Layout --- */
	--header-height: 11.25rem; /* 180px — header 2 lignes (90px × 2) */
	--z-header:      100;
	--z-modal:       200;

	/* --- Transitions --- */
	--transition-base: 200ms ease-in-out;
	--transition-slow: 400ms ease-in-out;
}

/* ==========================================================================
   RESET MINIMAL
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin:     0;
	padding:    0;
}

html {
	font-size: 16px;
	/* scroll-behavior géré en JS (navigation.js) pour contrôle fin avec offset header */
}

body {
	font-family: var(--font-family-base);
	font-size:   var(--font-size-body);
	font-weight: var(--font-weight-regular);
	color:       var(--color-text);
	line-height: var(--line-height-body);
	overflow-x:  hidden;
}

img,
svg {
	max-width: 100%;
	height:    auto;
	display:   block;
}

a {
	color:           inherit;
	text-decoration: none;
}

ul,
ol {
	list-style: none;
}

button {
	cursor:     pointer;
	border:     none;
	background: none;
	font:       inherit;
}
