/*
 * Identité Lave-linge-sechant.eu : typographie et rôles.
 * Literata (titres, chiffres) et Figtree (texte, interface), SIL Open Font License 1.1,
 * fichiers variables sous-ensemble latin issus de Fontsource, servis depuis /public/fonts.
 */
@font-face {
    font-family: "Literata";
    src: url("/public/fonts/literata-latin-wght-normal.woff2") format("woff2");
    font-weight: 200 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Figtree";
    src: url("/public/fonts/figtree-latin-wght-normal.woff2") format("woff2");
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --font-text: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --font-display: "Literata", Georgia, "Times New Roman", serif;
    --ink: #1c1917;
    --ink-muted: #57534e;
    --rule: #e7e5e4;
    --accent: #165e67;
    --accent-strong: #124d55;
    --accent-soft: #eef6f6;
}

body {
    font-family: var(--font-text);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Titres : la voix éditoriale du site */
h1, h2, .font-display {
    font-family: var(--font-display);
    font-optical-sizing: auto;
    letter-spacing: -0.01em;
}
h1 { font-weight: 650; text-wrap: balance; }
h2 { font-weight: 600; text-wrap: balance; }
h3, h4 { font-family: var(--font-text); font-weight: 650; }

/* Chiffres : alignés et comparables partout */
.tabular-nums, table, dd { font-variant-numeric: tabular-nums lining-nums; }
dd { font-family: var(--font-display); font-weight: 600; }

/* Lecture : mesure et interlignage */
p { text-wrap: pretty; }
.prose p, .max-w-prose { line-height: 1.65; }

/* Surfaces du navigateur dans la palette du site */
::selection { background: #d4eaeb; color: var(--ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
input { caret-color: var(--accent); accent-color: var(--accent); }

/* Les derniers menus déroulants s'ouvrent vers la gauche : ils ne débordent plus de la fenêtre */
.dropdown-container:nth-last-child(-n+2) .dropdown-menu { left: auto; right: 0; }

/* Menus déroulants ouverts au clic ou au clavier (en plus du survol) */
.dropdown-container.is-open .dropdown-menu {
    display: block !important;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Focus clavier visible partout (WCAG 2.4.7) : remplace les halos à 10 % d'opacité */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
.btn:focus-visible,
.form-input:focus-visible,
.form-select:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 2px;
    box-shadow: none;
}
/* Sur fond sombre (pied de page, accueil), anneau clair pour garder le contraste */
footer :focus-visible,
.text-white :focus-visible {
    outline-color: #a9d3d6;
}

/* Mouvements réduits : les changements d'état restent, sans animation */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
    }
}
