
@media (max-width: 640px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  *,
  *::before,
  *::after {
    min-width: 0;
  }

  img,
  svg,
  video,
  canvas {
    max-width: 100%;
  }

  .ct {
    width: min(100% - 28px, var(--container, 1180px));
  }

  .page-main {
    overflow-x: clip;
  }

  .page-title,
  .page-section-title,
  .product-line-title,
  .page-card-title,
  .article-body h1,
  .article-body h2,
  .article-body h3,
  .calc-title,
  .calc-result-h {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  .page-title {
    font-size: clamp(2.1rem, 13vw, 3.15rem);
    line-height: .98;
  }

  .page-section-title {
    font-size: clamp(2rem, 10vw, 2.8rem);
    line-height: 1;
  }

  .page-lead,
  .page-note,
  .page-card-text,
  .product-line-text,
  .article-body p,
  .article-body li,
  .calc-copy,
  .calc-note,
  .calc-result-cell-v {
    overflow-wrap: anywhere;
  }

  .page-actions,
  .product-line-actions,
  .product-detail-actions,
  .calc-actions,
  .hero-actions {
    gap: 10px;
    align-items: stretch;
  }

  .btn,
  .calc-btn,
  .calc-add-btn,
  .calc-mini-btn {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    line-height: 1.2;
    text-align: center;
  }

  .page-actions .btn,
  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .page-nav {
    gap: 14px;
  }

  .page-nav-links {
    gap: 10px;
    flex-wrap: wrap;
  }

  .product-catalog-page .product-category-nav {
    margin-bottom: 24px;
    padding-bottom: 8px;
  }

  .product-catalog-page .product-catalog-grid {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .product-catalog-page .product-catalog-card {
    grid-template-rows: auto !important;
    min-height: 0;
    overflow: hidden;
  }

  .product-catalog-page .product-line-media {
    min-height: 176px;
    padding: 18px;
  }

  .product-catalog-page .product-line-media img {
    width: 100%;
    height: auto;
    max-height: 178px;
    object-fit: contain;
  }

  .product-catalog-page .product-line-body {
    min-height: 0 !important;
    padding: 20px 18px 18px;
    gap: 12px;
  }

  .product-catalog-page .product-line-title {
    font-size: clamp(1.28rem, 7vw, 1.72rem);
    line-height: 1.05;
  }

  .product-catalog-page .product-line-text {
    font-size: .96rem;
    line-height: 1.52;
  }

  .product-catalog-page .product-line-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    margin-top: auto;
  }

  .product-catalog-page .product-line-actions .btn {
    width: 100%;
    min-height: 44px;
    padding-inline: 12px;
    justify-content: center;
  }

  .product-section-head {
    gap: 14px;
  }

  .article-list,
  .blog-grid,
  .guides-grid {
    gap: 14px;
  }

  .article-card {
    grid-template-columns: 1fr !important;
    gap: 12px;
    align-items: start;
  }

  .article-card .btn,
  .page-card .btn {
    width: 100%;
    justify-content: center;
  }

  .page-card-status,
  .page-card-tag,
  .product-card-tag {
    line-height: 1.25;
    white-space: normal;
  }

  .calc-panel,
  .calc-result,
  .calc-box {
    overflow: hidden;
  }

  .calc-grid,
  .calc-result-grid {
    grid-template-columns: 1fr !important;
  }

  .calc-result-cell-v {
    line-height: 1.15;
  }

  .calc-checkbox {
    align-items: flex-start;
  }

  .calc-checkbox span {
    line-height: 1.35;
  }

  .color-page .acor-color-toolbar,
  .color-page .acor-color-quick,
  .acor-color-toolbar,
  .acor-color-quick {
    max-width: 100%;
  }

  .acor-color-segments {
    flex-wrap: wrap;
    overflow: visible;
  }

  .acor-color-seg {
    flex: 1 1 calc(50% - 4px);
    min-width: 128px;
    min-height: 46px;
    padding: 10px 8px;
    line-height: 1.25;
    letter-spacing: .04em;
    white-space: normal;
    overflow: visible;
  }
}

@media (max-width: 380px) {
  .ct {
    width: min(100% - 22px, var(--container, 1180px));
  }

  .page-title {
    font-size: clamp(1.95rem, 12vw, 2.75rem);
  }

  .page-lead,
  .product-line-text,
  .page-card-text,
  .article-body p,
  .article-body li {
    font-size: .94rem;
  }

  .product-catalog-page .product-line-media {
    min-height: 160px;
    padding: 14px;
  }

  .product-catalog-page .product-line-media img {
    max-height: 158px;
  }

  .product-catalog-page .product-line-body {
    padding: 18px 15px 16px;
  }
}
