/*
 * DNAGENICS Bootstrap 4.6.1 Brand Customization
 * "Explore Your DNA" - Custom CSS Framework
 */

/* Import Josefin Sans Font */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

/* ========================================
   BRAND COLORS & CSS VARIABLES
   ======================================== */

/*CSS Variables for Bootstrap 5 Future-Proofing*/
/*:root {
    --bs-primary: var(--dnagenics-teal);
    --bs-secondary: var(--dnagenics-lime);
    --bs-success: var(--dnagenics-light-lime);
    --bs-dark: var(--dnagenics-dark);
    --bs-body-font-family: var(--dnagenics-font-family);
    --bs-border-radius: var(--dnagenics-card-border-radius);
    --bs-border-radius-pill: var(--dnagenics-button-border-radius);
}*/

:root {
  /* Brand Colors */
  --dnagenics-white: #ffffff;
  --dnagenics-teal: #237465;
  --dnagenics-lime: #C2D053;
  --dnagenics-light-lime: #9CD053;
  --dnagenics-dark: #041411;
  
  /* Extended Color Palette */
  --dnagenics-teal-light: rgba(35, 116, 101, 0.1);
  --dnagenics-teal-medium: rgba(35, 116, 101, 0.5);
  --dnagenics-lime-light: rgba(194, 208, 83, 0.1);
  --dnagenics-lime-medium: rgba(194, 208, 83, 0.5);
  
  /* Typography */
  --dnagenics-font-family: 'Josefin Sans', sans-serif;
  
  /* Spacing */
  --dnagenics-section-padding: 5rem 0;
  --dnagenics-card-border-radius: 15px;
  --dnagenics-button-border-radius: 25px;
}

/* Add to improve performance */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.card, .btn, .form-control {
    will-change: transform;
}

    /* Add for better accessibility */
    .btn:focus,
    .form-control:focus,
    .custom-control-input:focus ~ .custom-control-label::before {
        outline: 2px solid var(--dnagenics-lime);
        outline-offset: 2px;
    }

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Add to your existing print styles */
@media print {
    .btn {
        border: 2px solid var(--dnagenics-teal) !important;
        color: var(--dnagenics-teal) !important;
        background: transparent !important;
    }

    .card {
        border: 1px solid var(--dnagenics-teal) !important;
        box-shadow: none !important;
    }
}

/* ========================================
   BOOTSTRAP VARIABLE OVERRIDES
   ======================================== */

/* Primary brand color mapping */
.text-primary { color: var(--dnagenics-teal) !important; }
.bg-primary { background-color: var(--dnagenics-teal) !important; }
.border-primary { border-color: var(--dnagenics-teal) !important; }

/* Secondary brand color mapping */
.text-secondary { color: var(--dnagenics-lime) !important; }
.bg-secondary { background-color: var(--dnagenics-lime) !important; }
.border-secondary { border-color: var(--dnagenics-lime) !important; }

/* Success brand color mapping */
.text-success { color: var(--dnagenics-light-lime) !important; }
.bg-success { background-color: var(--dnagenics-light-lime) !important; }
.border-success { border-color: var(--dnagenics-light-lime) !important; }

/* Dark brand color mapping */
.text-dark { color: var(--dnagenics-dark) !important; }
.bg-dark { background-color: var(--dnagenics-dark) !important; }
.border-dark { border-color: var(--dnagenics-dark) !important; }

/* ========================================
   CUSTOM BRAND COLORS
   ======================================== */

/* DNAGENICS Brand Colors */
.text-dnagenics-teal { color: var(--dnagenics-teal) !important; }
.text-dnagenics-lime { color: var(--dnagenics-lime) !important; }
.text-dnagenics-light-lime { color: var(--dnagenics-light-lime) !important; }
.text-dnagenics-dark { color: var(--dnagenics-dark) !important; }

.bg-dnagenics-teal { background-color: var(--dnagenics-teal) !important; }
.bg-dnagenics-lime { background-color: var(--dnagenics-lime) !important; }
.bg-dnagenics-light-lime { background-color: var(--dnagenics-light-lime) !important; }
.bg-dnagenics-dark { background-color: var(--dnagenics-dark) !important; }

.bg-dnagenics-teal-light { background-color: var(--dnagenics-teal-light) !important; }
.bg-dnagenics-lime-light { background-color: var(--dnagenics-lime-light) !important; }

.border-dnagenics-teal { border-color: var(--dnagenics-teal) !important; }
.border-dnagenics-lime { border-color: var(--dnagenics-lime) !important; }
.border-dnagenics-light-lime { border-color: var(--dnagenics-light-lime) !important; }
.border-dnagenics-dark { border-color: var(--dnagenics-dark) !important; }

/* ========================================
   TYPOGRAPHY
   ======================================== */

/* Base font family override */
body, 
.font-dnagenics {
  font-family: var(--dnagenics-font-family);
}

/* Brand-specific typography classes */
.dnagenics-hero-title {
  font-family: var(--dnagenics-font-family);
  font-weight: 700;
  font-size: 3.5rem;
  line-height: 1.1;
  color: var(--dnagenics-teal);
  margin-bottom: 1.5rem;
}

.dnagenics-section-title {
  font-family: var(--dnagenics-font-family);
  font-weight: 600;
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--dnagenics-teal);
  margin-bottom: 2rem;
}

.dnagenics-subtitle {
  font-family: var(--dnagenics-font-family);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--dnagenics-dark);
  margin-bottom: 1rem;
}

.dnagenics-tagline {
  font-family: var(--dnagenics-font-family);
  font-weight: 300;
  font-size: 1.1rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--dnagenics-lime);
}

/* Responsive typography */
@media (max-width: 768px) {
  .dnagenics-hero-title {
    font-size: 2.5rem;
  }
  
  .dnagenics-section-title {
    font-size: 2rem;
  }
}

/* ========================================
   BUTTONS
   ======================================== */

/* Primary DNAGENICS Button */
.btn-dnagenics-primary {
  background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  border: none;
  color: var(--dnagenics-white);
  font-family: var(--dnagenics-font-family);
  font-weight: 600;
  padding: 12px 30px;
  border-radius: var(--dnagenics-button-border-radius);
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(35, 116, 101, 0.3);
}

.btn-dnagenics-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(35, 116, 101, 0.4);
  color: var(--dnagenics-white);
}

.btn-dnagenics-primary:focus,
.btn-dnagenics-primary:active {
  box-shadow: 0 0 0 0.2rem rgba(35, 116, 101, 0.5);
  color: var(--dnagenics-white);
}

/* Secondary DNAGENICS Button */
.btn-dnagenics-secondary {
  background-color: transparent;
  border: 2px solid var(--dnagenics-lime);
  color: var(--dnagenics-lime);
  font-family: var(--dnagenics-font-family);
  font-weight: 600;
  padding: 10px 28px;
  border-radius: var(--dnagenics-button-border-radius);
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.btn-dnagenics-secondary:hover {
  background-color: var(--dnagenics-lime);
  color: var(--dnagenics-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(194, 208, 83, 0.3);
}

.btn-dnagenics-secondary:focus,
.btn-dnagenics-secondary:active {
  box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.5);
}

/* Outline DNAGENICS Button */
.btn-dnagenics-outline {
  background-color: transparent;
  border: 2px solid var(--dnagenics-teal);
  color: var(--dnagenics-teal);
  font-family: var(--dnagenics-font-family);
  font-weight: 600;
  padding: 10px 28px;
  border-radius: var(--dnagenics-button-border-radius);
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.btn-dnagenics-outline:hover {
  background-color: var(--dnagenics-teal);
  color: var(--dnagenics-white);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(35, 116, 101, 0.3);
}

/* ========================================
   CARDS
   ======================================== */

.card-dnagenics {
  border: none;
  border-radius: var(--dnagenics-card-border-radius);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  overflow: hidden;
}

/*.card-dnagenics:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}
*/
.card-dnagenics .card-header {
  background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  color: var(--dnagenics-white);
  font-family: var(--dnagenics-font-family);
  font-weight: 600;
  border: none;
  padding: 1.5rem;
}

.card-dnagenics .card-body {
  padding: 2rem;
  font-family: var(--dnagenics-font-family);
}

.card-dnagenics .card-title {
  color: var(--dnagenics-teal);
  font-weight: 600;
  margin-bottom: 1rem;
}

/* DNA-themed card variant */
.card-dna-theme {
  position: relative;
  background: linear-gradient(135deg, var(--dnagenics-teal-light) 0%, var(--dnagenics-lime-light) 100%);
  border: 2px solid var(--dnagenics-lime);
}

.card-dna-theme::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 50%, var(--dnagenics-light-lime) 100%);
}

/* ========================================
   NAVIGATION
   ======================================== */

.navbar-dnagenics {
  background-color: var(--dnagenics-white);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 1rem 0;
}

.navbar-dnagenics .navbar-brand {
  font-family: var(--dnagenics-font-family);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--dnagenics-teal);
}

.navbar-dnagenics .navbar-nav .nav-link {
  font-family: var(--dnagenics-font-family);
  font-weight: 500;
  color: var(--dnagenics-dark);
  transition: color 0.3s ease;
  position: relative;
}

.navbar-dnagenics .navbar-nav .nav-link:hover,
.navbar-dnagenics .navbar-nav .nav-link.active {
  color: var(--dnagenics-teal);
}

.navbar-dnagenics .navbar-nav .nav-link::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.navbar-dnagenics .navbar-nav .nav-link:hover::after,
.navbar-dnagenics .navbar-nav .nav-link.active::after {
  width: 80%;
}

/* ========================================
   FORMS
   ======================================== */

.form-control-dnagenics {
  border: 2px solid #e9ecef;
  border-radius: 10px;
  /*padding: 12px 15px;*/
  font-family: var(--dnagenics-font-family);
  transition: all 0.3s ease;
}

.form-control-dnagenics:focus {
  border-color: var(--dnagenics-lime);
  box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.25);
}

.form-group-dnagenics label {
  font-family: var(--dnagenics-font-family);
  font-weight: 600;
  color: var(--dnagenics-teal);
  margin-bottom: 0.5rem;
}

/* Custom checkbox/radio styles */
.custom-control-dnagenics .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--dnagenics-lime);
  border-color: var(--dnagenics-lime);
}

.custom-control-dnagenics .custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.25);
}

/* ========================================
   TABS & PILLS NAVIGATION
   ======================================== */

/* Custom DNAGENICS Tabs */
.nav-tabs-dnagenics {
  border-bottom: 2px solid var(--dnagenics-teal-light);
  font-family: var(--dnagenics-font-family);
}

.nav-tabs-dnagenics .nav-item {
  margin-bottom: -2px;
}

.nav-tabs-dnagenics .nav-link {
  border: none;
  border-bottom: 3px solid transparent;
  color: var(--dnagenics-dark);
  font-weight: 500;
  padding: 15px 20px;
  transition: all 0.3s ease;
  position: relative;
  background: transparent;
}

.nav-tabs-dnagenics .nav-link:hover {
  border-color: transparent;
  color: var(--dnagenics-teal);
  border-bottom-color: var(--dnagenics-lime);
  background: var(--dnagenics-teal-light);
}

.nav-tabs-dnagenics .nav-link.active {
  color: var(--dnagenics-teal);
  background: linear-gradient(135deg, var(--dnagenics-teal-light) 0%, var(--dnagenics-lime-light) 100%);
  border-bottom-color: var(--dnagenics-teal);
  font-weight: 600;
}

.nav-tabs-dnagenics .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
}

/* Custom DNAGENICS Pills */
.nav-pills-dnagenics .nav-link {
  border-radius: var(--dnagenics-button-border-radius);
  color: var(--dnagenics-dark);
  font-family: var(--dnagenics-font-family);
  font-weight: 500;
  padding: 12px 25px;
  margin: 0 5px 10px 0;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  background: var(--dnagenics-teal-light);
}

.nav-pills-dnagenics .nav-link:hover {
  color: var(--dnagenics-teal);
  background: var(--dnagenics-lime-light);
  border-color: var(--dnagenics-lime);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(194, 208, 83, 0.2);
}

.nav-pills-dnagenics .nav-link.active {
  background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  color: var(--dnagenics-white);
  border-color: var(--dnagenics-teal);
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(35, 116, 101, 0.3);
}

.nav-pills-dnagenics .nav-link.active:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(35, 116, 101, 0.4);
  color: var(--dnagenics-white);
}

/* DNA Helix Pills - Special variant */
.nav-pills-dna .nav-link {
  border-radius: var(--dnagenics-button-border-radius);
  color: var(--dnagenics-teal);
  font-family: var(--dnagenics-font-family);
  font-weight: 500;
  padding: 12px 25px;
  margin: 0 5px 10px 0;
  transition: all 0.3s ease;
  border: 2px solid var(--dnagenics-teal);
  background: transparent;
  position: relative;
  overflow: hidden;
}

.nav-pills-dna .nav-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, var(--dnagenics-lime-light), transparent);
  transition: left 0.5s ease;
}

.nav-pills-dna .nav-link:hover::before {
  left: 100%;
}

.nav-pills-dna .nav-link:hover {
  color: var(--dnagenics-white);
  background: var(--dnagenics-teal);
  border-color: var(--dnagenics-teal);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(35, 116, 101, 0.3);
}

.nav-pills-dna .nav-link.active {
  background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  color: var(--dnagenics-white);
  border-color: var(--dnagenics-lime);
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(35, 116, 101, 0.3);
}

/* Bootstrap default tabs/pills with DNAGENICS branding */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--dnagenics-teal);
  background-color: var(--dnagenics-white);
  border-color: var(--dnagenics-teal) var(--dnagenics-teal) var(--dnagenics-white);
  font-weight: 600;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  border-color: var(--dnagenics-lime-light) var(--dnagenics-lime-light) var(--dnagenics-lime);
  color: var(--dnagenics-teal);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--dnagenics-white);
  background-color: var(--dnagenics-teal);
  font-weight: 600;
}

.nav-pills .nav-link:hover {
  color: var(--dnagenics-teal);
}

/* Tab content styling */
.tab-content-dnagenics {
  background: var(--dnagenics-white);
  border: 1px solid var(--dnagenics-teal-light);
  border-top: none;
  padding: 2rem;
  border-radius: 0 0 15px 15px;
  font-family: var(--dnagenics-font-family);
}

.tab-content-dnagenics .tab-pane {
  animation: fadeInUp 0.3s ease-in-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Vertical tabs layout */
.nav-tabs-vertical {
  flex-direction: column;
  border-right: 2px solid var(--dnagenics-teal-light);
  border-bottom: none;
}

.nav-tabs-vertical .nav-link {
  border: none;
  border-right: 3px solid transparent;
  border-radius: 15px 0 0 15px;
  text-align: left;
  margin-bottom: 5px;
}

.nav-tabs-vertical .nav-link.active {
  border-right-color: var(--dnagenics-teal);
  background: linear-gradient(135deg, var(--dnagenics-teal-light) 0%, var(--dnagenics-lime-light) 100%);
}

/* Tab with icons */
.nav-tabs-dnagenics .nav-link i,
.nav-pills-dnagenics .nav-link i {
  margin-right: 8px;
  font-size: 1.1em;
}

.nav-tabs-dnagenics .nav-link.active i,
.nav-pills-dnagenics .nav-link.active i {
  color: inherit;
}

/* Responsive tabs */
@media (max-width: 767.98px) {
  .nav-tabs-dnagenics .nav-link,
  .nav-pills-dnagenics .nav-link {
    padding: 10px 15px;
    font-size: 0.9rem;
    margin: 0 2px 8px 0;
  }
  
  .nav-tabs-dnagenics {
    flex-wrap: wrap;
  }
  
  .tab-content-dnagenics {
    padding: 1.5rem;
  }
}

/* ========================================
   SECTIONS & LAYOUT
   ======================================== */

.section-dnagenics {
  padding: var(--dnagenics-section-padding);
  font-family: var(--dnagenics-font-family);
}

.section-dnagenics-hero {
  background: linear-gradient(135deg, var(--dnagenics-teal-light) 0%, var(--dnagenics-lime-light) 100%);
  padding: 8rem 0;
  position: relative;
  overflow: hidden;
}

.section-dnagenics-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(circle at 25% 25%, var(--dnagenics-lime-medium) 0%, transparent 50%),
    radial-gradient(circle at 75% 75%, var(--dnagenics-teal-medium) 0%, transparent 50%);
  opacity: 0.3;
}

.section-dnagenics-dark {
  background-color: var(--dnagenics-dark);
  color: var(--dnagenics-white);
}

/* ========================================
   BADGES & ALERTS
   ======================================== */

.badge-dnagenics-primary {
  background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  color: var(--dnagenics-white);
  font-family: var(--dnagenics-font-family);
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 15px;
}

.alert-dnagenics {
  border: none;
  border-radius: 15px;
  font-family: var(--dnagenics-font-family);
  border-left: 4px solid var(--dnagenics-lime);
  background-color: var(--dnagenics-lime-light);
  color: var(--dnagenics-dark);
}

/* ========================================
   PROGRESS BARS
   ======================================== */

.progress-dnagenics {
  height: 10px;
  border-radius: 10px;
  background-color: var(--dnagenics-teal-light);
}

.progress-dnagenics .progress-bar {
  background: linear-gradient(90deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  border-radius: 10px;
}

/* ========================================
   DNA HELIX DECORATIVE ELEMENTS
   ======================================== */

.dna-helix-decoration {
  position: relative;
}

.dna-helix-decoration::before,
.dna-helix-decoration::after {
  content: '';
  position: absolute;
  width: 4px;
  height: 100%;
  background: linear-gradient(0deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 50%, var(--dnagenics-light-lime) 100%);
  opacity: 0.3;
}

.dna-helix-decoration::before {
  left: -20px;
  transform: rotate(15deg);
}

.dna-helix-decoration::after {
  right: -20px;
  transform: rotate(-15deg);
}

/* ========================================
   UTILITIES
   ======================================== */

/* Brand gradient backgrounds */
.bg-gradient-dnagenics-primary {
  background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
}

.bg-gradient-dnagenics-secondary {
  background: linear-gradient(135deg, var(--dnagenics-lime) 0%, var(--dnagenics-light-lime) 100%);
}

/* Text gradients */
.text-gradient-dnagenics {
  background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

/* Box shadows */
.shadow-dnagenics-light {
  box-shadow: 0 4px 15px rgba(35, 116, 101, 0.1);
}

.shadow-dnagenics-medium {
  box-shadow: 0 8px 25px rgba(35, 116, 101, 0.2);
}

.shadow-dnagenics-heavy {
  box-shadow: 0 15px 35px rgba(35, 116, 101, 0.3);
}

/* Border radius utilities */
.rounded-dnagenics {
  border-radius: var(--dnagenics-card-border-radius);
}

.rounded-dnagenics-pill {
  border-radius: var(--dnagenics-button-border-radius);
}

/* ========================================
   ANIMATIONS
   ======================================== */

@keyframes dnagenics-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(194, 208, 83, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(194, 208, 83, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(194, 208, 83, 0);
  }
}

.dnagenics-pulse {
  animation: dnagenics-pulse 2s infinite;
}

/* Fade in up animation */
@keyframes dnagenics-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dnagenics-fade-in-up {
  animation: dnagenics-fade-in-up 0.6s ease-out;
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */

@media (max-width: 575.98px) {
  .section-dnagenics {
    padding: 3rem 0;
  }
  
  .section-dnagenics-hero {
    padding: 5rem 0;
  }
  
  .btn-dnagenics-primary,
  .btn-dnagenics-secondary,
  .btn-dnagenics-outline {
    padding: 10px 20px;
    font-size: 0.9rem;
  }
  
  /* Extra spacing for very small screens */
  .card,
  .card-dnagenics {
    margin-bottom: 2rem; /* Maximum spacing on very small screens */
  }
}

@media (max-width: 767.98px) {
  .card-dnagenics .card-body {
    padding: 1.5rem;
  }
  
  .navbar-dnagenics {
    padding: 0.5rem 0;
  }
  
  /* Enhanced card spacing on mobile */
  .card,
  .card-dnagenics {
    margin-bottom: 1.5rem; /* Increased spacing on mobile */
  }
  
  /* Remove margin only from the last card in a .row */
  .row > .card:last-child,
  .row > .card-dnagenics:last-child {
    margin-bottom: 0;
  }
}

/* ========================================
   PRINT STYLES
   ======================================== */

@media print {
  .section-dnagenics-hero {
    background: none !important;
  }
  
  .bg-gradient-dnagenics-primary,
  .bg-gradient-dnagenics-secondary {
    background: var(--dnagenics-white) !important;
    color: var(--dnagenics-dark) !important;
  }
}

/* ========================================
   GLOBAL BOOTSTRAP COMPONENT OVERRIDES
   Add these to your existing CSS file
   ======================================== */

/* Make all buttons use DNAGENICS styling by default */
.btn-primary {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    border: none;
    color: var(--dnagenics-white);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(35, 116, 101, 0.3);
}

    .btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(35, 116, 101, 0.4);
        color: var(--dnagenics-white);
    }

.btn-secondary {
    background-color: transparent;
    border: 2px solid var(--dnagenics-lime);
    color: var(--dnagenics-lime);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

    .btn-secondary:hover {
        background-color: var(--dnagenics-lime);
        color: var(--dnagenics-dark);
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(194, 208, 83, 0.3);
    }

.btn-outline-primary {
    background-color: transparent;
    border: 2px solid var(--dnagenics-teal);
    color: var(--dnagenics-teal);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

    .btn-outline-primary:hover {
        background-color: var(--dnagenics-teal);
        color: var(--dnagenics-white);
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(35, 116, 101, 0.3);
    }

/* Make all cards use DNAGENICS styling by default */
.card {
    border: none;
    border-radius: var(--dnagenics-card-border-radius);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    overflow: hidden;
    margin-bottom: 1rem; /* Default spacing for all cards */
}

    /*.card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    }*/

.card-header {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    color: var(--dnagenics-white);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border: none;
}

.card-title {
    color: var(--dnagenics-teal);
    font-weight: 600;
}

/* Make all forms use DNAGENICS styling by default */
.form-control {
    border: 2px solid #e9ecef;
    border-radius: 10px;
    /*padding: 12px 15px;*/
    font-family: var(--dnagenics-font-family);
    transition: all 0.3s ease;
}

    .form-control:focus {
        border-color: var(--dnagenics-lime);
        box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.25);
    }

.form-group label {
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    color: var(--dnagenics-teal);
}

/* Make all navbars use DNAGENICS styling by default */
.navbar {
    background-color: var(--dnagenics-white);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.navbar-brand {
    font-family: var(--dnagenics-font-family);
    font-weight: 700;
    color: var(--dnagenics-teal) !important;
}

.navbar-nav .nav-link {
    font-family: var(--dnagenics-font-family);
    font-weight: 500;
    color: var(--dnagenics-dark) !important;
    transition: color 0.3s ease;
    position: relative;
}

    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active {
        color: var(--dnagenics-teal) !important;
    }

/* Make all badges use DNAGENICS styling by default */
.badge-primary {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    color: var(--dnagenics-white);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: 15px;
}

.badge-secondary {
    background-color: var(--dnagenics-lime);
    color: var(--dnagenics-dark);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: 15px;
}

/* Make all alerts use DNAGENICS styling by default */
.alert {
    border: none;
    border-radius: 15px;
    font-family: var(--dnagenics-font-family);
    border-left: 4px solid var(--dnagenics-lime);
    background-color: var(--dnagenics-lime-light);
    color: var(--dnagenics-dark);
}

.alert-primary {
    border-left-color: var(--dnagenics-teal);
    background-color: var(--dnagenics-teal-light);
}

.alert-secondary {
    border-left-color: var(--dnagenics-lime);
    background-color: var(--dnagenics-lime-light);
}

/* Make all progress bars use DNAGENICS styling by default */
.progress {
    height: 10px;
    border-radius: 10px;
    background-color: var(--dnagenics-teal-light);
}

.progress-bar {
    background: linear-gradient(90deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    border-radius: 10px;
}

/* Make all tabs use DNAGENICS styling by default */
.nav-tabs {
    border-bottom: 2px solid var(--dnagenics-teal-light);
    font-family: var(--dnagenics-font-family);
}

    .nav-tabs .nav-link {
        border: none;
        border-bottom: 3px solid transparent;
        color: var(--dnagenics-dark);
        font-weight: 500;
        transition: all 0.3s ease;
    }

        .nav-tabs .nav-link:hover {
            color: var(--dnagenics-teal);
            border-bottom-color: var(--dnagenics-lime);
            background: var(--dnagenics-teal-light);
        }

        .nav-tabs .nav-link.active {
            color: var(--dnagenics-teal);
            background: linear-gradient(135deg, var(--dnagenics-teal-light) 0%, var(--dnagenics-lime-light) 100%);
            border-bottom-color: var(--dnagenics-teal);
            font-weight: 600;
        }

.nav-pills .nav-link {
    border-radius: var(--dnagenics-button-border-radius);
    color: var(--dnagenics-dark);
    font-family: var(--dnagenics-font-family);
    font-weight: 500;
    transition: all 0.3s ease;
    background: var(--dnagenics-teal-light);
}

    .nav-pills .nav-link:hover {
        color: var(--dnagenics-teal);
        background: var(--dnagenics-lime-light);
    }

    .nav-pills .nav-link.active {
        background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
        color: var(--dnagenics-white);
        font-weight: 600;
    }

/* Make all dropdowns use DNAGENICS styling by default */
.dropdown-menu {
    border: none;
    border-radius: var(--dnagenics-card-border-radius);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    font-family: var(--dnagenics-font-family);
}

.dropdown-item {
    color: var(--dnagenics-dark);
    font-weight: 500;
    transition: all 0.3s ease;
}

    .dropdown-item:hover {
        background-color: var(--dnagenics-lime-light);
        color: var(--dnagenics-teal);
    }

    .dropdown-item.active {
        background-color: var(--dnagenics-teal);
        color: var(--dnagenics-white);
    }

/* Make all pagination use DNAGENICS styling by default */
.pagination .page-link {
    color: var(--dnagenics-teal);
    border: 1px solid var(--dnagenics-teal-light);
    font-family: var(--dnagenics-font-family);
    font-weight: 500;
    transition: all 0.3s ease;
}

    .pagination .page-link:hover {
        color: var(--dnagenics-white);
        background-color: var(--dnagenics-teal);
        border-color: var(--dnagenics-teal);
    }

.pagination .page-item.active .page-link {
    background-color: var(--dnagenics-teal);
    border-color: var(--dnagenics-teal);
    color: var(--dnagenics-white);
}

/* Make all modals use DNAGENICS styling by default */
.modal-content {
    border: none;
    border-radius: var(--dnagenics-card-border-radius);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.modal-header {
    border-bottom: 2px solid var(--dnagenics-teal-light);
    font-family: var(--dnagenics-font-family);
}

.modal-title {
    color: var(--dnagenics-teal);
    font-weight: 600;
}

.modal-footer {
    border-top: 2px solid var(--dnagenics-teal-light);
}

/* Make all list groups use DNAGENICS styling by default */
.list-group-item {
    border: 1px solid var(--dnagenics-teal-light);
    font-family: var(--dnagenics-font-family);
    color: var(--dnagenics-dark);
    transition: all 0.3s ease;
}

    .list-group-item:hover {
        background-color: var(--dnagenics-lime-light);
        color: var(--dnagenics-teal);
    }

    .list-group-item.active {
        background-color: var(--dnagenics-teal);
        border-color: var(--dnagenics-teal);
        color: var(--dnagenics-white);
    }

/* Make all accordions use DNAGENICS styling by default */
.accordion .card {
    border: 1px solid var(--dnagenics-teal-light);
}

.accordion .card-header {
    background: var(--dnagenics-teal-light);
    border-bottom: 1px solid var(--dnagenics-teal-light);
}

.accordion .btn-link {
    color: var(--dnagenics-teal);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    text-decoration: none;
}

    .accordion .btn-link:hover {
        color: var(--dnagenics-lime);
    }

/* Make all custom controls use DNAGENICS styling by default */
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--dnagenics-lime);
    border-color: var(--dnagenics-lime);
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.25);
}

.custom-control-label {
    font-family: var(--dnagenics-font-family);
    color: var(--dnagenics-dark);
}

/* Make all tables use DNAGENICS styling by default */
.table {
    font-family: var(--dnagenics-font-family);
}

    .table thead th {
        background-color: var(--dnagenics-teal);
        color: var(--dnagenics-white);
        font-weight: 600;
        border: none;
    }

    .table tbody tr:hover {
        background-color: var(--dnagenics-lime-light);
    }

.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--dnagenics-teal-light);
}

/* Make all breadcrumbs use DNAGENICS styling by default */
.breadcrumb {
    background-color: var(--dnagenics-teal-light);
    font-family: var(--dnagenics-font-family);
    border-radius: var(--dnagenics-card-border-radius);
}

.breadcrumb-item a {
    color: var(--dnagenics-teal);
    text-decoration: none;
}

    .breadcrumb-item a:hover {
        color: var(--dnagenics-lime);
    }

.breadcrumb-item.active {
    color: var(--dnagenics-dark);
    font-weight: 600;
}

/* ========================================
   MISSING BOOTSTRAP COMPONENTS - DNAGENICS OVERRIDES
   Add these to complete your Bootstrap customization
   ======================================== */

/* ========================================
   CAROUSEL COMPONENT
   ======================================== */
.carousel-indicators li {
    background-color: var(--dnagenics-teal);
    border-radius: 50%;
    width: 12px;
    height: 12px;
    margin: 0 5px;
}

.carousel-indicators .active {
    background-color: var(--dnagenics-lime);
}

.carousel-control-prev,
.carousel-control-next {
    color: var(--dnagenics-teal);
    font-size: 2rem;
}

    .carousel-control-prev:hover,
    .carousel-control-next:hover {
        color: var(--dnagenics-lime);
    }

.carousel-caption {
    background: rgba(4, 20, 17, 0.7);
    border-radius: var(--dnagenics-card-border-radius);
    padding: 1.5rem;
    font-family: var(--dnagenics-font-family);
}

/* ========================================
   TOAST NOTIFICATIONS
   ======================================== */
.toast {
    border: none;
    border-radius: var(--dnagenics-card-border-radius);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    font-family: var(--dnagenics-font-family);
}

.toast-header {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    color: var(--dnagenics-white);
    border-bottom: none;
    font-weight: 600;
}

.toast-body {
    color: var(--dnagenics-dark);
}

/* ========================================
   TOOLTIP & POPOVER
   ======================================== */
.tooltip {
    font-family: var(--dnagenics-font-family);
}

.tooltip-inner {
    background-color: var(--dnagenics-teal);
    color: var(--dnagenics-white);
    border-radius: 8px;
    font-weight: 500;
}

.tooltip.bs-tooltip-top .arrow::before {
    border-top-color: var(--dnagenics-teal);
}

.tooltip.bs-tooltip-right .arrow::before {
    border-right-color: var(--dnagenics-teal);
}

.tooltip.bs-tooltip-bottom .arrow::before {
    border-bottom-color: var(--dnagenics-teal);
}

.tooltip.bs-tooltip-left .arrow::before {
    border-left-color: var(--dnagenics-teal);
}

.popover {
    border: none;
    border-radius: var(--dnagenics-card-border-radius);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    font-family: var(--dnagenics-font-family);
}

.popover-header {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    color: var(--dnagenics-white);
    border-bottom: none;
    font-weight: 600;
}

.popover-body {
    color: var(--dnagenics-dark);
}

/* ========================================
   JUMBOTRON
   ======================================== */
.jumbotron {
    background: linear-gradient(135deg, var(--dnagenics-teal-light) 0%, var(--dnagenics-lime-light) 100%);
    border-radius: var(--dnagenics-card-border-radius);
    font-family: var(--dnagenics-font-family);
    position: relative;
    overflow: hidden;
}

    .jumbotron::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: radial-gradient(circle at 25% 25%, var(--dnagenics-lime-medium) 0%, transparent 50%), radial-gradient(circle at 75% 75%, var(--dnagenics-teal-medium) 0%, transparent 50%);
        opacity: 0.3;
    }

    .jumbotron h1,
    .jumbotron .h1 {
        color: var(--dnagenics-teal);
        font-weight: 700;
    }

    .jumbotron p {
        color: var(--dnagenics-dark);
    }

/* ========================================
   SPINNERS
   ======================================== */
.spinner-border {
    border-color: var(--dnagenics-teal-light);
    border-right-color: var(--dnagenics-teal);
}

.spinner-border-sm {
    border-color: var(--dnagenics-teal-light);
    border-right-color: var(--dnagenics-teal);
}

.spinner-grow {
    background-color: var(--dnagenics-teal);
}

.spinner-grow-sm {
    background-color: var(--dnagenics-teal);
}

/* ========================================
   INPUT GROUPS
   ======================================== */
.input-group-text {
    background-color: var(--dnagenics-teal);
    color: var(--dnagenics-white);
    border: 2px solid var(--dnagenics-teal);
    font-family: var(--dnagenics-font-family);
    font-weight: 500;
}

.input-group .form-control {
    border-color: var(--dnagenics-teal);
}

    .input-group .form-control:focus {
        border-color: var(--dnagenics-lime);
        box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.25);
    }

/* ========================================
   CLOSE BUTTON
   ======================================== */
.close {
    color: var(--dnagenics-teal);
    font-size: 1.5rem;
    font-weight: 700;
    opacity: 0.8;
}

    .close:hover {
        color: var(--dnagenics-lime);
        opacity: 1;
    }

/* ========================================
   MEDIA OBJECT
   ======================================== */
.media {
    font-family: var(--dnagenics-font-family);
}

.media-heading {
    color: var(--dnagenics-teal);
    font-weight: 600;
}

/* ========================================
   BUTTON GROUPS
   ======================================== */
.btn-group .btn {
    border-radius: 0;
}

    .btn-group .btn:first-child {
        border-top-left-radius: var(--dnagenics-button-border-radius);
        border-bottom-left-radius: var(--dnagenics-button-border-radius);
    }

    .btn-group .btn:last-child {
        border-top-right-radius: var(--dnagenics-button-border-radius);
        border-bottom-right-radius: var(--dnagenics-button-border-radius);
    }

.btn-group-vertical .btn:first-child {
    border-top-left-radius: var(--dnagenics-button-border-radius);
    border-top-right-radius: var(--dnagenics-button-border-radius);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group-vertical .btn:last-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: var(--dnagenics-button-border-radius);
    border-bottom-right-radius: var(--dnagenics-button-border-radius);
}

/* ========================================
   COLLAPSE / ACCORDION IMPROVEMENTS
   ======================================== */
.collapse.show {
    animation: dnagenics-fade-in-up 0.3s ease-out;
}

.accordion .btn-link:focus {
    box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.25);
}

.accordion .card-header .btn-link[aria-expanded="true"] {
    color: var(--dnagenics-lime);
    font-weight: 700;
}

/* ========================================
   RANGE INPUTS
   ======================================== */
.custom-range {
    background: transparent;
}

    .custom-range::-webkit-slider-track {
        background: var(--dnagenics-teal-light);
        border-radius: 10px;
        height: 8px;
    }

    .custom-range::-webkit-slider-thumb {
        background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
        border: none;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        box-shadow: 0 2px 8px rgba(35, 116, 101, 0.3);
    }

    .custom-range::-moz-range-track {
        background: var(--dnagenics-teal-light);
        border-radius: 10px;
        height: 8px;
        border: none;
    }

    .custom-range::-moz-range-thumb {
        background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
        border: none;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        box-shadow: 0 2px 8px rgba(35, 116, 101, 0.3);
    }

/* ========================================
   SWITCH TOGGLE
   ======================================== */
.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--dnagenics-lime);
    border-color: var(--dnagenics-lime);
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: var(--dnagenics-white);
    transform: translateX(0.75rem);
}

.custom-switch .custom-control-label::before {
    border-radius: 50px;
    background-color: var(--dnagenics-teal-light);
}

.custom-switch .custom-control-label::after {
    border-radius: 50%;
    background-color: var(--dnagenics-teal);
    transition: transform 0.15s ease-in-out;
}

/* ========================================
   BLOCKQUOTE
   ======================================== */
.blockquote {
    border-left: 4px solid var(--dnagenics-lime);
    padding-left: 1.5rem;
    font-family: var(--dnagenics-font-family);
    color: var(--dnagenics-dark);
    font-style: italic;
    background-color: var(--dnagenics-lime-light);
    border-radius: 0 var(--dnagenics-card-border-radius) var(--dnagenics-card-border-radius) 0;
    padding: 1.5rem;
}

.blockquote-footer {
    color: var(--dnagenics-teal);
    font-weight: 500;
}

    .blockquote-footer::before {
        content: "� ";
    }

/* ========================================
   FIGURE
   ======================================== */
.figure-caption {
    color: var(--dnagenics-teal);
    font-family: var(--dnagenics-font-family);
    font-weight: 500;
    font-style: italic;
}

/* ========================================
   SCROLLSPY
   ======================================== */
.nav-pills .nav-link.active {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    color: var(--dnagenics-white);
}

/* ========================================
   FLEX UTILITIES ENHANCEMENTS
   ======================================== */
.flex-fill {
    font-family: var(--dnagenics-font-family);
}

/* ========================================
   STRETCHED LINK
   ======================================== */
.stretched-link::after {
    border-radius: var(--dnagenics-card-border-radius);
}

/* ========================================
   ADDITIONAL BUTTON VARIANTS
   ======================================== */
.btn-success {
    background-color: var(--dnagenics-light-lime);
    border-color: var(--dnagenics-light-lime);
    color: var(--dnagenics-dark);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
}

    .btn-success:hover {
        background-color: var(--dnagenics-lime);
        border-color: var(--dnagenics-lime);
        color: var(--dnagenics-dark);
    }

.btn-info {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-light-lime) 100%);
    border: none;
    color: var(--dnagenics-white);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
}

.btn-warning {
    background-color: var(--dnagenics-lime);
    border-color: var(--dnagenics-lime);
    color: var(--dnagenics-dark);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
}

.btn-danger {
    background-color: #dc3545;
    border-color: #dc3545;
    color: var(--dnagenics-white);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
}

.btn-light {
    background-color: var(--dnagenics-teal-light);
    border-color: var(--dnagenics-teal-light);
    color: var(--dnagenics-teal);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
}

.btn-dark {
    background-color: var(--dnagenics-dark);
    border-color: var(--dnagenics-dark);
    color: var(--dnagenics-white);
    font-family: var(--dnagenics-font-family);
    font-weight: 600;
    border-radius: var(--dnagenics-button-border-radius);
}

/* ========================================
   CUSTOM FILE INPUT
   ======================================== */
.custom-file-label {
    background-color: var(--dnagenics-teal-light);
    color: var(--dnagenics-teal);
    border: 2px solid var(--dnagenics-teal);
    border-radius: var(--dnagenics-card-border-radius);
    font-family: var(--dnagenics-font-family);
    font-weight: 500;
}

    .custom-file-label::after {
        background-color: var(--dnagenics-teal);
        color: var(--dnagenics-white);
        border-left: 2px solid var(--dnagenics-teal);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

.custom-file-input:focus ~ .custom-file-label {
    border-color: var(--dnagenics-lime);
    box-shadow: 0 0 0 0.2rem rgba(194, 208, 83, 0.25);
}

/* ========================================
   RESPONSIVE EMBED
   ======================================== */
.embed-responsive {
    border-radius: var(--dnagenics-card-border-radius);
    overflow: hidden;
}

/* ========================================
   SIZING UTILITIES WITH BRAND COLORS
   ======================================== */
.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

/* ========================================
   OFFCANVAS (Bootstrap 4.6.1 compatible)
   ======================================== */
.offcanvas,
.offcanvas-header,
.offcanvas-body {
    font-family: var(--dnagenics-font-family);
}

.offcanvas-header {
    background: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%);
    color: var(--dnagenics-white);
    border-bottom: none;
}

.offcanvas-title {
    color: var(--dnagenics-white);
    font-weight: 600;
}

/* ========================================
   ADDITIONAL UTILITY CLASSES
   ======================================== */
.text-gradient-dnagenics-reverse {
    background: linear-gradient(135deg, var(--dnagenics-lime) 0%, var(--dnagenics-teal) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
}

.border-gradient-dnagenics {
    border: 2px solid;
    border-image: linear-gradient(135deg, var(--dnagenics-teal) 0%, var(--dnagenics-lime) 100%) 1;
}

.shadow-dnagenics-inset {
    box-shadow: inset 0 2px 8px rgba(35, 116, 101, 0.2);
}

.shadow-dnagenics-text {
    text-shadow: 2px 2px 4px rgba(35, 116, 101, 0.3);
}

/* ========================================
   DARK MODE SUPPORT (Optional)
   ======================================== */
@media (prefers-color-scheme: dark) {
    .dnagenics-auto-dark {
        background-color: var(--dnagenics-dark);
        color: var(--dnagenics-white);
    }

        .dnagenics-auto-dark .card {
            background-color: rgba(255, 255, 255, 0.1);
            color: var(--dnagenics-white);
        }

        .dnagenics-auto-dark .form-control {
            background-color: rgba(255, 255, 255, 0.1);
            color: var(--dnagenics-white);
            border-color: var(--dnagenics-teal);
        }
}

/* Add to your existing CSS */
@media (max-width: 991.98px) {
    .dnagenics-hero-title {
        font-size: 2.8rem;
    }

    .dnagenics-section-title {
        font-size: 2.2rem;
    }
}

@media (max-width: 575.98px) {
    .dnagenics-hero-title {
        font-size: 2rem;
    }

    .dnagenics-section-title {
        font-size: 1.8rem;
    }

    .dnagenics-subtitle {
        font-size: 1.1rem;
    }
}

/* DataTables Custom Styling */
.dataTables_wrapper .dataTables_paginate {
    float: none;
    text-align: right;
}

.dataTables_wrapper .dataTables_info {
    padding-top: 0;
}

.dataTables_wrapper .dataTables_filter {
    display: none; /* Hide default search, using custom */
}

.dataTables_wrapper .dataTables_length {
    display: none; /* Hide default length, using custom */
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0.25rem 0.75rem;
    margin-left: 0;
    line-height: 1.25;
    color: var(--dnagenics-teal);
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    margin-right: 0.25rem;
}

    .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
        color: var(--dnagenics-dark);
        text-decoration: none;
        background-color: var(--dnagenics-lime-light);
        border-color: var(--dnagenics-lime);
    }

    .dataTables_wrapper .dataTables_paginate .paginate_button.current {
        color: #fff;
        background-color: var(--dnagenics-teal);
        border-color: var(--dnagenics-teal);
    }

    .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
        color: #6c757d;
        background-color: #fff;
        border-color: #dee2e6;
        cursor: not-allowed;
    }

/* Sorting styles */
.sorting, .sorting_asc, .sorting_desc {
    cursor: pointer;
    position: relative;
}

    .sorting:after, .sorting_asc:after, .sorting_desc:after {
        content: '';
        position: absolute;
        right: 8px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
    }

    .sorting:after {
        border-top: 4px solid #dee2e6;
        border-bottom: 4px solid #dee2e6;
        margin-top: -2px;
    }

    .sorting_asc:after {
        border-bottom: 4px solid var(--dnagenics-teal);
        margin-top: -2px;
    }

    .sorting_desc:after {
        border-top: 4px solid var(--dnagenics-teal);
        margin-top: 2px;
    }

    .sorting:hover, .sorting_asc:hover, .sorting_desc:hover {
       /* background-color: var(--dnagenics-lime-light);*/
    }

.opacity-50 {
    opacity: 0.5;
}

.border-left-warning {
    border-left: 4px solid #ffc107;
}

/* Modal Z-Index Fixes for Bootstrap 4.6 Compatibility */
.modal {
    z-index: 11000 !important;
    /* Force modal to break out of parent stacking context */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* Ensure modal is rendered at document root level */
    transform: translateZ(0) !important;
    /* Force new stacking context */
    isolation: isolate !important;
}

.modal-backdrop {
    z-index: 10990 !important;
    /* Force backdrop to break out of parent stacking context */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* Ensure backdrop is rendered at document root level */
    transform: translateZ(0) !important;
    /* Force new stacking context */
    isolation: isolate !important;
}

/* Ensure modals appear above tooltips and popovers */
.tooltip {
    z-index: 1060 !important;
}

.popover {
    z-index: 1050 !important;
}

/* Additional modal fixes for complex layouts */
.modal-dialog {
    z-index: 11001 !important;
    /* Force dialog to break out of parent stacking context */
    position: relative !important;
    transform: translateZ(0) !important;
    /* Force new stacking context */
    isolation: isolate !important;
}

.modal-content {
    z-index: 11002 !important;
    /* Force content to break out of parent stacking context */
    position: relative !important;
    transform: translateZ(0) !important;
    /* Force new stacking context */
    isolation: isolate !important;
}

/* Fix for any potential stacking context issues */
.modal-open {
    overflow: hidden;
}

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}

/* Ensure proper backdrop behavior */
.modal-backdrop.show {
    opacity: 0.5;
}

/* Fix for any dropdown menus that might interfere */
.dropdown-menu {
    z-index: 1000 !important;
}

/* Ensure fixed elements don't interfere with modals */
.fixed-top,
.fixed-bottom {
    z-index: 1030 !important;
}

.sticky-top {
    z-index: 1020 !important;
}

/* Fix for map containers and other high z-index elements */
.containerB,
.mapboxgl-popup,
.mapboxgl-popup-content {
    z-index: 1000 !important;
}

/* Ensure modals appear above all map elements */
.modal-open .containerB,
.modal-open .mapboxgl-popup,
.modal-open .mapboxgl-popup-content {
    z-index: 1000 !important;
}

/* Force modals to break out of nested stacking contexts */
.modal,
.modal-backdrop,
.modal-dialog,
.modal-content {
    /* Force these elements to be rendered at the document root level */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* Use 3D transform to create new stacking context */
    transform: translate3d(0, 0, 0) !important;
    /* Force new stacking context */
    isolation: isolate !important;
    /* Ensure proper rendering */
    will-change: transform !important;
}

/* Specific fix for modal dialog positioning */
.modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 1.75rem auto !important;
    transform: translate3d(0, 0, 0) !important;
}

/* Specific fix for modal content positioning */
.modal-content {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate3d(0, 0, 0) !important;
}

/* Force body to handle modal overflow properly */
body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important;
}

/* Ensure modal backdrop covers entire viewport */
.modal-backdrop {
    width: 100vw !important;
    height: 100vh !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}