@font-face {
  font-family: 'RenaultGroupAH';
  src: url('/fonts/RenaultGroupAH-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'RenaultGroupAH';
  src: url('/fonts/RenaultGroupAH-Light.woff2') format('woff2'),
       url('/fonts/RenaultGroupAH-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'RenaultGroupAH';
  src: url('/fonts/RenaultGroupAH-Book.woff2') format('woff2'),
       url('/fonts/RenaultGroupAH-Book.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'RenaultGroupAH';
  src: url('/fonts/RenaultGroupAH-Regular.woff2') format('woff2'),
       url('/fonts/RenaultGroupAH-Regular.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'RenaultGroupAH';
  src: url('/fonts/RenaultGroupAH-Semibold.woff2') format('woff2'),
       url('/fonts/RenaultGroupAH-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'RenaultGroupAH';
  src: url('/fonts/RenaultGroupAH-Bold.woff2') format('woff2'),
       url('/fonts/RenaultGroupAH-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'RenaultGroupAH';
  src: url('/fonts/RenaultGroupAH-Extrabold.woff2') format('woff2'),
       url('/fonts/RenaultGroupAH-Extrabold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --accent: #C9A84C;
  --accent-hover: #b8923e;
  --dark-brand: #111111;
}

body {
  font-family: 'RenaultGroupAH', 'Segoe UI', system-ui, -apple-system, sans-serif;
  background-color: #f8f9fa;
}

/* Couleurs */
.bg-dark-brand { background-color: var(--dark-brand) !important; }
.bg-accent { background-color: var(--accent) !important; }
.text-accent { color: var(--accent) !important; }
.btn-accent {
  background-color: var(--accent);
  color: #111;
  border-color: var(--accent);
}
.btn-accent:hover {
  background-color: var(--accent-hover);
  border-color: var(--accent-hover);
  color: #111;
}

/* Navbar */
.navbar-dark.bg-dark-brand .nav-link { color: rgba(255,255,255,.75); }
.navbar-dark.bg-dark-brand .nav-link:hover,
.navbar-dark.bg-dark-brand .nav-link.active { color: #fff; }
.badge.bg-accent { background-color: var(--accent) !important; }

/* Sidebar */
.sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  font-size: .9rem;
  border-left: 3px solid transparent;
  transition: all .15s;
}
.sidebar-link:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
}
.sidebar-link.active {
  background: rgba(230,57,70,.15);
  color: #fff;
  border-left-color: var(--accent);
}
.sidebar-link i { font-size: 1rem; width: 18px; text-align: center; }

/* Cards */
.stat-card {
  border-radius: 12px;
  transition: transform .15s, box-shadow .15s;
}
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }

.event-card {
  border-radius: 12px;
  transition: transform .15s, box-shadow .15s;
}
.event-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.12) !important; }

/* Template buttons */
.template-btn {
  border-radius: 10px;
  padding: 12px;
  transition: all .15s;
}
.template-btn.btn-check:checked + .template-btn,
.btn-check:checked + .template-btn {
  background-color: var(--dark-brand);
  color: #fff;
  border-color: var(--dark-brand);
}

/* Tables */
.table thead th {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding-left: .85rem;
  padding-right: .85rem;
}
.table thead th + th {
  border-left: 1px solid rgba(255,255,255,.15);
}
.table tbody tr:nth-child(even) td {
  background-color: #f8f9fa;
}
.table tbody td + td {
  border-left: 1px solid #e9ecef;
}

/* Border dashed */
.border-dashed {
  border: 2px dashed #dee2e6 !important;
  background: #fff;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }

/* Front office */
.front-form .card {
  border-radius: 16px;
}

/* Responsive */
@media (max-width: 768px) {
  .sidebar {
    width: 60px !important;
    overflow: hidden;
  }
  .sidebar-link span,
  .sidebar .fw-bold,
  .sidebar .text-muted,
  .sidebar .badge,
  .sidebar .btn { display: none; }
  .sidebar-link { padding: 12px; justify-content: center; }
}
