/* ==========================================================================
   ТЕПЛОСИЛА — фирменная тема (фаза 2). Дизайн-токены + база.
   Подключается ПОСЛЕ akkora style.min.css, перекрывает её.
   ========================================================================== */

:root {
  /* Бренд (из логотипа ТЕПЛОСИЛА) */
  --tepl-accent:        #00AEEF;   /* голубой — основной акцент */
  --tepl-accent-dark:   #0094CC;   /* hover */
  --tepl-accent-2:      #E10811;   /* красный — акции/важное */
  --tepl-ink:           #333333;   /* основной текст/заголовки */
  --tepl-ink-2:         #394E67;   /* тёмно-синий текст */
  --tepl-muted:         #64768C;   /* вторичный серо-синий */
  --tepl-line:          #E2E8F0;   /* границы */
  --tepl-bg:            #FFFFFF;
  --tepl-bg-soft:       #FAFBFC;   /* мягкий фон секций */
  --tepl-bg-soft-2:     #F4F6F8;

  /* Раскладка */
  --tepl-container:     1280px;    /* фиксированная ширина контента */
  --tepl-gutter:        20px;
  --tepl-radius:        8px;
  --tepl-radius-lg:     14px;
  --tepl-shadow:        0 6px 24px rgba(57, 78, 103, .08);
  --tepl-shadow-hover:  0 10px 32px rgba(57, 78, 103, .14);

  /* Типографика */
  --tepl-font:          'Open Sans', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Символ рубля ₽ (U+20BD) в Open Sans «прыгает» (глиф из фолбэка с иной метрикой).
   Подменяем ТОЛЬКО этот символ на Arial-глиф для всего семейства — мгновенно (до JS),
   чтобы не было мелькания. Размер ₽ доводит класс .tepl-rub (его навешивает JS). */
@font-face { font-family:'Open Sans'; src:local('Arial'); unicode-range:U+20BD; font-weight:400; font-style:normal; }
@font-face { font-family:'Open Sans'; src:local('Arial'); unicode-range:U+20BD; font-weight:600; font-style:normal; }
@font-face { font-family:'Open Sans'; src:local('Arial Bold'),local('Arial'); unicode-range:U+20BD; font-weight:700; font-style:normal; }

/* --- Reset/база --- */
*, *::before, *::after { box-sizing: border-box; }

/* Хлебные крошки: akkora даёт UPPERCASE — возвращаем обычный регистр */
.brs-list { text-transform:none !important; font-size:14px; color:var(--tepl-muted); }
.brs-list a { color:var(--tepl-accent); }

body.tepl,
.tepl-scope {
  font-family: var(--tepl-font);
  color: var(--tepl-ink);
  background: var(--tepl-bg);
  line-height: 1.5;
}

.tepl-container {
  width: 100%;
  max-width: calc(var(--tepl-container) + var(--tepl-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--tepl-gutter);
}

/* Заголовки секций */
.tepl-section-title {
  font-size: 34px;
  font-weight: 700;
  color: var(--tepl-ink);
  text-align: center;
  margin: 0 0 36px;
}

/* --- Кнопки --- */
.tepl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 26px;
  border: 0;
  border-radius: var(--tepl-radius);
  font: inherit;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.tepl-btn--primary {
  background: var(--tepl-accent);
  color: #fff;
}
.tepl-btn--primary:hover { background: var(--tepl-accent-dark); color: #fff; }

.tepl-btn--ghost {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, .9);
}
.tepl-btn--ghost:hover { background: #fff; color: var(--tepl-ink); }

/* вторичная кнопка для СВЕТЛОГО фона (404, пустая корзина и т.п.) */
.tepl-btn--outline { background: #fff; color: var(--tepl-accent); border: 2px solid var(--tepl-accent); }
.tepl-btn--outline:hover { background: var(--tepl-accent); color: #fff; }

.tepl-btn--outline {
  background: #fff;
  color: var(--tepl-accent);
  border: 1px solid var(--tepl-accent);
}
.tepl-btn--outline:hover { background: var(--tepl-accent); color: #fff; }

.tepl-btn--block { width: 100%; }

/* Утилиты */
.tepl-soft { background: var(--tepl-bg-soft); }
.tepl-section { padding: 64px 0; }

/* ==========================================================================
   ШАПКА (B1)
   ========================================================================== */
.tepl-header { background:#fff; position:relative; z-index:50; }

/* --- Строка 1 --- */
.tepl-header__main { border-bottom:1px solid var(--tepl-line); }
.tepl-header__main-inner {
  display:flex; align-items:center; gap:32px; min-height:92px;
}
.tepl-header__logo { flex:0 0 auto; display:block; }
.tepl-header__logo img { display:block; height:56px; width:auto; }

.tepl-header__city { flex:0 0 auto; display:flex; flex-direction:column; align-items:center; text-align:center; line-height:1.2; }
.tepl-header__city-name { font-weight:700; font-size:16px; color:var(--tepl-ink); }
.tepl-header__city-link { font-size:13px; color:var(--tepl-accent); text-decoration:none; border-bottom:1px dashed currentColor; align-self:center; }
.tepl-header__city-link:hover { color:var(--tepl-accent-dark); }
.tepl-header__city-address { display:inline-flex; align-items:center; gap:5px; margin-top:6px; font-size:12.5px; color:var(--tepl-muted); line-height:1.2; white-space:nowrap; }
.tepl-header__city-address svg { flex:0 0 auto; }

.tepl-header__nav { flex:1 1 auto; }
.tepl-menu { display:flex; align-items:center; justify-content:center; gap:30px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.tepl-menu a { color:var(--tepl-ink); text-decoration:none; font-size:15px; font-weight:600; transition:color .15s ease; white-space:nowrap; }
.tepl-menu a:hover, .tepl-menu .current-menu-item > a { color:var(--tepl-accent); }

.tepl-header__cart { flex:0 0 auto; display:flex; align-items:center; gap:10px; text-decoration:none; }
.tepl-header__cart-ic { display:flex; }
.tepl-header__cart-txt { display:flex; flex-direction:column; line-height:1.25; }
.tepl-header__cart-txt b { font-size:14px; color:var(--tepl-ink); font-weight:700; }
.tepl-header__cart-txt span { font-size:13px; color:var(--tepl-muted); }

.tepl-header__burger { display:none; }

/* --- Строка 2 --- */
.tepl-header__bar { background:var(--tepl-bg-soft-2); }
.tepl-header__bar-inner { display:flex; align-items:center; gap:28px; min-height:64px; }

.tepl-header__rating { flex:0 0 auto; display:flex; align-items:center; gap:10px; text-decoration:none; }
.tepl-header__rating-badge {
  display:flex; align-items:center; justify-content:center;
  width:38px; height:46px; background:var(--tepl-accent); color:#fff;
  font-weight:700; font-size:16px; border-radius:4px;
  clip-path: polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);
}
.tepl-header__rating-text { font-size:13px; color:var(--tepl-muted); line-height:1.25; }

.tepl-header__search { flex:1 1 auto; position:relative; max-width:760px; }
.tepl-header__search-input {
  width:100%; height:44px; border:1px solid var(--tepl-line); border-radius:6px;
  background:#fff; padding:0 48px 0 18px; font:inherit; font-size:15px; color:var(--tepl-ink);
}
.tepl-header__search-input::placeholder { color:#9AA8B8; }
.tepl-header__search-input:focus { outline:none; border-color:var(--tepl-accent); }
.tepl-header__search-btn { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:38px; height:38px; background:none; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; }

.tepl-header__contacts { flex:0 0 auto; display:flex; align-items:center; gap:28px; }
.tepl-header__phone-wrap { display:flex; align-items:center; gap:8px; }
.tepl-header__phone-ic { display:flex; }
.tepl-header__phone { font-weight:700; font-size:18px; color:var(--tepl-ink); text-decoration:none; white-space:nowrap; }
.tepl-header__callback { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; padding:9px 16px; border:1.5px solid var(--tepl-accent); border-radius:var(--tepl-radius); color:var(--tepl-accent); font-weight:600; font-size:14px; text-decoration:none; transition:background .15s ease, color .15s ease; }
.tepl-header__callback:hover { background:var(--tepl-accent); color:#fff; }
.tepl-header__callback svg { flex:0 0 auto; }
.tepl-header__phone:hover { color:var(--tepl-accent); }
.tepl-header__phone-toggle { background:none; border:0; cursor:pointer; padding:2px; display:flex; }
.tepl-header__messengers { display:flex; align-items:center; gap:6px; margin-left:4px; }
.tepl-msg { display:flex; transition:transform .15s ease; }
.tepl-msg:hover { transform:translateY(-2px); }
.tepl-header__address { display:flex; align-items:center; gap:7px; font-size:13.5px; color:var(--tepl-muted); white-space:nowrap; }
.tepl-header__address-ic { display:flex; }

/* --- адаптив-заглушка (детально в F1) --- */
@media (max-width:991px){
  .tepl-header__nav, .tepl-header__bar { display:none; }
  .tepl-header__burger { display:flex; flex-direction:column; gap:5px; width:42px; height:42px; align-items:center; justify-content:center; background:var(--tepl-accent); border:0; border-radius:6px; cursor:pointer; margin-left:auto; }
  .tepl-header__burger span { width:22px; height:2px; background:#fff; border-radius:2px; }
  .tepl-header__main-inner { gap:16px; min-height:70px; }
}

/* Сброс верхнего отступа akkora (.page-main padding-top:205px) */
body.tepl .page-main { padding-top:0 !important; }

/* ==========================================================================
   БАННЕР HERO (C1)
   ========================================================================== */
.tepl-hero {
  position:relative;
  background:#243240 linear-gradient(115deg,#1c2a36 0%,#2b3d4d 45%,#33485a 100%);
  background-size:cover; background-position:center;
  color:#fff; overflow:hidden;
}
.tepl-hero::after { /* затемнение для читаемости текста поверх фото */
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(20,30,40,.82) 0%, rgba(20,30,40,.55) 45%, rgba(20,30,40,.15) 100%);
}
.tepl-hero__inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:520px; }
.tepl-hero__content { max-width:560px; flex:0 0 auto; padding:40px 0; }
.tepl-hero__media { position:relative; flex:0 1 auto; align-self:stretch; display:flex; align-items:flex-end; justify-content:flex-end; pointer-events:none; }
/* осветление-подсветка позади товаров (в самом блоке, не в картинке) */
.tepl-hero__media::before { content:""; position:absolute; z-index:0; left:-16%; right:-2%; top:-4%; bottom:2%; background:radial-gradient(closest-side at 42% 52%, rgba(95,175,235,.34), rgba(95,175,235,.11) 56%, transparent 80%); }
.tepl-hero__media picture, .tepl-hero__media img { position:relative; z-index:1; }
.tepl-hero__media img { max-width:100%; max-height:380px; width:auto; height:auto; object-fit:contain; }
@media (max-width:992px){ .tepl-hero__media { display:none; } .tepl-hero__inner { justify-content:flex-start; } }
.tepl-hero__label { display:block; font-size:22px; font-weight:400; color:rgba(255,255,255,.9); margin-bottom:6px; }
.tepl-hero__title { font-size:54px; font-weight:800; line-height:1.05; margin:0 0 14px; letter-spacing:-.5px; }
.tepl-hero__sub { font-size:22px; font-weight:400; color:rgba(255,255,255,.92); margin:0 0 30px; }
.tepl-hero__btns { display:flex; gap:16px; flex-wrap:wrap; }
.tepl-hero__btns .tepl-btn { height:52px; padding:0 30px; font-size:15px; }

@media (max-width:768px){
  .tepl-hero__inner { min-height:380px; }
  .tepl-hero__title { font-size:34px; }
  .tepl-hero__label, .tepl-hero__sub { font-size:18px; }
  .tepl-hero__btns .tepl-btn { width:100%; }
}

/* ==========================================================================
   НАША ПРОДУКЦИЯ (C2)
   ========================================================================== */
.tepl-prodgrid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.tepl-prodcard {
  display:flex; flex-direction:column; align-items:center; gap:12px;
  background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg);
  padding:26px 22px; text-decoration:none; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.tepl-prodcard:hover { box-shadow:var(--tepl-shadow-hover); transform:translateY(-4px); border-color:transparent; }
.tepl-prodcard__img {
  display:flex; align-items:center; justify-content:center;
  width:100%; height:190px; margin-bottom:6px; overflow:hidden; border-radius:var(--tepl-radius);
}
.tepl-prodcard__img img { max-width:100%; max-height:100%; object-fit:contain; transition:transform .3s ease; }
.tepl-prodcard:hover .tepl-prodcard__img img { transform:scale(1.06); }
.tepl-prodcard__ph {
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; background:var(--tepl-bg-soft-2); border-radius:var(--tepl-radius);
}
.tepl-prodcard__name {
  font-size:17px; color:var(--tepl-ink); text-align:center; font-weight:700;
  transition:color .18s ease;
}
.tepl-prodcard:hover .tepl-prodcard__name { color:var(--tepl-accent); }
.tepl-prodcard__count { font-size:13px; color:var(--tepl-muted); margin-top:-4px; }
.tepl-prodcard__go { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--tepl-accent);
  opacity:0; transform:translateY(4px); transition:opacity .2s ease, transform .2s ease; }
.tepl-prodcard:hover .tepl-prodcard__go { opacity:1; transform:none; }
.tepl-prodcard__go svg { transition:transform .2s ease; }
.tepl-prodcard:hover .tepl-prodcard__go svg { transform:translateX(3px); }
.tepl-products__more { display:flex; justify-content:center; margin-top:36px; }
.tepl-products__more .tepl-btn { min-width:320px; height:52px; }

@media (max-width:768px){
  .tepl-prodgrid { grid-template-columns:repeat(2,1fr); gap:14px; }
  .tepl-prodcard__img { height:130px; }
  .tepl-prodcard__go { display:none; }
  .tepl-products__more .tepl-btn { width:100%; min-width:0; }
}
@media (max-width:420px){ .tepl-prodgrid { grid-template-columns:1fr; } }

/* ==========================================================================
   ПОЧЕМУ ТЕПЛОСИЛА (C3)
   ========================================================================== */
.tepl-why__title { text-align:left; margin-bottom:34px; max-width:680px; }
.tepl-why__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.tepl-why__item { display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px;
  background:#fff; border:1px solid var(--tepl-line); border-radius:18px; padding:32px 24px 28px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.tepl-why__item:hover { transform:translateY(-4px); box-shadow:var(--tepl-shadow-hover); border-color:transparent; }
.tepl-why__ic {
  display:flex; align-items:center; justify-content:center;
  width:84px; height:84px; border-radius:50%;
  background:linear-gradient(145deg,#eaf7fe,#f6fbff); box-shadow:inset 0 0 0 1px rgba(0,174,239,.14);
}
.tepl-why__name { font-size:17px; font-weight:700; color:var(--tepl-ink); }
.tepl-why__desc { font-size:14px; line-height:1.5; color:var(--tepl-muted); }
@media (max-width:768px){ .tepl-why__grid { grid-template-columns:repeat(2,1fr); gap:14px; } .tepl-why__item{ padding:26px 18px 22px; } .tepl-why__title{ text-align:center; } }
@media (max-width:480px){ .tepl-why__grid { grid-template-columns:1fr; } }

/* ==========================================================================
   КАРТОЧКА ТОВАРА / ПОПУЛЯРНЫЕ (C4) — .tepl-pcard переиспользуется
   ========================================================================== */
.tepl-pgrid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.tepl-pcard {
  position:relative; display:flex; flex-direction:column; gap:12px;
  background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg);
  padding:18px; transition:box-shadow .18s ease, border-color .18s ease;
}
.tepl-pcard:hover { box-shadow:var(--tepl-shadow-hover); border-color:transparent; }
.tepl-pcard__badge {
  position:absolute; top:12px; left:12px; z-index:2;
  background:var(--tepl-accent-2); color:#fff; font-size:12px; font-weight:700;
  padding:4px 10px; border-radius:4px;
}
.tepl-pcard__img { display:flex; align-items:center; justify-content:center; height:170px; text-decoration:none; }
.tepl-pcard__img img { max-width:100%; max-height:100%; object-fit:contain; }
.tepl-pcard__ph { display:flex; align-items:center; justify-content:center; width:100%; height:100%; background:var(--tepl-bg-soft-2); border-radius:var(--tepl-radius); }
.tepl-pcard__name { font-size:14px; color:var(--tepl-ink); text-decoration:none; font-weight:600; line-height:1.35; min-height:38px; }
.tepl-pcard__name:hover { color:var(--tepl-accent); }
.tepl-pcard__prices { display:flex; align-items:baseline; justify-content:center; gap:10px; margin-top:auto; }
.tepl-pcard__price { font-size:18px; font-weight:800; color:var(--tepl-ink); }
.tepl-pcard__old { font-size:14px; color:#9AA8B8; text-decoration:line-through; }
@media (max-width:1100px){ .tepl-pgrid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:768px){ .tepl-pgrid { grid-template-columns:repeat(2,1fr); gap:12px; } }
@media (max-width:420px){ .tepl-pgrid { grid-template-columns:1fr; } }

/* ==========================================================================
   ЧАСТЫЕ ВОПРОСЫ — аккордеон (C5)
   ========================================================================== */
.tepl-acc { max-width:980px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.tepl-acc__item { border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); background:#fff; overflow:hidden; transition:border-color .15s ease; }
.tepl-acc__head { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; background:none; border:0; cursor:pointer; text-align:left; font:inherit; }
.tepl-acc__q { font-size:16px; font-weight:600; color:var(--tepl-ink); }
.tepl-acc__ic { position:relative; flex:0 0 auto; width:30px; height:30px; border-radius:6px; background:var(--tepl-bg-soft-2); }
.tepl-acc__ic::before, .tepl-acc__ic::after { content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:var(--tepl-muted); }
.tepl-acc__ic::before { width:12px; height:2px; }
.tepl-acc__ic::after  { width:2px; height:12px; transition:opacity .15s ease; }
.tepl-acc__body { max-height:0; overflow:hidden; transition:max-height .25s ease; }
.tepl-acc__a { padding:0 22px 20px; color:var(--tepl-muted); font-size:15px; line-height:1.6; }
.tepl-acc__a p { margin:0 0 10px; }
/* открытый */
.tepl-acc__item.is-open { border-color:var(--tepl-accent); }
.tepl-acc__item.is-open .tepl-acc__head { background:var(--tepl-accent); }
.tepl-acc__item.is-open .tepl-acc__q { color:#fff; }
.tepl-acc__item.is-open .tepl-acc__ic { background:rgba(255,255,255,.25); }
.tepl-acc__item.is-open .tepl-acc__ic::before, .tepl-acc__item.is-open .tepl-acc__ic::after { background:#fff; }
.tepl-acc__item.is-open .tepl-acc__ic::after { opacity:0; }

/* ==========================================================================
   ОСТАЛИСЬ ВОПРОСЫ — CTA (C6)
   ========================================================================== */
.tepl-cta { position:relative; background:#0d2233 linear-gradient(115deg,#005f86,#00AEEF); background-size:cover; background-position:center; color:#fff; }
.tepl-cta::after { content:""; position:absolute; inset:0; background-color:rgba(8,28,42,.45); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.07'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Ccircle cx='33' cy='33' r='8'/%3E%3C/g%3E%3C/svg%3E"); }
.tepl-cta__inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:32px; padding:54px 0; flex-wrap:wrap; }
.tepl-cta__title { font-size:34px; font-weight:800; margin:0 0 8px; }
.tepl-cta__sub { font-size:17px; color:rgba(255,255,255,.9); margin:0; max-width:560px; }
.tepl-cta__action { display:flex; flex-direction:column; align-items:center; gap:12px; }
.tepl-cta__btn { background:#fff; color:var(--tepl-accent); height:54px; padding:0 38px; font-size:16px; }
.tepl-cta__btn:hover { background:var(--tepl-ink); color:#fff; }
.tepl-cta__phone { color:rgba(255,255,255,.9); font-size:15px; text-decoration:none; white-space:nowrap; }
.tepl-cta__phone b { font-weight:700; color:#fff; border-bottom:1px solid rgba(255,255,255,.45); }
.tepl-cta__phone:hover b { border-bottom-color:#fff; }

/* ==========================================================================
   SEO-ТЕКСТ (C8)
   ========================================================================== */
.tepl-seo__title { margin-bottom:24px; }
.tepl-seo__text { color:var(--tepl-muted); font-size:15px; line-height:1.7; max-width:1100px; margin:0 auto; position:relative; }
.tepl-seo__text p { margin:0 0 14px; }
.tepl-seo__text[data-collapsed="1"] { max-height:150px; overflow:hidden; -webkit-mask-image:linear-gradient(#000 60%, transparent); mask-image:linear-gradient(#000 60%, transparent); }
.tepl-seo__toggle { display:block; margin:18px auto 0; background:none; border:0; color:var(--tepl-accent); font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
.tepl-seo__toggle:hover { color:var(--tepl-accent-dark); }
@media (max-width:768px){ .tepl-cta__inner{ padding:36px 0; } .tepl-cta__title{ font-size:26px; } .tepl-cta__action{ width:100%; } .tepl-cta__btn{ width:100%; } }

/* ==========================================================================
   ПОЛЕЗНЫЕ СТАТЬИ (C7)
   ========================================================================== */
.tepl-articles__head { display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:34px; }
.tepl-articles__title { margin:0; }
.tepl-articles__subs { display:flex; gap:26px; flex-wrap:wrap; justify-content:center; }
.tepl-articles__subs a { color:var(--tepl-muted); text-decoration:none; font-size:15px; border-bottom:1px dashed transparent; }
.tepl-articles__subs a:hover { color:var(--tepl-accent); border-bottom-color:var(--tepl-accent); }
.tepl-articles__slider { position:relative; padding:0 4px; }
.tepl-artcard { display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); overflow:hidden; padding-bottom:18px; text-decoration:none; height:100%; transition:box-shadow .18s ease; }
.tepl-artcard:hover { box-shadow:var(--tepl-shadow-hover); }
.tepl-artcard__img { display:block; height:190px; background:var(--tepl-bg-soft-2); }
.tepl-artcard__img img { width:100%; height:100%; object-fit:cover; display:block; }
.tepl-artcard__ph { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  background:linear-gradient(135deg,#0094CC 0%,#00AEEF 55%,#39c0f0 100%); overflow:hidden; }
.tepl-artcard__ph::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 18%, rgba(255,255,255,.22), transparent 42%); }
.tepl-artcard__ph svg { position:relative; z-index:1; opacity:.85; }
.tepl-artcard__ph-logo { position:absolute; left:0; right:0; bottom:14px; z-index:1; text-align:center;
  font-size:13px; font-weight:800; letter-spacing:1.5px; color:rgba(255,255,255,.9); }
.tepl-artcard__date { padding:14px 18px 0; font-size:13px; color:#9AA8B8; }
.tepl-artcard__name { padding:0 18px; font-size:16px; font-weight:600; color:var(--tepl-ink); line-height:1.35; }
.tepl-artcard__more { padding:4px 18px 0; margin-top:auto; color:var(--tepl-accent); font-size:14px; font-weight:600; }
.tepl-articles__nav { position:absolute; top:42%; z-index:5; width:46px; height:46px; border-radius:50%; background:#fff; border:1px solid var(--tepl-line); box-shadow:var(--tepl-shadow); color:var(--tepl-ink-2); font-size:24px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.tepl-articles__nav--prev { left:-18px; }
.tepl-articles__nav--next { right:-18px; }
.tepl-articles__nav:hover { color:var(--tepl-accent); }
.tepl-articles__more { display:flex; justify-content:center; margin-top:34px; }
.tepl-articles__more .tepl-btn { min-width:280px; height:50px; }
@media (max-width:768px){ .tepl-articles__nav{ display:none; } .tepl-articles__more .tepl-btn{ width:100%; } }

/* ==========================================================================
   КАРТА + КОНТАКТЫ (C9)
   ========================================================================== */
.tepl-mapsec { position:relative; }
.tepl-mapsec__map { width:100%; height:480px; background:var(--tepl-bg-soft-2); }
.tepl-mapsec__map iframe { display:block; width:100%; height:100%; border:0; filter:grayscale(.15); }
/* Карта на ymaps JS с меткой-логотипом */
.tepl-yamap { width:100%; height:100%; min-height:360px; }
/* Тонировка карты под цвет сайта (только слой тайлов, метку/контролы не трогаем) */
.tepl-yamap [class*="ground-pane"] { filter:grayscale(1) brightness(1.05) sepia(.3) hue-rotate(175deg) saturate(1.15); }
.tepl-maplogo { position:absolute; left:0; top:0; transform:translate(-50%,-100%); background:#fff; border-radius:12px; padding:8px 14px; box-shadow:0 6px 20px rgba(0,0,0,.28); white-space:nowrap; }
.tepl-maplogo__img { display:block; width:112px; height:34px; background-size:contain; background-repeat:no-repeat; background-position:center; pointer-events:none; }
.tepl-maplogo__tip { position:absolute; left:50%; bottom:-7px; transform:translateX(-50%); width:0; height:0; border:7px solid transparent; border-top-color:#fff; }
.tepl-mapsec__overlay { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; }
.tepl-contactcard {
  pointer-events:auto; width:330px; background:var(--tepl-accent); color:#fff;
  border-radius:var(--tepl-radius-lg); padding:26px 28px; box-shadow:var(--tepl-shadow-hover);
}
.tepl-contactcard__city { font-size:20px; font-weight:800; margin-bottom:4px; }
.tepl-contactcard__addr { font-size:14px; color:rgba(255,255,255,.9); margin-bottom:16px; }
.tepl-contactcard__phone { display:block; font-size:22px; font-weight:800; color:#fff; text-decoration:none; margin-bottom:6px; }
.tepl-contactcard__hours { font-size:13px; color:rgba(255,255,255,.85); margin-bottom:16px; }
.tepl-contactcard__socials { display:flex; gap:10px; margin-bottom:18px; }
.tepl-contactcard__socials a { display:flex; width:34px; height:34px; align-items:center; justify-content:center; background:rgba(255,255,255,.18); border-radius:50%; }
.tepl-contactcard__socials svg, .tepl-contactcard__socials img { width:18px; height:18px; }
.tepl-contactcard__socials a.tepl-contactcard__msg { background:#fff; }
.tepl-contactcard__socials a.tepl-contactcard__msg:hover { background:#fff; transform:translateY(-1px); }
.tepl-contactcard__socials a.tepl-contactcard__msg svg { width:20px; height:20px; }
.tepl-contactcard__btn { display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 26px; background:var(--tepl-ink); color:#fff; border-radius:var(--tepl-radius); text-decoration:none; font-weight:600; font-size:14px; transition:background .15s ease; }
.tepl-contactcard__btn:hover { background:#1f2b38; }
@media (max-width:768px){
  .tepl-mapsec__map { height:360px; }
  .tepl-mapsec__overlay { position:static; transform:none; padding:0; margin-top:-90px; }
  .tepl-contactcard { width:auto; margin:0 16px; position:relative; z-index:3; }
}

/* ==========================================================================
   ФУТЕР (C10)
   ========================================================================== */
.tepl-footer { background:#3A4450; color:#cfd6dd; }
.tepl-footer__top { display:flex; gap:48px; padding:54px 20px 44px; flex-wrap:wrap; }
.tepl-footer__brand { flex:0 0 280px; display:flex; flex-direction:column; gap:10px; }
.tepl-footer__logo img { height:52px; width:auto; display:block; margin-bottom:8px; }
.tepl-footer__phone { color:#fff; font-size:20px; font-weight:700; text-decoration:none; }
.tepl-footer__email { color:#cfd6dd; text-decoration:none; font-size:15px; }
.tepl-footer__email:hover, .tepl-footer__phone:hover { color:var(--tepl-accent); }
.tepl-footer__hours { font-size:14px; color:#9aa6b2; }
.tepl-footer__cols { flex:1 1 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.tepl-footer__title { color:#fff; font-weight:700; font-size:16px; margin-bottom:16px; }
.tepl-footer__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.tepl-footer__list a { color:#aeb7c1; text-decoration:none; font-size:14px; transition:color .15s ease; }
.tepl-footer__list a:hover { color:var(--tepl-accent); }
.tepl-footer__bottom { background:#323b46; }
.tepl-footer__bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; flex-wrap:wrap; }
.tepl-footer__copy { font-size:13px; color:#9aa6b2; }
.tepl-footer__legal { display:flex; gap:20px; }
.tepl-footer__legal a { font-size:13px; color:#9aa6b2; text-decoration:none; }
.tepl-footer__legal a:hover { color:var(--tepl-accent); }
@media (max-width:768px){
  .tepl-footer__top { gap:30px; padding:36px 20px 30px; }
  .tepl-footer__brand { flex-basis:100%; }
  .tepl-footer__cols { grid-template-columns:repeat(2,1fr); gap:24px; }
  .tepl-footer__bottom-inner { flex-direction:column; align-items:flex-start; gap:10px; }
}

/* ==========================================================================
   КАРТОЧКА ТОВАРА — голова (D1)
   ========================================================================== */
.tepl-btn--accent { background:var(--tepl-accent); color:#fff; }
.tepl-btn--accent:hover { background:var(--tepl-accent-dark); color:#fff; }
.tepl-btn svg { flex:0 0 auto; }

.product-card { padding:26px 0 50px; }
.product-card .brs-list { margin-bottom:22px; font-size:13px; color:var(--tepl-muted); }
.product-card .brs-list a { color:var(--tepl-muted); text-decoration:none; }
.product-card .brs-list a:hover { color:var(--tepl-accent); }

.single-item__head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:26px; }
.single-item__head h1 { font-size:30px; font-weight:800; color:var(--tepl-ink); margin:0; line-height:1.2; }
.single-item__art { flex:0 0 auto; font-size:13px; color:var(--tepl-muted); white-space:nowrap; }

.single-item__content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr); gap:30px; align-items:start; }
/* колонку цены/кнопок центрируем по горизонтали в её треке (между картинкой и тизерами) */
.single-item__right { justify-self:center; }
.single-item__prices { text-align:center; }
.single-item__prices .item-price__wrap { justify-content:center; }
.single-item__art--col { text-align:center; }
@media (max-width:992px){ .single-item__content { grid-template-columns:1fr 1fr; } .single-item__info-col{ grid-column:1 / -1; } }
@media (max-width:640px){ .single-item__content { grid-template-columns:1fr; } .single-item__head{ flex-direction:column; gap:6px; } }

/* артикул в колонке цены */
.single-item__art { flex:0 0 auto; font-size:13px; color:var(--tepl-muted); white-space:nowrap; }
.single-item__art--col { white-space:normal; margin-bottom:14px; }
.single-item__art--col span { color:var(--tepl-ink); font-weight:600; }

/* цена */
.item-price__label { font-size:14px; color:var(--tepl-muted); margin-bottom:6px; }
.item-price__wrap { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.item-price__real { font-size:30px; font-weight:800; color:var(--tepl-ink); display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.item-price__old { font-size:18px; color:#9AA8B8; text-decoration:line-through; }
/* символ рубля - более плотный шрифт (родной слишком тонкий) */
.tepl-rub { font-family:Arial,"Helvetica Neue",Helvetica,sans-serif; font-weight:inherit; font-size:1em; vertical-align:baseline; }
.item-btns { display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.item-btns .tepl-btn { height:52px; white-space:nowrap; }

/* подсказка «?» у цены */
.item-price__hint { position:relative; display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; padding:0; border:0; background:none; cursor:help; vertical-align:middle; }
.item-price__hint-q { display:flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; background:var(--tepl-accent); color:#fff; font-size:13px; font-weight:700; line-height:1; }
.item-price__tip { position:absolute; bottom:calc(100% + 10px); left:auto; right:-6px; transform:translateY(4px); width:240px; max-width:min(240px,80vw); background:#37404a; color:#fff; font-size:13px; font-weight:400; line-height:1.4; white-space:normal; padding:10px 12px; border-radius:8px; box-shadow:0 8px 22px rgba(0,0,0,.22); opacity:0; visibility:hidden; transition:opacity .15s ease, transform .15s ease; z-index:30; text-align:left; }
.item-price__tip::after { content:""; position:absolute; top:100%; left:auto; right:10px; transform:none; border:6px solid transparent; border-top-color:#37404a; }
/* невидимый «мост» через зазор до иконки — тултип не закрывается при переходе курсора к ссылке */
.item-price__tip::before { content:""; position:absolute; top:100%; left:0; right:0; height:14px; }
.item-price__hint:hover .item-price__tip, .item-price__hint:focus .item-price__tip, .item-price__hint:focus-within .item-price__tip { opacity:1; visibility:visible; transform:translateY(0); }
.item-price__tip-link { display:inline-block; margin-top:7px; color:#7ecbff; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.item-price__tip-link:hover, .item-price__tip-link:focus { color:#fff; }

/* правая колонка: панели + плитки */
.tepl-pinfo__panels { display:flex; flex-direction:column; }
.tepl-pinfo__panel { display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--tepl-line); }
.tepl-pinfo__panel:first-child { padding-top:0; }
.tepl-pinfo__ic { flex:0 0 auto; display:flex; margin-top:1px; }
.tepl-pinfo__body { flex:1 1 auto; min-width:0; }
.tepl-pinfo__label { font-size:15px; font-weight:700; color:var(--tepl-ink); margin-bottom:5px; }
.tepl-pinfo__text { font-size:13.5px; color:var(--tepl-muted); line-height:1.5; }

/* CF7 формы в модалках/на странице контактов */
.wpcf7-form { display:flex; flex-direction:column; gap:14px; margin-top:8px; }
.wpcf7-form p { margin:0; }
.wpcf7-form .iti { width:100%; }
.wpcf7-form input[type=text], .wpcf7-form input[type=tel], .wpcf7-form input[type=email], .wpcf7-form textarea {
  width:100%; height:48px; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius);
  padding:0 16px; font:inherit; font-size:15px; color:var(--tepl-ink); background:#fff; box-sizing:border-box;
}
.wpcf7-form textarea { height:auto; min-height:120px; padding:12px 16px; resize:vertical; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { outline:none; border-color:var(--tepl-accent); box-shadow:0 0 0 3px rgba(0,174,239,.12); }
.wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder { color:#9AA8B8; }
.wpcf7-form .wpcf7-submit {
  height:50px; padding:0 30px; border:0; border-radius:var(--tepl-radius);
  background:var(--tepl-accent); color:#fff; font-weight:600; font-size:15px; cursor:pointer;
  align-self:flex-start; transition:background .15s ease;
}
.wpcf7-form .wpcf7-submit:hover { background:var(--tepl-accent-dark); }
.wpcf7-not-valid-tip { color:var(--tepl-accent-2); font-size:13px; margin-top:4px; }
.wpcf7-response-output { border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); padding:10px 14px; font-size:14px; margin:0; }
.tepl-pinfo__tiles { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.tepl-tile { display:flex; align-items:center; gap:12px; padding:16px 14px; background:var(--tepl-bg-soft-2); border-radius:var(--tepl-radius); text-decoration:none; transition:background .15s ease; }
.tepl-tile:hover { background:#E9EEF3; }
.tepl-tile__ic { flex:0 0 auto; display:flex; }
.tepl-tile__t { font-size:13.5px; font-weight:600; color:var(--tepl-ink-2); }
.tepl-gallery-ph { display:flex; align-items:center; justify-content:center; width:100%; min-height:420px; background:var(--tepl-bg-soft-2); border-radius:var(--tepl-radius-lg); border:1px solid var(--tepl-line); }

/* Галерея товара — собственная (без Swiper akkora) */
.single-item__images { width:100%; max-width:none; }
/* убираем внешнюю рамку akkora у колонки картинки — иначе двойная обводка с .tepl-pgallery__main */
.single-item__images { border:0; padding:0; background:none; border-radius:0; }
.tepl-pgallery { width:100%; }
.tepl-pgallery__main { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1/1; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); overflow:hidden; padding:18px; box-sizing:border-box; }
.tepl-pgallery__main img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.tepl-pgallery__thumbs { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.tepl-pgallery__thumb { width:72px; height:72px; padding:5px; background:#fff; border:2px solid var(--tepl-line); border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .15s ease; }
.tepl-pgallery__thumb:hover { border-color:var(--tepl-accent); }
.tepl-pgallery__thumb.is-active { border-color:var(--tepl-accent); }
.tepl-pgallery__thumb img { max-width:100%; max-height:100%; object-fit:contain; }
.tepl-pgallery__hidden { display:none !important; }

/* Селектор размеров (много типоразмеров) */
.tepl-selector__count { font-size:14px; font-weight:400; color:var(--tepl-muted); margin-left:8px; }
.tepl-selector { background:var(--tepl-bg-soft-2); border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:20px 22px; }
.tepl-selector__controls { display:flex; flex-wrap:wrap; gap:16px; }
.tepl-selector__field { display:flex; flex-direction:column; gap:6px; min-width:160px; flex:1 1 160px; }
.tepl-selector__lbl { font-size:13px; color:var(--tepl-muted); }
.tepl-selector__sel { height:46px; padding:0 14px; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); background:#fff; font-size:15px; color:var(--tepl-ink); cursor:pointer; }
.tepl-selector__hint { margin-top:16px; font-size:14px; color:var(--tepl-muted); }
.tepl-selector__found { margin-top:18px; padding-top:18px; border-top:1px solid var(--tepl-line); }
.tepl-selector__pricewrap { display:flex; align-items:baseline; gap:10px; }
.tepl-selector__price { font-size:28px; font-weight:800; color:var(--tepl-ink); }
.tepl-selector__old { font-size:16px; color:#9AA8B8; text-decoration:line-through; }
.tepl-selector__art { font-size:13px; color:var(--tepl-muted); margin-top:4px; }
.tepl-selector__buy { display:flex; align-items:center; gap:14px; margin-top:16px; flex-wrap:wrap; }
.tepl-selector__buy .tepl-btn { height:50px; padding:0 30px; }

/* Фильтр размеров чипами (стиль Ventorus) */
.tepl-vfilter__group { margin-bottom:18px; }
.tepl-vfilter__label { font-size:14px; font-weight:600; color:var(--tepl-ink); margin-bottom:10px; }
.tepl-vfilter__chips { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.tepl-chip { display:inline-flex; align-items:center; justify-content:center; min-width:46px; height:42px; padding:0 14px; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); background:#fff; color:var(--tepl-accent); font-size:15px; line-height:1; cursor:pointer; transition:background .15s, border-color .15s, color .15s; }
.tepl-chip:hover { border-color:var(--tepl-accent); }
.tepl-chip.is-active { background:var(--tepl-accent); color:#fff; border-color:var(--tepl-accent); }
.tepl-vfilter__group.is-collapsible .tepl-chip--extra { display:none; }
.tepl-vfilter__group.is-expanded .tepl-chip--extra { display:inline-flex; }
.tepl-vfilter__toggle { display:inline-flex; align-items:center; height:42px; background:none; border:none; color:var(--tepl-accent); font-size:14px; cursor:pointer; padding:0 8px; }
.tepl-vfilter__toggle span, .tepl-vfilter__toggle { text-decoration:underline; text-decoration-style:dashed; text-underline-offset:3px; }
/* таблица фильтра: одинаковый шрифт, без жирности */
.tepl-vfilter__table .tepl-sizes__c { font-size:14px; font-weight:400; }
.tepl-vfilter__table .tepl-sizes__name { font-weight:400; }
.tepl-vfilter__table .tepl-sizes__price b { font-size:14px; font-weight:400; }
/* выравнивание колонок по центру (заголовки и значения) */
@media (min-width:768px){
  .tepl-vfilter__table .tepl-sizes__head span { text-align:center; }
  .tepl-vfilter__table .tepl-sizes__c { text-align:center; }
  .tepl-vfilter__table .tepl-sizes__price { align-items:center; }
}
.tepl-vfilter__table { margin-top:6px; }
.tepl-vfilter__count { margin-top:10px; font-size:13px; color:var(--tepl-muted); }

/* Поиск и «Показать больше» в фильтре */
.tepl-filter__search { margin-bottom:10px; }
.tepl-filter__search-input { width:100%; height:38px; padding:0 12px; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); background:#fff; font-size:14px; color:var(--tepl-ink); }
.tepl-filter__search-input::placeholder { color:#9AA8B8; }
.tepl-filter__body .tepl-check--extra { display:none; }
.tepl-filter__body.is-expanded .tepl-check--extra { display:flex; }
.tepl-check.is-nomatch { display:none !important; }
.tepl-filter__more { margin-top:8px; background:none; border:none; padding:4px 0; color:var(--tepl-accent); font-size:14px; cursor:pointer; font-weight:600; }
.tepl-filter__more:hover { text-decoration:underline; }
.tepl-filter__empty { font-size:13px; color:var(--tepl-muted); padding:6px 0; }

/* ==========================================================================
   КАРТОЧКА — характеристики/описание + таблица размеров (D2)
   ========================================================================== */
.single-item--text { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:44px; }
.single-item--text .single-item__left, .single-item--text .single-item__right { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:26px 28px; }
.single-item__title { font-size:22px; font-weight:800; color:var(--tepl-ink); margin-bottom:18px; }
.single-item__items { display:flex; flex-direction:column; gap:12px; }
.single-item__item { display:flex; align-items:flex-end; gap:6px; font-size:14px; }
.single-item__item-name { color:var(--tepl-muted); white-space:nowrap; }
.single-item__item-sep { flex:1 1 auto; border-bottom:1px dotted #C3CEDA; transform:translateY(-4px); min-width:20px; }
.single-item__item-val { color:var(--tepl-ink); font-weight:600; text-align:right; }
.single-item__text { color:var(--tepl-muted); font-size:14.5px; line-height:1.65; }
.single-item__text p { margin:0 0 12px; }
.single-item__text ul { margin:0 0 12px; padding-left:20px; }
.single-item__i-text[data-collapsed], .single-item__i-text { position:relative; }
.single-item__i-text .toggle-button { margin-top:12px; background:none; border:0; color:var(--tepl-accent); font:inherit; font-weight:600; cursor:pointer; padding:0; }
.single-item__i-text .toggle-button:hover { color:var(--tepl-accent-dark); }

/* таблица размеров */
.tepl-sizes-sec { margin-top:46px; }
.tepl-sizes-sec__title { text-align:left; margin-bottom:20px; }
.tepl-pack-note { margin:-10px 0 18px; font-size:13px; font-weight:600; color:var(--tepl-accent); }
.tepl-sizes__head, .tepl-sizes__row { display:grid; grid-template-columns:minmax(150px,1.6fr) .8fr .8fr .8fr 1fr 1.1fr 1.2fr; align-items:center; gap:14px; }
.tepl-sizes__head { padding:0 16px 14px; border-bottom:2px solid var(--tepl-accent); }
.tepl-sizes__head span { font-size:13px; color:var(--tepl-muted); font-weight:600; }
.tepl-sizes__row { padding:16px; border-bottom:1px solid var(--tepl-line); }
.tepl-sizes__row.is-disabled { opacity:.5; }
.tepl-sizes__c { font-size:14px; color:var(--tepl-ink); }
.tepl-sizes__name { font-weight:400; }
.tepl-sizes__price { display:flex; flex-direction:column; }
.tepl-sizes__price b { font-size:14px; font-weight:400; }
.tepl-sizes__price s { font-size:12px; color:#9AA8B8; }
/* центрирование заголовков и значений (как в чиповой таблице) */
@media (min-width:769px){
  .tepl-sizes__head span, .tepl-sizes__c { text-align:center; }
  .tepl-sizes__price { align-items:center; }
}
.tepl-sizes__act .tepl-btn { height:42px; padding:0 18px; width:100%; }
.item-counter { display:inline-flex; align-items:center; border:1px solid var(--tepl-line); border-radius:6px; overflow:hidden; }
.item-counter__btn { width:32px; height:38px; background:#fff; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.item-counter__btn:hover { background:var(--tepl-bg-soft-2); }
.item-counter__input { width:42px; height:38px; border:0; border-left:1px solid var(--tepl-line); border-right:1px solid var(--tepl-line); text-align:center; font:inherit; font-size:14px; -moz-appearance:textfield; }
.item-counter__input::-webkit-outer-spin-button, .item-counter__input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

@media (max-width:768px){
  .single-item--text { grid-template-columns:1fr; }
  .tepl-sizes__head { display:none; }
  .tepl-sizes__row { grid-template-columns:1fr 1fr; gap:8px 14px; padding:16px; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); margin-bottom:12px; }
  .tepl-sizes__c { display:flex; justify-content:space-between; }
  .tepl-sizes__c::before { content:attr(data-name); color:var(--tepl-muted); font-size:12px; }
  .tepl-sizes__name, .tepl-sizes__act { grid-column:1 / -1; }
  .tepl-sizes__c:empty { display:none; }
}
/* фикс ширины боксов характеристик/описания (akkora задаёт width) */
.single-item--text .single-item__left, .single-item--text .single-item__right { width:100% !important; max-width:none !important; float:none !important; margin:0 !important; }
.single-item__item-val { white-space:normal; }

/* Слайдеры товаров на карточке (D3) */
.tepl-related__slider { position:relative; padding:0 4px; }
.tepl-related__slider .tepl-pcard { height:100%; }
.tepl-related__title { text-align:left; }
.tepl-related__prev { left:-18px; } .tepl-related__next { right:-18px; }
@media (max-width:768px){ .tepl-related__prev, .tepl-related__next { display:none; } }

/* ==========================================================================
   КАТАЛОГ / РАЗДЕЛ (E1)
   ========================================================================== */
.tepl-catalog__h1 { font-size:32px; font-weight:800; color:var(--tepl-ink); margin:6px 0 24px; }
.tepl-catalog { display:grid; grid-template-columns:280px 1fr; gap:30px; align-items:start; }
/* сайдбар */
.tepl-filters { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:22px 20px; position:sticky; top:16px; }
.tepl-filters__title { font-size:18px; font-weight:800; color:var(--tepl-ink); margin-bottom:14px; }
.tepl-filter { border-top:1px solid var(--tepl-line); padding:14px 0; }
.tepl-filter__head { width:100%; display:flex; align-items:center; justify-content:space-between; background:none; border:0; cursor:pointer; font:inherit; font-weight:700; font-size:14px; color:var(--tepl-ink); padding:0; }
.tepl-filter__chev { width:10px; height:10px; border-right:2px solid var(--tepl-muted); border-bottom:2px solid var(--tepl-muted); transform:rotate(45deg); transition:transform .2s ease; }
.tepl-filter.is-open .tepl-filter__chev { transform:rotate(-135deg); }
.tepl-filter__body { display:none; flex-direction:column; gap:10px; padding-top:14px; }
.tepl-filter.is-open .tepl-filter__body { display:flex; }
.tepl-check { display:flex; align-items:center; gap:9px; cursor:pointer; font-size:14px; color:var(--tepl-ink-2); }
.tepl-check input { position:absolute; opacity:0; }
.tepl-check__box { width:18px; height:18px; border:1.5px solid var(--tepl-line); border-radius:4px; flex:0 0 auto; position:relative; transition:all .15s ease; }
.tepl-check input:checked + .tepl-check__box { background:var(--tepl-accent); border-color:var(--tepl-accent); }
.tepl-check input:checked + .tepl-check__box::after { content:""; position:absolute; left:5px; top:1.5px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.tepl-filters__apply { margin-top:18px; height:46px; }
.tepl-filters__reset { display:block; width:100%; margin-top:10px; background:none; border:0; color:var(--tepl-muted); font:inherit; font-size:13px; cursor:pointer; }
.tepl-filters__reset:hover { color:var(--tepl-accent); }
/* контент */
.tepl-catalog__bar { display:flex; align-items:center; gap:18px; margin-bottom:22px; }
.tepl-catalog__filter-btn { display:none; }
.tepl-catalog__count { font-size:14px; color:var(--tepl-muted); }
.tepl-catalog__count b { color:var(--tepl-ink); }
.tepl-catalog__controls { margin-left:auto; display:flex; gap:10px; }
.tepl-catalog__sort, .tepl-catalog__perpage { height:42px; border:1px solid var(--tepl-line); border-radius:6px; padding:0 40px 0 14px; font:inherit; font-size:14px; color:var(--tepl-ink); cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%2364768C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 15px center; }
.tepl-catalog__perpage { min-width:130px; }
.tepl-catalog__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
/* Пагинация каталога */
.tepl-catalog__pager { margin-top:28px; }
.tepl-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; }
.tepl-pagination .tepl-page { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border:1px solid var(--tepl-line); border-radius:8px; background:#fff; color:var(--tepl-ink); font-size:14px; font-weight:600; text-decoration:none; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease; }
.tepl-pagination a.tepl-page:hover { border-color:var(--tepl-accent); color:var(--tepl-accent); }
.tepl-pagination .tepl-page.is-active { background:var(--tepl-accent); border-color:var(--tepl-accent); color:#fff; cursor:default; }
.tepl-pagination .tepl-page.is-disabled { opacity:.4; cursor:default; }
.tepl-pagination .tepl-page--dots { border:0; background:none; min-width:20px; cursor:default; color:var(--tepl-muted); }
.tepl-pagination .tepl-page--prev, .tepl-pagination .tepl-page--next { font-size:20px; line-height:1; }
.tepl-catalog__empty { color:var(--tepl-muted); padding:30px 0; }
@media (max-width:1100px){ .tepl-catalog__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px){
  .tepl-catalog { grid-template-columns:1fr; }
  .tepl-filters { position:fixed; inset:0 auto 0 0; width:300px; max-width:88vw; z-index:120; border-radius:0; overflow:auto; transform:translateX(-100%); transition:transform .25s ease; }
  .tepl-filters.is-open { transform:none; }
  .tepl-catalog__filter-btn { display:inline-flex; align-items:center; height:42px; padding:0 18px; background:var(--tepl-accent); color:#fff; border:0; border-radius:6px; font:inherit; font-weight:600; cursor:pointer; }
}
@media (max-width:560px){ .tepl-catalog__grid { grid-template-columns:1fr 1fr; gap:12px; } }
@media (max-width:380px){ .tepl-catalog__grid { grid-template-columns:1fr; } }

/* ==========================================================================
   КОРЗИНА (E2)
   ========================================================================== */
.catalog-cat { padding:24px 0 56px; }
.catalog-cat .wrap, .cart-page .wrap { width:100%; max-width:calc(var(--tepl-container) + 40px); margin-inline:auto; padding-inline:var(--tepl-gutter); }
.catalog-cat__title h1 { font-size:32px; font-weight:800; color:var(--tepl-ink); margin:8px 0 24px; }
.top-screen__wrap { width:100%; max-width:calc(var(--tepl-container) + 40px); margin:0 auto; padding:18px var(--tepl-gutter) 0; }

.cart-page__flex { display:grid; grid-template-columns:1fr 360px; gap:28px; align-items:start; }
.list-table-cart { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); overflow:hidden; }
.list-table-cart__head { display:grid; grid-template-columns:1fr 150px 130px 50px; gap:14px; padding:16px 20px; background:var(--tepl-bg-soft-2); }
.list-table-cart__head .list-table-cart__td { font-size:13px; color:var(--tepl-muted); font-weight:600; }
.list-table-cart__product { display:grid; grid-template-columns:1fr 150px 130px 50px; gap:14px; align-items:center; padding:16px 20px; border-top:0; border-bottom:0; }
/* одинарный разделитель только между товарами (без линии над первым и akkora-дублей) */
.list-table-cart__product + .list-table-cart__product { border-top:1px solid var(--tepl-line); }
.min-cart { display:flex; align-items:center; gap:14px; }
.min-cart__img { flex:0 0 auto; width:64px; height:64px; border-radius:var(--tepl-radius); background:var(--tepl-bg-soft-2); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.min-cart__img img { max-width:100%; max-height:100%; object-fit:contain; }
.min-cart__title { font-size:14px; font-weight:600; color:var(--tepl-ink); text-decoration:none; display:block; }
.min-cart__title:hover { color:var(--tepl-accent); }
.min-cart__price { font-size:13px; color:var(--tepl-muted); margin-top:4px; }
.list-table-cart__td .min-cart__price { font-weight:800; font-size:15px; color:var(--tepl-ink); }
.cart-remove { display:inline-flex; padding:6px; border-radius:6px; }
.cart-remove:hover { background:var(--tepl-bg-soft-2); }

.cart-page__total { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:24px; position:sticky; top:16px; }
.cart-page__total .contacts-page__title, .cart-page__sub-title { font-size:18px; font-weight:800; color:var(--tepl-ink); margin-bottom:16px; }
.cart-page__total-val { display:flex; align-items:baseline; justify-content:space-between; font-size:16px; color:var(--tepl-muted); padding:14px 0; border-top:1px solid var(--tepl-line); }
.cart-page__total-val .total-value--js { font-size:22px; font-weight:800; color:var(--tepl-ink); }
.cart-page__btns { display:flex; flex-direction:column; gap:12px; margin-top:18px; }
.cart-page__btns .btn-site { display:inline-flex; align-items:center; justify-content:center; height:50px; border-radius:var(--tepl-radius); text-decoration:none; font-weight:600; font-size:15px; }
.cart-page__btns .btn-site:first-child { background:var(--tepl-accent); color:#fff; }
.cart-page__btns .btn-site:first-child:hover { background:var(--tepl-accent-dark); }
.cart-page__btns .btn-site:last-child { background:var(--tepl-bg-soft-2); color:var(--tepl-ink-2); }
.cart-page__btns .btn-site:last-child:hover { background:#E9EEF3; }
/* О заказе блок (aboutCartProducts) */
.cart-detail__item { display:flex; justify-content:space-between; padding:8px 0; font-size:14px; color:var(--tepl-muted); }
.cart-detail__value { color:var(--tepl-ink); font-weight:600; }
.cart-footer { display:flex; justify-content:space-between; align-items:center; margin-top:14px; padding-top:14px; border-top:1px solid var(--tepl-line); }
.cart-footer__right { font-size:22px; font-weight:800; color:var(--tepl-ink); }
.content-text .btn-site { display:inline-flex; align-items:center; height:48px; padding:0 24px; background:var(--tepl-accent); color:#fff; border-radius:var(--tepl-radius); text-decoration:none; font-weight:600; }

@media (max-width:768px){
  .cart-page__flex { grid-template-columns:1fr; }
  .list-table-cart__head { display:none; }
  .list-table-cart__product { grid-template-columns:1fr; gap:10px; }
  .cart-page__total { position:static; }
}
/* фикс ширины сайдбара корзины (akkora перекрывает) */
.cart-page__flex { display:grid !important; grid-template-columns:minmax(0,1fr) 360px !important; }
.cart-page__total { width:auto !important; max-width:none !important; float:none !important; }
.cart-page__btns .btn-site { width:100% !important; }
.cart-page__total-val { flex-wrap:nowrap; }
/* akkora задаёт явные width на .cart-page__products(68%) и .list-table-cart__td(16%/195px/..) -
   они ломают grid-треки строки → колонка «Итого» схлопывается и цена переносится. Сбрасываем. */
.cart-page__products { width:100% !important; min-width:0; }
.list-table-cart__product, .list-table-cart__head { min-width:0; }
.list-table-cart__td { width:auto !important; max-width:none !important; padding:0 !important; text-align:left !important; min-width:0; }
.list-table-cart__td .min-cart__price { white-space:nowrap; }
@media (max-width:768px){
  .cart-page__flex { grid-template-columns:1fr !important; }
  .list-table-cart__td { width:100% !important; }
  /* akkora на мобильном делает ячейку удаления position:absolute (top:30;left:0) — наезжает
     на название. Прижимаем корзину к верхнему правому углу карточки, название с отступом. */
  .list-table-cart__product { position:relative; }
  .list-table-cart__product > .list-table-cart__td:last-child { position:absolute !important; top:14px; right:2px; left:auto !important; width:auto !important; }
  .list-table-cart__product .min-cart { padding-right:30px; }
}

/* ==========================================================================
   ОФОРМЛЕНИЕ ЗАКАЗА (E3)
   ========================================================================== */
.cart-order-page__flex { display:grid; grid-template-columns:1fr 420px; gap:28px; align-items:start; }
.cart-order-page__form, .cart-order-page__order { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:26px 28px; }
.item-form__field { margin-bottom:18px; }
.item-form__field:last-child { margin-bottom:0; }
.item-form__label { font-size:14px; font-weight:600; color:var(--tepl-ink); margin-bottom:8px; }
.item-form__label span { color:var(--tepl-accent-2); }
.input-style { width:100%; height:48px; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); padding:0 16px; font:inherit; font-size:15px; color:var(--tepl-ink); background:#fff; transition:border-color .15s ease; }
textarea.input-style { height:100px; padding:12px 16px; resize:vertical; }
.input-style:focus { outline:none; border-color:var(--tepl-accent); }
.item-checkbox { display:flex; align-items:flex-start; gap:10px; }
/* одноцветный чекбокс: пусто = рамка, отмечен = сплошной акцент + белая галочка */
.item-checkbox__value { -webkit-appearance:none; appearance:none; margin:2px 0 0; width:18px; height:18px; flex:0 0 auto; border:1.5px solid var(--tepl-line); border-radius:4px; background:#fff; cursor:pointer; position:relative; transition:background .15s ease, border-color .15s ease; }
.item-checkbox__value:checked { background:var(--tepl-accent); border-color:var(--tepl-accent); }
.item-checkbox__value:checked::after { content:''; position:absolute; left:5px; top:1px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.item-checkbox__value:focus-visible { outline:2px solid var(--tepl-accent); outline-offset:2px; }
.item-checkbox__label { font-size:13px; color:var(--tepl-muted); line-height:1.5; }
.item-checkbox__label a { color:var(--tepl-accent); }
.item-radio { display:flex; align-items:flex-start; gap:10px; padding:10px 0; cursor:pointer; }
/* одноцветная радиокнопка: пусто = рамка, выбрано = целиком синий круг (без белой точки) */
.item-radio input { -webkit-appearance:none; appearance:none; margin:2px 0 0; width:16px; height:16px; flex:0 0 auto; border:1.5px solid var(--tepl-line); border-radius:50%; background:#fff; cursor:pointer; transition:background .15s ease, border-color .15s ease; }
.item-radio input:checked { background:var(--tepl-accent); border-color:var(--tepl-accent); }
.item-radio input:focus-visible { outline:2px solid var(--tepl-accent); outline-offset:2px; }
.item-radio__text { font-size:14px; color:var(--tepl-ink-2); line-height:1.45; }
.cart-order-page__order .order-table { width:100%; border-collapse:collapse !important; border-spacing:0; margin-bottom:18px; }
.cart-order-page__order .order-table th,
.cart-order-page__order .order-table td { border:0; border-bottom:1px solid var(--tepl-line); }
.cart-order-page__order .order-table th { text-align:left; font-size:12px; color:var(--tepl-muted); font-weight:600; padding:0 0 10px; }
.cart-order-page__order .order-table td { font-size:14px; color:var(--tepl-ink); padding:10px 0; vertical-align:top; }
.cart-order-page__order .order-table th:last-child,
.cart-order-page__order .order-table td:last-child { text-align:right; padding-left:12px; white-space:nowrap; }
.cart-order-page__order .order-table td:last-child { font-weight:700; }
/* «× N» рядом с товаром — не жирный, приглушённый */
.order-table__qty { font-weight:400; color:var(--tepl-muted); white-space:nowrap; }
.order-cart--js .btn-site, .cart-order-page__order .btn-site, button.btn-site { display:inline-flex; align-items:center; justify-content:center; width:100%; height:52px; background:var(--tepl-accent); color:#fff; border:0; border-radius:var(--tepl-radius); font:inherit; font-weight:600; font-size:16px; cursor:pointer; text-decoration:none; transition:background .15s ease; }
.order-cart--js .btn-site:hover, button.btn-site:hover { background:var(--tepl-accent-dark); }
/* «Подтвердить заказ» лежит в .cart-page__btns и как :last-child получал серый вторичный
   стиль «Вернуться к покупкам». Это основной CTA — делаем primary. */
.cart-page__btns .btn-site.order-cart-btn--js { background:var(--tepl-accent); color:#fff; }
.cart-page__btns .btn-site.order-cart-btn--js:hover { background:var(--tepl-accent-dark); }
.order-total { display:flex; justify-content:space-between; align-items:baseline; font-size:16px; color:var(--tepl-muted); padding:14px 0; margin-top:4px; border-top:1px solid var(--tepl-line); }
.order-total b { font-size:22px; color:var(--tepl-ink); }
@media (max-width:768px){ .cart-order-page__flex { grid-template-columns:1fr; } }
/* фикс ширины блоков заказа (akkora перекрывает) */
.cart-order-page__flex { display:grid !important; grid-template-columns:minmax(0,1fr) 420px !important; }
.cart-order-page__form, .cart-order-page__order { width:auto !important; max-width:none !important; float:none !important; }
@media (max-width:768px){ .cart-order-page__flex { grid-template-columns:1fr !important; } }

/* ==========================================================================
   МЕГА-МЕНЮ КАТАЛОГА (B2)
   ========================================================================== */
.tepl-header__main { position:relative; }
.tepl-megamenu { position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--tepl-line); box-shadow:0 18px 40px rgba(57,78,103,.12); z-index:60; display:none; max-height:min(82vh,680px); overflow-y:auto; overscroll-behavior:contain; }
.tepl-megamenu.is-open { display:block; }
.tepl-megamenu__inner { display:grid; grid-template-columns:repeat(5,1fr); gap:28px; padding:28px var(--tepl-gutter) 34px; }
.tepl-megamenu__col--cats { border-right:1px solid var(--tepl-line); padding-right:24px; }
.tepl-megamenu__title { font-size:14px; font-weight:800; color:var(--tepl-ink); margin-bottom:14px; }
.tepl-megamenu__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.tepl-megamenu__list a { color:var(--tepl-muted); text-decoration:none; font-size:14px; transition:color .12s ease; }
.tepl-megamenu__list a:hover { color:var(--tepl-accent); }
.tepl-megamenu__col--cats .tepl-megamenu__list a { color:var(--tepl-ink-2); font-weight:600; }
/* «ещё N» — inline-разворачивание скрытых пунктов колонки */
.tepl-megamenu__hidden { display:none; }
.tepl-megamenu__col.is-expanded .tepl-megamenu__hidden { display:list-item; }
.tepl-megamenu__more { margin-top:2px; }
.tepl-megamenu__more-btn { background:none; border:0; padding:0; margin:0; cursor:pointer; color:var(--tepl-accent); font:inherit; font-size:14px; font-weight:600; text-align:left; }
.tepl-megamenu__more-btn:hover { text-decoration:underline; }
/* Длинные списки (бренды) при разворачивании — в 2 колонки, чтобы не были слишком высокими */
.tepl-megamenu__col.is-expanded .tepl-megamenu__list { display:grid; grid-template-columns:1fr 1fr; column-gap:18px; row-gap:9px; }
.tepl-megamenu__col.is-expanded .tepl-megamenu__more { grid-column:1 / -1; }
@media (max-width:991px){ .tepl-megamenu { display:none !important; } }

/* ==========================================================================
   МОБИЛЬНОЕ OFF-CANVAS МЕНЮ (F1)
   ========================================================================== */
.tepl-mnav { position:fixed; inset:0; z-index:200; visibility:hidden; }
.tepl-mnav.is-open { visibility:visible; }
.tepl-mnav__overlay { position:absolute; inset:0; background:rgba(13,28,42,.5); opacity:0; transition:opacity .25s ease; }
.tepl-mnav.is-open .tepl-mnav__overlay { opacity:1; }
.tepl-mnav__panel { position:absolute; top:0; left:0; bottom:0; width:300px; max-width:86vw; background:#fff; box-shadow:0 0 40px rgba(0,0,0,.2); transform:translateX(-100%); transition:transform .25s ease; display:flex; flex-direction:column; overflow:auto; padding:18px 22px 28px; }
.tepl-mnav.is-open .tepl-mnav__panel { transform:none; }
.tepl-mnav__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.tepl-mnav__city { font-weight:700; color:var(--tepl-ink); }
.tepl-mnav__close { background:none; border:0; font-size:32px; line-height:1; color:var(--tepl-muted); cursor:pointer; }
.tepl-mnav__menu { list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; }
.tepl-mnav__menu li { border-bottom:1px solid var(--tepl-line); }
.tepl-mnav__menu a { display:block; padding:14px 0; color:var(--tepl-ink); text-decoration:none; font-weight:600; font-size:16px; }
.tepl-mnav__menu a:hover { color:var(--tepl-accent); }
.tepl-mnav__contacts { margin-top:auto; display:flex; flex-direction:column; gap:10px; }
.tepl-mnav__phone { font-size:20px; font-weight:800; color:var(--tepl-ink); text-decoration:none; }
.tepl-mnav__addr { font-size:13px; color:var(--tepl-muted); }
body.tepl-mnav-open { overflow:hidden; }
@media (min-width:992px){ .tepl-mnav { display:none; } }

/* ==========================================================================
   АДАПТИВ - правки каталога/шапки (F2/F3)
   ========================================================================== */
html, body { overflow-x:hidden; }
@media (max-width:991px){
  .tepl-header__city { display:none; }
  .tepl-header__main-inner { justify-content:space-between; }
  .tepl-header__cart { margin-left:auto; }
  .tepl-header__logo img { height:46px; }
}
@media (max-width:768px){
  .tepl-catalog__bar { flex-wrap:wrap; gap:12px; }
  .tepl-catalog__controls { margin-left:0; width:100%; order:3; }
  .tepl-catalog__sort { flex:1 1 auto; }
  .tepl-catalog__perpage { flex:0 0 auto; }
  .tepl-catalog__count { order:2; margin-left:auto; }
}
@media (max-width:560px){
  .tepl-catalog__grid { grid-template-columns:1fr 1fr; gap:12px; }
  .tepl-pcard { padding:12px; min-width:0; }
  .tepl-pcard__img { height:120px; }
  .tepl-pcard__name { font-size:13px; min-height:34px; }
  .tepl-pcard .tepl-btn { padding:0 10px; font-size:13px; }
}
@media (max-width:400px){ .tepl-catalog__grid { grid-template-columns:1fr; } .tepl-pcard__img{ height:170px; } }

/* Единая фиксированная ширина для всех обёрток (вкл. akkora .wrap) */
body.tepl .wrap { width:100%; max-width:calc(var(--tepl-container) + var(--tepl-gutter) * 2); margin-inline:auto; padding-inline:var(--tepl-gutter); }

/* Разделы на странице /catalog/ */
.tepl-catsections { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin:6px 0 32px; }
.tepl-catsection { display:flex; flex-direction:column; align-items:center; gap:10px; padding:16px 12px; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); text-decoration:none; transition:box-shadow .18s ease, transform .18s ease; }
.tepl-catsection:hover { box-shadow:var(--tepl-shadow-hover); transform:translateY(-3px); }
.tepl-catsection__img { display:flex; align-items:center; justify-content:center; width:100%; height:88px; }
.tepl-catsection__img img { max-width:100%; max-height:100%; object-fit:contain; }
.tepl-catsection__name { font-size:13px; font-weight:600; color:var(--tepl-ink-2); text-align:center; line-height:1.3; }
.tepl-catsection:hover .tepl-catsection__name { color:var(--tepl-accent); }
@media (max-width:992px){ .tepl-catsections { grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .tepl-catsections { grid-template-columns:repeat(2,1fr); } }

/* ==========================================================================
   КОНТЕНТНЫЕ СТРАНИЦЫ (page.php)
   ========================================================================== */
.article-page { padding:24px 0 56px; }
.article-page__title h1 { font-size:32px; font-weight:800; color:var(--tepl-ink); margin:8px 0 22px; }
.article-page .content-text, .single-page .content-text { color:var(--tepl-ink-2); font-size:16px; line-height:1.7; max-width:900px; }
.content-text h2 { font-size:24px; font-weight:800; color:var(--tepl-ink); margin:28px 0 14px; }
.content-text h3 { font-size:19px; font-weight:700; color:var(--tepl-ink); margin:22px 0 10px; }
.content-text p { margin:0 0 14px; }
.content-text ul, .content-text ol { margin:0 0 14px; padding-left:22px; }
.content-text li { margin-bottom:8px; }
.content-text a { color:var(--tepl-accent); }
.content-text table { width:100%; border-collapse:collapse; margin:16px 0; }
.content-text th, .content-text td { border:1px solid var(--tepl-line); padding:10px 14px; text-align:left; }
.content-text th { background:var(--tepl-bg-soft-2); font-weight:700; }
.content-text iframe { max-width:100%; border:0; border-radius:var(--tepl-radius-lg); }

/* Лента статей /blog/ */
.tepl-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:32px; }
.tepl-blog-grid .tepl-artcard { height:100%; }
.tepl-pagination { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.tepl-pagination a, .tepl-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 10px; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); text-decoration:none; color:var(--tepl-ink); font-weight:600; }
.tepl-pagination .current { background:var(--tepl-accent); color:#fff; border-color:var(--tepl-accent); }
.tepl-pagination a:hover { border-color:var(--tepl-accent); color:var(--tepl-accent); }
@media (max-width:768px){ .tepl-blog-grid { grid-template-columns:1fr 1fr; gap:14px; } }
@media (max-width:480px){ .tepl-blog-grid { grid-template-columns:1fr; } }

/* Цена по запросу */
.tepl-pcard__price--req { font-size:15px; font-weight:700; color:var(--tepl-accent); }
.item-price__real--req { font-size:22px; font-weight:800; color:var(--tepl-accent); }

#obiem { scroll-margin-top: 170px; }
@media (max-width:768px){ #obiem { scroll-margin-top: 90px; } }

/* Закреплённая шапка при прокрутке */
.tepl-header { position:sticky; top:0; z-index:60; }

/* Плавающие кнопки связи (FAB) */
.tepl-fab { position:fixed; right:24px; bottom:24px; z-index:120; display:flex; flex-direction:column; align-items:center; gap:12px; }
.tepl-fab__btn { width:52px; height:52px; border-radius:50%; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:none; box-shadow:0 6px 18px rgba(57,78,103,.28); transition:transform .15s ease, box-shadow .15s ease, background .15s ease; position:relative; }
.tepl-fab__btn:hover { transform:translateY(-2px); box-shadow:0 9px 22px rgba(57,78,103,.34); color:#fff; }
.tepl-fab__btn svg { width:26px; height:26px; }
.tepl-fab__btn--wa { background:#25D366; }
.tepl-fab__btn--wa:hover { background:#1ebe5a; }
.tepl-fab__btn--max { background:linear-gradient(135deg,#3E81FF 0%,#8622FD 100%); }
.tepl-fab__btn--max:hover { background:linear-gradient(135deg,#2f74f7 0%,#7a17ef 100%); }
.tepl-fab__btn--max svg { width:30px; height:30px; }
.tepl-fab__btn--tg { background:#2AABEE; }
.tepl-fab__btn--tg:hover { background:#1e96d1; }
.tepl-fab__btn--cart { background:var(--tepl-accent); }
.tepl-fab__btn--cart:hover { background:var(--tepl-accent-dark); }
.tepl-fab__btn--call { background:#3AA76D; }
.tepl-fab__btn--call:hover { background:#2f9560; }
.tepl-fab__count { position:absolute; top:-3px; right:-3px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#FF7A00; color:#fff; font-size:11px; font-weight:700; line-height:20px; text-align:center; box-shadow:0 1px 4px rgba(0,0,0,.2); }
/* Кнопка «Наверх» — появляется по скроллу */
.tepl-fab__btn--top { background:#37404a; width:48px; height:48px; opacity:0; visibility:hidden; transform:translateY(12px) scale(.9); pointer-events:none; }
.tepl-fab__btn--top:hover { background:#222a32; }
.tepl-fab__btn--top svg { width:22px; height:22px; }
.tepl-fab__btn--top.active { opacity:1; visibility:visible; transform:translateY(0) scale(1); pointer-events:auto; }
@media (max-width:600px){
    .tepl-fab { right:14px; bottom:14px; gap:10px; }
    .tepl-fab__btn { width:46px; height:46px; }
    .tepl-fab__btn svg { width:23px; height:23px; }
    .tepl-fab__btn--top { width:42px; height:42px; }
}

/* Нормальный скролл окна (akkora делал body скролл-контейнером height:100% -> ломались sticky/якоря/«наверх») */
html, body { height: auto; min-height: 100%; }
body { overflow-x: clip; }
.page-main { overflow: visible; }

/* Автодополнение поиска */
.tepl-header__search { position:relative; }
.tepl-suggest { position:absolute; top:calc(100% + 6px); left:0; right:0; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); box-shadow:var(--tepl-shadow); z-index:80; max-height:430px; overflow-y:auto; }
.tepl-suggest__item { display:block; padding:11px 16px; color:var(--tepl-ink); text-decoration:none; font-size:14px; line-height:1.35; border-bottom:1px solid var(--tepl-line); }
.tepl-suggest__item:last-child { border-bottom:0; }
.tepl-suggest__item:hover { background:var(--tepl-bg-soft-2); }
.tepl-suggest__item mark { background:#FFF1B8; color:inherit; padding:0; }
.tepl-suggest__empty { padding:11px 16px; color:var(--tepl-muted); font-size:14px; }

/* Попап «аналог Unionflex» на товарах K-FLEX */
.tepl-union-modal[hidden]{ display:none; }
.tepl-union-modal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; }
.tepl-union-modal__overlay{ position:absolute; inset:0; background:rgba(20,28,38,.55); backdrop-filter:blur(2px); }
.tepl-union-modal__box{ position:relative; background:#fff; border-radius:16px; max-width:430px; width:100%; padding:32px 28px 28px; box-shadow:0 22px 60px rgba(0,0,0,.32); text-align:center; animation:teplUnionIn .25s ease; }
@keyframes teplUnionIn{ from{ opacity:0; transform:translateY(16px) scale(.97); } to{ opacity:1; transform:none; } }
.tepl-union-modal__close{ position:absolute; top:10px; right:14px; width:34px; height:34px; border:0; background:none; font-size:28px; line-height:1; color:#9aa7b4; cursor:pointer; }
.tepl-union-modal__close:hover{ color:#37404a; }
.tepl-union-modal__brand{ display:inline-block; font-weight:800; letter-spacing:.5px; color:var(--tepl-accent); font-size:14px; padding:5px 16px; border:2px solid var(--tepl-accent); border-radius:20px; margin-bottom:16px; text-transform:uppercase; }
.tepl-union-modal__title{ font-size:23px; margin:0 0 12px; color:var(--tepl-ink); }
.tepl-union-modal__text{ font-size:15px; line-height:1.55; color:var(--tepl-muted); margin:0 0 12px; }
.tepl-union-modal__name{ font-size:15px; color:var(--tepl-ink); font-weight:700; margin:0 0 20px; }
.tepl-union-modal__btn{ display:inline-block; background:var(--tepl-accent); color:#fff; text-decoration:none; font-weight:600; font-size:15px; padding:14px 28px; border-radius:10px; transition:background .15s ease; }
.tepl-union-modal__btn:hover{ background:var(--tepl-accent-dark); color:#fff; }
body.tepl-union-open{ overflow:hidden; }

/* Блок «Документы» на карточке товара */
.single-item--docs { display:block; margin-top:8px; }
.tepl-docs__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; margin-top:18px; }
.tepl-docs__item { display:flex; align-items:center; gap:14px; padding:14px 16px; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius); text-decoration:none; color:var(--tepl-ink); transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.tepl-docs__item:hover { border-color:var(--tepl-accent); box-shadow:0 6px 18px rgba(57,78,103,.12); transform:translateY(-1px); }
.tepl-docs__ic { position:relative; flex:0 0 auto; display:flex; align-items:center; justify-content:center; }
.tepl-docs__ext { position:absolute; bottom:1px; left:50%; transform:translateX(-50%); font-size:7px; font-weight:800; color:#E2473B; letter-spacing:.3px; }
.tepl-docs__name { flex:1 1 auto; font-size:14px; line-height:1.35; font-weight:500; }
.tepl-docs__arrow { flex:0 0 auto; color:var(--tepl-muted); }
.tepl-docs__item:hover .tepl-docs__arrow { color:var(--tepl-accent); }

/* ===== Страница «Доставка» ===== */
.tepl-dlv-intro { padding-bottom:0; }
.tepl-dlv-intro { text-align:center; }
.tepl-dlv-h1 { font-size:42px; font-weight:800; color:var(--tepl-ink); margin:0 0 18px; line-height:1.15; }
.tepl-dlv-lead { font-size:17px; line-height:1.6; color:var(--tepl-muted); max-width:740px; margin:0 auto; }
@media (max-width:768px){ .tepl-dlv-h1 { font-size:30px; } }
.tepl-dlv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:30px; }
.tepl-dlv-card { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:28px 26px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; transition:box-shadow .15s ease, transform .15s ease; }
.tepl-dlv-card:hover { box-shadow:0 10px 30px rgba(57,78,103,.10); transform:translateY(-2px); }
.tepl-dlv-card__ic { display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:rgba(0,174,239,.10); }
.tepl-dlv-card__badge { align-self:center; font-size:11.5px; font-weight:700; padding:5px 12px; border-radius:20px; text-transform:uppercase; letter-spacing:.3px; }
.tepl-dlv-card__badge--free { background:#E6F8EE; color:#1E9E5A; }
.tepl-dlv-card__badge--paid { background:var(--tepl-bg-soft-2); color:var(--tepl-muted); }
.tepl-dlv-card__title { font-size:18px; font-weight:700; color:var(--tepl-ink); margin:0; }
.tepl-dlv-card__text { font-size:14.5px; line-height:1.55; color:var(--tepl-muted); margin:0; }
.tepl-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:30px; }
.tepl-step { padding:28px 26px 26px; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); display:flex; flex-direction:column; align-items:center; text-align:center; }
.tepl-step__num { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--tepl-accent); color:#fff; font-size:20px; font-weight:800; margin-bottom:16px; }
.tepl-step__title { font-size:17px; font-weight:700; color:var(--tepl-ink); margin:0 0 8px; }
.tepl-step__text { font-size:14.5px; line-height:1.55; color:var(--tepl-muted); margin:0; }
.tepl-pickup { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:30px; margin-top:30px; align-items:stretch; }
.tepl-pickup__info { display:flex; flex-direction:column; gap:18px; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:28px; }
.tepl-pickup__row { display:flex; align-items:flex-start; gap:14px; font-size:16px; color:var(--tepl-ink); }
.tepl-pickup__ic { flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:rgba(0,174,239,.10); }
.tepl-pickup__label { display:block; font-size:13px; color:var(--tepl-muted); margin-bottom:2px; }
.tepl-pickup__row a { color:var(--tepl-ink); text-decoration:none; }
.tepl-pickup__row a:hover { color:var(--tepl-accent); }
.tepl-pickup__btn { margin-top:6px; align-self:flex-start; }
.tepl-pickup__map { min-height:340px; border-radius:var(--tepl-radius-lg); overflow:hidden; border:1px solid var(--tepl-line); }
.tepl-pickup__map iframe { display:block; width:100%; height:100%; min-height:340px; border:0; }
.tepl-dlv-note { margin-top:24px; font-size:15px; color:var(--tepl-muted); }
.tepl-dlv-note a { color:var(--tepl-accent); text-decoration:none; font-weight:600; }
@media (max-width:900px){
  .tepl-dlv-grid, .tepl-steps { grid-template-columns:1fr; }
  .tepl-pickup { grid-template-columns:1fr; }
}

/* Страница «Оплата» — блок для юрлиц */
.tepl-paynote { display:flex; align-items:center; gap:22px; background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:28px 30px; }
.tepl-paynote__ic { flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:50%; background:rgba(0,174,239,.10); }
.tepl-paynote__body { flex:1 1 auto; }
.tepl-paynote__title { font-size:18px; font-weight:700; color:var(--tepl-ink); margin:0 0 6px; }
.tepl-paynote__text { font-size:15px; line-height:1.55; color:var(--tepl-muted); margin:0; }
.tepl-paynote__text a { color:var(--tepl-accent); text-decoration:none; font-weight:600; }
.tepl-paynote__btn { flex:0 0 auto; }
@media (max-width:768px){ .tepl-paynote { flex-direction:column; align-items:flex-start; } }

/* Сетка из 4 карточек (опт, о компании) */
.tepl-dlv-grid--4 { grid-template-columns:repeat(4,1fr); }
@media (max-width:1024px){ .tepl-dlv-grid--4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .tepl-dlv-grid--4 { grid-template-columns:1fr; } }
/* Статистика (о компании) */
.tepl-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.tepl-stat { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:28px 18px; }
.tepl-stat__num { display:block; font-size:28px; font-weight:800; color:var(--tepl-accent); line-height:1.15; margin-bottom:8px; }
.tepl-stat__label { display:block; font-size:14px; color:var(--tepl-muted); }
@media (max-width:768px){ .tepl-stats { grid-template-columns:repeat(2,1fr); gap:16px; } }
.tepl-about__cta { text-align:center; margin-top:34px; }
.tepl-paynote--center { flex-direction:column; text-align:center; align-items:center; }

/* Страница «Контакты» */
.tepl-contact { gap:10px; }
.tepl-contact__label { font-size:13px; color:var(--tepl-muted); }
.tepl-contact__value { font-size:17px; font-weight:700; color:var(--tepl-ink); text-decoration:none; line-height:1.35; word-break:break-word; }
a.tepl-contact__value:hover { color:var(--tepl-accent); }
.tepl-contact__link { font-size:14px; color:var(--tepl-accent); text-decoration:none; font-weight:600; margin-top:auto; }
.tepl-contact__link:hover { text-decoration:underline; }
.tepl-contact__link--muted { color:var(--tepl-muted); font-weight:400; }
.tepl-contact__link--muted:hover { text-decoration:none; }
.tepl-contact__msgs { display:flex; gap:10px; margin-top:6px; }
.tepl-contact__msg { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; }
.tepl-contact__msg--wa { background:#25D366; }
.tepl-contact__msg--tg { background:#2AABEE; }
.tepl-contact__msg--max { background:linear-gradient(135deg,#3E81FF 0%,#8622FD 100%); }
/* Контакты отделов */
.tepl-depts { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:20px; }
.tepl-dept { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:20px 24px; display:flex; flex-direction:column; gap:6px; }
.tepl-dept__head { display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.tepl-dept__ic { flex:0 0 auto; width:46px; height:46px; border-radius:50%; background:rgba(0,174,239,.10); display:flex; align-items:center; justify-content:center; }
.tepl-dept__ic svg { width:22px; height:22px; }
.tepl-dept__name { font-weight:700; color:var(--tepl-ink); font-size:16px; }
.tepl-dept__phone { font-weight:700; font-size:18px; color:var(--tepl-ink); text-decoration:none; }
.tepl-dept__phone:hover { color:var(--tepl-accent); }
.tepl-dept__email { color:var(--tepl-accent); text-decoration:none; }
.tepl-dept__email:hover { text-decoration:underline; }
@media (max-width:560px){ .tepl-depts { grid-template-columns:1fr; } }
.tepl-contacts-map { margin-top:30px; height:420px; border-radius:var(--tepl-radius-lg); overflow:hidden; border:1px solid var(--tepl-line); }
.tepl-contacts-map iframe { display:block; width:100%; height:100%; border:0; }

/* Страница «Реквизиты» */
.tepl-req__copy { margin-top:24px; }
.tepl-req { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; align-items:start; }
.tepl-req__card { background:#fff; border:1px solid var(--tepl-line); border-radius:var(--tepl-radius-lg); padding:26px 28px; }
.tepl-req__head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.tepl-req__ic { flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:rgba(0,174,239,.10); }
.tepl-req__title { font-size:18px; font-weight:700; color:var(--tepl-ink); margin:0; }
.tepl-req__row { display:grid; grid-template-columns:minmax(110px,40%) 1fr; gap:14px; padding:11px 0; border-bottom:1px solid var(--tepl-line); }
.tepl-req__row:last-child { border-bottom:0; }
.tepl-req__key { color:var(--tepl-muted); font-size:14px; }
.tepl-req__val { color:var(--tepl-ink); font-size:14.5px; font-weight:600; margin:0; word-break:break-word; }
@media (max-width:768px){ .tepl-req { grid-template-columns:1fr; } .tepl-req__row { grid-template-columns:1fr; gap:2px; } }

/* ===== Reveal-анимация с поэтапным появлением (стаггер) ===== */
.tepl-anim .tepl-reveal {
  opacity:0; transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);
}
.tepl-anim .tepl-reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .tepl-anim .tepl-reveal{ opacity:1; transform:none; transition:none; }
}

/* Подборки (SEO-посадки) на странице раздела */
.tepl-collections { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:-6px 0 26px; }
.tepl-collections__label { font-size:14px; color:var(--tepl-muted); font-weight:600; margin-right:2px; }
.tepl-collections__chip { display:inline-flex; align-items:center; height:34px; padding:0 16px; border:1px solid var(--tepl-line); border-radius:20px; background:#fff; color:var(--tepl-ink); font-size:14px; text-decoration:none; transition:border-color .15s ease, color .15s ease; }
.tepl-collections__chip:hover { border-color:var(--tepl-accent); color:var(--tepl-accent); }

/* Карта сайта (HTML) */
.tepl-sitemap { display:grid; grid-template-columns:2fr 1fr; gap:30px 40px; align-items:start; margin:26px 0 10px; }
.tepl-sitemap__h2 { font-size:22px; font-weight:800; margin:0 0 18px; padding-bottom:12px; border-bottom:2px solid var(--tepl-line); }
.tepl-sitemap__cats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 30px; }
.tepl-sitemap__cat-link { display:inline-block; font-size:16px; font-weight:700; color:var(--tepl-ink); text-decoration:none; }
.tepl-sitemap__cat-link:hover { color:var(--tepl-accent); }
.tepl-sitemap__list { list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:7px; }
.tepl-sitemap__list a { font-size:14px; color:var(--tepl-muted); text-decoration:none; transition:color .15s ease; }
.tepl-sitemap__list a:hover { color:var(--tepl-accent); }
.tepl-sitemap__list--lead a { font-size:15px; font-weight:600; color:var(--tepl-ink); }
.tepl-sitemap__grp { margin-bottom:22px; }
.tepl-sitemap__h3 { font-size:15px; font-weight:700; margin:0 0 10px; color:var(--tepl-ink); }
@media (max-width:900px){
	.tepl-sitemap { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:560px){
	.tepl-sitemap__cats { grid-template-columns:1fr; }
}

/* Отступ между каталогом/посадкой и футером */
body.category .page-main__content--inner,
body.page-template-page-catalog .page-main__content--inner { padding-bottom: 64px; }
@media (max-width:768px){ body.category .page-main__content--inner,
body.page-template-page-catalog .page-main__content--inner { padding-bottom: 40px; } }

/* Hero: строка преимуществ под кнопками */
.tepl-hero__feats { list-style:none; display:flex; flex-wrap:wrap; gap:12px 24px; margin:28px 0 0; padding:0; }
.tepl-hero__feats li { position:relative; padding-left:26px; font-size:15px; font-weight:500; color:rgba(255,255,255,.94); }
.tepl-hero__feats li::before { content:""; position:absolute; left:0; top:50%; width:18px; height:18px; margin-top:-9px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2300AEEF'/%3E%3Cpath d='m7 12 3.2 3.2L17 8.5' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width:992px){ .tepl-hero__feats { margin-top:22px; } }
@media (max-width:480px){ .tepl-hero__feats { gap:10px 18px; } .tepl-hero__feats li { font-size:14px; } }

/* Нативные слайдеры (scroll-snap) вместо Swiper. Скроллится трек .swiper-wrapper,
   стрелки .tepl-*__nav позиционируются на нескроллящемся .swiper-родителе. */
.tepl-articles__slider .swiper-wrapper,
.tepl-related__slider .swiper-wrapper {
  display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px;
}
.tepl-articles__slider .swiper-wrapper::-webkit-scrollbar,
.tepl-related__slider .swiper-wrapper::-webkit-scrollbar { display:none; }
.tepl-articles__slider .swiper-slide,
.tepl-related__slider .swiper-slide { flex:0 0 auto; scroll-snap-align:start; }
/* Статьи: ~1.1 -> 2 -> 3, gap 24 */
.tepl-articles__slider .swiper-slide { flex-basis:86%; }
@media (min-width:600px){ .tepl-articles__slider .swiper-slide { flex-basis:calc((100% - 24px)/2); } }
@media (min-width:992px){ .tepl-articles__slider .swiper-slide { flex-basis:calc((100% - 48px)/3); } }
/* Товарные: ~1.2 -> 2 -> 3 -> 4, gap 20 */
.tepl-related__slider .swiper-wrapper { gap:20px; }
.tepl-related__slider .swiper-slide { flex-basis:80%; }
@media (min-width:480px){ .tepl-related__slider .swiper-slide { flex-basis:calc((100% - 20px)/2); } }
@media (min-width:768px){ .tepl-related__slider .swiper-slide { flex-basis:calc((100% - 40px)/3); } }
@media (min-width:1100px){ .tepl-related__slider .swiper-slide { flex-basis:calc((100% - 60px)/4); } }

/* Нативные модалки/лайтбокс (замена Fancybox) */
html.tepl-mfb-lock { overflow:hidden; }
.tepl-mfb { position:fixed; inset:0; z-index:99999; display:none; }
.tepl-mfb.is-open { display:block; }
.tepl-mfb__backdrop { position:absolute; inset:0; background:rgba(16,28,40,.78); animation:tepl-mfb-fade .2s ease; }
.tepl-mfb__wrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:40px 16px; overflow:auto; }
.tepl-mfb__content { position:relative; z-index:1; max-width:100%; animation:tepl-mfb-pop .22s cubic-bezier(.22,.61,.36,1); }
/* inline-попап (форма) — воспроизводим .fancybox-content.popup-style */
.tepl-mfb__content > .popup-style { display:block; background:#fff; max-width:570px; width:100%; padding:34px 44px; border:1px solid #EBEDF0; border-radius:8px; box-shadow:0 21px 30px rgba(68,75,83,.32); }
.tepl-mfb--image .tepl-mfb__content { background:none; }
.tepl-mfb__img { display:block; max-width:90vw; max-height:86vh; width:auto; height:auto; border-radius:6px; box-shadow:0 14px 40px rgba(0,0,0,.4); }
.tepl-mfb__close { position:fixed; top:20px; right:24px; z-index:5; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--tepl-ink); font-size:18px; line-height:44px; text-align:center; cursor:pointer; box-shadow:var(--tepl-shadow); transition:color .15s ease, transform .15s ease; }
.tepl-mfb__close:hover { color:var(--tepl-accent); transform:rotate(90deg); }
.tepl-mfb__arrow { position:fixed; top:50%; transform:translateY(-50%); z-index:5; width:50px; height:50px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:var(--tepl-ink-2); font-size:28px; line-height:1; cursor:pointer; box-shadow:var(--tepl-shadow); }
.tepl-mfb__arrow:hover { color:var(--tepl-accent); }
.tepl-mfb__arrow--prev { left:24px; } .tepl-mfb__arrow--next { right:24px; }
.tepl-mfb:not(.tepl-mfb--image) .tepl-mfb__arrow { display:none; }
@keyframes tepl-mfb-fade { from{opacity:0;} to{opacity:1;} }
@keyframes tepl-mfb-pop { from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }
@media (max-width:560px){
  .tepl-mfb__content > .popup-style { padding:28px 22px; }
  .tepl-mfb__arrow { width:42px; height:42px; font-size:24px; }
  .tepl-mfb__arrow--prev { left:8px; } .tepl-mfb__arrow--next { right:8px; }
}

/* Размерная страница (мНЧ): карточка покупки + калькулятор + другие размеры */
.tepl-sizecard__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:10px}
.tepl-sizecard__lbl{font-size:18px;font-weight:700;color:var(--tepl-ink)}
.tepl-sizecard__art{font-size:13px;color:var(--tepl-muted)}
.tepl-sizecard__unit{font-size:16px;color:var(--tepl-muted);font-weight:600}
.tepl-sizecard__buy{display:flex;align-items:center;gap:12px;margin:16px 0}
.tepl-sizecard__buy .tepl-btn{flex:1;height:48px}
.tepl-sizecard__facts{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--tepl-line);display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--tepl-ink-2);line-height:1.4}
.tepl-sizecard__facts b{font-weight:600}
.tepl-sizecard__fic{display:inline-block;width:18px;color:var(--tepl-accent);font-weight:700}
.tepl-sizecard__all{display:inline-block;margin-top:14px;color:var(--tepl-accent);font-size:14px;font-weight:600;text-decoration:none}
.tepl-sizecard__all:hover{text-decoration:underline}
.tepl-calc{margin-top:18px;padding:14px 16px;background:var(--tepl-bg-soft);border:1px solid var(--tepl-line);border-radius:12px}
.tepl-calc__title{font-weight:700;font-size:14px;margin-bottom:10px}
.tepl-calc__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tepl-calc__in{width:110px;height:40px;border:1px solid var(--tepl-line);border-radius:8px;padding:0 12px;font:inherit}
.tepl-calc__unit{font-size:13px;color:var(--tepl-muted)}
.tepl-calc__out{margin-top:10px;font-size:14px}
.tepl-calc__out b{color:var(--tepl-accent)}
.tepl-calc__note{margin-top:6px;font-size:12px;color:var(--tepl-muted)}
.tepl-othersizes__grid{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow:auto;padding:2px}
.tepl-othersizes__chip{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--tepl-line);border-radius:8px;background:#fff;color:var(--tepl-ink-2);font-size:13px;text-decoration:none;transition:border-color .15s ease,color .15s ease}
.tepl-othersizes__chip:hover{border-color:var(--tepl-accent);color:var(--tepl-accent)}
.tepl-othersizes__chip.is-cur{background:var(--tepl-accent);border-color:var(--tepl-accent);color:#fff;font-weight:600}
.single-item__item--size .single-item__item-val{font-weight:700;color:var(--tepl-ink)}

/* Cookie-баннер */
.tepl-cookie{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:#fff;border-top:1px solid var(--tepl-line);box-shadow:0 -6px 24px rgba(20,40,70,.10);padding:16px 0}
.tepl-cookie[hidden]{display:none}
.tepl-cookie__inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:space-between}
.tepl-cookie__text{margin:0;font-size:14px;color:var(--tepl-ink-2);line-height:1.5;flex:1;min-width:280px}
.tepl-cookie__text a{color:var(--tepl-accent);text-decoration:underline}
.tepl-cookie__btns{display:flex;gap:12px;flex-shrink:0}
.tepl-cookie__btns .tepl-btn{height:42px;padding:0 26px}
@media(max-width:640px){.tepl-cookie{padding:14px 0}.tepl-cookie__btns{width:100%}.tepl-cookie__btns .tepl-btn{flex:1;padding:0 12px}}

/* Согласие в форме (CF7 acceptance) */
.tepl-consent{margin:6px 0 14px;font-size:13px;line-height:1.45;color:var(--tepl-muted)}
.tepl-consent .wpcf7-list-item{margin:0;display:flex;align-items:flex-start;gap:9px}
.tepl-consent label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-weight:400}
.tepl-consent input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin-top:1px;accent-color:var(--tepl-accent);cursor:pointer}
.tepl-consent a{color:var(--tepl-accent);text-decoration:underline}
.tepl-consent__star{color:var(--tepl-accent-2)}
.tepl-consent .wpcf7-not-valid-tip{font-size:12px}

/* ===== 404 и пустая корзина ===== */
.tepl-404 { padding:48px 0 64px; }
.tepl-404__inner { max-width:760px; margin:0 auto; text-align:center; }
.tepl-404__code { font-size:96px; line-height:1; font-weight:800; color:var(--tepl-accent); letter-spacing:2px; }
.tepl-404__title { font-size:30px; font-weight:800; color:var(--tepl-ink); margin:14px 0 10px; }
.tepl-404__lead { font-size:16px; line-height:1.6; color:var(--tepl-muted); margin:0 auto 28px; max-width:560px; }
.tepl-404__search { display:flex; max-width:520px; margin:0 auto 22px; border:1px solid var(--tepl-line); border-radius:12px; overflow:hidden; background:#fff; }
.tepl-404__search-input { flex:1; border:0; padding:0 18px; height:52px; font-size:15px; color:var(--tepl-ink); outline:none; }
.tepl-404__search-btn { display:inline-flex; align-items:center; gap:8px; border:0; background:var(--tepl-accent); color:#fff; padding:0 24px; height:52px; font-size:15px; font-weight:600; cursor:pointer; }
.tepl-404__search-btn:hover { background:var(--tepl-accent-dark); }
.tepl-404__btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.tepl-404__btns .tepl-btn { min-width:200px; height:50px; }
.tepl-404__sections-title, .tepl-empty__sections-title { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--tepl-muted); margin-bottom:16px; }
.tepl-404__grid, .tepl-empty__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; text-align:left; }
.tepl-404__sec, .tepl-empty__sec { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px; background:#fff; border:1px solid var(--tepl-line); border-radius:12px; color:var(--tepl-ink); font-weight:600; font-size:15px; transition:border-color .15s, box-shadow .15s, transform .15s; }
.tepl-404__sec:hover, .tepl-empty__sec:hover { border-color:var(--tepl-accent); box-shadow:0 6px 18px rgba(0,174,239,.12); transform:translateY(-1px); color:var(--tepl-accent); }
.tepl-404__sec-arrow, .tepl-empty__sec-arrow { color:var(--tepl-accent); font-size:18px; }

.tepl-empty { max-width:640px; margin:8px auto 0; text-align:center; }
.tepl-empty__ic { display:inline-flex; width:96px; height:96px; align-items:center; justify-content:center; border-radius:50%; background:rgba(0,174,239,.08); margin-bottom:20px; }
.tepl-empty__title { font-size:26px; font-weight:800; color:var(--tepl-ink); margin-bottom:10px; }
.tepl-empty__lead { font-size:16px; line-height:1.6; color:var(--tepl-muted); margin:0 auto 26px; max-width:480px; }
.tepl-empty__btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.tepl-empty__btns .tepl-btn { min-width:200px; height:50px; }
/* внутри .content-text ссылки перекрашиваются — возвращаем цвета кнопок */
.tepl-empty__btns .tepl-btn--primary { color:#fff; }
.tepl-empty__btns .tepl-btn--outline { color:var(--tepl-accent); }
.tepl-empty__btns .tepl-btn--outline:hover { color:#fff; }
.tepl-empty__sec { text-decoration:none; }
/* .content-text p { margin:0 0 14px } перебивает auto-центрирование блока лида — возвращаем */
.content-text .tepl-empty__lead { margin-left:auto; margin-right:auto; text-align:center; }
.content-text .tepl-empty { text-align:center; }
@media (max-width:600px){
  .tepl-404__code { font-size:72px; }
  .tepl-404__title { font-size:24px; }
  .tepl-404__grid, .tepl-empty__grid { grid-template-columns:1fr; }
  .tepl-404__btns .tepl-btn, .tepl-empty__btns .tepl-btn { width:100%; }
}

/* ===== Продажа целиком: серая цена за штуку/рулон + метка/подпись количества ===== */
.tepl-sizes__sec { display:block; font-size:12px; font-weight:400; color:var(--tepl-muted); margin-top:1px; }
.tepl-sizecard__sec { font-size:12px; color:var(--tepl-muted); margin-top:3px; }
.tepl-qty { display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content:center; }
.tepl-qty__unit { font-size:12px; color:var(--tepl-muted); white-space:nowrap; }
.tepl-qty__note { flex-basis:100%; width:100%; font-size:11px; color:var(--tepl-muted); text-align:center; margin-top:2px; }
