/* Travel accents share UniWay's palette; only the ticket and stamps are decorative. */
:root {
  --travel-ink: #296e78;
  --travel-tint: #edf6f5;
  --travel-paper: #fffdf8;
  --travel-perforation: #b6cdcf;
  --travel-duration: 180ms;
}
html[data-theme="dark"] {
  --travel-ink: #9cddd6;
  --travel-tint: #152f38;
  --travel-paper: #132132;
  --travel-perforation: #45616b;
}
/* Saved schools: a numbered ticket header; ranking stays in the existing list. */
.discovery-candidate.travel-saved-ticket { padding: 0 20px 20px; border-color: var(--travel-perforation); border-radius: 20px; }
.travel-ticket-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 -20px 20px; padding: 12px 20px; border-radius: 19px 19px 0 0; background: var(--travel-tint); color: var(--travel-ink); }
.travel-ticket-heading > span:first-child { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.travel-ticket-heading svg { width: 15px; height: 15px; }
.travel-ticket-number { font-variant-numeric: tabular-nums; font-size: 18px; font-weight: 600; letter-spacing: .12em; }
.travel-saved-ticket .discovery-candidate-facts { position: relative; margin: 14px -20px; padding: 0 20px 18px; border-bottom: 1px dashed var(--travel-perforation); }
.travel-saved-ticket .discovery-candidate-facts::before, .travel-saved-ticket .discovery-candidate-facts::after { content: ""; position: absolute; bottom: -9px; width: 16px; height: 16px; background: var(--uw-page); border: 1px solid var(--travel-perforation); border-radius: 50%; }
.travel-saved-ticket .discovery-candidate-facts::before { left: -9px; border-left-color: transparent; border-top-color: transparent; transform: rotate(-45deg); }
.travel-saved-ticket .discovery-candidate-facts::after { right: -9px; border-right-color: transparent; border-bottom-color: transparent; transform: rotate(-45deg); }

/* Destination stamp lives in the photo header, away from the page's controls. */
.travel-detail-heading { display: flex; align-items: center; gap: 22px; justify-content: space-between; }
.travel-destination-stamp { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; flex: 0 0 100px; min-height: 100px; max-width: 128px; padding: 12px; border: 3px double #f6ddaa; border-radius: 50%; outline: 1px dashed #f6ddaa; outline-offset: -8px; color: #ffebc6; background: rgba(15, 35, 47, .68); text-align: center; transform: rotate(-8deg); line-height: 1.3; overflow-wrap: anywhere; }
.travel-destination-stamp[hidden] { display: none; }
.travel-stamp-caption { font-size: 10px; letter-spacing: .18em; }
.travel-destination-stamp strong { font-size: 16px; }
.travel-stamp-city { font-size: 10px; }
.school-detail-view .tracker-checklist label { grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; }
.school-detail-view .tracker-checklist label > span:first-of-type { min-width: 0; }
.travel-task-stamp { display: inline-block; flex-shrink: 0; white-space: nowrap; border: 1px solid currentColor; border-radius: 4px; padding: 1px 5px; color: var(--travel-ink); background: var(--travel-tint); font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: .12em; transform: rotate(-7deg); }
.travel-task-stamp.is-new { animation: travel-stamp-in var(--travel-duration) ease-out; }
@keyframes travel-stamp-in { from { opacity: 0; transform: rotate(-14deg) scale(1.25); } to { opacity: 1; transform: rotate(-7deg) scale(1); } }
@media (max-width: 640px) {
  .travel-detail-heading { gap: 12px; }
  .travel-destination-stamp { flex-basis: 86px; min-height: 86px; max-width: 105px; padding: 10px; }
  .travel-destination-stamp strong { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .travel-task-stamp.is-new { animation: none; }
}
@media (forced-colors: active) {
  .travel-destination-stamp, .travel-task-stamp { color: CanvasText; border-color: CanvasText; outline-color: CanvasText; }
}
