/*
Theme Name: Une Autre Voix
Theme URI: https://www.horizon-signature.ch
Author: Horizon Signature
Author URI: https://www.horizon-signature.ch
Description: Theme créé sur-mesure pour la maison d'édition Une Autre Voix, avec architecture modulaire et fonctionnalités intégrées.
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: Proprietary
License URI: https://www.horizon-signature.ch/license
Text Domain: une-autre-voix
Domain Path: /languages

Une Autre Voix - Thème WordPress créé par Horizon Signature
Copyright 2026 Horizon Signature
Tous droits réservés

Changelog:
0.1.0 — Passage en preprod
0.0.43 - A1 : Déclaration variables fantômes --spacing-3xs, --border-width-thin,
       - --font-small-text-style, --font-h3-letter-spacing, --font-h3-text-transform
       - E1 : Ajout --shadow-card (rgba(0,0,0,0.125)) — ombres cartes et conteneurs
       - E2 : Ajout groupe variables z-index (--z-header, --z-megamenu, --z-overlay,
       -       --z-modal, --z-mobile-menu)
       - E3 : Centralisation règle H1 mobile universelle dans style.css
       - E4 : Centralisation classes .carousel-bg-* dans style.css (hors media query)
0.0.42 - Ajout variables couleurs sémantiques --color-error et --color-validation
0.0.41 - Ajout classe utilitaire .h2-large (font-h2-large-*)
0.0.40 - strong, b : font-weight 600 global (au lieu du 700 navigateur par défaut)
0.0.39 - Ajout jeu de variables --font-small-text-italic-accent-*
       - Italic + weight 600 + size s (équivalent thème des variables Elementor remplacées)
       - Desktop + override mobile dans media query ≤1200px
0.0.38 - Ajout variables H2 Standard (--font-h2-standard-*)
       - Desktop : family heading, size 6vh, weight 400, line-height tight
       - Mobile : size 40px, line-height tight
       - Application sur tous les H2 par défaut
       - Variables créées : family, size, weight, line-height
0.0.37 - Ajustement taille H1 Standard desktop : 10vh → 8vh
       - Réduit légèrement la taille des H1 articles/pages sur desktop
       - Mobile inchangé (62px)
0.0.36 - Fix : redéfinition complète variables H1 Standard mobile
       - Ajout family et weight dans media query mobile (étaient manquants)
       - Assure chargement correct sur mobile : family heading, size 62px, weight 400, line-height tight
0.0.35 - Ajout variables H1 Standard (--font-h1-standard-*)
       - Desktop : family heading, size 10vh, weight 400, line-height tight (= h2-large)
       - Mobile : size 62px, line-height tight (= h1-home)
       - Usage : articles de blog, pages standard (pas home page)
0.0.34 - UX : ajustement complet des tailles de texte mobile
       - Échelle rehaussée : 12/14/14/16/18/22/32 (au lieu de 11/13/14/15/16/20/32)
       - Meilleure lisibilité générale sur mobile
       - Impact : titres articles 15→16px, extraits 13→14px, catégories 11→12px
0.0.33 - UX : augmentation taille H3 mobile (24px → 32px)
       - Amélioration hiérarchie typographique et lisibilité
       - Variable --text-size-2xl mobile : 24px → 32px
0.0.32 - UX : augmentation taille H2 large mobile (32px → 48px)
       - Meilleure lisibilité et impact visuel sur mobile
       - Harmonisation avec hiérarchie typographique
0.0.31 - BREAKING CHANGE : Suppression breakpoint tablette (768-1200px)
       - Fusion tablette + mobile → 1 seul breakpoint ≤1200px
       - Utilisation valeurs mobiles compactes pour tous ≤1200px
       - Variables CSS : spacing-xl 32px, text-size-m 15px, etc. (au lieu de 64px/16px tablette)
       - Simplification maintenance : 2 breakpoints au lieu de 3
       - Desktop >1200px inchangé, JavaScript inchangé (seuil déjà correct)
       - RÉSULTAT : ~165 lignes supprimées dans style.css (2 blocs → 1 bloc)
0.0.30 - MIGRATION COMPLÈTE : Centralisation et nettoyage toutes les variables CSS
       - SUPPRIMÉ : Systèmes de spacing legacy (--gap-*, --section-padding-*)
       - SUPPRIMÉ : Systèmes de typographie legacy (--responsive-font-standard/small/extra-small/h4/cta)
       - SUPPRIMÉ : Variables inutilisées (--font-body-size, --font-body-weight)
       - SUPPRIMÉ : Toutes les redéfinitions :root dans fichiers responsive (6 blocs)
       - MIGRÉ : Tous usages vers systèmes unifiés (--spacing-*, --text-size-*)
       - AJOUTÉ : Variables menu responsive (--responsive-font-menu-primary/secondary) dans style.css
       - CORRIGÉ : 12 variables legacy dans sections.css après restauration backup
       - CORRIGÉ : Valeurs --spacing-* mobile (2px/4px/8px/12px/16px/32px au lieu de tablette)
       - CORRIGÉ : Suppression doublons --spacing-* dans :root tablette et mobile
       - RÉSULTAT : 79 variables unifiées, source unique de vérité, cohérence tous breakpoints
       - FICHIERS : 48 remplacements typography total, 3 remplacements spacing
       - Documentation complète disponible dans memory/
0.0.29 - Ajout --text-size-2xl : système passe de 6 à 7 tailles sémantiques
       - Nouvelle taille 2XL : 3.5vh / 28px / 24px
       - H3 utilise maintenant var(--text-size-2xl) au lieu de XL
       - Meilleure distinction entre éléments majeurs (XL) et titres H3 (2XL)
0.0.28 - Ajustement --text-size-xl : 3.5vh → 3vh
       - Réduction taille XL pour meilleur équilibre visuel
0.0.27 - Systèmes de transitions et border-width unifiés
       - TRANSITIONS : 5 durées (instant/fast/normal/smooth/slow), 3 easing (standard/smooth/expo)
       - Variables combinées prêtes à l'emploi (--transition-transform/opacity/color)
       - BORDER-WIDTH : 3 épaisseurs (thin/normal/thick), adaptation automatique desktop/tablette/mobile
       - Migration complète : ~60 remplacements dans header.css, sections.css, footer.css, components-responsive.css
       - Cohérence animations et bordures, maintenabilité améliorée
       - Documentation : memory/transitions-borders-system.md
0.0.26 - Système de line-height unifié : 3 valeurs sémantiques
       - Création --line-height-tight/medium/comfortable (1.1em, 1.25em, 1.4em)
       - Variables identiques sur tous les breakpoints (responsive automatique)
       - Migration complète de toutes les variables --font-*-line-height
       - Remplacement valeurs absolues (vh, px) par valeurs relatives (em)
       - Suppression toutes valeurs hardcodées (sauf line-height: 0 pour logo)
       - Amélioration bonnes pratiques CSS : line-height relatif à font-size
       - Fichiers modifiés : style.css, footer.css, footer-responsive.css, sections.css,
         sections-responsive.css, components-responsive.css
0.0.25 - Système de typographie unifié : 6 tailles sémantiques
       - Création --text-size-xs/s/cta/m/l/xl pour desktop (vh), tablette (px), mobile (px)
       - Desktop : 1.25vh, 1.5vh, 1.75vh, 2vh, 2.5vh, 3.5vh (échelle cohérente)
       - Tablette : 12px, 14px, 15px, 16px, 18px, 24px (progression équilibrée)
       - Mobile : 11px, 13px, 14px, 15px, 16px, 20px (optimisé petits écrans)
       - Migration complète de toutes les variables typographiques existantes
       - Suppression valeurs hardcodées (sections.css, sections-responsive.css, footer-responsive.css)
       - Exceptions maintenues : H1 Home (15vh/80px/62px), H2 Large (10vh/48px/32px)
       - Taille CTA dédiée pour leur importance dans l'UI
       - Documentation : memory/typography-system.md
0.0.24 - Complétion variables paragraphes pour tous les breakpoints
       - Ajout --font-text-line-height: 1.6 (desktop, tablette, mobile)
       - Ajout --font-text-family et --font-text-weight pour tablette et mobile
       - Application line-height sur balise <p>
       - Amélioration lisibilité et cohérence typographique
0.0.23 - Ajustement tailles sous-titre hero
       - Tablette : 20px → 22px (line-height 28px → 30px)
       - Mobile : 18px → 20px (line-height 25px → 28px)
       - Progression cohérente : 20px mobile < 22px tablette < 3vh desktop
0.0.21 - Fix variables sous-titre hero manquantes sur tablette/mobile
       - Ajout font-family, font-weight, text-transform pour tablette
       - Ajout font-family, font-weight, text-transform pour mobile
       - Garantit cohérence typographique sur tous les breakpoints
0.0.20 - Augmentation taille H1 home mobile : 48px → 62px
       - Amélioration lisibilité et impact visuel sur petit écran
0.0.19 - Ajout variables d'espacement responsive sémantiques
       - Création --spacing-2xs/xs/sm/md/lg/xl pour desktop/tablette/mobile
       - Desktop (vh) : 0.5vh, 1vh, 2vh, 3vh, 4vh, 8vh (échelle simple)
       - Tablette (px) : 4px, 8px, 16px, 24px, 32px, 64px (puissances de 2)
       - Mobile (px) : 2px, 4px, 8px, 12px, 16px, 32px (puissances de 2)
       - Variables s'adaptent automatiquement selon breakpoint
       - Documentation : memory/spacing-system.md
0.0.18 - Ajout variables responsive unifiées desktop/tablette/mobile
       - Création --responsive-font-* pour structure cohérente tous breakpoints
       - Desktop : --responsive-font-standard (2vh), -small (1.5vh), -extra-small (1.25vh), -h4 (2vh), -cta (1.7vh)
       - Desktop < 1800px : standard (16px), small (13px), extra-small (11px), h4 (16px), cta (14px)
       - Desktop < 1400px : standard (15px), small (12px), extra-small (10px), h4 (14px), cta (13px)
       - Remplace anciennes variables (--font-text-size, --font-small-text-size, etc.)
       - Facilite ajustements globaux des tailles de texte
0.0.17 - Ajout variables typographie responsive complètes (tablette + mobile)
       - Toutes les tailles de texte adaptées : H1, H2, H3, H4, body, CTA, etc.
       - Tablette : conversion vh → px (lisibilité optimale)
       - Mobile : tailles réduites pour écrans plus petits
0.0.18 - Ajout des variables responsive pour spacing (padding, gap)
       - Variables --section-padding-v, --section-padding-h, --gap-large, --gap-medium, --gap-small
       - Desktop : vh (existant), Tablette : px, Mobile : px
       - Breakpoints : Desktop ≥1201px, Tablette 768-1200px, Mobile ≤767px
0.0.17 - Ajout des variables typographiques Small Text Accent
       - Variables --font-small-text-accent-* (family, size, weight, text-transform, line-height)
       - Basées sur Elementor 879aed5 : Montserrat, 1.25vh, 600, uppercase, line-height 2vh
0.0.16 - Ajout des variables typographiques Small Text Italic
       - Variables --font-small-text-italic-* (family, size, weight, style, line-height)
       - Basées sur Elementor 76c230d : Montserrat, 1.5vh, 400, italic, line-height 2.25vh
0.0.15 - Ajout des variables typographiques Small Text
       - Variables --font-small-text-* (family, size, weight, line-height)
       - Basées sur Elementor 940ab6d : Montserrat, 1.5vh, 400, line-height 2.25vh
0.0.14 - Ajout des variables typographiques H4
       - Variables --font-h4-* (family, size, weight, line-height)
       - Basées sur Elementor 757a89c : Montserrat, 2vh, 700, line-height 2.5vh
0.0.13 - Ajout des variables typographiques pour le texte du bandeau animé
       - Variables --font-texte-bandeau-* (family, size, weight, text-transform)
0.0.12 - Styles spécifiques pour la page d'accueil
       - .home h1 utilise les variables --font-h1-home-*
       - .home h2 utilise les variables --font-h2-large-* (style carousel)
0.0.11 - Line-height des titres (h1-h6) ajusté à 1.1
0.0.10 - Renommage des variables --font-text-hero-* en --font-text-* (usage général, pas seulement hero)
       - Les <p> utilisent maintenant --font-text-family, --font-text-size, --font-text-weight
0.0.9 - Les balises <p> utilisent maintenant les variables de texte par défaut
0.0.8 - Ajout des variables body text (--font-body-family, --font-body-size, --font-body-weight)
      - Toutes les polices utilisent maintenant des variables (pas de valeurs en dur)
      - --font-h2-large-family et --font-h3-family utilisent var(--font-heading)
0.0.7 - Application des variables H3 aux styles par défaut des H3
0.0.6 - Ajout des variables H2 Large (--font-h2-large-*)
      - Ajout des variables H3 (--font-h3-*)
*/

/* ============================================================================
   Variables CSS - Palette de couleurs
   ========================================================================== */

:root {
    /* Palette officielle Une Autre Voix */
    --color-background: #FAF4EC;  /* Beige - fond de page */
    --color-text: #323232;         /* Texte principal */
    --color-text-light: #434343;   /* Texte secondaire, métadonnées */
    --color-error: #8B1A1A;        /* Erreur — champs invalides, messages d'erreur */
    --color-validation: #1A891A;   /* Validation — messages de succès formulaires */
    --color-green: #B9CBB1;        /* Vert */
    --color-blue: #9ACECB;         /* Bleu */
    --color-pink: #E0AABA;         /* Rose */
    --color-gold: #F9B45B;         /* Or */
    --color-white: #FFFFFF;        /* Blanc */

    /* Polices officielles Une Autre Voix */
    --font-heading: "miller-headline", Georgia, "Times New Roman", serif;  /* Titres avec fallback */
    --font-body: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;     /* Textes avec fallback système */

    /* Variables typographiques - Desktop (en vh) */

    /* Système de tailles de texte unifié (7 tailles sémantiques) */
    --text-size-xs: 1.25vh;   /* Très petit : accents, catégories */
    --text-size-s: 1.5vh;     /* Petit : small text, métadonnées */
    --text-size-cta: 1.75vh;  /* CTA : boutons, liens d'action */
    --text-size-m: 2vh;       /* Moyen : texte standard, paragraphes */
    --text-size-l: 2.5vh;     /* Large : sous-titres moyens */
    --text-size-xl: 3vh;      /* Très large : éléments majeurs */
    --text-size-2xl: 3.5vh;   /* Extra large : H3, titres importants */

    /* Système de line-height unifié (3 valeurs sémantiques, identiques tous breakpoints) */
    --line-height-tight: 1.1em;       /* Titres serrés, H1, headings */
    --line-height-medium: 1.25em;     /* Titres moyens, sous-titres */
    --line-height-comfortable: 1.5em; /* Texte standard, paragraphes */

    /* Système de transitions unifié (identiques tous breakpoints) */
    --transition-instant: 0s;         /* Changements immédiats */
    --transition-fast: 0.15s;         /* Micro-interactions rapides */
    --transition-normal: 0.3s;        /* Transitions standard */
    --transition-smooth: 0.5s;        /* Animations douces */
    --transition-slow: 1s;            /* Animations longues */

    --ease-standard: ease-out;                            /* Défaut général */
    --ease-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94); /* Mega menu, slides */
    --ease-expo: cubic-bezier(0.22, 1, 0.36, 1);         /* Bandeau animé */

    --transition-transform: transform var(--transition-normal) var(--ease-smooth);
    --transition-opacity: opacity var(--transition-normal) var(--ease-standard);
    --transition-color: color var(--transition-fast) var(--ease-standard);

    /* Système de border-width unifié (s'adapte par breakpoint) */
    --border-thin: 0.15vh;     /* Bordures fines (header, dots) */
    --border-normal: 0.25vh;   /* Bordures standard (boutons) */
    --border-thick: 0.5vh;     /* Bordures épaisses (accents) */

    /* Corps de texte standard */
    --font-body-family: var(--font-body);

    /* Titre H1 Home */
    --font-h1-home-family: var(--font-heading);
    --font-h1-home-size: 15vh;
    --font-h1-home-weight: 400;
    --font-h1-home-line-height: var(--line-height-tight);

    /* Titre H1 Standard (articles, pages) */
    --font-h1-standard-family: var(--font-heading);
    --font-h1-standard-size: 8vh;
    --font-h1-standard-weight: 400;
    --font-h1-standard-line-height: var(--line-height-tight);

    /* Titre H2 Standard (par défaut) */
    --font-h2-standard-family: var(--font-heading);
    --font-h2-standard-size: 6vh;
    --font-h2-standard-weight: 400;
    --font-h2-standard-line-height: var(--line-height-tight);

    /* Sous-titre Hero Area */
    --font-subtitle-hero-family: var(--font-heading);
    --font-subtitle-hero-size: var(--text-size-xl);
    --font-subtitle-hero-weight: 400;
    --font-subtitle-hero-line-height: var(--line-height-comfortable);
    --font-subtitle-hero-letter-spacing: 0.25vh;
    --font-subtitle-hero-text-transform: uppercase;

    /* Texte (paragraphes et corps de texte) */
    --font-text-family: var(--font-body);
    --font-text-size: var(--text-size-m);
    --font-text-weight: 400;
    --font-text-line-height: var(--line-height-comfortable);

    /* H2 Large */
    --font-h2-large-family: var(--font-heading);
    --font-h2-large-size: 10vh;
    --font-h2-large-weight: 400;

    /* H3 (Titres de niveau 3) */
    --font-h3-family: var(--font-heading);
    --font-h3-size: var(--text-size-2xl);
    --font-h3-weight: 400;
    --font-h3-line-height: var(--line-height-medium);

    /* H4 (Titres de niveau 4) */
    --font-h4-family: var(--font-body);
    --font-h4-size: var(--text-size-m);
    --font-h4-weight: 700;
    --font-h4-line-height: var(--line-height-medium);

    /* Small Text (texte petit) */
    --font-small-text-family: var(--font-body);
    --font-small-text-size: var(--text-size-s);
    --font-small-text-weight: 400;
    --font-small-text-line-height: var(--line-height-comfortable);

    /* Small Text Italic (texte petit italique) */
    --font-small-text-italic-family: var(--font-body);
    --font-small-text-italic-size: var(--text-size-s);
    --font-small-text-italic-weight: 400;
    --font-small-text-italic-style: italic;
    --font-small-text-italic-line-height: var(--line-height-medium);

    /* Small Text Accent (texte petit accentué) */
    --font-small-text-accent-family: var(--font-body);
    --font-small-text-accent-size: var(--text-size-xs);
    --font-small-text-accent-weight: 600;
    --font-small-text-accent-text-transform: uppercase;
    --font-small-text-accent-line-height: var(--line-height-tight);

    /* Small Text Italic Accent (texte petit italique gras) */
    --font-small-text-italic-accent-family: var(--font-body);
    --font-small-text-italic-accent-size: var(--text-size-s);
    --font-small-text-italic-accent-weight: 600;
    --font-small-text-italic-accent-style: italic;
    --font-small-text-italic-accent-line-height: var(--line-height-medium);

    /* Boutons / CTAs (style par défaut) */
    --font-cta-family: var(--font-body);
    --font-cta-size: var(--text-size-cta);
    --font-cta-weight: 600;
    --font-cta-text-transform: uppercase;

    /* Texte bandeau animé */
    --font-texte-bandeau-family: var(--font-body);
    --font-texte-bandeau-size: var(--text-size-xl);
    --font-texte-bandeau-weight: 700;
    --font-texte-bandeau-text-transform: uppercase;

    /* Variables d'espacement responsive - Desktop (vh) */
    --spacing-3xs: 0.25vh;  /* Ultra-micro : accordéons FAQ, détails fins */
    --spacing-2xs: 0.5vh;   /* Micro : bordures, petits détails */
    --spacing-xs: 1vh;      /* Très petit : gaps serrés, padding bottom */
    --spacing-sm: 2vh;      /* Petit : petits padding/gaps */
    --spacing-md: 3vh;      /* Moyen : gaps standards */
    --spacing-lg: 4vh;      /* Grand : padding sections */
    --spacing-xl: 8vh;      /* Très grand : grandes séparations */

    /* Bordures — alias et variantes */
    --border-width-thin: var(--border-thin);  /* Alias — bordures fines (contact-map, etc.) */

    /* Typographie — propriétés complémentaires H3 */
    --font-h3-letter-spacing: 0;     /* Espacement lettres H3 */
    --font-h3-text-transform: none;  /* Transformation texte H3 */

    /* Typographie — propriétés complémentaires Small Text */
    --font-small-text-style: normal;  /* Style (font-style) du small text standard */

    /* Ombre — cartes et conteneurs */
    --shadow-card: rgba(0, 0, 0, 0.125);  /* Box-shadow cartes produits et panier */

    /* Z-index — couches d'empilement globales */
    --z-header: 100;        /* Barre de navigation */
    --z-megamenu: 99;       /* Menu déroulant */
    --z-overlay: 98;        /* Overlay fond navigation */
    --z-modal: 1000;        /* Modales (produit, avis, panier) */
    --z-mobile-menu: 1000;  /* Drawer menu mobile */
}

/* ============================================================================
   Variables Responsive - Mobile et Tablette fusionnés (≤1200px)
   ========================================================================== */

@media (max-width: 1200px) {
    :root {
        /* Border-width */
        --border-thin: 1px;
        --border-normal: 2px;
        --border-thick: 3px;

        /* Variables d'espacement (valeurs mobiles) */
        --spacing-3xs: 2px;
        --spacing-2xs: 4px;
        --spacing-xs: 8px;
        --spacing-sm: 16px;
        --spacing-md: 24px;
        --spacing-lg: 32px;
        --spacing-xl: 48px;

        /* Typographie */

        /* Système de tailles de texte unifié (7 tailles sémantiques) */
        --text-size-xs: 12px;   /* Très petit : accents, catégories */
        --text-size-s: 14px;    /* Petit : small text, métadonnées */
        --text-size-cta: 16px;  /* CTA : boutons, liens d'action */
        --text-size-m: 16px;    /* Moyen : texte standard, paragraphes */
        --text-size-l: 18px;    /* Large : sous-titres moyens */
        --text-size-xl: 22px;   /* Très large : éléments majeurs */
        --text-size-2xl: 32px;  /* Extra large : H3, titres importants */

        /* H1 Home */
        --font-h1-home-size: 62px;
        --font-h1-home-line-height: var(--line-height-tight);

        /* H1 Standard (articles, pages) */
        --font-h1-standard-family: var(--font-heading);
        --font-h1-standard-size: 52px;
        --font-h1-standard-weight: 400;
        --font-h1-standard-line-height: var(--line-height-tight);

        /* H2 Standard (par défaut) */
        --font-h2-standard-family: var(--font-heading);
        --font-h2-standard-size: 40px;
        --font-h2-standard-weight: 400;
        --font-h2-standard-line-height: var(--line-height-tight);

        /* Sous-titre Hero */
        --font-subtitle-hero-family: var(--font-heading);
        --font-subtitle-hero-size: var(--text-size-xl);
        --font-subtitle-hero-weight: 400;
        --font-subtitle-hero-line-height: var(--line-height-comfortable);
        --font-subtitle-hero-letter-spacing: 1px;
        --font-subtitle-hero-text-transform: uppercase;

        /* H2 Large */
        --font-h2-large-size: 48px; /* Augmenté de 32px pour meilleure lisibilité et impact */

        /* H3 */
        --font-h3-size: var(--text-size-2xl);
        --font-h3-line-height: var(--line-height-medium);

        /* H4 */
        --font-h4-size: 20px;
        --font-h4-line-height: var(--line-height-medium);

        /* Body */

        /* Text (paragraphes) */
        --font-text-family: var(--font-body);
        --font-text-size: var(--text-size-m);
        --font-text-weight: 400;
        --font-text-line-height: var(--line-height-comfortable);

        /* Small Text */
        --font-small-text-size: var(--text-size-s);
        --font-small-text-line-height: var(--line-height-comfortable);

        /* Small Text Italic */
        --font-small-text-italic-size: var(--text-size-s);
        --font-small-text-italic-line-height: var(--line-height-medium);

        /* Small Text Accent */
        --font-small-text-accent-size: var(--text-size-xs);
        --font-small-text-accent-line-height: var(--line-height-tight);

        /* Small Text Italic Accent */
        --font-small-text-italic-accent-size: var(--text-size-s);
        --font-small-text-italic-accent-line-height: var(--line-height-medium);

        /* CTA */
        --font-cta-size: var(--text-size-cta);

        /* Bandeau Animé */
        --font-texte-bandeau-size: var(--text-size-xl);

        /* Menu Responsive */
        --responsive-font-menu-primary: 22px;
        --responsive-font-menu-secondary: 22px;
    }

    /* H1 mobile — règle universelle (toutes les pages) */
    h1 {
        font-family: var(--font-h1-standard-family);
        font-size: var(--font-h1-standard-size);
        font-weight: var(--font-h1-standard-weight);
        line-height: var(--font-h1-standard-line-height);
    }

    /* H1 mobile — surcharge page d'accueil */
    .home h1 {
        font-family: var(--font-h1-home-family);
        font-size: var(--font-h1-home-size);
        font-weight: var(--font-h1-home-weight);
        line-height: var(--font-h1-home-line-height);
    }
}

/* ============================================================================
   Reset & Base Styles
   ========================================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    line-height: var(--line-height-comfortable);
    color: var(--color-text);
    background-color: var(--color-background);
}

/* ============================================================================
   Typography
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: var(--line-height-tight);
    margin: 0;
}

h1 { font-size: 2.5rem; }
h2 {
    font-family: var(--font-h2-standard-family);
    font-size: var(--font-h2-standard-size);
    font-weight: var(--font-h2-standard-weight);
    line-height: var(--font-h2-standard-line-height);
}
h3 {
    font-family: var(--font-h3-family);
    font-size: var(--font-h3-size);
    font-weight: var(--font-h3-weight);
    line-height: var(--font-h3-line-height);
}
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p {
    font-family: var(--font-text-family);
    font-size: var(--font-text-size);
    font-weight: var(--font-text-weight);
    line-height: var(--font-text-line-height);
    margin-bottom: calc((var(--spacing-xs) + var(--spacing-sm)) / 2); /* 1.5vh desktop / 12px mobile */
}

p:last-child {
    margin-bottom: 0;
}

strong, b {
    font-weight: 600;
}

a {
    color: inherit;
    text-decoration: none;
}

/* ============================================================================
   Page d'accueil - Styles spécifiques
   ========================================================================== */

/* H1 sur la page d'accueil */
.home h1 {
    font-family: var(--font-h1-home-family);
    font-size: var(--font-h1-home-size);
    font-weight: var(--font-h1-home-weight);
    line-height: var(--font-h1-home-line-height);
}

/* H2 sur la page d'accueil - Style H2 Large du carousel */
.home h2 {
    font-family: var(--font-h2-large-family);
    font-size: var(--font-h2-large-size);
    font-weight: var(--font-h2-large-weight);
    line-height: var(--line-height-tight);
}

/* Classe utilitaire pour appliquer la typographie H2 Large */
.h2-large {
    font-family: var(--font-h2-large-family);
    font-size: var(--font-h2-large-size);
    font-weight: var(--font-h2-large-weight);
    line-height: var(--line-height-tight);
}

/* ============================================================================
   Layout
   ========================================================================== */

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================================
   WordPress Core Styles
   ========================================================================== */

.alignleft {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
}

.alignright {
    float: right;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

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

/* ============================================================================
   Utility Classes
   ========================================================================== */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* ============================================================================
   Carousel — Classes de fond coloré (tous breakpoints)
   ========================================================================== */

.carousel-bg-green { background-color: var(--color-green); }
.carousel-bg-blue  { background-color: var(--color-blue); }
.carousel-bg-pink  { background-color: var(--color-pink); }
.carousel-bg-gold  { background-color: var(--color-gold); }
.carousel-bg-text  { background-color: var(--color-text); }

/* ============================================================================
   Notes
   ========================================================================== */

/*
 * Les styles spécifiques des modules sont chargés séparément
 * via le gestionnaire d'assets (inc/core/class-assets-manager.php)
 *
 * Cette feuille de style contient uniquement les styles de base requis par WordPress
 *
 * Pour ajouter des styles personnalisés, créer des fichiers dans assets/css/
 */
