/* =========================================================================
   LAMTEC Pharma - Base
   Typographie globale, liens, transitions du body.
   ========================================================================= */

html {
    font-family: var(--font-sans);
    font-size: 16px;
    color-scheme: light dark;
}

body {
    background: var(--bg-body);
    color: var(--text-primary);
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    transition: background-color var(--transition), color var(--transition);
    min-height: 100dvh;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: var(--font-weight-semibold);
    line-height: var(--leading-tight);
    letter-spacing: -0.01em;
    color: var(--text-primary);
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-base); }

p {
    color: var(--text-secondary);
    line-height: var(--leading-relaxed);
}

a {
    color: var(--color-primary-600);
    transition: color var(--transition-fast);
}
a:hover {
    color: var(--color-primary-700);
    text-decoration: underline;
    text-underline-offset: 3px;
}

code, kbd, samp, pre {
    font-family: var(--font-mono);
    font-size: 0.9em;
}

/* Utilitaires atomiques minimaux */
.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;
}

.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-left   { text-align: left; }

.text-muted     { color: var(--text-muted); }
.text-secondary { color: var(--text-secondary); }
.text-primary   { color: var(--color-primary-600); }
.text-danger    { color: var(--color-danger); }
.text-success   { color: var(--color-success); }

.text-xs   { font-size: var(--text-xs); }
.text-sm   { font-size: var(--text-sm); }
.text-lg   { font-size: var(--text-lg); }
.text-xl   { font-size: var(--text-xl); }

.font-medium   { font-weight: var(--font-weight-medium); }
.font-semibold { font-weight: var(--font-weight-semibold); }
.font-bold     { font-weight: var(--font-weight-bold); }

/* Icones SVG universelles */
.icon {
    width: 1.25em;
    height: 1.25em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
    vertical-align: middle;
}
.icon-sm { width: 1em;   height: 1em;   }
.icon-lg { width: 1.5em; height: 1.5em; }
.icon-xl { width: 2em;   height: 2em;   }
