/* ModLocker — shared dark theme overrides, loaded after Bootstrap on all public pages */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    background: #08090d !important;
    color: #e8eaf0 !important;
}

/* Fix Bootstrap utility classes that go invisible on dark bg */
.text-muted    { color: #9ca3af !important; }
.text-secondary { color: #9ca3af !important; }
small, .small  { color: #9ca3af; }

h1, h2, h3, h4, h5, h6 { color: #e8eaf0; }
p  { color: #d1d5db; }
label, .form-label { color: #e8eaf0 !important; font-weight: 500; }

/* Navbar */
.navbar { background: #0f1117 !important; border-bottom: 1px solid #1e2330 !important; }
.navbar-brand { color: #e8eaf0 !important; font-weight: 800; }

/* Cards */
.card {
    background: #0f1117 !important;
    border: 1px solid #1e2330 !important;
    border-radius: 12px !important;
    color: #e8eaf0;
}
.card h2, .card h3, .card h4, .card h5, .card h6 { color: #e8eaf0; }

/* Form controls */
.form-control, .form-select, textarea {
    background: #0d1017 !important;
    border: 1px solid #1e2330 !important;
    color: #e8eaf0 !important;
    font-family: 'Inter', sans-serif;
    border-radius: 7px !important;
}
.form-control:focus, .form-select:focus, textarea:focus {
    background: #0d1017 !important;
    border-color: #4f8ef7 !important;
    color: #e8eaf0 !important;
    box-shadow: 0 0 0 3px rgba(79,142,247,.15) !important;
}
.form-control::placeholder, textarea::placeholder { color: #374151 !important; opacity: 1; }

/* Checkboxes */
.form-check-input { background-color: #0d1017; border-color: #1e2330; }
.form-check-input:checked { background-color: #238636; border-color: #238636; }
.form-check-label { color: #9ca3af !important; }

/* Alerts */
.alert-danger  { background: #2a0e0e !important; border-color: #6b1a1a !important; color: #fca5a5 !important; }
.alert-success { background: #0a2218 !important; border-color: #1a4731 !important; color: #6ee7b7 !important; }
.alert-warning { background: #2a1f08 !important; border-color: #5c3f0a !important; color: #fcd34d !important; }
.alert-info    { background: #0d1f3c !important; border-color: #1e3a6e !important; color: #93c5fd !important; }
.alert-link    { color: inherit !important; font-weight: 700; }

/* Buttons */
.btn-success  { background: #238636; border-color: #238636; font-weight: 600; }
.btn-success:hover { background: #2ea043; border-color: #2ea043; }
.btn-outline-secondary { border-color: #1e2330; color: #9ca3af; }
.btn-outline-secondary:hover { border-color: #4f8ef7; color: #4f8ef7; background: transparent; }

/* Accordion (FAQ) */
.accordion-item {
    background: #0f1117 !important;
    border: 1px solid #1e2330 !important;
    border-radius: 8px !important;
    margin-bottom: 6px;
    overflow: hidden;
}
.accordion-button {
    background: #0f1117 !important;
    color: #e8eaf0 !important;
    font-weight: 600;
    font-size: .9rem;
}
.accordion-button:not(.collapsed) {
    background: #13161f !important;
    color: #4f8ef7 !important;
    box-shadow: none !important;
}
.accordion-button::after { filter: invert(.7) !important; }
.accordion-body { background: #0f1117 !important; color: #9ca3af !important; font-size: .88rem; }

/* Input groups */
.input-group-text { background: #0d1017; border-color: #1e2330; color: #9ca3af; }

/* Badges */
.badge.bg-secondary { background-color: #1e2330 !important; color: #9ca3af !important; }

/* Links */
a.text-info { color: #4f8ef7 !important; }
a.text-info:hover { color: #93c5fd !important; }

/* Dividers */
hr { border-color: #1e2330; opacity: 1; }
