/* Сгенерировано tools/site_cq.py из site.css — не править руками.
   Адаптив по ширине контейнера `site` для превью в панели. */
@container site (max-width: 900px) {
  .w-cols-4, .w-cols-5, .w-cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .w-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) }
}
@container site (max-width: 640px) {
  .w-grid { grid-template-columns: minmax(0, 1fr) !important }
  .w-ratio-1-1, .w-ratio-2-1, .w-ratio-1-2 { grid-template-columns: minmax(0, 1fr) }
}
@container site (max-width: 720px) {
  .site h1 { font-size: min(var(--w-h1), 9.5cqw) }
  .site h2 { font-size: min(var(--w-h2), 7.6cqw) }
  .site h3 { font-size: min(var(--w-h3), 6.2cqw) }
  .site h4 { font-size: min(var(--w-h4), 5.4cqw) }
}
@container site (max-width: 720px) {
  .w-burger { display: inline-flex; order: 10; margin-left: auto }
  .w-nav-sp { display: none }
  .w-nav { display: none !important; order: 20; flex-basis: 100%; flex-direction: column; gap: calc(var(--w-gap) * 0.5) }
  .w-menu-cb:checked ~ .w-nav { display: flex !important }
  .w-nav a { padding: calc(var(--w-gap) * 0.3) 0; border-bottom: var(--w-bw) solid var(--w-border) }
}
@container site (max-width: 640px) { .blk-hide-mobile { display: none } }
@container site (min-width: 641px) { .blk-hide-desktop { display: none } }
@container site (max-width: 1023px) {
  .w-cols-3 .w-grid.w-cols, .w-cols-4 .w-grid.w-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@container site (max-width: 640px) {
  .w-cols-2 .w-grid.w-cols, .w-cols-3 .w-grid.w-cols, .w-cols-4 .w-grid.w-cols {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@container site (max-width: 720px) {
  .hdr-overlay .blk-header { position: static }
  .hdr-overlay .blk-header > .wrap { background: var(--w-bg) !important }
  .hdr-overlay .blk-header a, .hdr-overlay .blk-header span,
  .hdr-overlay .blk-header b { color: var(--w-tx) }
  .hdr-overlay .blk-header a.w-btn:not(.ghost),
  .hdr-overlay .blk-header a.w-btn:not(.ghost) span { color: var(--w-accent-tx) }
  .hdr-overlay .blk-header a.w-btn.ghost span { color: var(--w-tx) }
}
@container site (max-width: 720px) {
  /* `!important` — раскладку группы задаёт инлайновый стиль из документа
     блока, и без него строка с режимом работы оставалась на телефоне
     второй строкой (та же причина, что у вариантов раскладки U-13). */
  .w-topbar-side { display: none !important }
}
@container site (max-width: 900px) {
  .blk-cv-split .w-cart-row { grid-template-columns: auto minmax(0, 1fr) }
  .blk-cv-split .w-cart-row > :nth-child(n+3) { grid-column: 2 }
  .blk-cv-split .w-cart-row { align-items: start !important }
}
@container site (max-width: 640px) {
  .w-cart-row {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start !important;
  }
  .w-cart-row > :nth-child(n+3) { grid-column: 2 }
  /* `!important`: у суммы инлайновый `text-align: right` и `min-width`
     из документа блока — на телефоне они отрывали её от названия. */
  .w-cart-row > b { text-align: left !important; min-width: 0 !important }

  /* Плиточные виды остаются плитками: общее правило уводило фото в
     левую колонку, и плитка на телефоне становилась узкой вертикальной
     полосой с пустотой справа. */
  .blk-cv-steps .w-cart-row,
  .blk-cv-cards .w-cart-row { grid-template-columns: minmax(0, 1fr) !important }
  .blk-cv-steps .w-cart-row > :nth-child(n+3),
  .blk-cv-cards .w-cart-row > :nth-child(n+3) { grid-column: 1 }
}
@container site (max-width: 768px) {
  .blk-cv-split > .sec > .wrap { grid-template-columns: minmax(0, 1fr) }
  .blk-cv-split > .sec > .wrap > *,
  .blk-cv-split > .sec > .wrap > .w-cart-sum { grid-column: 1 }
  .blk-cv-split > .sec > .wrap > .w-cart-sum { grid-row: auto; position: static }
  .blk-cv-narrow > .sec > .wrap { max-width: none !important }
}
@container site (max-width: 900px) {
  .w-hero-offset { grid-template-columns: minmax(0, 1fr) }
  .w-hero-offset-text { padding: var(--w-secy) var(--w-pad) }
  .w-hero-offset > .w-img { min-height: 0; height: auto !important; aspect-ratio: 4 / 3 }
}
@container site (max-width: 900px) {
  .w-hero-tiles { grid-template-columns: minmax(0, 1fr); padding-block: 0 }
  .w-hero-tiles-col:first-child { padding-bottom: 0 }
}
@container site (max-width: 900px) {
  .w-hero-card-box { margin: calc(var(--w-gap) * -1.5) var(--w-gap) 0; max-width: none }
}
@container site (max-width: 900px) {
  .w-hdr-row2 .w-nav, .w-hdr-navrow .w-nav { justify-content: flex-start }
}
@container site (max-width: 640px) { .w-ftr-links { justify-content: flex-start } }
@container site (max-width: 900px) { .w-ftr-mission { grid-template-columns: minmax(0, 1fr) } .w-ftr-mission > div:last-child { justify-content: flex-start } }
@container site (max-width: 900px) { .w-price-emph > [data-featured="true"] { transform: none } }
@container site (max-width: 720px) { .w-price-row { grid-template-columns: minmax(0, 1fr) auto } .w-price-row > p { grid-column: 1 / -1 } }
@container site (max-width: 640px) { .w-team-rows { grid-template-columns: minmax(0, 1fr) } }
@container site (max-width: 900px) { .w-bento { grid-template-columns: repeat(2, minmax(0, 1fr)) } }
@container site (max-width: 640px) { .w-bento { grid-template-columns: minmax(0, 1fr) } .w-bento > :first-child { grid-column: auto; grid-row: auto } }
@container site (max-width: 900px) { .w-split { grid-template-columns: minmax(0, 1fr) } }
@container site (max-width: 640px) { .w-split-items { grid-template-columns: minmax(0, 1fr) } }
@container site (max-width: 900px) { .w-svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) } }
@container site (max-width: 640px) { .w-svc-grid { grid-template-columns: minmax(0, 1fr) } }
@container site (max-width: 640px) {
  .w-svc-row { grid-template-columns: minmax(0, 1fr) auto }
  .w-svc-row > .w-soft { grid-column: 1 / -1 }
}
@container site (max-width: 640px) { .w-faq-two { grid-template-columns: minmax(0, 1fr) } }
@container site (max-width: 640px) { .w-rev-row { grid-template-columns: minmax(0, 1fr); gap: var(--w-s2) } }
@container site (max-width: 640px) { .site .w-grid.w-cols.w-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important } }
@container site (max-width: 640px) { .w-stat-band > * { border-left: 0; padding-left: 0 } }
@container site (max-width: 640px) {
  .blk-gv-rows .w-card { flex-direction: column }
  .blk-gv-rows .w-card > .w-img { width: 100%; max-width: none }
}
@container site (max-width: 720px) {
  .blk-gv-big .w-grid > :first-child .w-card { flex-direction: column }
  .blk-gv-big .w-grid > :first-child .w-card > .w-img { width: 100% }
}
@container site (max-width: 640px) {
  .blk-sv-mosaic .w-grid > :first-child { grid-column: auto; grid-row: auto }
}
@container site (max-width: 640px) {
  /* Своя сетка на телефоне: бьёт общее схлопывание до одной колонки. */
  /* `.site` впереди: плотность сетки темы (`.w-cols-3 .w-grid.w-cols`,
     тоже !important) специфичнее голой пары классов и била бы роль блока. */
  .site .blk-p-cols-1 .w-grid { grid-template-columns: minmax(0, 1fr) !important }
  .site .blk-p-cols-2 .w-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important }
  /* Размер текста: множитель к ролям темы, заголовки по-прежнему
     ограничены долей ширины экрана. */
  .blk-p-scale-sm { font-size: calc(var(--w-body) * 0.9) }
  .blk-p-scale-sm h1 { font-size: min(calc(var(--w-h1) * 0.82), 8.5cqw) }
  .blk-p-scale-sm h2 { font-size: min(calc(var(--w-h2) * 0.85), 6.8cqw) }
  .blk-p-scale-sm h3 { font-size: min(calc(var(--w-h3) * 0.88), 5.6cqw) }
  .blk-p-scale-sm h4 { font-size: min(calc(var(--w-h4) * 0.9), 5cqw) }
  .blk-p-scale-sm .w-lead { font-size: calc(var(--w-body) * 1.02) }
  .blk-p-scale-lg { font-size: calc(var(--w-body) * 1.12) }
  .blk-p-scale-lg h1 { font-size: min(calc(var(--w-h1) * 1.15), 11cqw) }
  .blk-p-scale-lg h2 { font-size: min(calc(var(--w-h2) * 1.12), 8.8cqw) }
  .blk-p-scale-lg h3 { font-size: min(calc(var(--w-h3) * 1.1), 7cqw) }
  .blk-p-scale-lg h4 { font-size: min(calc(var(--w-h4) * 1.08), 6cqw) }
  .blk-p-scale-lg .w-lead { font-size: calc(var(--w-body) * 1.28) }
  .blk-p-pad-none .sec { padding-block: 0 }
  .blk-p-pad-tight .sec { padding-block: calc(var(--w-secy) * 0.45) }
  .blk-p-al-center .wrap { text-align: center }
  .blk-p-al-center .w-grid .w-btn, .blk-p-al-center .wrap > .w-btn { margin-left: auto; margin-right: auto }
  .blk-p-al-left .wrap { text-align: left }
  .blk-p-al-left .w-grid .w-btn { margin-left: 0; margin-right: 0 }

  /* Шапка на телефоне: меню, кнопка меню, телефон, корзина. */
  .blk-mm-row .w-burger { display: none }
  .blk-mm-row .w-nav { display: flex !important; flex-direction: row; flex-wrap: wrap; gap: calc(var(--w-gap) * 0.6) }
  .blk-mm-row .w-nav a { border-bottom: 0; padding: 0 }
  .blk-mm-hide .w-nav, .blk-mm-hide .w-burger { display: none !important }
  .blk-bl-icon .w-burger, .blk-bl-both .w-burger { gap: calc(var(--w-gap) * 0.4) }
  .blk-bl-icon .w-burger { font-size: 0; min-width: var(--w-btn-h); justify-content: center; padding-inline: calc(var(--w-btn-x) * 0.6) }
  .blk-bl-icon .w-burger::before, .blk-bl-both .w-burger::before {
    content: ''; display: inline-block; width: 18px; height: 2px; background: currentColor;
    box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor }
  .blk-bs-left .w-burger { order: -1; margin-left: 0; margin-right: auto }
  .blk-mp-hide .w-hdr-phone { display: none }
  /* !important: у номера в шапке кегль стоит инлайном (`SMALL`). */
  .blk-mp-icon .w-hdr-phone { font-size: 0 !important; display: inline-flex }
  .blk-mp-icon .w-hdr-phone::before { content: ''; display: inline-block; width: 22px; height: 22px; background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8.1 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.8 2z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8.1 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.8 2z'/%3E%3C/svg%3E") center / contain no-repeat }
  .blk-mc-hide .w-hdr-cart { display: none }
  .blk-mc-icon .w-hdr-cart .w-hdr-cart-t { font-size: 0 }
  .blk-mc-icon .w-hdr-cart { min-width: var(--w-btn-h); justify-content: center; padding-inline: calc(var(--w-btn-x) * 0.6) }
  .blk-mc-icon .w-hdr-cart::before { content: ''; display: inline-block; width: 20px; height: 20px; background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat }
  /* В панели (site-cq.css) окно широкое, и `min-width: 641px` спрятал бы
     блок «скрыт на компьютере» и на телефонной полосе — вернуть. */
  .blk-hide-desktop { display: revert }
}
@container site (min-width: 641px and (max-width: 1023px)) {
  .site .blk-t-cols-2 .w-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important }
  .site .blk-t-cols-3 .w-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important }
  .site .blk-t-cols-4 .w-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important }
  .blk-t-pad-tight .sec { padding-block: calc(var(--w-secy) * 0.5) }
  .blk-hide-tablet { display: none }
  /* Меню кнопкой и на планшете: те же правила, что на телефоне. */
  .blk-tm-burger .w-burger { display: inline-flex; order: 10; margin-left: auto }
  .blk-tm-burger .w-nav-sp { display: none }
  .blk-tm-burger .w-nav { display: none !important; order: 20; flex-basis: 100%; flex-direction: column; gap: calc(var(--w-gap) * 0.5) }
  .blk-tm-burger .w-menu-cb:checked ~ .w-nav { display: flex !important }
}
