/* Provide sufficient contrast against white background */
a {
  color: #0366d6;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

code {
  color: #E01A76;
}

.btn-primary {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

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

/* Überschreibe Bootstrap Container für volle Breite */
main {
  width: 100%;
  max-width: 100%;
}

/* Container mit 20px Abstand links/rechts */
.page-container {
  padding: 0 20px;
  width: 100%;
}

/* Card mit Standard-Shadow und voller Breite */
.card-full-width {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

/* Alternative: Card mit stärkerem Shadow */
.card-elevated {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Responsive Table Container */
.table-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Table mit festen Spaltenbreiten */
.table-fixed {
  table-layout: fixed;
  width: 100%;
}

/* Überschreibe Bootstrap Row Margins für volle Breite */
.row-full-width {
  margin-left: 0;
  margin-right: 0;
}

.row-full-width > [class*='col-'] {
  padding-left: 0;
  padding-right: 0;
}

/* Tab Styling */
.nav-tabs {
    border-bottom: 2px solid #dee2e6;
}

.nav-tabs .nav-link {
    color: #495057;
    font-weight: 500;
}

.nav-tabs .nav-link:hover {
    border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.active {
    color: #1b6ec2;
    font-weight: 600;
    border-color: #dee2e6 #dee2e6 #fff;
}

.tab-content {
    padding-top: 1rem;
}
