*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

.price-section {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

.ledge-top4,
.ledge-bottom2 {
  padding: 0 !important;
  margin: 0;
  border: none;
  background: transparent;
  text-align: left;
}

.table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0;
  padding: 0;
}

/* HTML из st_message (Price) */
.article,
.article .wrapper {
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: #222;
  text-align: left;
}

.article .price-doc-title {
  margin: 0 0 12px;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
  color: #222;
}

.article .price-doc-subtitle {
  margin: 0 0 20px;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  color: #222;
}

.article table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 14px 0 !important;
  font-size: 14px !important;
  background: #fff;
}

.article table th,
.article table td {
  border: 1px solid #555 !important;
  padding: 6px 8px !important;
  text-align: left;
  vertical-align: middle !important;
  height: auto !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background: #fff;
}

.article table th {
  background-color: #f0f0f0 !important;
  text-align: center;
  font-weight: 700;
}

.article table td.center {
  text-align: center !important;
  white-space: nowrap;
}

.article tr.section-header td,
.article .section-header td {
  background-color: #e8e8e8 !important;
  text-align: center !important;
  font-weight: 700;
  padding: 8px !important;
}

.article tr.group-header td,
.article .group-header td {
  background-color: #f5f5f5 !important;
  font-weight: 700;
  font-style: normal;
  padding: 7px 8px !important;
  text-align: center !important;
}

.article em,
.article i {
  font-style: normal;
}

.article .support {
  margin-top: 24px;
  text-align: left;
}

.article .support ul {
  display: block !important;
  list-style: disc !important;
  padding-left: 20px !important;
  margin: 8px 0 8px 20px !important;
}

.article .support li {
  display: list-item !important;
  list-style: disc !important;
  margin: 4px 0 !important;
  padding: 0 !important;
  border: none !important;
}

.article .support p {
  margin: 8px 0;
}

.article .footnote {
  font-style: normal;
  margin-top: 12px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .price-section {
    padding: 0 0.75rem;
  }

  .article,
  .article .wrapper {
    font-size: 13px;
    padding: 12px 0;
  }

  .article table {
    font-size: 12px !important;
  }

  .article table th,
  .article table td {
    padding: 5px 6px !important;
  }

  .article table td.center {
    white-space: normal;
  }
}

@media screen and (max-width: 480px) {
  html, body {
    overflow-x: hidden;
  }

  .price-section {
    padding: 0 0.5rem;
  }

  .article,
  .article .wrapper {
    font-size: 12px;
  }

  .article table {
    font-size: 11px !important;
    table-layout: fixed !important;
  }

  .article table th,
  .article table td {
    padding: 4px 5px !important;
    line-height: 1.3;
  }
}

@media screen and (max-width: 414px) and (-webkit-min-device-pixel-ratio: 2) {
  body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
}
