/* Local layout contract: the tariff row must not depend on GetCourse CSS. */
body.night-city #ltBlock2211010118 .flex-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.night-city #ltBlock2211010118 .flex-row > .lt-tsr-block {
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 32px 24px 24px !important;
  float: none !important;
}
body.night-city #ltBlock2211010118 .lt-tsr-content,
body.night-city #ltBlock2211010118 .description {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0;
}
/* GetCourse inserts a whitespace-only paragraph before each badge. */
body.night-city #ltBlock2211010118 .description > p:first-child { display: none; }
body.night-city #ltBlock2211010118 .lt-tsr-block h3 {
  display: block !important;
  min-height: 64px !important;
  margin: 16px 0 12px !important;
  font-size: clamp(23px, 1.9vw, 27px) !important;
  line-height: 1.18 !important;
  text-wrap: balance;
}
body.night-city #ltBlock2211010118 .description > p {
  min-height: 26px;
  margin: 0 0 20px !important;
}
body.night-city #ltBlock2211010118 .description > ul {
  flex: 1 0 auto;
  min-height: 0 !important;
  margin: 0 !important;
}
body.night-city #ltBlock2211010118 .lt-tsr-block li {
  font-size: 15px !important;
  line-height: 1.55 !important;
}
body.night-city #ltBlock2211010118 .lt-tsr-block li.disabled {
  opacity: 1 !important;
}
body.night-city #ltBlock2211010118 .lt-tsr-block hr { margin: 22px 0 !important; }
body.night-city #ltBlock2211010118 .lt-tsr-block .extra {
  min-height: 48px;
  margin: 0 0 8px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
body.night-city #ltBlock2211010118 .flex-row > .lt-tsr-block:nth-of-type(n) .price-wrap {
  display: flex !important;
  align-items: flex-end !important;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 20px !important;
}
body.night-city #ltBlock2211010118 .lt-tsr-block .price-now {
  font-size: clamp(27px, 2.2vw, 32px) !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}
body.night-city #ltBlock2211010118 .lt-tsr-block .price-month {
  font-size: 13px !important;
  white-space: nowrap;
}
body.night-city #ltBlock2211010118 .lt-tsr-block .button { margin: 0 !important; }
@media (max-width: 1099px) {
  body.night-city #ltBlock2211010118 .flex-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px !important;
    max-width: 620px !important;
    margin: 0 auto !important;
  }
  body.night-city #ltBlock2211010118 .lt-tsr-block h3 { min-height: 0 !important; font-size: 27px !important; }
  body.night-city #ltBlock2211010118 .lt-tsr-block .extra { min-height: 0; }
  body.night-city #ltBlock2211010118 .lt-tsr-block .price-now { font-size: 32px !important; }
}
@media (max-width: 479px) {
  body.night-city #ltBlock2211010118 .flex-row > .lt-tsr-block { padding: 28px 20px 20px !important; }
  body.night-city #ltBlock2211010118 .lt-tsr-block h3 { font-size: 24px !important; }
  body.night-city #ltBlock2211010118 .lt-tsr-block .price-now { font-size: 28px !important; }
}
