/* program-requirements.css — generated by build-os-course.mjs. DO NOT EDIT. Edit the matching file under src/. */
/* src/css/program-requirements.css */
.bvc-pr .bvc-accordion {
  font-family: inherit;
}
.bvc-pr .accordion-item {
  margin-bottom: 10px;
}
.bvc-pr .accordion-button {
  width: 100%;
  min-height: 40px;
  padding: 0.5em 3em 0.5em 1em;
  text-align: left;
  font-size: 1em;
  font-family: inherit;
  background-image:
    linear-gradient(
      101deg,
      rgba(3, 26, 98, 0.4),
      rgba(255, 255, 255, 0.2));
  background-color: rgb(0, 163, 255);
  color: #fff;
  border: none;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.bvc-pr .accordion-button:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 2px;
}
.bvc-pr .accordion-term-credits {
  font-size: 0.85em;
  font-weight: 600;
  opacity: 0.95;
  white-space: nowrap;
}
.bvc-pr .accordion-button::after {
  content: "";
  position: absolute;
  right: 1.1rem;
  width: 0.55em;
  height: 0.55em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}
.bvc-pr .accordion-button[aria-expanded=true]::after {
  transform: rotate(-135deg);
}
.bvc-pr .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  background: #f1f1f1;
  padding: 0 1em;
}
.bvc-pr .accordion-content.open {
  padding: 1em;
}
.bvc-pr .accordion-section {
  margin-bottom: 1rem;
}
.bvc-pr .accordion-section:last-child {
  margin-bottom: 0;
}
.bvc-pr .accordion-rule-desc {
  margin: 0;
  font-weight: 600;
}
.bvc-pr .accordion-rule-badge {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.125rem 0.5rem;
  border-radius: 4px;
  background: #fff3cd;
  color: #664d03;
  font-size: 0.85em;
  font-weight: 600;
}
.bvc-pr table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem auto;
  background: #fff;
}
.bvc-pr th,
.bvc-pr td {
  padding: 0.75rem;
  text-align: left;
  border: 1px solid #ccc;
}
.bvc-pr th {
  background-color: #0077cc;
  color: #fff;
}
.bvc-pr .table-center {
  text-align: center;
}
.bvc-pr tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}
.bvc-pr .icon.tooltip {
  height: 25px !important;
  width: 25px !important;
  cursor: pointer;
  display: inline-block;
  color: #0077cc;
}
.bvc-pr .icon.tooltip:focus-visible {
  outline: 2px solid #0077cc;
  outline-offset: 2px;
}
.bvc-pr .accordion-grand-total {
  margin-top: 1rem;
  padding: 0.75rem 1em;
  background-image:
    linear-gradient(
      101deg,
      rgba(3, 26, 98, 0.4),
      rgba(255, 255, 255, 0.2));
  background-color: rgb(0, 163, 255);
  color: #fff;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.bvc-pr .accordion-status {
  padding: 1rem;
  color: #444;
}
.bvc-pr .accordion-error {
  padding: 1rem;
  border: 1px solid #f5c2c7;
  background: #f8d7da;
  color: #842029;
}
.bvc-pr .accordion-error-detail {
  margin-top: 0.5rem;
  font-size: 0.85em;
  opacity: 0.85;
}
@media (prefers-reduced-motion: reduce) {
  .bvc-pr .accordion-content,
  .bvc-pr .accordion-button::after {
    transition: none;
  }
}
@media (max-width: 640px) {
  .bvc-pr th,
  .bvc-pr td {
    padding: 0.5rem;
  }
  .bvc-pr .accordion-table-wrap {
    overflow-x: auto;
  }
}
