/* "Подорожі" (ADR 031): the tour card (/tours, profile, home page, demo profile), the tour page and the /tours filter.
   Design tokens only; cards with a 1px border, no shadow (design system). */

.tour-cards { list-style: none; margin: var(--sp-4) 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
@media (min-width: 720px) { .tour-cards--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .tour-cards--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* Profile: the main column is narrower – at most two cards side by side */
@media (min-width: 720px) { .tour-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tour-cards > li { display: flex; min-width: 0; }

.tour-card {
  display: flex; flex-direction: column; width: 100%; min-width: 0; overflow: hidden;
  border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-surface);
  color: var(--c-text); text-decoration: none;
}
.tour-card:hover { border-color: var(--c-input-border); }
.tour-card:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.tour-card__photo { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--c-bg); }
.tour-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tour-card__caption {
  position: absolute; left: var(--sp-2); bottom: var(--sp-2); max-width: calc(100% - var(--sp-4));
  padding: 2px var(--sp-2); border-radius: var(--r-sm); background: var(--c-navy); color: var(--c-surface);
  font-size: var(--fs-xs); line-height: var(--lh-snug);
}
.tour-card__body { display: grid; gap: var(--sp-2); padding: var(--sp-4); flex: 1; align-content: start; }
.tour-card__top { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-2); }
.tour-card__date { color: var(--c-muted); font-size: var(--fs-sm); }
.tour-card__title { margin: 0; color: var(--c-navy); font-size: var(--fs-xl); font-weight: var(--fw-bold); line-height: var(--lh-snug); letter-spacing: var(--ls-heading); overflow-wrap: anywhere; }
.tour-card__route { color: var(--c-text); font-size: var(--fs-sm); overflow-wrap: anywhere; }
.tour-card__chips { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
.tour-chip { padding: 2px var(--sp-2); border: 1px solid var(--c-border); border-radius: var(--r-full); background: var(--c-bg); color: var(--c-text); font-size: var(--fs-sm); }
.tour-card__bottom { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-1); }
.tour-card__price { color: var(--c-navy); font-size: var(--fs-lg); font-weight: var(--fw-bold); }
.tour-card__seats { color: var(--c-muted); font-size: var(--fs-sm); }
.tour-card__organizer { color: var(--c-muted); font-size: var(--fs-sm); }
.tour-card__more { color: var(--c-navy); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.tour-badge { padding: 2px var(--sp-2); border-radius: var(--r-full); font-size: var(--fs-xs); font-weight: var(--fw-semibold); white-space: nowrap; }
.tour-badge--example { border: 1px solid var(--c-border-strong); color: var(--c-muted); }
.tour-badge--full { background: var(--c-navy); color: var(--c-surface); }

/* Profile /@username: the block under the trips */
.tours-block { margin-top: var(--sp-6); }

/* Tour page */
.tour-title { margin: var(--sp-1) 0; color: var(--c-navy); font-size: var(--fs-3xl); font-weight: var(--fw-bold); line-height: var(--lh-snug); letter-spacing: var(--ls-heading); overflow-wrap: anywhere; }
.tour-route { margin: 0 0 var(--sp-1); color: var(--c-text); font-size: var(--fs-lg); font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
.tour-times { margin: 0 0 var(--sp-4); color: var(--c-muted); font-size: var(--fs-sm); }
.tour-min { margin: var(--sp-3) 0 0; color: var(--c-text); }
.tour-organizer { margin: var(--sp-4) 0; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); font-size: var(--fs-sm); }
.tour-gallery { margin: var(--sp-5) 0 0; }
.tour-gallery__caption { margin-top: var(--sp-2); color: var(--c-muted); font-size: var(--fs-sm); }
.tour-section { margin-top: var(--sp-6); }
.tour-section h2 { margin: 0 0 var(--sp-3); color: var(--c-navy); font-size: var(--fs-xl); font-weight: var(--fw-bold); letter-spacing: var(--ls-heading); }
.tour-section p { margin: 0 0 var(--sp-3); line-height: var(--lh-body); overflow-wrap: anywhere; }
.tour-included, .tour-pickups, .tour-extras { margin: 0 0 var(--sp-3); padding: 0; list-style: none; display: grid; gap: var(--sp-2); }
.tour-included { display: flex; flex-wrap: wrap; }
.tour-included li { padding: var(--sp-1) var(--sp-3); border: 1px solid var(--c-border); border-radius: var(--r-full); background: var(--c-bg); font-size: var(--fs-sm); }
.tour-pickups li, .tour-extras li { overflow-wrap: anywhere; }
.tour-extras li { display: flex; justify-content: space-between; gap: var(--sp-3); padding-bottom: var(--sp-2); border-bottom: 1px solid var(--c-border); }
.tour-extras__price { flex: none; color: var(--c-navy); font-weight: var(--fw-semibold); }
.tour-details { color: var(--c-muted); }

/* /tours */
.tours-page { padding-block: var(--sp-6) var(--sp-8); }
.tours-page h1 { margin: 0 0 var(--sp-2); color: var(--c-navy); font-size: var(--fs-4xl); letter-spacing: var(--ls-heading); }
.tours-intro { max-width: 46rem; margin: 0 0 var(--sp-5); color: var(--c-muted); }
.tours-filter { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; gap: var(--sp-3); align-items: end; margin-bottom: var(--sp-5); }
.tours-filter .field { margin: 0; }
.tours-filter__actions { display: flex; align-items: center; gap: var(--sp-3); }
.tours-filter__reset { color: var(--c-navy); font-size: var(--fs-sm); }
.tours-empty { margin-top: var(--sp-4); }
.tours-organize { margin: var(--sp-6) 0 0; color: var(--c-muted); }
@media (max-width: 720px) {
  .tours-filter { grid-template-columns: minmax(0, 1fr); }
  .tours-filter__actions .btn { width: 100%; }
}

/* Home page (start version): the block between trips and flights */
.home-tours .tour-cards { margin-top: var(--sp-4); }
