@layer theme.components {

/* Каталог маршрутов: табы в стиле полосы стран, ниже — сетка городов выдачи. */
.route-directory__tabs {
  display: flex; flex-wrap: wrap; gap: 2px;
  margin-block: 8px 24px;
  border-block-end: 1px solid var(--color-border-strong);
}
.route-directory__tab {
  padding: 10px 16px;
  border: 0; background: none; cursor: pointer;
  font: inherit; font-size: var(--font-size-body); font-weight: 600;
  color: var(--color-text-muted);
}
.route-directory__tab:hover { color: var(--color-text); box-shadow: inset 0 -3px 0 var(--color-icon-muted); }
.route-directory__tab[aria-selected="true"] { color: var(--color-text); box-shadow: inset 0 -3px 0 var(--color-accent); }

.route-directory__panel + .route-directory__panel { margin-block-start: 32px; }
[data-ge-tabs].is-enhanced .route-directory__panel + .route-directory__panel { margin-block-start: 0; }
[data-ge-tabs].is-enhanced .route-directory__origin { display: none; }
.route-directory__origin { margin: 0 0 8px; font-weight: 600; color: var(--color-text); }

.route-directory__hub {
  display: inline-block; margin-block-end: 18px;
  font-weight: 600; color: var(--color-accent-text);
  text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--color-accent-line);
}
.route-directory__hub:hover { color: var(--color-accent); text-decoration-color: currentColor; }
.route-directory__hub.is-disabled { color: var(--color-text-disabled); text-decoration: none; }

.route-directory__list-label {
  margin: 0 0 10px;
  color: var(--color-text-muted); font-size: var(--font-size-small); font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
}
.route-directory__list {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px 24px;
  margin: 0; padding: 0; list-style: none;
}
.route-directory__list a {
  color: var(--color-text); font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px;
}
.route-directory__list a:hover { color: var(--color-accent-text); }
.route-directory__list span { color: var(--color-text-disabled); cursor: default; }

/* Раскладка «список»: меню с вложенностью, визуально — заголовок города и сетка городов. */
.route-directory__groups { margin: 0; padding: 0; list-style: none; }
.route-directory__group + .route-directory__group { margin-block-start: 36px; }
.route-directory__group-title {
  display: inline-block; margin-block-end: 14px;
  color: var(--color-text); font-size: var(--font-size-h3); font-weight: 600; line-height: var(--line-height-heading);
}
a.route-directory__group-title { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
a.route-directory__group-title:hover { color: var(--color-accent-text); }

}
