/* --- Accessibilité ---------------------------------------------------- */

/* Réservé aux lecteurs d'écran : le texte reste dans le document et donc
   accessible, mais n'occupe aucune place à l'écran. La classe était déjà
   utilisée dans index.php, home.php et category.php sans jamais avoir été
   définie — « Catégories d'articles » s'affichait donc sur la page blog. */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Le lien d'évitement, lui, doit redevenir visible au clavier. */
.skip-link:focus {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 100000;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0.75rem 1.25rem;
    overflow: visible;
    clip-path: none;
    background: var(--color-text-light);
    color: var(--color-primary-accent);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    text-decoration: none;
    font-weight: bold;
}

:root {
    --color-background: #F6F1EB; /* Crème chaud */
    --color-primary-accent: #6B4C8B; /* Violet profond */
    --color-secondary-accent: #D9B44A; /* Or léger */
    --color-text-dark: #3d3d3d;
    --color-text-light: #FFFFFF;
    --color-footer-bg: #2C3E50; /* Bleu nuit profond */
    --color-violet-light: #A186C0; /* Violet clair */
    --color-sage-green: #A3B18A; /* Sauge */

    /* Polices */
    --font-serif: "Cormorant Garamond", serif;
    --font-sans-serif: "Libre Baskerville", serif; /* Libre Baskerville is a serif font but used for body text */
    --font-script: "Satisfy", cursive;

    /* Z-Indexes */
    --z-index-header: 10;
    --z-index-menu: 100;
    --z-index-menu-toggle: 101;
}

body {
    background-color: var(--color-background);
    color: var(--color-text-dark);
    font-family: var(--font-sans-serif);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    /* Sticky footer setup */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Ensure the main content expands to fill available space */
.site-main {
    flex: 1 0 auto;
}

/* Ensure footer doesn't shrink */
.site-footer {
    flex-shrink: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);
    color: var(--color-primary-accent);
    font-weight: 700;
}

a {
    color: var(--color-primary-accent);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--color-secondary-accent);
}
