/* Bridge CSS: Mapping Drupal default classes to Bootstrap variables (var(--bs-*)) for colors, backgrounds, borders, etc.
   This assumes the Bootstrap variables have been customized to the warm palette as per previous modifications.
   Focus on color-related properties while preserving structure. High contrast is maintained via the vars.
   For states like hover/focus, use appropriate subtle/dark variants where possible. */

/* Button Classes */
.button {
  color: var(--bs-primary);
  background-color: var(--bs-white);
  border: solid 2px currentColor;
}

.button:hover,
.button:focus {
  color: var(--bs-primary-text-emphasis);
  background: none;
  border: solid 2px currentColor;
}

.button:focus {
  outline: 2px solid var(--bs-primary-border-subtle);
  outline-offset: 2px;
}

.button:active {
  color: var(--bs-primary);
  border-color: currentColor;
}

.button:disabled,
.button.is-disabled {
  color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  background-color: var(--bs-light);
}

.button--primary {
  color: var(--bs-white);
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.button--primary:hover,
.button--primary:focus {
  color: var(--bs-white);
  background-color: var(--bs-primary-text-emphasis);
  border-color: var(--bs-primary-text-emphasis);
}

.button--primary:active {
  color: var(--bs-white);
  background-color: var(--bs-primary);
}

.button--primary:disabled,
.button--primary.is-disabled {
  color: var(--bs-white);
  background-color: var(--bs-secondary);
}

.button--small {
  /* Inherits from .button or .button--primary; no specific color overrides needed */
}

.button--icon-back {
  /* Uses currentColor for icon borders; inherits text color from parent */
}

.button--danger {
  color: var(--bs-white);
  background-color: var(--bs-danger);
  border-color: var(--bs-danger);
}

.button--danger:hover,
.button--danger:focus {
  color: var(--bs-white);
  background-color: var(--bs-danger-text-emphasis);
  border-color: var(--bs-danger-text-emphasis);
}

.button--danger:disabled,
.button--danger.is-disabled {
  color: var(--bs-white);
  background-color: var(--bs-secondary);
}

/* Message/Alert Classes */
.messages {
  color: var(--bs-body-color);
  background-color: var(--bs-light);
  border-color: var(--bs-border-color);
}

.messages--status {
  color: var(--bs-success-text-emphasis);
  background-color: var(--bs-success-bg-subtle);
  border-color: var(--bs-success-border-subtle);
}

.messages--warning {
  color: var(--bs-warning-text-emphasis);
  background-color: var(--bs-warning-bg-subtle);
  border-color: var(--bs-warning-border-subtle);
}

.messages--error {
  color: var(--bs-danger-text-emphasis);
  background-color: var(--bs-danger-bg-subtle);
  border-color: var(--bs-danger-border-subtle);
}

/* Form Element Classes */
.form-item--error {
  color: var(--bs-form-invalid-color);
  border-color: var(--bs-form-invalid-border-color);
}

.form-required {
  color: var(--bs-danger); /* For asterisk or marker */
}

.form-actions .button {
  /* Inherits from .button classes above */
}

/* Navigation and Link Classes */
a,
.link {
  color: var(--bs-link-color);
}

a:hover,
.link:hover {
  color: var(--bs-link-hover-color);
}

.tabs__link {
  color: var(--bs-secondary-color);
  border-bottom-color: var(--bs-border-color);
}

.tabs__link:hover {
  color: var(--bs-primary);
  border-bottom-color: var(--bs-primary-border-subtle);
}

.tabs__link.is-active {
  color: var(--bs-emphasis-color);
  border-bottom-color: var(--bs-primary);
}

.pager__link {
  color: var(--bs-link-color);
}

.pager__link:hover {
  color: var(--bs-link-hover-color);
}

.pager__link.is-active {
  color: var(--bs-primary-text-emphasis);
  background-color: var(--bs-primary-bg-subtle);
}

.menu__item {
  /* Base menu item; links within use a styles */
}

.menu__item a {
  color: var(--bs-link-color);
}

.menu__item a:hover {
  color: var(--bs-link-hover-color);
}

/* Other UI Element Classes */
.progress__bar {
  background-color: var(--bs-primary);
}

.breadcrumb__link {
  color: var(--bs-link-color);
}

.breadcrumb__link:hover {
  color: var(--bs-link-hover-color);
}

.dropbutton {
  /* Similar to button; uses .button styles */
  color: var(--bs-primary);
  background-color: var(--bs-white);
  border-color: var(--bs-primary);
}

.dropbutton:hover {
  color: var(--bs-primary-text-emphasis);
  background: none;
}

.node--promoted {
  /* Often uses warning/accent */
  color: var(--bs-warning-text-emphasis);
  background-color: var(--bs-warning-bg-subtle);
}

.field--type-boolean .field__item {
  /* For checkboxes/radios checked state */
  background-color: var(--bs-primary); /* Or border/check mark color */
  border-color: var(--bs-primary);
}


/* Extended Bridge CSS: Including additional combinations and common Drupal selectors mapped to Bootstrap variables.
   Based on standard Drupal core classes and typical Bootstrap theme mappings in Drupal (e.g., from Bootstrap5 or Barrio themes).
   These include link states, form elements, tabs, pagers, and more. Color-related properties are prioritized for empathy-warm palette.
   For comprehensive list, inspect your theme's SCSS files (e.g., _components.scss, _forms.scss, _buttons.scss) in the bootstrap5 parent theme.
   You can extract selectors using grep for 'color|background|border' in SCSS files and paste them here for further bridging. */

/* Button Classes */
.button {
    color: var(--bs-primary);
    background-color: var(--bs-white);
    border: solid 2px currentColor;
  }
  
  .button:hover,
  .button:focus {
    color: var(--bs-primary-text-emphasis);
    background: none;
    border: solid 2px currentColor;
  }
  
  .button:focus {
    outline: 2px solid var(--bs-primary-border-subtle);
    outline-offset: 2px;
  }
  
  .button:active {
    color: var(--bs-primary);
    border-color: currentColor;
  }
  
  .button:disabled,
  .button.is-disabled {
    color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    background-color: var(--bs-light);
  }
  
  .button--primary {
    color: var(--bs-white);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
  }
  
  .button--primary:hover,
  .button--primary:focus {
    color: var(--bs-white);
    background-color: var(--bs-primary-text-emphasis);
    border-color: var(--bs-primary-text-emphasis);
  }
  
  .button--primary:active {
    color: var(--bs-white);
    background-color: var(--bs-primary);
  }
  
  .button--primary:disabled,
  .button--primary.is-disabled {
    color: var(--bs-white);
    background-color: var(--bs-secondary);
  }
  
  .button--small {
    /* Inherits */
  }
  
  .button--icon-back {
    /* Inherits */
  }
  
  .button--danger {
    color: var(--bs-white);
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
  }
  
  .button--danger:hover,
  .button--danger:focus {
    color: var(--bs-white);
    background-color: var(--bs-danger-text-emphasis);
    border-color: var(--bs-danger-text-emphasis);
  }
  
  .button--danger:disabled,
  .button--danger.is-disabled {
    color: var(--bs-white);
    background-color: var(--bs-secondary);
  }
  
  /* Message/Alert Classes */
  .messages {
    color: var(--bs-body-color);
    background-color: var(--bs-light);
    border-color: var(--bs-border-color);
  }
  
  .messages--status {
    color: var(--bs-success-text-emphasis);
    background-color: var(--bs-success-bg-subtle);
    border-color: var(--bs-success-border-subtle);
  }
  
  .messages--warning {
    color: var(--bs-warning-text-emphasis);
    background-color: var(--bs-warning-bg-subtle);
    border-color: var(--bs-warning-border-subtle);
  }
  
  .messages--error {
    color: var(--bs-danger-text-emphasis);
    background-color: var(--bs-danger-bg-subtle);
    border-color: var(--bs-danger-border-subtle);
  }
  
  /* Form Element Classes */
  .form-item--error {
    color: var(--bs-form-invalid-color);
    border-color: var(--bs-form-invalid-border-color);
  }
  
  .form-required {
    color: var(--bs-danger);
  }
  
  .form-actions .button {
    /* Inherits */
  }
  
  /* Navigation and Link Classes */
  a,
  .link {
    color: var(--bs-link-color);
  }
  
  a:hover,
  .link:hover,
  a:focus,
  .link:focus {
    color: var(--bs-link-hover-color);
  }
  
  .tabs__link {
    color: var(--bs-secondary-color);
    border-bottom-color: var(--bs-border-color);
  }
  
  .tabs__link:hover {
    color: var(--bs-primary);
    border-bottom-color: var(--bs-primary-border-subtle);
  }
  
  .tabs__link.is-active {
    color: var(--bs-emphasis-color);
    border-bottom-color: var(--bs-primary);
  }
  
  .pager__link {
    color: var(--bs-link-color);
  }
  
  .pager__link:hover {
    color: var(--bs-link-hover-color);
  }
  
  .pager__link.is-active {
    color: var(--bs-primary-text-emphasis);
    background-color: var(--bs-primary-bg-subtle);
  }
  
  .menu__item {
    /* Base */
  }
  
  .menu__item a {
    color: var(--bs-link-color);
  }
  
  .menu__item a:hover {
    color: var(--bs-link-hover-color);
  }
  
  /* Other UI Element Classes */
  .progress__bar {
    background-color: var(--bs-primary);
  }
  
  .breadcrumb__link {
    color: var(--bs-link-color);
  }
  
  .breadcrumb__link:hover {
    color: var(--bs-link-hover-color);
  }
  
  .dropbutton {
    color: var(--bs-primary);
    background-color: var(--bs-white);
    border-color: var(--bs-primary);
  }
  
  .dropbutton:hover {
    color: var(--bs-primary-text-emphasis);
    background: none;
  }
  
  .node--promoted {
    color: var(--bs-warning-text-emphasis);
    background-color: var(--bs-warning-bg-subtle);
  }
  
  .field--type-boolean .field__item {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
  }
  
  /* Additional Combinations and Selectors */
  a.button,
  a.button--primary {
    color: var(--bs-white);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
  }
  
  a.button:hover,
  a.button--primary:hover {
    color: var(--bs-white);
    background-color: var(--bs-primary-text-emphasis);
  }
  
  .button.form-submit {
    /* Inherits from .button--primary if primary */
  }
  
  .form-submit.button--primary {
    color: var(--bs-white);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
  }
  
  .alert,
  .alert-primary {
    color: var(--bs-primary-text-emphasis);
    background-color: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary-border-subtle);
  }
  
  .alert-success {
    color: var(--bs-success-text-emphasis);
    background-color: var(--bs-success-bg-subtle);
    border-color: var(--bs-success-border-subtle);
  }
  
  .alert-warning {
    color: var(--bs-warning-text-emphasis);
    background-color: var(--bs-warning-bg-subtle);
    border-color: var(--bs-warning-border-subtle);
  }
  
  .alert-danger {
    color: var(--bs-danger-text-emphasis);
    background-color: var(--bs-danger-bg-subtle);
    border-color: var(--bs-danger-border-subtle);
  }
  
  .form-wrapper {
    border-color: var(--bs-border-color);
  }
  
  .form-item {
    color: var(--bs-body-color);
  }
  
  .form-item input:focus,
  .form-item select:focus {
    border-color: var(--bs-primary-border-subtle);
    box-shadow: 0 0 0 var(--bs-focus-ring-width) var(--bs-focus-ring-color);
  }
  
  .navbar-nav .nav-link {
    color: var(--bs-link-color);
  }
  
  .navbar-nav .nav-link:hover {
    color: var(--bs-link-hover-color);
  }
  
  .navbar-nav .nav-link.active {
    color: var(--bs-primary);
  }

  .navbar.text-light .navbar-nav .nav-link {
    color: var(--bs-light);
  }
  
  .navbar.text-light .navbar-nav .nav-link:hover,
  .navbar.text-light .navbar-nav .nav-link.active
  {
    color: var(--bs-gray-500);
  }
  
  /* Utility Classes from Bootstrap (commonly used in Drupal themes) */
  .text-primary { color: var(--bs-primary) !important; }
  .text-secondary { color: var(--bs-secondary) !important; }
  .text-success { color: var(--bs-success) !important; }
  .text-danger { color: var(--bs-danger) !important; }
  .text-warning { color: var(--bs-warning) !important; }
  .text-info { color: var(--bs-info) !important; }
  
  .bg-primary { background-color: var(--bs-primary) !important; }
  .bg-secondary { background-color: var(--bs-secondary) !important; }
  .bg-success { background-color: var(--bs-success) !important; }
  .bg-danger { background-color: var(--bs-danger) !important; }
  .bg-warning { background-color: var(--bs-warning) !important; }
  .bg-info { background-color: var(--bs-info) !important; }
  .bg-light { background-color: var(--bs-light) !important; }
  .bg-dark { background-color: var(--bs-dark) !important; }
  
  .border-primary { border-color: var(--bs-primary) !important; }
  .border-secondary { border-color: var(--bs-secondary) !important; }
  .border-success { border-color: var(--bs-success) !important; }
  .border-danger { border-color: var(--bs-danger) !important; }
  .border-warning { border-color: var(--bs-warning) !important; }
  .border-info { border-color: var(--bs-info) !important; }