/* ── Fonts ────────────────────────────────────────────────────────────────── */
@font-face {
    font-family: 'Automata';
    src: url('../font/automata/Automata-Regular.ttf') format('truetype');
    font-weight: 400; font-style: normal;
}
@font-face {
    font-family: 'Automata';
    src: url('../font/automata/Automata-SemiBold.ttf') format('truetype');
    font-weight: 600; font-style: normal;
}
@font-face {
    font-family: 'Automata';
    src: url('../font/automata/Automata-Bold.ttf') format('truetype');
    font-weight: 700; font-style: normal;
}
@font-face {
    font-family: 'Automata';
    src: url('../font/automata/Automata-Black.ttf') format('truetype');
    font-weight: 900; font-style: normal;
}
@font-face {
    font-family: 'Inter';
    src: url('../font/inter/Inter-Regular.ttf') format('truetype');
    font-weight: 400; font-style: normal;
}
@font-face {
    font-family: 'Inter';
    src: url('../font/inter/Inter-Medium.ttf') format('truetype');
    font-weight: 500; font-style: normal;
}
@font-face {
    font-family: 'Inter';
    src: url('../font/inter/Inter-SemiBold.ttf') format('truetype');
    font-weight: 600; font-style: normal;
}
@font-face {
    font-family: 'Inter';
    src: url('../font/inter/Inter-Bold.ttf') format('truetype');
    font-weight: 700; font-style: normal;
}
@font-face {
    font-family: 'Helonik Extended';
    src: url('../font/helonik/HelonikExtended-Regular.otf') format('opentype');
    font-weight: 400; font-style: normal;
}
@font-face {
    font-family: 'Helonik Extended';
    src: url('../font/helonik/HelonikExtended-Light.otf') format('opentype');
    font-weight: 300; font-style: normal;
}

/* ── Variables ───────────────────────────────────────────────────────────── */
:root {
    /* Couleurs de marque */
    --sc-bois-miel:    #D6AF7F;
    --sc-bleu-profond: #1a3963;

    /* Polices */
    --sc-font-title:    'Automata', 'Montserrat', 'Calibri', sans-serif;
    --sc-font-subtitle: 'Inter', 'Open Sans', sans-serif;
    --sc-font-body:     'Inter', 'Open Sans', 'Calibri', sans-serif;
    --sc-font-elegant:  'Helonik Extended', 'Montserrat', sans-serif;

    /* Thème dark (défaut) */
    --sc-bg:          #0d1b2a;
    --sc-surface:     #112240;
    --sc-surface-alt: #1a3963;
    --sc-text:        #e8e8e8;
    --sc-text-muted:  #8fa3bc;
    --sc-border:      rgba(214, 175, 127, 0.15);
    --sc-accent:      var(--sc-bois-miel);
    --sc-accent-dark: #b8905c;
    --sc-input-bg:    #111827;
}

[data-bs-theme="light"] {
    --sc-bg:          #f4f1ec;
    --sc-surface:     #ffffff;
    --sc-surface-alt: #ede8df;
    --sc-text:        #1a3963;
    --sc-text-muted:  #6b7fa0;
    --sc-border:      rgba(26, 57, 99, 0.12);
    --sc-input-bg:    #ffffff;
}

/* ── Base ────────────────────────────────────────────────────────────────── */
html {
    background-color: var(--sc-bg) !important;
    --tblr-body-bg: var(--sc-bg);
}

body {
    background-color: var(--sc-bg) !important;
    font-family: var(--sc-font-body);
    font-weight: 400;
    color: var(--sc-text);
}

/* ── Typographie globale ─────────────────────────────────────────────────── */

h1, h2, h3, h4, h5, h6,
.font-title {
    font-family: var(--sc-font-title);
}

.font-subtitle {
    font-family: var(--sc-font-subtitle);
    font-weight: 600;
}

.font-helonik {
    font-family: var(--sc-font-elegant);
    font-weight: 400;
}

/* ── Inputs ──────────────────────────────────────────────────────────────── */
.input-group-flat .input-group-text {
    background-color: var(--sc-input-bg);
}

/* Neutralise la couleur autofill Chrome (box-shadow inset recouvre le fond imposé) */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--sc-input-bg) inset !important;
    -webkit-text-fill-color: var(--sc-text) !important;
    caret-color: var(--sc-text);
}

/* ── Page publique (login, reset) ────────────────────────────────────────── */
.page {
    background-color: var(--sc-bg) !important;
}

.sc-public-card.card {
    background-color: var(--sc-surface) !important;
    border: 1px solid var(--sc-border) !important;
    --tblr-card-bg: var(--sc-surface);
    max-width: 360px;
    margin: 0 auto;
    width: 100%;
}

label.sc-form-label {
    color: var(--sc-text-muted) !important;
    font-family: var(--sc-font-subtitle) !important;
    text-transform: uppercase !important;
    font-size: .75rem !important;
    letter-spacing: .05em !important;
}

a.sc-forgot-link {
    color: var(--sc-accent) !important;
    text-transform: none !important;
    font-size: .8rem !important;
}

.btn-sc-miel {
    background-color: var(--sc-accent) !important;
    color: var(--sc-bleu-profond) !important;
    font-weight: 600;
    border: none !important;
}
.btn-sc-miel:hover, .btn-sc-miel:focus {
    background-color: var(--sc-accent-dark) !important;
    color: var(--sc-bleu-profond) !important;
}

/* ── Couleurs utilitaires ────────────────────────────────────────────────── */
.text-bois-miel    { color: var(--sc-bois-miel) !important; }
.text-bleu-profond { color: var(--sc-bleu-profond) !important; }
.text-muted-sc     { color: var(--sc-text-muted) !important; }
.bg-bois-miel      { background-color: var(--sc-bois-miel) !important; }
.bg-bleu-profond   { background-color: var(--sc-bleu-profond) !important; }
.bg-sc-surface     { background-color: var(--sc-surface) !important; }
.bg-sc-bg          { background-color: var(--sc-bg) !important; }
