/* raglab-prehome — page d'accueil / auth
   Dépend de raglab-theme.css (variables + reset + body base).      */

/* fond légèrement teinté pour distinguer de l'app */
body {
    background: #f8fafc;
    min-height: 100vh;
    height: auto;           /* override le height:100vh du thème */
}

/* ── Header ─────────────────────────────────────────────────── */
header {
    padding: 1rem 1.5rem;
    background: var(--color-paper);
    border-bottom: 1px solid var(--color-border);
    display: flex; align-items: center; gap: 1rem;
}
header h1 { font-size: 1.05rem; font-weight: 600; flex: 1; }
header .pg-user { font-size: 0.85rem; color: var(--color-ink-muted); }

/* ── Contenu principal ───────────────────────────────────────── */
main {
    flex: 1;
    max-width: 720px; margin: 0 auto;
    padding: 2rem 1.5rem; width: 100%;
}

/* ── Blocs carte ─────────────────────────────────────────────── */
.pg-block {
    background: var(--color-paper);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 1.5rem 1.75rem;
    margin-bottom: 1.5rem;
}
.pg-block h2 { font-size: 1rem; font-weight: 600; margin-bottom: 0.6rem; }
.pg-block p  { color: var(--color-ink-muted); line-height: 1.5; margin: 0.4rem 0; }
.pg-no-access h2 { color: #dc2626; }

/* ── Liste de variantes accessibles ─────────────────────────── */
.pg-variante-list {
    list-style: none;
    display: flex; flex-wrap: wrap; gap: 0.5rem;
    margin-top: 1rem;
}
.pg-variante-list li a {
    display: inline-block;
    padding: 0.5rem 0.9rem;
    background: #2563eb; color: #fff;
    text-decoration: none;
    border-radius: 6px; font-size: 0.85rem;
}
.pg-variante-list li a:hover { background: #1d4ed8; }

/* ── Formulaires ─────────────────────────────────────────────── */
.pg-form { display: flex; flex-direction: column; gap: 0.8rem; }
.pg-form label {
    display: flex; flex-direction: column; gap: 4px;
    font-size: 0.85rem; color: var(--color-ink);
}
.pg-form input[type="text"],
.pg-form input[type="email"],
.pg-form input[type="password"] {
    padding: 8px 10px;
    border: 1px solid var(--color-border-strong);
    border-radius: 6px; font-size: 0.9rem;
    font-family: var(--font-body);
}
.pg-form input:focus { outline: 2px solid #2563eb; outline-offset: -1px; border-color: transparent; }

/* ── Choix de variantes (inscription) ───────────────────────── */
.pg-variantes-checks { margin-top: 0.5rem; }
.pg-variante-check {
    display: flex; gap: 10px;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--color-border);
    border-radius: 6px; margin-bottom: 0.5rem;
    cursor: pointer; background: #f9fafb;
    transition: background 0.1s, border-color 0.1s;
}
.pg-variante-check:hover { background: #f3f4f6; }
.pg-variante-check input[type="checkbox"] {
    position: absolute; opacity: 0; pointer-events: none;
}
.pg-variante-check:has(input:checked) { background: #eff6ff; border-color: #93c5fd; }
.pg-variante-check.is-granted { opacity: 0.6; cursor: default; }
.pg-variante-info { flex: 1; }
.pg-variante-info strong { display: block; font-size: 0.9rem; }
.pg-variante-info span  { display: block; font-size: 0.78rem; color: var(--color-ink-muted); margin-top: 2px; }

/* ── Boutons ─────────────────────────────────────────────────── */
.pg-btn {
    padding: 9px 14px;
    border: 1px solid #2563eb; border-radius: 6px;
    background: #2563eb; color: #fff;
    font-size: 0.9rem; font-family: var(--font-body);
    cursor: pointer; align-self: flex-start;
}
.pg-btn:hover { background: #1d4ed8; }
.pg-btn.secondary { background: var(--color-paper); color: #2563eb; }
.pg-btn.secondary:hover { background: #eff6ff; }

/* ── Messages d'erreur ───────────────────────────────────────── */
.pg-error { color: #dc2626; font-size: 0.82rem; min-height: 1em; }

/* ── Footer ──────────────────────────────────────────────────── */
footer {
    padding: 1rem; text-align: center;
    font-size: 0.75rem; color: var(--color-ink-muted);
}
