/* Размерный канон: docs/standards/layout-grid-v1.md. Общий источник для всех разделов. */
:root {
  --gt-layout-max: 1220px;
  --gt-layout-gutter: 32px;
  --gt-layout-gap: 24px;
  --gt-layout-section: 48px;
  --gt-layout-inset: 24px;
  --gt-layout-tap: 44px;
  --gt-layout-reading: 880px;
}
@media (max-width: 760px) {
  :root {
    --gt-layout-gutter: 16px;
    --gt-layout-gap: 16px;
    --gt-layout-section: 32px;
    --gt-layout-inset: 16px;
  }
}
/* Внешний контейнер не добавляет второй внутренний отступ. Вертикальные отступы
   остаются у компонента; узкая колонка чтения не меняет сетку всей страницы. */
html .gt-layout-shell,
html .gt-shell,
html .container,
html .home-standard .shell,
html .gt-journal > .wrap,
html .gt-store .shell,
html .gt-direction-quiz,
html .gt-general-quiz-link {
  box-sizing: border-box;
  width: min(calc(100% - var(--gt-layout-gutter) * 2), var(--gt-layout-max));
  max-width: var(--gt-layout-max);
  margin-inline: auto;
  padding-inline: 0;
  min-width: 0;
}
html .container--narrow { max-width: var(--container-narrow, 768px); }
html .container.blog-reading {
  max-width: var(--gt-layout-reading);
  margin-inline-start: max(var(--gt-layout-gutter), calc((100% - var(--gt-layout-max)) / 2));
  margin-inline-end: auto;
}
/* Вложенный блок заполняет уже ограниченную колонку без повторного вычитания полей. */
html :is(.gt-layout-shell, .container, .shell, .gt-shell) :is(.gt-layout-shell, .container, .gt-general-quiz-link, .gt-direction-quiz) {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}
html :is(.hero-grid, .contact-layout, .gt-footer__grid, .blog-diagnosis-grid, .catalog-layout) > * { min-width: 0; }
@media (min-width: 1121px) and (max-width: 1279px) {
  .home-standard-body .gt-header__inner { column-gap: 16px; }
}
/* Fieldset по умолчанию не сжимается уже своего текста. */
.gt-store .filter-group { min-width: 0; }
.gt-store .filter-group label > span { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .gt-store #filter-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
  .gt-store #filter-groups { grid-template-columns: 1fr; }
}
@media print {
  html :is(.gt-layout-shell, .gt-shell, .container, .shell, .gt-journal > .wrap, .gt-direction-quiz, .gt-general-quiz-link) {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
}
