/* Mejoras específicas de la edición 2026. */
:root {
  --garaid-primary: #6b2182;
  --garaid-primary-dark: #4a155c;
  --garaid-accent: #f0a528;
  --garaid-ink: #24212a;
  --garaid-muted: #66606b;
  --garaid-surface: #ffffff;
  --garaid-soft: #f6f2f8;
  --garaid-border: #ded5e2;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--garaid-ink);
  overflow-x: hidden;
}

.skip-link {
  position: fixed;
  z-index: 9999;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  color: #fff;
  background: var(--garaid-primary-dark);
  border-radius: 4px;
  transform: translateY(-150%);
}

.skip-link:focus {
  color: #fff;
  transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--garaid-accent);
  outline-offset: 3px;
}

#blog {
  overflow: visible;
}

#defensa-doctoral,
#upv-ehu,
#ua,
#actividades-generales,
#la-nucia {
  scroll-margin-top: 90px;
}

.program-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
  margin: 0 0 28px;
  padding: 16px;
  background: var(--garaid-soft);
  border: 1px solid var(--garaid-border);
  border-radius: 10px;
}

.program-shortcuts a {
  display: inline-block;
  padding: 9px 13px;
  color: #fff;
  background: var(--garaid-primary);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.program-shortcuts a:hover,
.program-shortcuts a:focus {
  color: #fff;
  background: var(--garaid-primary-dark);
}

.programme-overview,
.university-section,
.general-activities,
.la-nucia-section {
  max-width: 100%;
}

.doctoral-thesis-defence {
  margin: 8px 0 28px;
  padding: clamp(18px, 4vw, 34px);
  background: linear-gradient(135deg, #fff 0%, var(--garaid-soft) 100%);
  border: 1px solid var(--garaid-border);
  border-left: 6px solid var(--garaid-primary);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(51, 27, 60, .08);
}

.doctoral-thesis-defence h2 {
  margin-top: 0;
  color: var(--garaid-primary-dark);
  font-size: clamp(21px, 3vw, 28px);
}

.doctoral-thesis-defence h3 {
  line-height: 1.4;
}

.speaker-tools {
  margin: 18px 0 24px;
  padding: 18px;
  background: var(--garaid-soft);
  border: 1px solid var(--garaid-border);
  border-radius: 10px;
}

.speaker-tools label {
  display: block;
  margin-bottom: 7px;
  color: var(--garaid-primary-dark);
  font-weight: 700;
}

.speaker-tools input[type="search"] {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  color: var(--garaid-ink);
  background: #fff;
  border: 1px solid #b8aebc;
  border-radius: 6px;
}

.speaker-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.speaker-filters button {
  min-height: 40px;
  padding: 8px 15px;
  color: var(--garaid-primary-dark);
  background: #fff;
  border: 1px solid var(--garaid-primary);
  border-radius: 999px;
  font-weight: 700;
}

.speaker-filters button:hover,
.speaker-filters button.is-active {
  color: #fff;
  background: var(--garaid-primary);
}

.speaker-results {
  min-height: 20px;
  margin: 11px 0 0;
  color: var(--garaid-muted);
  font-size: 13px;
}

.speaker-2026 > td:first-child {
  padding: 17px 18px;
  background: var(--garaid-surface);
  border: 1px solid var(--garaid-border);
  border-left: 5px solid var(--garaid-primary);
  border-radius: 9px;
  box-shadow: 0 3px 12px rgba(38, 24, 42, .06);
}

.speaker-2026 > td > strong:first-child {
  color: var(--garaid-primary-dark);
  display: inline-block;
  margin-bottom: 4px;
  font-size: 18px;
  line-height: 1.4;
}

.speaker-2026 ul {
  margin: 10px 0 0;
  padding-left: 21px;
}

.speaker-2026 li {
  margin: 7px 0;
  line-height: 1.55;
}

.speaker-2026 a,
.general-activities a.resource-link {
  display: inline-block;
  padding: 4px 9px;
  color: var(--garaid-primary-dark);
  background: #f2e9f5;
  border-radius: 5px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.speaker-2026 a:hover,
.speaker-2026 a:focus {
  color: #fff;
  background: var(--garaid-primary);
  text-decoration: none;
}

.speaker-2026[hidden],
.university-section.is-filtered-out {
  display: none !important;
}

.resource-pending {
  display: inline-block;
  margin-left: 7px;
  padding: 3px 8px;
  color: #6c5200;
  background: #fff3c7;
  border: 1px solid #e9cf70;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.general-activities img,
.la-nucia-section img,
#logos img,
.university-section img {
  max-width: 100%;
  height: auto;
}

.general-activities tr:not(:first-child):not(:nth-child(2)) td:first-child {
  line-height: 1.55;
}

.la-nucia-section h2 {
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.4;
  text-align: left;
}

@media (max-width: 767px) {
  .header .navbar-brand,
  .header.active .navbar-brand {
    max-width: calc(100vw - 85px);
  }

  .navbar-brand .logo,
  .header.active .navbar-brand .logo {
    width: 210px;
    max-width: 100%;
    background-size: contain;
  }

  .cd-hero-slider h2,
  .cd-hero .slide-caption h2 {
    width: calc(100% - 30px);
    font-size: 22px;
    line-height: 1.18;
    overflow-wrap: anywhere;
  }

  .cd-hero-slider p,
  .cd-hero-slider h3 {
    width: calc(100% - 30px);
    margin-right: auto;
    margin-left: auto;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  #about .container,
  #what-we-do .container {
    width: 100%;
  }

  .service-item h4 {
    overflow-wrap: anywhere;
  }

  .program-shortcuts {
    justify-content: flex-start;
  }

  .program-shortcuts a {
    flex: 1 1 145px;
    text-align: center;
  }

  .programme-overview {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .programme-overview td {
    min-width: 210px;
  }

  .speaker-table,
  .speaker-table tbody,
  .speaker-table tr,
  .speaker-table td {
    display: block;
    width: 100% !important;
  }

  .speaker-2026 {
    margin: 10px 0;
  }

  .speaker-2026 > td:not(:first-child) {
    display: none;
  }

  .speaker-2026 > td:first-child {
    padding: 15px;
  }

  .general-activities,
  .la-nucia-section {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .general-activities td,
  .la-nucia-section td {
    min-width: 120px;
    overflow-wrap: anywhere;
  }

  .doctoral-thesis-defence p {
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
