/*!
 * Stylesheet personnalisé - Palette Rouge & Gris
 * Couleurs principales :
 * - Rouge : #d80500
 * - Gris : #4d4d4d
 * - Variantes : 
 *   - Rouge clair : #f12b2b
 *   - Rouge foncé : #a00400
 *   - Gris clair : #7a7a7a
 *   - Gris très clair : #e6e6e6
 */

 :root {
  --primary-red: #d80500;
  --primary-red-light: #f12b2b;
  --primary-red-dark: #a00400;
  --primary-gray: #4d4d4d;
  --primary-gray-light: #7a7a7a;
  --primary-gray-verylight: #e6e6e6;
  --text-color: #333333;
  --white: #ffffff;
  --black: #000000;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin: 0 0 60px;
  font-family: 'Arial', sans-serif;
  color: var(--text-color);
  background-color: var(--primary-gray-verylight);
}

/* Structure */
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/* Navigation */
.navbar-default {
  background: var(--primary-red);
  border-color: var(--primary-red-dark);
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
}

.navbar-default .navbar-brand {
  color: var(--white);
  font-weight: bold;
}

.navbar-default .navbar-nav > li > a {
  color: var(--white);
  transition: all 0.3s ease;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: var(--primary-gray-verylight);
  background-color: var(--primary-red-dark);
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: var(--white);
  background-color: var(--primary-gray);
}

.navbar-default .navbar-toggle {
  border-color: var(--primary-gray);
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: var(--white);
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: var(--primary-gray);
}

/* Dropdowns */
.navbar-nav > li > .dropdown-menu {
  background-color: var(--primary-gray);
  border: 1px solid var(--primary-gray-light);
}

.dropdown-menu > li > a {
  color: var(--primary-gray);
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  color: var(--white);
  background-color: var(--primary-gray-light);
}

/* Liens */
a {
  color: var(--primary-red);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover,
a:focus {
  color: var(--primary-red-dark);
  text-decoration: underline;
}

/* Boutons */
.btn-primary {
  background-color: var(--primary-red);
  border-color: var(--primary-red-dark);
  color: var(--white);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--primary-red-dark);
  border-color: var(--primary-red-dark);
}

.btn-default {
  background-color: var(--primary-gray-verylight);
  border-color: var(--primary-gray-light);
  color: var(--primary-gray);
}

.btn-default:hover,
.btn-default:focus {
  background-color: var(--primary-gray-light);
  border-color: var(--primary-gray);
  color: var(--white);
}

/* Panels */
.panel-default {
  border-color: var(--primary-gray-light);
}

.panel-default > .panel-heading {
  color: var(--white);
  background-color: var(--primary-gray);
  border-color: var(--primary-gray-light);
}

.panel-default .panel-heading a {
  color: var(--white) !important;
}

/* Breadcrumbs */
.breadcrumb {
  background-color: var(--primary-gray-verylight);
  border: 1px solid var(--primary-gray-light);
}

.breadcrumb > .active {
  color: var(--primary-gray);
}

/* Badges */
.badge {
  background-color: var(--primary-red);
  color: var(--white);
}

/* Footer */
.footer {
  background-color: var(--primary-gray);
  color: var(--white);
  padding: 20px 0;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.footer a {
  color: var(--white);
}

.footer a:hover {
  color: var(--primary-gray-verylight);
  text-decoration: underline;
}

/* Tables */
.table > thead > tr > th {
  background-color: var(--primary-gray);
  color: var(--white);
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--primary-gray-verylight);
}

/* Formulaires */
.form-control:focus {
  border-color: var(--primary-red);
  box-shadow: 0 0 0 0.2rem rgba(216, 5, 0, 0.25);
}

/* Helper classes */
.text-red {
  color: var(--primary-red);
}

.text-gray {
  color: var(--primary-gray);
}

.bg-red {
  background-color: var(--primary-red);
}

.bg-gray {
  background-color: var(--primary-gray);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: var(--white);
  }
  
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover {
    color: var(--primary-gray-verylight);
  }
}