:root {
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;
    --bs-dark: #282828;
    --bs-dark-rgb: 40, 40, 40;
}

html,
body {
    height: 100%;
}

body {
    background: #ebebeb;
    display: flex;
    flex-direction: column;
}

a {
    text-decoration: none;
}

#app {
    flex: 1 0 auto;
}

h1:not(.title-no-bg),
.h1:not(.title-no-bg) {
    color: #fff;
    background: #282828;
    padding: 1rem;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    font-size: 2rem;
}

.content {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.card {
    box-shadow: 0 0.3rem 0.75rem rgba(0, 0, 0, 0.15);
}

.card-body {
    padding: 1.5rem;
}

.navbar {
    font-weight: 500;
    font-size: 1rem;
}

.navbar-brand img {
    max-height: 75px;
    max-width: 150px;
}

.navbar .navbar-nav .nav-link {
    padding: 0.5rem 0.75rem;;
    text-transform: uppercase;
}

.home-background {
    height: 450px;
    overflow: hidden;
    background-size: cover;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.25);
}

.text-bg-dark a {
    color: var(--bs-gray-200);
}

/* ===== Shadow Craft : surcouche sombre/violette (à réappliquer après une mise à jour du thème) ===== */
:root, [data-bs-theme=dark] {
    --sc-bg: #0b0814;
    --sc-surface: #15101f;
    --sc-surface-2: #1d1630;
    --sc-violet: #7b2ff7;
    --sc-violet-2: #c56cf0;
    --bs-primary: #7b2ff7;
    --bs-primary-rgb: 123, 47, 247;
    --bs-link-color: #c56cf0;
    --bs-link-color-rgb: 197, 108, 240;
    --bs-link-hover-color: #e0a8ff;
    --bs-dark: #0b0814;
    --bs-dark-rgb: 11, 8, 20;
    --bs-body-bg: #0b0814;
    --bs-body-color: #e7e3f0;
    --bs-border-color: #2c2240;
    --bs-border-radius: .6rem;
    --bs-border-radius-sm: .4rem;
    --bs-border-radius-lg: .9rem;
}
body { background: radial-gradient(1200px 600px at 50% -10%, #2a1150 0%, var(--sc-bg) 60%) fixed; color: var(--bs-body-color); }
h1:not(.title-no-bg), .h1:not(.title-no-bg) {
    background: linear-gradient(90deg, var(--sc-violet), var(--sc-violet-2));
    border-radius: var(--bs-border-radius); letter-spacing: .05em; box-shadow: 0 8px 30px rgba(123,47,247,.25);
}
.card, .list-group-item, .modal-content, .dropdown-menu, .accordion-item, .accordion-button, .form-control, .form-select, .input-group-text, .table {
    background-color: var(--sc-surface) !important; color: var(--bs-body-color) !important; border-color: var(--bs-border-color) !important;
}
.card { box-shadow: 0 4px 24px rgba(0,0,0,.35); }
.card-header, .card-footer, .accordion-button:not(.collapsed) { background-color: var(--sc-surface-2) !important; color: #fff !important; }
.text-muted, .form-text, .text-body-secondary { color: #9d93b3 !important; }
.btn-primary { background: linear-gradient(90deg, var(--sc-violet), var(--sc-violet-2)); border: 0; }
.btn-primary:hover, .btn-primary:focus { filter: brightness(1.15); background: linear-gradient(90deg, var(--sc-violet), var(--sc-violet-2)); }
.btn-outline-primary { color: var(--sc-violet-2); border-color: var(--sc-violet); }
.btn-outline-primary:hover { background: var(--sc-violet); border-color: var(--sc-violet); }
.navbar, .bg-dark, footer, .footer { background-color: rgba(11,8,20,.92) !important; backdrop-filter: blur(6px); border-color: var(--bs-border-color) !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--sc-violet-2) !important; }
.badge.bg-primary, .bg-primary { background-color: var(--sc-violet) !important; }
.progress { background-color: var(--sc-surface-2); }
.progress-bar { background: linear-gradient(90deg, var(--sc-violet), var(--sc-violet-2)); }
a { color: var(--bs-link-color); }
::selection { background: var(--sc-violet); color: #fff; }
/* Hero d'accueil Shadow Craft */
.navbar-brand img { max-height: 56px; }
.sc-hero { padding: 3rem 0 2.5rem; background: radial-gradient(700px 300px at 50% 40%, rgba(123,47,247,.35), transparent 70%); }
.sc-hero-logo { width: min(640px, 92%); height: auto; filter: drop-shadow(0 10px 40px rgba(123,47,247,.45)); }
.sc-hero-sub { font-size: 1.25rem; color: #cfc4e8; margin: .5rem 0 1.25rem; letter-spacing: .02em; }
.sc-ip { font-size: 1.35rem; font-weight: 700; color: #fff; padding: .75rem 1.5rem; border-radius: 999px; border: 1px solid rgba(197,108,240,.6);
  background: rgba(123,47,247,.18); box-shadow: 0 0 25px rgba(123,47,247,.35); transition: transform .15s, box-shadow .15s; }
.sc-ip:hover { transform: translateY(-2px); box-shadow: 0 0 40px rgba(197,108,240,.55); }
.sc-hero-meta { color: #9d93b3; margin: .75rem 0 1.5rem; font-size: .95rem; }
.sc-hero-actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }
