

/* Start:/css/geometry.css?17922731857923*/
/*
 * Геометрия сайта как на новой главной (решение заказчика 17.10.2026): прямоугольники — с острыми
 * углами, мелкие индикаторы (счётчики, точки, чипы, свотчи) — круги и «таблетки».
 *
 * Слой включается классом html.dv-geo (header.php): пока только по cookie dv_geo=1 — ссылка
 * ?dvgeo=1 включает, ?dvgeo=0 выключает. После одобрения класс ставится всем.
 * Кабинет менеджера не затрагивается: у него своя оболочка без этого класса.
 *
 * Список селекторов собран скриптом из CSS публичной части (все border-radius, кроме 0 и 50%).
 * Оставлены как есть: CSS-сердечко, точки, чипы и теги-«таблетки», тонкие полоски прогресса,
 * круглые свотчи. Специфичность (+0,1,1) перебивает исходные правила без !important.
 */
html.dv-geo {
  --radius-btn: 0; --radius-card: 0; --radius-input: 0; --radius-img: 0;
}

/* Счётчики корзины/избранного и бейдж кабинета — круг (при двух цифрах — «таблетка»). */
html.dv-geo .header__wishlist-count,
html.dv-geo .account-nav__badge {
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; line-height: 18px;
  background: var(--color-accent, #8C1F3B); color: #fff; font-weight: 600;
}

html.dv-geo .btn,
html.dv-geo .header__topbar-callback,
html.dv-geo .footer__social-links a,
html.dv-geo .footer__pay-logo,
html.dv-geo .footer__pay-logo_wide,
html.dv-geo .config-chip,
html.dv-geo .info-page__note,
html.dv-geo .legal-page__note,
html.dv-geo .cart-item,
html.dv-geo .cart-item__resize,
html.dv-geo .resize-modal__panel,
html.dv-geo .resize-modal__size,
html.dv-geo .cart-comp,
html.dv-geo .cart-comp__img,
html.dv-geo .cart-details__panel,
html.dv-geo .cart-details__media-btn,
html.dv-geo .img-zoom__img,
html.dv-geo .cart-summary__content,
html.dv-geo .cart-summary__slider,
html.dv-geo .cfg-modal__share,
html.dv-geo .dv-share-toast,
html.dv-geo .cfg-modal__calc-popover,
html.dv-geo .cfg-modal__calc-input,
html.dv-geo .cfg-btn,
html.dv-geo .cfg-item,
html.dv-geo .cfg-item__thumb,
html.dv-geo .cfg-item__zoom,
html.dv-geo .cfg-item__qty,
html.dv-geo .cfg-item_active,
html.dv-geo .coatings-popup__swatch,
html.dv-geo .coatings-popup__color,
html.dv-geo .cfg-coating-swatch,
html.dv-geo .cfg-coating-swatch__color,
html.dv-geo .cfg-swatch-zoom,
html.dv-geo .cfg-color-tile,
html.dv-geo .cfg-radio-group .cfg-item,
html.dv-geo .cfg-dep-toast,
html.dv-geo .product__blade-corner,
html.dv-geo .home-promo__body,
html.dv-geo .home-promo__media,
html.dv-geo .question-modal__panel,
html.dv-geo .question-form__input,
html.dv-geo .question-form__submit,
html.dv-geo .account-order-card,
html.dv-geo .order-detail-modal__panel,
html.dv-geo .collection-hero__media,
html.dv-geo input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
html.dv-geo select,
html.dv-geo textarea,
html.dv-geo [class*="btn"],
html.dv-geo [class*="submit"],
html.dv-geo [class*="input"],
html.dv-geo [class*="field"],
html.dv-geo [class*="chip"],
html.dv-geo [class*="__tab"],
html.dv-geo [class*="__cta"],
html.dv-geo [class*="__panel"],
html.dv-geo [class*="__dialog"],
html.dv-geo [class*="__summary"],
html.dv-geo [class*="card"],
html.dv-geo .cart__item,
html.dv-geo .cart-services__item,
html.dv-geo .account-content,
html.dv-geo .account-aside,
html.dv-geo .order-detail__item,
html.dv-geo .home-build__cell,
html.dv-geo .cfilter__list_scroll,
html.dv-geo .card,
html.dv-geo .cookie-consent,
html.dv-geo .cookie-consent__btn,
html.dv-geo .blog-lead__media,
html.dv-geo .blog-index__thumb,
html.dv-geo .blog-empty,
html.dv-geo .post__cover img,
html.dv-geo .post__video,
html.dv-geo .post__body img,
html.dv-geo .post__tag,
html.dv-geo .post__cta,
html.dv-geo .post-more__card,
html.dv-geo .post-more__media,
html.dv-geo .contact-claims,
html.dv-geo .about-facts__item,
html.dv-geo .blog-item,
html.dv-geo .blog-item__media,
html.dv-geo .home-tile,
html.dv-geo .service-hero,
html.dv-geo .map-module,
html.dv-geo .step-card,
html.dv-geo .faq-item,
html.dv-geo .contact-card,
html.dv-geo .projects-grid .project-card,
html.dv-geo .project-card__media,
html.dv-geo .projects-empty,
html.dv-geo .project-hero__media,
html.dv-geo .project-shot,
html.dv-geo .project-cta,
html.dv-geo .project-lightbox__img,
html.dv-geo .yreviews__frame,
html.dv-geo .auth-page__box,
html.dv-geo .site-search__panel,
html.dv-geo .site-search__x,
html.dv-geo .ss-opt,
html.dv-geo .ss-thumb,
html.dv-geo .ss-icon,
html.dv-geo .ss-col__img,
html.dv-geo .ss-col_skel,
html.dv-geo .ss-quick__link,
html.dv-geo .ss-skel,
html.dv-geo .ss-btn,
html.dv-geo .pdp-toggle,
html.dv-geo .pdp-size,
html.dv-geo .pdp-swatch,
html.dv-geo .pdp-btn,
html.dv-geo .pdp-fav,
html.dv-geo .pdp-coatings-menu,
html.dv-geo .pdp-coatings-menu__grid::-webkit-scrollbar-thumb,
html.dv-geo .pdp-coatings-menu__swatch,
html.dv-geo .pdp-coating-zoom,
html.dv-geo .lp-btn,
html.dv-geo .lp-hero__media img,
html.dv-geo .lp-fact,
html.dv-geo .lp-selector,
html.dv-geo .lp-step,
html.dv-geo .lp-risk,
html.dv-geo .lp-faq__item,
html.dv-geo .lp-form,
html.dv-geo .lp-field__input,
html.dv-geo .lp-method,
html.dv-geo .hw-row,
html.dv-geo .hw-row__media,
html.dv-geo .pay__card,
html.dv-geo .pay__error,
html.dv-geo .pay__btn,
html.dv-geo .catalog-filter__btn,
html.dv-geo .bx-blog-card,
html.dv-geo .cat-tile__img,
html.dv-geo .cfilter__box,
html.dv-geo .cfilter__search,
html.dv-geo .cfilter__swatch,
html.dv-geo .cfilter__price-field,
html.dv-geo .cfilter__range::before,
html.dv-geo .cfilter__apply,
html.dv-geo .cfilter__reset_btn,
html.dv-geo .catalog-toolbar__filter-btn,
html.dv-geo .catalog-toolbar__sort-select,
html.dv-geo .catalog-toolbar__view-btn,
html.dv-geo .card__badge,
html.dv-geo .catalog__pagination a,
html.dv-geo .catalog__pagination span,
html.dv-geo .catalog__loadmore,
html.dv-geo .cfilter__scroll::-webkit-scrollbar-thumb,
html.dv-geo .cfilter,
html.dv-geo .checkout-captcha__img,
html.dv-geo .checkout-captcha__reload,
html.dv-geo .geo-modal__panel,
html.dv-geo .geo-modal:not(.geo-confirm) .geo-modal__panel,
html.dv-geo .geo-modal__close,
html.dv-geo .geo-modal__find,
html.dv-geo .geo-modal__city,
html.dv-geo .geo-confirm__btn,
html.dv-geo[data-bitrix] .order-block,
html.dv-geo[data-bitrix] .order-block__status,
html.dv-geo[data-bitrix] .order-block__service-flag,
html.dv-geo[data-bitrix] .order-door__img,
html.dv-geo .geo-confirm .geo-confirm__panel,
html.dv-geo .geo-confirm .geo-confirm__btn,
html.dv-geo .card__image-wrap,
html.dv-geo .cfg-kit__toggle,
html.dv-geo .dv-tri__leaf figcaption,
html.dv-geo .dv-who__photo,
html.dv-geo .dv-inside__frame,
html.dv-geo .dv-doc__sheet,
html.dv-geo .dv-doc__sheet b,
html.dv-geo .dv-salon,
html.dv-geo .dv-ph__map,
html.dv-geo .dv-ch,
html.dv-geo .dv-topic,
html.dv-geo .hd-wall__photo,
html.dv-geo .hd-sys__opt,
html.dv-geo .hd-sys__img,
html.dv-geo .hd-panels__photo,
html.dv-geo .hd-profiles img,
html.dv-geo .hd-fit__tile,
html.dv-geo .hd-fit__list .hw-row,
html.dv-geo .hd-fit__list .hw-row__media,
html.dv-geo .hd-form__card.lp-form,
html.dv-geo .hd-form__card .lp-field__input,
html.dv-geo .hd-form__card .lp-method,
html.dv-geo .dv-channel,
html.dv-geo .dv-wait__slab,
html.dv-geo .dv-wait__seal,
html.dv-geo .dv-services .dv-service-result,
html.dv-geo .dv-button,
html.dv-geo .dv-tags span,
html.dv-geo .dv-contact-options button,
html.dv-geo .dv-svc__services,
html.dv-geo .dv-svc__service:first-child,
html.dv-geo .dv-svc__service:last-child,
html.dv-geo .cv-btn {
  border-radius: 0;
}

/* End */


/* Start:/local/assets/catalog/catalog2.css?179248551716158*/
/*
 * Каталог — редизайн 18.10.2026 в языке новой главной (шаблон catalog.section/dveryaninov_v2,
 * подключается из catalog/index.php). Префикс .ct-*; классы старого
 * шаблона (cfilter__*, catalog-toolbar__*, catalog__*) оставлены — на них держится
 * js/modules/catalog-filter.js. Карточка — общая карточка сайта, как на главной.
 *
 * Правило заказчика: заливки не темнее подвала (#333) — кнопки бордовые или светлые.
 * Углы острые: страница подключает css/geometry.css (html.dv-geo).
 */
.ct {
  --bg: #F7F5F2;
  --stone: #EDE8E1;
  --ink: #1A1A1A;
  --mute: #75706A;
  --line: rgba(26, 26, 26, .12);
  --accent: #8C1F3B;
  --accent-h: #6E1630;
  --pad: clamp(16px, 3vw, 40px);
  --edge: max(var(--pad), calc((100% - 1440px) / 2 + var(--pad)));
  --ease: cubic-bezier(.22, .61, .36, 1);
  display: block;
  background: #fff;
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  overflow-x: clip;
}
.ct svg { flex: none; }
.ct .ct-wrap { padding: 0 var(--edge); }
.ct .ct-crumbs { margin: 24px 0 0; }

/* Появление при загрузке (catalog2.js): прячем, только если скрипт отметился (ct-js).
   Страховка: не дошёл до ct-go за 3 с — CSS показывает всё сам. */
html.ct-js:not(.ct-go) .ct [data-ct-intro],
html.ct-js:not(.ct-go) .ct [data-ct-line],
html.ct-js:not(.ct-go) .ct .catalog__grid > * { opacity: 0; animation: ct-safe .01s 3s forwards; }
@keyframes ct-safe { to { opacity: 1; } }

/* ---------- заголовок ---------- */
.ct .ct-head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end;
  gap: 24px clamp(32px, 5vw, 96px);
  padding: clamp(28px, 4vw, 64px) 0 clamp(28px, 3.2vw, 48px);
}
/* Размер — как у заголовка страницы «Услуги» (.dv-svc__title). */
.ct .ct-title {
  margin: 0; font-size: clamp(38px, 4.6vw, 68px); line-height: 1.04; letter-spacing: -.04em;
  font-weight: 500; color: var(--ink); text-wrap: balance;
}
.ct .ct-rise { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.ct .ct-rise > span { display: block; }
.ct .ct-head__aside { padding-bottom: .4em; }
.ct .ct-head__main { min-width: 0; }
.ct .ct-about { margin-top: 14px; padding-bottom: 4px; font-size: 14px; }
.ct .ct-tabs { display: flex; gap: 28px; }
.ct .ct-tab {
  padding-bottom: 8px; font-size: 15px; font-weight: 500; color: var(--mute); text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
  transition: background-size .5s var(--ease), color .25s;
}
.ct .ct-tab:hover { color: var(--ink); background-size: 100% 1px; }
.ct .ct-tab.is-active { color: var(--accent); background-size: 100% 2px; }
/* «Скрытые двери» ведут на отдельную страницу — стрелка «наружу». */
.ct .ct-tab_out { display: inline-flex; align-items: center; gap: 6px; }
.ct .ct-tab_out svg { width: 12px; height: 12px; transition: transform .35s var(--ease); }
.ct .ct-tab_out:hover svg { transform: translate(2px, -2px); }

/* ---------- стили: ряд ссылок, как ряд категорий на главной ---------- */
.ct .ct-styles {
  display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr));
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.ct .ct-style {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 22px clamp(14px, 1.6vw, 24px); border-left: 1px solid var(--line);
  font-size: 15px; font-weight: 500; color: var(--ink); text-decoration: none;
  isolation: isolate; overflow: hidden; transition: color .35s;
}
.ct .ct-style:first-child { border-left: 0; padding-left: 0; }
.ct .ct-style::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--bg);
  transform: scaleY(0); transform-origin: 50% 100%; transition: transform .45s var(--ease);
}
.ct .ct-style:first-child::before { left: calc(-1 * var(--edge)); }
.ct .ct-style:hover::before { transform: scaleY(1); }
.ct .ct-style:hover { color: var(--accent); }
.ct .ct-style svg { width: 14px; height: 14px; transition: transform .35s var(--ease); }
.ct .ct-style:hover svg { transform: translate(2px, -2px); }
.ct .ct-style.is-active { color: var(--accent); }
.ct .ct-style.is-active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--accent);
}

/* ---------- раскладка: фильтр + сетка ---------- */
.ct .catalog-layout { margin-top: clamp(28px, 3vw, 48px); grid-template-columns: 248px minmax(0, 1fr); }
.ct .cfilter__legend {
  margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mute);
}
.ct .cfilter__list_scroll { border: 0; padding: 0; }
.ct .cfilter__price-field { border-radius: 0; }
/* Цвета — сетка во всю ширину колонки, крупные квадраты без обводки; выбранный — бордовая рамка. */
.ct .cfilter__colors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ct .cfilter__color { display: block; }
.ct .cfilter__swatch {
  width: 100%; height: auto; aspect-ratio: 1; border: 0; border-radius: 0;
  transition: box-shadow .15s, transform .3s var(--ease);
}
.ct .cfilter__color:hover .cfilter__swatch { transform: translateY(-2px); }
.ct .cfilter__color input:checked + .cfilter__swatch { box-shadow: inset 0 0 0 2px var(--accent); }
.ct .cfilter__color input:focus-visible + .cfilter__swatch { outline: 2px solid var(--accent); outline-offset: 2px; }
.ct .cfilter__actions { display: grid; gap: 8px; padding-top: 16px; }
.ct .cfilter__reset_btn {
  display: flex; align-items: center; justify-content: center; min-height: 44px; border: 0;
  font-size: 14px; color: var(--mute); text-decoration: underline; text-underline-offset: 3px; background: none;
}
.ct .cfilter__reset_btn:hover { color: var(--accent); }

.ct .catalog-toolbar { padding-bottom: 16px; margin-bottom: clamp(20px, 2.4vw, 32px); border-bottom: 1px solid var(--line); }
.ct .catalog-toolbar__sort-select {
  border: 0; border-bottom: 1px solid rgba(26, 26, 26, .3); border-radius: 0; background-color: transparent;
  font: 500 14px/1.2 Manrope, system-ui, sans-serif; color: var(--ink);
}
.ct .catalog-toolbar__view-btn { border-radius: 0; }
.ct .ct-count { margin: 0 auto 0 0; font-size: 14px; color: var(--mute); white-space: nowrap; }

.ct .catalog__grid { gap: clamp(32px, 3vw, 48px) clamp(14px, 1.8vw, 28px); }
.ct .card__cta span { display: inline-block; transition: transform .35s var(--ease); }
.ct .card:hover .card__cta span { transform: translate(2px, -2px); }
.ct .card:hover .card__cta { color: var(--accent); }

/* ---------- вид «списком»: строка с характеристиками ----------
   Характеристики (шаблон кладёт их в .card__info) видны только здесь. */
.ct .ct-specs, .ct .ct-po { display: none; }
.ct .catalog__grid_list { --ct-img: clamp(120px, 13vw, 180px); grid-template-columns: 1fr; gap: 0; }
.ct .catalog__grid_list .card { padding: clamp(20px, 2.2vw, 32px) 0; border-bottom: 1px solid var(--line); }
.ct .catalog__grid_list .card:first-child { padding-top: 0; }
.ct .catalog__grid_list .card__link {
  display: grid; grid-template-columns: var(--ct-img) minmax(0, 1fr); gap: clamp(20px, 3vw, 48px); align-items: start;
}
.ct .catalog__grid_list .card__image-wrap { width: auto; aspect-ratio: 3 / 4; }
.ct .catalog__grid_list .card__fav { top: calc(clamp(20px, 2.2vw, 32px) + 8px); right: auto; left: calc(var(--ct-img) - 44px); }
.ct .catalog__grid_list .card:first-child .card__fav { top: 8px; }
.ct .catalog__grid_list .card__info {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 6px 24px; padding: 4px 0 0;
  grid-template-areas: "title price" "title po" "specs specs" "cta cta";
}
.ct .catalog__grid_list .card__title { grid-area: title; font-size: clamp(20px, 1.8vw, 26px); letter-spacing: -.01em; text-transform: none; }
.ct .catalog__grid_list .card__price { grid-area: price; justify-self: end; font-size: clamp(18px, 1.5vw, 22px); }
.ct .catalog__grid_list .ct-po { grid-area: po; display: block; justify-self: end; font-size: 13px; color: var(--mute); white-space: nowrap; }
.ct .catalog__grid_list .card__cta { grid-area: cta; justify-content: flex-start; margin-top: 18px; font-size: 14px; }
.ct .catalog__grid_list .ct-specs {
  grid-area: specs; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(14px, 1.6vw, 22px); border-top: 1px solid var(--line);
}
.ct .ct-spec { display: grid; align-content: start; gap: 6px; padding: 14px 16px 0 0; }
.ct .ct-spec + .ct-spec { padding-left: 16px; border-left: 1px solid var(--line); }
.ct .ct-spec__k { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.ct .ct-spec__v { font-size: 14px; line-height: 1.5; color: var(--ink); }
.ct .ct-swatches { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 8px; }
.ct .ct-swatch {
  width: 22px; height: 22px; background-size: cover; background-position: center;
  box-shadow: inset 0 0 0 1px rgba(26, 26, 26, .12); transition: transform .3s var(--ease);
}
.ct .card:hover .ct-swatch { transform: translateY(-2px); }
.ct .card:hover .ct-swatch:nth-child(2) { transition-delay: .03s; }
.ct .card:hover .ct-swatch:nth-child(3) { transition-delay: .06s; }
.ct .card:hover .ct-swatch:nth-child(4) { transition-delay: .09s; }
.ct .card:hover .ct-swatch:nth-child(5) { transition-delay: .12s; }
.ct .card:hover .ct-swatch:nth-child(6) { transition-delay: .15s; }
.ct .ct-swatch-more { margin-left: 4px; font-size: 12px; color: var(--mute); }

/* ---------- кнопки (как на главной: заливка поднимается снизу) ---------- */
.ct .ct-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  width: 100%; min-height: 52px; padding: 0 24px; border: 1px solid transparent; border-radius: 0;
  font: 500 15px/1.2 Manrope, system-ui, sans-serif; letter-spacing: 0; text-transform: none;
  white-space: nowrap; cursor: pointer; overflow: hidden; isolation: isolate;
  transition: color .35s var(--ease), border-color .35s, background-color .35s;
}
.ct .ct-btn::before {
  content: ""; position: absolute; inset: 0; z-index: -1; transform: scaleY(0); transform-origin: 50% 100%;
  transition: transform .45s var(--ease);
}
.ct .ct-btn:hover::before { transform: scaleY(1); }
.ct .ct-btn:active { transform: translateY(1px); }
.ct .ct-btn svg { width: 14px; height: 14px; transition: transform .35s var(--ease); }
.ct .ct-btn:hover svg { transform: translate(2px, -2px); }
.ct .ct-btn_accent { background: var(--accent); color: #fff; }
.ct .ct-btn_accent::before { background: var(--accent-h); }
.ct .ct-btn_line { width: auto; background: transparent; color: var(--ink); border-color: rgba(26, 26, 26, .3); }
.ct .ct-btn_line::before { background: var(--accent); }
.ct .ct-btn_line:hover { color: #fff; border-color: var(--accent); }

/* ---------- плитка «подберём» в сетке ---------- */
.ct .ct-tile {
  display: flex; flex-direction: column; justify-content: space-between; gap: 24px;
  padding: clamp(24px, 2.4vw, 36px); background: var(--stone);
}
.ct .ct-tile__title { margin: 0; font-size: clamp(22px, 1.9vw, 30px); line-height: 1.08; letter-spacing: -.03em; font-weight: 500; }
.ct .ct-tile__title span { display: block; color: var(--mute); }
.ct .ct-tile__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--mute); }
.ct .ct-tile .ct-btn { margin-top: auto; }
.ct .catalog__grid_list .ct-tile { display: none; }

/* ---------- подгрузка по мере прокрутки ----------
   Кнопка «Показать ещё» остаётся в разметке (без JS это единственный путь дальше),
   но при работающем catalog2.js (класс ct-auto) прячется: её нажимает прокрутка. */
.ct.ct-auto .catalog__loadmore {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); border: 0; white-space: nowrap;
}
.ct.ct-auto .catalog__loadmore-wrap { position: relative; height: 2px; margin-top: clamp(40px, 5vw, 72px); background: var(--line); overflow: hidden; }
.ct.ct-auto .catalog__loadmore-wrap::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 30%; background: var(--accent);
  transform: translateX(-100%); opacity: 0;
}
.ct.ct-auto .catalog__loadmore-wrap:has(.is-loading)::before { opacity: 1; animation: ct-load 1.1s var(--ease) infinite; }
@keyframes ct-load { to { transform: translateX(340%); } }

/* ---------- текст для поиска ---------- */
.ct .ct-seo { margin-top: clamp(72px, 9vw, 140px); padding: clamp(48px, 6vw, 96px) var(--edge); background: var(--bg); }
.ct .ct-seo .catalog-seo__inner { max-width: 820px; margin: 0; padding: 0; }
.ct .ct-seo .catalog-seo__title { font-size: clamp(28px, 3vw, 44px); line-height: 1.08; letter-spacing: -.03em; font-weight: 500; }
.ct .ct-seo .catalog-seo__subtitle { margin-top: 28px; font-size: 18px; font-weight: 500; }
.ct .ct-seo p { color: #4A4642; }

/* ---------- планшет и телефон ---------- */
@media (max-width: 1100px) {
  .ct .catalog-layout { grid-template-columns: 220px minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .ct .ct-title { font-size: clamp(34px, 9.4vw, 44px); }
}
@media (max-width: 900px) {
  .ct .catalog-layout { grid-template-columns: 1fr; }
  .ct .ct-head { grid-template-columns: 1fr; }
  .ct .ct-head__aside { padding-bottom: 0; }
  .ct .catalog__grid_list .ct-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct .catalog__grid_list .ct-spec:nth-child(3) { padding-left: 0; border-left: 0; }
  .ct .ct-styles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct .ct-style { padding: 16px 14px; border-left: 0; border-top: 1px solid var(--line); }
  .ct .ct-style:first-child { grid-column: 1 / -1; border-top: 0; padding-left: 0; }
  .ct .ct-style:nth-child(2n) { padding-left: 0; }
  .ct .ct-style:nth-child(2n+1):not(:first-child) { border-left: 1px solid var(--line); }
  .ct .ct-style:first-child::before { left: 0; }
  .ct .ct-tile { grid-column: 1 / -1; }
}
/* Стили шаблона до 768 px ставят любой сетке каталога две колонки с !important — список ломался. */
@media (max-width: 768px) {
  .ct .catalog__grid_list { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
  .ct .ct-crumbs { margin-top: 16px; }
  .ct .ct-head { padding: 20px 0 24px; gap: 16px; }
  .ct .ct-count { display: none; }
  .ct .ct-tabs { flex-wrap: wrap; gap: 8px 20px; }
  .ct .catalog__grid_list { --ct-img: 104px; }
  .ct .catalog__grid_list .card__link { flex-direction: unset; gap: 16px; }
  .ct .catalog__grid_list .card__image-wrap { width: auto; }
  .ct .catalog__grid_list .card__fav { left: calc(var(--ct-img) - 40px); width: 32px; height: 32px; }
  .ct .catalog__grid_list .card__info { grid-template-columns: 1fr; grid-template-areas: "title" "price" "po" "specs" "cta"; gap: 4px; }
  .ct .catalog__grid_list .card__title { font-size: 18px; }
  .ct .catalog__grid_list .card__price, .ct .catalog__grid_list .ct-po { justify-self: start; }
  .ct .catalog__grid_list .ct-specs { grid-template-columns: 1fr; }
  .ct .catalog__grid_list .ct-spec { padding: 10px 0 0; border-left: 0; }
  .ct .catalog__grid_list .ct-spec + .ct-spec { padding-left: 0; border-left: 0; }
  .ct .ct-style { font-size: 14px; }
  .ct .catalog__grid { gap: 28px 12px; }
}

/* End */
/* /css/geometry.css?17922731857923 */
/* /local/assets/catalog/catalog2.css?179248551716158 */
