/**
 * Schedule page — scoped to page-node-27787
 * Table, filters, pagination
 */

/**
 * Filter form
 * Spacing, alignment, dark styling
 */
body.page-node-27787 .view-filters {
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: #0d0016;
  border: 1px solid #3b1f5e;
  border-radius: 3px;
}

body.page-node-27787 .view-filters .d-flex {
  align-items: flex-end;
  gap: 1.5rem;
  flex-wrap: wrap;
}

body.page-node-27787 .view-filters .js-form-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
}

body.page-node-27787 .view-filters .form-item-combine {
  flex: 1 1 auto;
  min-width: 200px;
}

body.page-node-27787 .view-filters .form-item-items-per-page {
  flex: 0 0 160px;
}

body.page-node-27787 .view-filters .form-actions {
  flex: 0 0 auto;
  margin-bottom: 0 !important;
  display: flex;
  align-items: flex-end;
}

body.page-node-27787 .view-filters label {
  color: #c084fc;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
  margin-bottom: 0.4rem;
  display: block;
}

body.page-node-27787 .view-filters .form-control,
body.page-node-27787 .view-filters .form-select {
  background-color: #0a0010 !important;
  border: 1px solid #3b1f5e !important;
  color: #c4b8d4 !important;
  border-radius: 3px;
  height: 38px;
}

body.page-node-27787 .view-filters .form-control:focus,
body.page-node-27787 .view-filters .form-select:focus {
  background-color: #0a0010 !important;
  border-color: #a855f7 !important;
  color: #ede9fe !important;
  box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.25);
  outline: none;
}

body.page-node-27787 .view-filters .form-select option {
  background-color: #0a0010;
  color: #c4b8d4;
}

body.page-node-27787 .view-filters .btn-primary {
  background: transparent !important;
  border: 1px solid #a855f7 !important;
  color: #c084fc !important;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0 28px;
  border-radius: 3px;
  transition: all 0.2s ease;
  height: 38px;
  display: flex;
  align-items: center;
}

body.page-node-27787 .view-filters .btn-primary:hover {
  background: rgba(168, 85, 247, 0.2) !important;
  border-color: #c084fc !important;
  color: #ede9fe !important;
  box-shadow: 0 0 12px rgba(168, 85, 247, 0.4);
}

/**
 * Table
 * Override Bootstrap table styles
 */
body.page-node-27787 .table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}

/**
 * Table header
 */
body.page-node-27787 .table thead tr {
  background: #1a0030;
  border-bottom: 2px solid #a855f7;
}

body.page-node-27787 .table thead th {
  color: #c084fc;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 14px 16px;
  border: none;
  white-space: nowrap;
}

body.page-node-27787 .table thead th a:link,
body.page-node-27787 .table thead th a:visited {
  color: #c084fc;
  text-decoration: none;
  transition: color 0.2s ease;
}

body.page-node-27787 .table thead th a:hover {
  color: #ede9fe;
  text-shadow: 0 0 8px rgba(168, 85, 247, 0.8);
}

/**
 * Table body rows
 * Alternating dark/darker rows
 * Hover — purple tint background + text brightens
 */
body.page-node-27787 .table tbody tr {
  border-bottom: 1px solid #1e0035;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

body.page-node-27787 .table tbody tr:nth-child(odd) {
  background: #0a0014 !important;
}

body.page-node-27787 .table tbody tr:nth-child(even) {
  background: #0f0020 !important;
}

body.page-node-27787 .table tbody tr:hover {
  background: rgba(168, 85, 247, 0.18) !important;
  box-shadow: inset 3px 0 0 #a855f7;
}

body.page-node-27787 .table tbody tr:hover td {
  color: #ede9fe;
  transition: color 0.2s ease;
}

body.page-node-27787 .table tbody tr:hover a {
  color: #ede9fe;
  text-shadow:
    0 0 8px rgba(192, 132, 252, 0.9),
    0 0 20px rgba(168, 85, 247, 0.5);
}

/**
 * Table cells
 * Standardised to 1rem to match site-wide text sizing
 */
body.page-node-27787 .table tbody td {
  color: #c4b8d4;
  font-size: 1rem;
  padding: 12px 16px;
  border: none;
  vertical-align: middle;
}

/**
 * Date field
 * Oswald font, purple tint, no wrap
 */
body.page-node-27787 .table .views-field-field-event-date {
  color: #7e22ce;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

/**
 * Links in table body
 */
body.page-node-27787 .table tbody a:link,
body.page-node-27787 .table tbody a:visited {
  color: #c084fc;
  text-decoration: none;
  transition: color 0.2s ease, text-shadow 0.2s ease;
}

body.page-node-27787 .table tbody a:hover {
  color: #ede9fe;
  text-shadow:
    0 0 8px rgba(192, 132, 252, 0.9),
    0 0 20px rgba(168, 85, 247, 0.5);
}

/**
 * Pagination
 */
body.page-node-27787 .pagination {
  gap: 4px;
  margin-top: 1rem;
}

body.page-node-27787 .pagination .page-link {
  background: #0a0014;
  border: 1px solid #3b1f5e;
  color: #c084fc;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

body.page-node-27787 .pagination .page-link:hover {
  background: rgba(168, 85, 247, 0.2);
  border-color: #a855f7;
  color: #ede9fe;
  text-shadow: 0 0 8px rgba(168, 85, 247, 0.6);
}

body.page-node-27787 .pagination .page-item.active .page-link {
  background: rgba(168, 85, 247, 0.25);
  border-color: #a855f7;
  color: #ede9fe;
}