:root {
  /* CallBandit Core Color Palette - Original Raw Theme */
  --cb-red: #cc4334;
  --cb-red-dark: #b23a2d;
  --cb-dark-teal: #4b626b;
  --cb-dark-teal-darker: #3d5058;
  --cb-dark: #333333;
  --cb-light: #f4f4f4;
  --cb-white: #ffffff;
  --cb-beige: #f9f5f0;
  
  --shadow-sm: 0 2px 5px rgba(0,0,0,0.1);
  --shadow-md: 0 4px 10px rgba(0,0,0,0.15);
  --transition: all 0.2s ease-in-out;
}

/* Base resets and Typography */

body {
  font-family: 'Open Sans', sans-serif;
  color: var(--cb-dark);
  background-color: var(--cb-light);
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1.3;
}

a {
  color: var(--cb-red);
  text-decoration: none;
  transition: var(--transition);
}

a:hover {
  color: var(--cb-red-dark);
}

/* Original Navigation style */
.navbar {
  background-color: var(--cb-red);
  padding: 10px 0;
  border-bottom: 5px solid #8e2b21;
}

.navbar-brand img {
  height: 48px;
}

.nav-link {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--cb-white) !important;
  padding: 0.5rem 1rem !important;
  text-transform: capitalize;
  white-space: nowrap;
}

.nav-link:hover {
  color: #ffcccc !important;
}

.btn-contact {
  background-color: #3b4249;
  color: white;
  border: none;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 24px;
  border-radius: 4px;
}
.btn-contact:hover {
  background-color: #2b3136;
  color: white;
}

/* Utility buttons */
.btn-cb-primary {
  background-color: var(--cb-red);
  color: white;
  border: none;
  padding: 10px 30px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  border-radius: 3px;
  text-transform: uppercase;
}
.btn-cb-primary:hover {
  background-color: var(--cb-red-dark);
  color: white;
}

/* Main Layout Setup */
main {
  min-height: calc(100vh - 200px);
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

/* Headers */
.section-header-red {
  background-color: var(--cb-red);
  color: white;
  text-align: center;
  padding: 30px 0;
}
.section-header-red h2 {
  margin: 0;
  font-weight: 600;
  font-size: 2.2rem;
}

/* Table overrides */
.table-custom thead th {
  background-color: var(--cb-red);
  color: white;
  border: none;
  padding: 15px;
  font-family: 'Montserrat', sans-serif;
}
.table-custom tbody tr:nth-of-type(odd) {
  background-color: var(--cb-beige);
}
.table-custom tbody tr {
  border-bottom: 1px solid #eee;
}
.table-custom tbody td {
  padding: 12px 15px;
  color: #555;
  font-size: 0.95rem;
}

/* DataTables Global Overrides for CallBandit */
.dataTables_wrapper .page-item.active .page-link {
    background-color: var(--cb-red) !important;
    border-color: var(--cb-red-dark) !important;
    color: white !important;
}
.dataTables_wrapper .page-link {
    color: var(--cb-red) !important;
}
.dataTables_wrapper .page-link:hover {
    background-color: var(--cb-beige) !important;
    color: var(--cb-red-dark) !important;
}
table.dataTable thead th, table.dataTable thead td {
    background-color: var(--cb-red) !important;
    color: white !important;
    border-bottom: none !important;
}