/* /tariffs — page-клей на скелете. Chrome: hero / card / tbl-card. Только роли слоя 2. */

.tariffs-page .page-wrap {
  min-width: 0;
  padding-bottom: var(--s-6);
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

/* Крошки: Главная / Полезное / Тарифы */
.tariffs-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--font);
  font-size: var(--t-caption);
  letter-spacing: 0.04em;
  color: var(--fg-3);
  margin: 0;
  text-transform: uppercase;
}

.tariffs-breadcrumbs a {
  color: var(--accent);
  text-decoration: none;
}

.tariffs-breadcrumbs a:hover {
  text-decoration: underline;
}

.tariffs-bc-sep {
  opacity: 0.45;
  color: var(--fg-3);
}

.tariffs-bc-mid {
  color: var(--fg-2);
}

.tariffs-bc-cur {
  color: var(--accent);
}

.tariffs-hero {
  margin: 0;
  grid-template-columns: minmax(0, 1fr);
}

.tariffs-hero .hero__content {
  gap: var(--s-4);
}

.tariffs-hero .hero__title {
  font-size: var(--d-h2);
  font-weight: 600;
  color: var(--fg-2);
  letter-spacing: -0.01em;
}

.tariffs-hero .hero__sub {
  max-width: none;
  font-size: var(--t-caption);
  color: var(--fg-3);
}

.tariffs-hero-fact {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.tariffs-hero-fact__lab {
  margin: 0;
  font-size: var(--t-caption);
  font-weight: 600;
  color: var(--fg-3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tariffs-hero-fact__price {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--d-hero);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--accent);
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
}

.tariffs-hero-fact__place {
  margin: 0;
  font-size: var(--d-h3);
  font-weight: 600;
  line-height: var(--lh-tight);
}

.tariffs-hero-fact__place a {
  color: var(--fg);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.tariffs-hero-fact__place a:hover,
.tariffs-hero-fact__place a:focus-visible {
  color: var(--accent);
  text-decoration: underline;
  outline: none;
}

.tariffs-hero-fact__op {
  margin: 0;
  font-size: var(--t-body);
  font-weight: 600;
}

.tariffs-hero-fact__meta {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--fg-3);
  line-height: var(--lh-body);
  overflow-wrap: anywhere;
}

.tariffs-hero-fact__note {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--fg-3);
  line-height: var(--lh-body);
}

.tariffs-compare {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  margin-top: var(--s-2);
  padding-top: var(--s-5);
  border-top: 1px solid var(--hairline-2);
}

.tariffs-sec-title--compare {
  font-size: var(--d-h3);
  font-weight: 600;
  color: var(--fg-2);
}

.tariffs-sec-sub--ops {
  color: var(--fg-3);
}

.tariffs-foot {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--fg-3);
  line-height: var(--lh-body);
}

.tariffs-foot a {
  color: var(--accent);
}

/* Ссылка оператора */
.tariffs-op {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

a.tariffs-op:hover,
a.tariffs-op:focus-visible {
  color: var(--accent);
  outline: none;
}

.tariffs-op .d-dot {
  display: inline-block;
  width: var(--s-2);
  height: var(--s-2);
  border-radius: var(--radius-circle);
  flex-shrink: 0;
}

/* День / ночь столбиком */
.tariffs-period {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  min-width: 0;
  font-variant-numeric: tabular-nums;
  line-height: var(--lh-tight);
}

.tariffs-period__day,
.tariffs-period__night {
  display: block;
}

.tariffs-period__lab {
  font-size: var(--t-caption);
  font-weight: 400;
  color: var(--fg-3);
}

.tariffs-period__n {
  font-variant-numeric: tabular-nums;
  color: var(--fg-2);
}

.tariffs-th-unit {
  display: block;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--fg-4);
  font-size: var(--t-caption);
}

.tariffs-ex-kind {
  display: block;
  margin-top: var(--s-1);
  font-size: var(--t-caption);
  font-weight: 400;
  color: var(--fg-3);
}

/* Mobile card item */
.tariffs-card {
  text-decoration: none;
  color: inherit;
}

.tariffs-card-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
}

.tariffs-card-date {
  font-size: var(--t-caption);
  color: var(--fg-3);
}

.tariffs-card-axis {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--s-2) var(--s-3);
  align-items: start;
  min-width: 0;
}

.tariffs-card-axis__lab {
  font-size: var(--t-caption);
  font-weight: 600;
  color: var(--fg-3);
  padding-top: var(--s-1);
}

.tariffs-card-axis--dc .tbl__num {
  font-size: var(--d-h3);
}

.tariffs-card-axis--ac .tbl__num {
  color: var(--fg);
  font-weight: 600;
}

.tariffs-card-meta {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--fg-2);
  line-height: var(--lh-body);
}

.tariffs-card-ex {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--fg-3);
  line-height: var(--lh-body);
}

.tariffs-card-floor {
  margin: 0;
  font-size: var(--t-body);
  font-weight: 600;
  color: var(--fg);
  line-height: var(--lh-body);
}

.tariffs-card-floor .nbrb-icon {
  color: var(--accent);
}

.tariffs-sec-title {
  margin: 0;
  font-size: var(--d-h2);
  font-weight: 700;
  color: var(--fg);
  line-height: var(--lh-tight);
}

.tariffs-sec-sub {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--fg-3);
  line-height: var(--lh-body);
}

.tariffs-sec-h3 {
  margin: 0;
  font-size: var(--t-body);
  font-weight: 700;
  color: var(--fg);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tariffs-cheap-split {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  min-width: 0;
}

.tariffs-cheap-sec {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  min-width: 0;
}

.tariffs-cheap-tabs {
  display: none;
  flex-wrap: wrap;
  gap: var(--s-2);
  min-width: 0;
}

.tariffs-cheap-sec.is-enhanced .tariffs-cheap-tabs {
  display: flex;
}

.tariffs-cheap-tab {
  font-family: var(--font);
  font-size: var(--t-caption);
  font-weight: 600;
  color: var(--fg-2);
  background: var(--surface-2);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-control);
  padding: var(--s-1) var(--s-3);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.tariffs-cheap-tab:hover,
.tariffs-cheap-tab:focus-visible {
  color: var(--fg);
  border-color: var(--hairline-2);
  outline: none;
}

.tariffs-cheap-tab.is-active {
  color: var(--fg);
  background: var(--surface-3);
  border-color: color-mix(in srgb, var(--accent) 45%, var(--hairline));
}

.tariffs-cheap-sec.is-enhanced .tariffs-cheap-pane:not(.is-active) {
  display: none;
}

.tariffs-cheap-sec.is-enhanced .tariffs-cheap-pane-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.tariffs-cheap-pane {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  min-width: 0;
}

.tariffs-sec-title--cheap {
  font-size: var(--d-h3);
}

/* Дешёвые DC: список без внешней tbl-card плиты */
.tariffs-cheap-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-3);
  min-width: 0;
  container-type: inline-size;
  container-name: tariffs-cheap;
}

@media (min-width: 640px) {
  .tariffs-cheap-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-4);
  }

  /* 5-я (нечётный хвост) — на всю ширину, намеренно */
  .tariffs-cheap-cards > .tariffs-cheap:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

.tariffs-cheap {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  text-decoration: none;
  color: inherit;
  min-width: 0;
  padding: var(--s-4);
  overflow: visible;
  border-radius: var(--radius-card);
}

.tariffs-cheap-price {
  font-size: var(--d-h2);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--accent);
  line-height: var(--lh-tight);
}

.tariffs-cheap-body {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  min-width: 0;
}

.tariffs-cheap-kind {
  font-size: var(--t-caption);
  color: var(--fg-3);
}

.tariffs-cheap-place {
  font-size: var(--t-body);
  font-weight: 600;
  color: var(--fg);
  overflow-wrap: anywhere;
  line-height: var(--lh-body);
}

.tariffs-cheap .tariffs-op {
  font-size: var(--t-caption);
  font-weight: 600;
  color: var(--fg-2);
}

.tariffs-card-ex .tbl__num,
.tariffs-card-ex .nbrb-icon {
  color: var(--fg);
  font-weight: 600;
}

/* Нюансы — компактная сноска, без card-chrome */
.tariffs-nuances {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  min-width: 0;
}

.tariffs-sec-title--nuances {
  font-size: var(--t-body);
  font-weight: 600;
  color: var(--fg-3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tariffs-nuances__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.tariffs-nuance {
  margin: 0;
  padding-block: var(--s-2);
  border-block-end: 1px solid var(--hairline-2);
}

.tariffs-nuance:last-child {
  border-block-end: 0;
  padding-block-end: 0;
}

.tariffs-nuance:first-child {
  padding-block-start: 0;
}

.tariffs-nuance__sum {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--t-caption);
  font-weight: 600;
  color: var(--fg-2);
  list-style: none;
}

.tariffs-nuance__sum::-webkit-details-marker {
  display: none;
}

.tariffs-nuance__sum .d-dot {
  display: inline-block;
  width: var(--s-2);
  height: var(--s-2);
  border-radius: var(--radius-circle);
  flex-shrink: 0;
}

.tariffs-nuance__list {
  margin: var(--s-2) 0 0;
  padding-inline-start: var(--s-5);
  font-size: var(--t-caption);
  color: var(--fg-2);
  line-height: var(--lh-body);
}

.tariffs-nuance__more {
  margin: var(--s-2) 0 0;
  font-size: var(--t-caption);
}

.tariffs-nuance__more a {
  color: var(--accent);
}

/* «Откуда цифры» — те же классы, что /gesheft (renderTripCalcSourcesDetails) */
.trip-src {
  margin: var(--s-4) 0 0;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  background: var(--surface);
  min-width: 0;
}

.trip-src__sum {
  cursor: pointer;
  list-style: none;
  padding: var(--s-3) var(--s-4);
  font-size: var(--t-label);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fg-2);
  scroll-margin-top: 56px;
}

.trip-src__sum::-webkit-details-marker {
  display: none;
}

.trip-src__sum::before {
  content: "▾ ";
  color: var(--accent);
}

.trip-src[open] .trip-src__sum::before {
  content: "▴ ";
}

.trip-src__body {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  padding: 0 var(--s-4) var(--s-4);
  border-top: 1px solid var(--hairline);
  padding-top: var(--s-4);
  min-width: 0;
}

.trip-src__block {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  min-width: 0;
}

.trip-src__h {
  margin: 0;
  font-size: var(--t-label);
  font-weight: 700;
  color: var(--fg);
  letter-spacing: 0.02em;
}

.trip-src__tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--t-caption);
  color: var(--fg-2);
}

.trip-src__cap {
  caption-side: top;
  text-align: left;
  font-size: var(--t-caption);
  font-weight: 600;
  color: var(--fg-3);
  padding-bottom: var(--s-1);
}

.trip-src__tbl th,
.trip-src__tbl td {
  padding: var(--s-1) var(--s-2);
  border-bottom: 1px solid var(--hairline);
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.trip-src__tbl thead th {
  color: var(--fg-3);
  font-weight: 600;
}

.trip-src__num {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.trip-src__note {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--fg-3);
  line-height: var(--lh-body);
}

.trip-src__fold {
  align-self: stretch;
  margin: var(--s-2) 0 0;
  padding: var(--s-3) var(--s-4);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  background: var(--surface);
  color: var(--accent);
  font-family: var(--font);
  font-size: var(--t-label);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.trip-src__fold:hover {
  border-color: var(--accent);
  background: var(--accent-bg);
}

.trip-src__formula {
  margin: 0;
  padding: var(--s-3);
  border-radius: var(--radius-card);
  border: 1px solid var(--hairline);
  background: var(--surface-2);
  color: var(--fg-2);
  font-family: var(--font-mono, var(--font));
  font-size: var(--t-caption);
  line-height: var(--lh-body);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
}

/* Таблица: без overflow-x — сжатие */
.tariffs-page .tbl {
  table-layout: fixed;
}

.tariffs-page .tbl th,
.tariffs-page .tbl td {
  word-wrap: break-word;
  overflow-wrap: anywhere;
  vertical-align: top;
}

@media (min-width: 900px) {
  .tariffs-page .tbl {
    font-size: var(--t-body);
  }
}
