/* ===== Тарифы (таблица цен по срокам) ===== */
.tariffs {
  --tariffs-tint-2: rgba(241, 149, 20, 0.2);
  --tariffs-tint-3: rgba(106, 255, 0, 0.2);
  --tariffs-badge-3: #47aa00;
}

.tariffs__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;

  /* Отступы между частями задаёт gap — общий margin-bottom шапки не нужен */
  .section-header {
    margin-bottom: 0;
  }
}

.tariffs__prices {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tariffs__subtitle {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 30px;
  line-height: 1.24;
  color: var(--color-black);

  @media (max-width: 1200px) {
    font-size: 24px;
  }
}

/* ── Таблица: строка = грид из 5 колонок ── */
.tariffs__table {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-black);
}

.tariffs__row {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr) 200px 240px 240px;
  column-gap: 30px;
  min-height: 50px;
  border-bottom: 1px solid var(--color-gray-light);

  &:last-child {
    border-bottom: 0;
  }

  @media (max-width: 1440px) {
    grid-template-columns: 200px minmax(0, 1fr) 140px 200px 200px;
    column-gap: 20px;
  }
}

.tariffs__row--head {
  font-weight: 600;
  border-bottom-color: var(--color-black);
}

.tariffs__cell {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 10px 0;
}

.tariffs__cell--price1,
.tariffs__cell--price2,
.tariffs__cell--price3 {
  justify-content: flex-end;
  text-align: right;
}

/* Тонированные колонки: сплошная полоса сверху вниз, скругления на концах */
.tariffs__cell--price2,
.tariffs__cell--price3 {
  padding-left: 20px;
  padding-right: 20px;
}

.tariffs__cell--price2 {
  background: var(--tariffs-tint-2);
}

.tariffs__cell--price3 {
  background: var(--tariffs-tint-3);
}

.tariffs__row--head .tariffs__cell--price2,
.tariffs__row--head .tariffs__cell--price3 {
  border-radius: 5px 5px 0 0;
}

.tariffs__row:last-child .tariffs__cell--price2,
.tariffs__row:last-child .tariffs__cell--price3 {
  border-radius: 0 0 5px 5px;
}

.tariffs__price-label {
  display: none;
}

.tariffs__price-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
}

.tariffs__badge {
  flex-shrink: 0;
  min-width: 42px;
  padding: 4px 6px;
  border-radius: 5px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  color: var(--color-white);
  background: var(--color-orange);
}

.tariffs__cell--price3 .tariffs__badge {
  background: var(--tariffs-badge-3);
}

/* ── Планшет и мобильный: строка → карточка ── */
@media (max-width: 1024px) {
  .tariffs__table {
    font-size: 14px;
  }

  .tariffs__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "model model model"
      "purpose purpose purpose"
      "price1 price2 price3";
    column-gap: 10px;
    padding: 10px 0 15px;
    border-bottom: 1px solid var(--color-gray-light);

    &:last-child {
      border-bottom: 1px solid var(--color-gray-light);
    }
  }

  .tariffs__row--head {
    display: none;
  }

  .tariffs__cell {
    padding: 0;
  }

  .tariffs__cell--model {
    grid-area: model;
    font-weight: 600;
    font-size: 16px;
  }

  .tariffs__cell--purpose {
    grid-area: purpose;
    margin-bottom: 10px;
  }

  .tariffs__cell--price1 { grid-area: price1; }
  .tariffs__cell--price2 { grid-area: price2; }
  .tariffs__cell--price3 { grid-area: price3; }

  /* Ячейка цены: подпись срока сверху, значение — в цветной плашке */
  .tariffs__cell--price1,
  .tariffs__cell--price2,
  .tariffs__cell--price3 {
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 0;
    background: none;
    border-radius: 0;
  }

  .tariffs__row:last-child .tariffs__cell--price2,
  .tariffs__row:last-child .tariffs__cell--price3 {
    border-radius: 0;
  }

  .tariffs__price-label {
    display: block;
    padding-right: 10px;
    color: var(--color-gray);
    white-space: nowrap;
  }

  .tariffs__price-box {
    min-height: 25px;
    padding: 0 10px;
    border-radius: 5px;
    background: var(--color-gray-light);
    white-space: nowrap;
  }

  .tariffs__cell--price2 .tariffs__price-box,
  .tariffs__cell--price3 .tariffs__price-box {
    padding-right: 0;
  }

  .tariffs__cell--price2 .tariffs__price-box {
    background: var(--tariffs-tint-2);
  }

  .tariffs__cell--price3 .tariffs__price-box {
    background: var(--tariffs-tint-3);
  }

  .tariffs__cell--price2 .tariffs__price-label,
  .tariffs__cell--price3 .tariffs__price-label {
    padding-right: 0;
  }
}

/* ── Бежевый баннер ── */
.tariffs__banner {
  position: relative;
  display: flex;
  overflow: hidden;
  border-radius: 10px;
  background: var(--color-beige);

  @media (max-width: 767px) {
    flex-direction: column;
  }
}

.tariffs__banner-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 30px;

  @media (max-width: 767px) {
    padding: 20px;
  }
}

.tariffs__banner-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 30px;
  line-height: 1.24;
  color: var(--color-black);

  strong,
  b,
  span {
    font-weight: inherit;
    color: var(--color-orange);
  }

  @media (max-width: 1200px) {
    font-size: 24px;
  }

  @media (max-width: 767px) {
    font-size: 20px;
  }
}

.tariffs__banner-text {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.4;
  color: var(--color-gray);

  @media (max-width: 767px) {
    font-size: 14px;
  }
}

/* Полоса модулей: справа, выходит за правый край и обрезается низом баннера */
.tariffs__banner-media {
  position: absolute;
  z-index: 1;
  top: 20px;
  right: -116px;
  pointer-events: none;

  @media (max-width: 1200px) {
    right: -300px;
    opacity: 0.6;
  }

  /* Мобильный: под текстом, по центру, высота 100 с обрезкой */
  @media (max-width: 767px) {
    position: relative;
    top: auto;
    right: auto;
    display: flex;
    justify-content: center;
    height: 100px;
    overflow: hidden;
    opacity: 1;
  }
}

.tariffs__banner-img {
  display: block;
  width: auto;
  max-width: none;
  height: 200px;

  @media (max-width: 767px) {
    height: 120px;
  }
}

/* ── Факты внизу ── */
.tariffs__facts {
  display: flex;
  gap: 40px;
  list-style: none;

  @media (max-width: 767px) {
    flex-direction: column;
    gap: 20px;
  }
}

.tariffs__fact {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-body);
  line-height: 1.4;

  @media (max-width: 767px) {
    gap: 2px;
  }
}

.tariffs__fact-label {
  font-size: 15px;
  color: var(--color-gray);

  @media (max-width: 767px) {
    font-size: 14px;
  }
}

.tariffs__fact-value {
  font-weight: 600;
  font-size: 18px;
  color: var(--color-black);

  @media (max-width: 767px) {
    font-size: 16px;
  }
}
