/* Programmes view tabs — compact pill look */
/* Scroller wrapper with arrows and fade edges */
.view-id-programmes.view-display-id-page_1 .rit-tabs-scroller {
  position: relative;
  display: flex;
  align-items: center;
  gap: .25rem; /* space between arrows and viewport */
}
.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport {
  position: relative;
  overflow: hidden; /* hide native scrollbars, use custom arrows */
  flex: 1 1 auto; /* take remaining width between arrows */
}
.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport .nav {
  margin-bottom: 0;
  gap: .125rem; /* tighter horizontal spacing */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}
.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport .nav::-webkit-scrollbar { display: none; }

.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport .nav .nav-item {
  margin: 0; /* ensure gap controls spacing */
}

.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport .nav .nav-link {
  padding: .25rem .5rem; /* compact padding */
  font-weight: 600;
  border: 0;
  border-radius: 10px; /* full pill */
  color: var(--bs-secondary-color);
  background-color: transparent;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
  white-space: nowrap; /* keep each label on one line */
}

.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport .nav .nav-link:hover {
  color: var(--bs-body-color);
  background-color: var(--bs-light);
  border-color: transparent;
}

.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport .nav .nav-link.active {
  color: #fff;
  background-color: var(--rit-green, #006b01);
  border-color: var(--rit-green, #006b01);
}

.view-id-programmes.view-display-id-page_1 .tab-pane table {
  margin-bottom: 1.25rem;
}

/* Ensure each row has a visible top border matching the bottom border color */
.view-id-programmes.view-display-id-page_1 .tab-pane table > tbody > tr {
  border-top: 1px solid var(--bs-table-border-color, var(--bs-border-color));
}

/* Captions inside tabbed tables: style like theme h2 */
.view-id-programmes.view-display-id-page_1 .tab-pane table caption {
  display: none !important;
}

/* Keep the nav on one line only on small screens; allow horizontal scroll */
@media (max-width: 575.98px) {
  .view-id-programmes.view-display-id-page_1 .nav-pills,
  .view-id-programmes.view-display-id-page_1 .nav-tabs {
    flex-wrap: nowrap; /* prevent wrapping to next line on mobile */
    scroll-snap-type: x proximity; /* nicer scroll feel */
  }
  .view-id-programmes.view-display-id-page_1 .nav-pills .nav-item,
  .view-id-programmes.view-display-id-page_1 .nav-tabs .nav-item {
    scroll-snap-align: start;
  }
}

/* Ensure small screens can scroll horizontally if the table is wider */
.view-id-programmes.view-display-id-page_1 .tab-pane {
  overflow-x: auto;
}

/* Arrow buttons */
.view-id-programmes.view-display-id-page_1 .rit-tabs-arrow {
  position: static; /* sit outside the viewport, not on top */
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .9;
  transition: opacity .15s ease, background-color .15s ease;
}
.view-id-programmes.view-display-id-page_1 .rit-tabs-arrow:hover { opacity: 1; }
.view-id-programmes.view-display-id-page_1 .rit-tabs-arrow:disabled { opacity: .35; pointer-events: none; }

/* Edge fade indicators (inside viewport only) */
.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport::before,
.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 28px;
  pointer-events: none;
  z-index: 1;
}
.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport::before {
  left: 0;
  background: linear-gradient(to right, var(--bs-body-bg, #fff), rgba(255,255,255,0));
  opacity: 0;
}
.view-id-programmes.view-display-id-page_1 .rit-tabs-viewport::after {
  right: 0;
  background: linear-gradient(to left, var(--bs-body-bg, #fff), rgba(255,255,255,0));
  opacity: 0;
}
.view-id-programmes.view-display-id-page_1 .rit-tabs-scroller.has-left .rit-tabs-viewport::before { opacity: 1; }
.view-id-programmes.view-display-id-page_1 .rit-tabs-scroller.has-right .rit-tabs-viewport::after { opacity: 1; }

/* Mobile: keep nav on one line; scroll horizontally */
@media (max-width: 575.98px) {
  .view-id-programmes.view-display-id-page_1 .rit-tabs-viewport .nav {
    flex-wrap: nowrap;
  }
}
