/* Variables CSS : Thème GitHub-like */
:root {
    --gh-bg: #f6f8fa;
    --gh-card-bg: #ffffff;
    --gh-text: #24292f;
    --gh-text-light: #57606a;
    --gh-border: #d0d7de;
    --gh-blue: #0969da;
    --gh-green: #2da44e;
    --gh-green-hover: #2c974b;
    --gh-shadow: 0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12);

    --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--gh-bg);
    color: var(--gh-text);
    font-family: var(--font-family);
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--gh-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

h1,
h2,
h3 {
    color: var(--gh-text);
    font-weight: 300;
}

/* Utilitaires communs */
.btn {
    display: inline-block;
    padding: 6px 16px;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    text-align: center;
    border-radius: 6px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: 0.2s cubic-bezier(0.3, 0, 0.5, 1);
    width: 100%;
}

.btn-success {
    background-color: var(--gh-green);
    color: #ffffff;
    border-color: rgba(27, 31, 36, 0.15);
}

.btn-success:hover {
    background-color: var(--gh-green-hover);
}

.btn-secondary {
    background-color: #f6f8fa;
    color: var(--gh-text);
    border-color: rgba(27, 31, 36, 0.15);
}

.btn-secondary:hover {
    background-color: #f3f4f6;
    border-color: rgba(27, 31, 36, 0.15);
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.form-control {
    width: 100%;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 20px;
    color: var(--gh-text);
    background-color: #ffffff;
    border: 1px solid var(--gh-border);
    border-radius: 6px;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(208, 215, 222, 0.2);
    transition: 80ms cubic-bezier(0.33, 1, 0.68, 1);
}

.form-control:focus {
    border-color: var(--gh-blue);
    outline: none;
    box-shadow: inset 0 0 0 1px var(--gh-blue);
}

.error-message {
    color: #cf222e;
    font-size: 14px;
    margin-bottom: 15px;
    padding: 8px 16px;
    background-color: #ffebe9;
    border: 1px solid rgba(255, 129, 130, 0.4);
    border-radius: 6px;
}

html {
    scroll-padding-top: 80px;
}

/* Navbar Offset Utility */
.navbar-offset {
    padding-top: 100px !important;
}

@media (max-width: 800px) {
    .navbar-offset {
        padding-top: 90px !important;
        padding-bottom: 80px !important;
    }
}