/* Scoped programme comparisons: no JavaScript or copied price amounts. */
.tour-comparison {
  --comparison-accent: #075985;
  --comparison-tint: #f0f9ff;
  --comparison-border: #bae6fd;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 2.5rem 0 0;
  padding: 1.25rem;
  color: #334155;
  background: #fff;
  border: 1px solid var(--comparison-border);
  border-radius: 20px;
  box-shadow: 0 6px 22px rgba(15, 23, 42, .04);
}
.tour-comparison--river {
  --comparison-accent: #065f46;
  --comparison-tint: #ecfdf5;
  --comparison-border: #a7f3d0;
}
.tour-comparison--family {
  --comparison-accent: #9f1239;
  --comparison-tint: #fff1f2;
  --comparison-border: #fecdd3;
}
.tour-comparison h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.015em;
}
.tour-comparison__intro {
  margin: .6rem 0 1rem;
  line-height: 1.6;
}
.tour-comparison__hint {
  display: none;
  margin: 0 0 .65rem;
  color: var(--comparison-accent);
  font-size: .875rem;
  line-height: 1.5;
}
.tour-comparison__scroll {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 #f1f5f9;
}
.tour-comparison__scroll:focus-visible,
.tour-comparison__table a:focus-visible {
  outline: 3px solid var(--comparison-accent);
  outline-offset: 3px;
}
.tour-comparison__table {
  width: 100%;
  min-width: 730px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
  font-size: .9rem;
  line-height: 1.55;
}
.tour-comparison__table th,
.tour-comparison__table td {
  padding: .8rem .9rem;
  vertical-align: top;
  overflow-wrap: break-word;
  border-bottom: 1px solid #e2e8f0;
}
.tour-comparison__table thead th {
  color: var(--comparison-accent);
  background: var(--comparison-tint);
  font-size: .82rem;
  font-weight: 700;
}
.tour-comparison__table thead th:first-child { width: 24%; }
.tour-comparison__table thead th:nth-child(2) { width: 18%; }
.tour-comparison__table thead th:nth-child(3) { width: 31%; }
.tour-comparison__table thead th:last-child { width: 27%; }
.tour-comparison__table tbody th { background: #fff; font-weight: 600; }
.tour-comparison__table tbody tr:last-child > * { border-bottom: 0; }
.tour-comparison__table a {
  display: inline-flex;
  min-height: 44px;
  flex-direction: column;
  justify-content: center;
  color: var(--comparison-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tour-comparison__table a:hover { text-decoration-thickness: 2px; }
.tour-comparison__link-note {
  margin-top: .2rem;
  font-size: .75rem;
  font-weight: 400;
}
.tour-comparison__note {
  margin: .9rem 0 0;
  color: #475569;
  font-size: .85rem;
  line-height: 1.65;
}
.tour-comparison__caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 800px) {
  .tour-comparison { padding: 1rem; border-radius: 16px; }
  .tour-comparison__hint { display: block; }
  .tour-comparison__table th,
  .tour-comparison__table td { padding: .7rem .75rem; }
  .tour-comparison__table th:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    box-shadow: 1px 0 0 #e2e8f0;
  }
  .tour-comparison__table thead th:first-child { width: 18%; z-index: 2; }
  .tour-comparison__table thead th:nth-child(2) { width: 16%; }
  .tour-comparison__table thead th:nth-child(3) { width: 36%; }
  .tour-comparison__table thead th:last-child { width: 30%; }
}
@media (max-width: 520px) {
  .tour-comparison__table { min-width: 640px; }
  .tour-comparison__table th:first-child {
    position: static;
    box-shadow: none;
  }
}
@media print {
  .tour-comparison__scroll { overflow: visible; }
  .tour-comparison__table { min-width: 0; }
  .tour-comparison__hint { display: none; }
}
