/*
Theme Name: Terma Heat
Theme URI: https://termaheat.com.ua
Description: Самодостаточная тема в стиле сайта-производителя termaheat.pl — серифные заголовки, левый сайдбар категорий, поиск с красной кнопкой, фильтры-таблетки, карточки на белом. URL и SEO-структуру не меняет.
Author: Terma Heat
Version: 2.1
Text Domain: terma
*/

/* Inter (variable, OFL) — self-hosted, только latin+cyrillic сабсеты */
@font-face{font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('fonts/inter-var-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('fonts/inter-var-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('fonts/inter-var-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}

:root{
  /* фирменный красный: вариант A, в гамме лого донора (#FF3333) */
  --terma-red:#E23A2E; --terma-red-hover:#C93327; --terma-red-dark:var(--terma-red-hover); --terma-ink:#1a1a1a;
  --terma-muted:#6b6b6b; --terma-line:#e6e6e6; --terma-soft:#f2f2f2;
  --terma-radius:12px; --terma-card-radius:14px; --terma-maxw:1440px;
  /* одна семья на весь сайт: заголовки = Inter 700 (PT Serif убран) */
  --terma-serif:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --terma-sans:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0; color:var(--terma-ink); background:#fff; font-family:var(--terma-sans); font-weight:400; line-height:1.6;}
img{max-width:100%; height:auto;}
h1,h2,h3{font-family:var(--terma-sans); font-weight:700; letter-spacing:-.2px; line-height:1.25; margin:0 0 .5em;}
h1{font-size:32px;} h2{font-size:22px;} h3{font-size:18px;}
a{color:var(--terma-ink); text-decoration:none;} a:hover{color:var(--terma-red);}
.wrap{max-width:var(--terma-maxw); margin:0 auto; padding:0 40px;}
.site-content{max-width:var(--terma-maxw); margin:0 auto; padding:0 40px;}
@media (max-width:760px){.wrap,.site-content{padding:0 16px;}}

/* Header */
.site-header{border-bottom:.5px solid #e7e7e9; background:#F6F6F7;}
.site-header .wrap{display:flex; align-items:center; gap:18px; padding:18px 40px;}
.logo{display:flex; align-items:center; gap:7px; flex-shrink:0; margin-right:6px;}
.logo img{height:34px; width:auto; display:block;}
.logo .mark{width:28px; height:28px; background:var(--terma-red); color:#fff; border-radius:6px; display:flex; align-items:center; justify-content:center; font-weight:700;}
.logo .name{color:var(--terma-red); font-weight:700; letter-spacing:2px; font-size:20px;}
.hsearch{flex:1; display:flex; align-items:center; background:#fff; border:1px solid var(--terma-line); border-radius:999px; padding:3px 3px 3px 22px; max-width:520px; margin:0 auto; transition:border-color .18s ease, box-shadow .18s ease;}
.hsearch:focus-within{border-color:var(--terma-red); box-shadow:0 0 0 1px var(--terma-red);}
.hsearch input{flex:1; border:none; outline:none; background:transparent; height:38px; font-size:14px;}
.hsearch input::placeholder{color:#a5a5a5;}
.hsearch button{width:40px; height:40px; border:none; background:var(--terma-red); color:#fff; border-radius:999px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .18s ease;}
.hsearch button:hover{background:var(--terma-red-hover);}
.lang{display:flex; gap:10px; font-size:13px; align-items:center; line-height:1;}
.lang a{color:#9a9a9a; transition:color .15s ease;} .lang a:hover{color:var(--terma-red);}
.lang .current{color:var(--terma-red); font-weight:600;}
.mainnav{border-bottom:.5px solid #e7e7e9; background:#F6F6F7;}
.mainnav > .wrap{display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 40px; flex-wrap:wrap;}
.mainnav a{font-size:14px; color:var(--terma-ink);} .mainnav a:hover{color:var(--terma-red);}
.mainnav li,.moffcanvas__nav li{list-style:none; display:contents;}
.mainnav li.current-menu-item>a{color:var(--terma-red);}

/* Мега-меню (панели донора без промо) */
.mainnav{position:relative;}
.mainnav a[data-mega]{position:relative; padding-bottom:2px; display:inline-flex; align-items:center; gap:7px;}
/* шеврон у пунктов с мега-панелью (как у донора), при открытии — вверх */
.mainnav > .wrap a[data-mega]::after{content:''; width:7px; height:7px; margin-top:-4px; flex-shrink:0;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); transition:transform .2s ease;}
.mainnav > .wrap a.is-mega-on::after{transform:rotate(225deg); margin-top:3px;}
.mainnav a.is-mega-on{color:var(--terma-red);}
/* указатель-треугольник на панель — через ::before (::after занят шевроном) */
.mainnav a.is-mega-on::before{content:''; position:absolute; left:50%; bottom:-15px; transform:translateX(-50%);
  border:7px solid transparent; border-bottom-color:#fff; z-index:1002; filter:drop-shadow(0 -1px 0 var(--terma-line));}
.mega{position:absolute; left:0; right:0; top:100%; background:#fff; border-top:.5px solid var(--terma-line);
  box-shadow:0 18px 40px rgba(0,0,0,.10); z-index:1001; opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;}
.mega.is-open{opacity:1; visibility:visible; transform:translateY(0);}
.mega__in{display:block; padding-top:26px; padding-bottom:8px;}
.mega__cols{display:flex; flex-wrap:wrap;}
.mega__col{padding:0 46px 6px 0;}
.mega__col + .mega__col{border-left:1px solid var(--terma-line); padding-left:46px;}
.mega__g + .mega__g{margin-top:22px;}
.mega__t{font-size:13px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; margin-bottom:12px; color:var(--terma-ink);}
.mega__col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;}
.mega__col a{font-size:14px; color:var(--terma-muted);}
.mega__col a:hover{color:var(--terma-red);}
/* «Быстрый поиск» — как у донора: заголовок-секция с линией на всю ширину, ссылка с PDF-иконкой ниже */
.mega__quick{margin-top:22px;}
.mega__quick-t{display:block; font-size:13px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; color:var(--terma-ink); padding-bottom:10px; border-bottom:1px solid var(--terma-line);}
.mega__pdf{display:inline-flex; align-items:center; gap:8px; margin:14px 0 10px; font-size:13px; letter-spacing:.5px; text-transform:uppercase; color:var(--terma-ink);}
.mega__pdf svg{flex-shrink:0; color:var(--terma-red);}
.mega__pdf:hover{color:var(--terma-red);}
@media (max-width:860px){.mega{display:none;}}
/* Аккордеон в бургере */
.oc-acc-row{display:flex; align-items:stretch; border-bottom:.5px solid var(--terma-line);}
.oc-acc-row a{flex:1; border-bottom:0 !important;}
.oc-acc-toggle{background:none; border:0; width:44px; font-size:18px; color:var(--terma-muted); cursor:pointer; transition:transform .2s ease;}
.oc-acc-toggle.is-open{transform:rotate(180deg);}
.oc-acc{display:none; padding:4px 0 10px 12px; border-bottom:.5px solid var(--terma-line);}
.oc-acc.is-open{display:block;}
.oc-acc__t{font-size:12px; letter-spacing:.5px; text-transform:uppercase; color:#999; margin:10px 0 4px;}
.oc-acc a{display:block; padding:7px 4px; font-size:14px; color:var(--terma-ink); border-bottom:0 !important;}

/* Sticky-шапка (как у донора) */
/* Sticky — только полоса категорий (как у донора): верх шапки уезжает, меню липнет */
.mainnav{position:sticky; top:0; z-index:900; transition:background .2s ease, box-shadow .2s ease;}
.mainnav.is-stuck{background:#fff; box-shadow:0 2px 14px rgba(0,0,0,.07);}
@media (max-width:860px){
  .site-header{position:sticky; top:0; z-index:900; transition:box-shadow .2s ease;}
  .site-header.is-stuck{box-shadow:0 2px 14px rgba(0,0,0,.07);}
}
.hphone{flex-shrink:0; font-size:14px; font-weight:600; color:var(--terma-ink); white-space:nowrap; margin-left:auto;}
.hphone:hover{color:var(--terma-red);}
.lang li{list-style:none; display:inline-block; margin-left:8px;}
.lang ul{margin:0; padding:0; display:flex;}
.lang .current-lang a,.lang .current{color:var(--terma-red); font-weight:600;}
/* Бургер */
.burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; background:none; border:0; cursor:pointer; padding:6px;}
.burger span{display:block; height:2px; background:var(--terma-ink); border-radius:2px;}
/* Выезжающая панель (как offcanvas донора) */
.moffcanvas{position:fixed; inset:0; z-index:1100; pointer-events:none;}
.moffcanvas__overlay{position:absolute; inset:0; background:rgba(20,20,20,.5); opacity:0; transition:opacity .25s ease;}
.moffcanvas__panel{position:absolute; top:0; left:0; bottom:0; width:290px; max-width:84vw; background:#fff; padding:56px 22px 22px;
  transform:translateX(-102%); transition:transform .28s cubic-bezier(.2,.8,.2,1); box-shadow:6px 0 30px rgba(0,0,0,.15); overflow-y:auto;}
.moffcanvas.is-open{pointer-events:auto;}
.moffcanvas.is-open .moffcanvas__overlay{opacity:1;}
.moffcanvas.is-open .moffcanvas__panel{transform:translateX(0);}
.moffcanvas__close{position:absolute; top:10px; right:12px; font-size:30px; line-height:1; background:none; border:0; color:var(--terma-muted); cursor:pointer;}
.moffcanvas__nav{display:flex; flex-direction:column; gap:2px;}
.moffcanvas__nav a{display:block; padding:11px 4px; font-size:15px; color:var(--terma-ink); border-bottom:.5px solid var(--terma-line);}
.moffcanvas__nav a:hover{color:var(--terma-red);}
.moffcanvas__phone{display:block; margin-top:18px; font-size:16px; font-weight:700; color:var(--terma-ink);}
.moffcanvas__lang{margin-top:14px;}
body.menu-open{overflow:hidden;}
@media (max-width:860px){
  .burger{display:flex;}
  .mainnav{display:none;}
  .hphone{display:none;}
  .site-header .wrap{gap:12px; padding:12px 16px;}
  .hsearch{max-width:none;}
}

/* Breadcrumb + layout */
.terma-breadcrumb{font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#aaa; padding:22px 0; border-bottom:.5px solid var(--terma-line); margin:0 0 8px;}
.terma-bc a{color:#aaa;} .terma-bc a:hover{color:var(--terma-red);}
.terma-bc__sep{margin:0 6px; color:#ccc;}
.terma-bc__cur{color:var(--terma-ink);}
.terma-layout{display:grid; grid-template-columns:248px 1fr; gap:40px; margin:32px 0 64px;}
@media(max-width:900px){.terma-layout{grid-template-columns:1fr;}}
.terma-side h3{font-size:21px; margin:0 0 14px;}
.terma-side ul{list-style:none; margin:0 0 34px; padding:0; display:flex; flex-direction:column; gap:12px;}
.terma-side ul li a{font-size:16px; color:#444;}

.terma-content-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:28px;}
.terma-content-head h1{margin:0;}
.terma-help{text-align:right;}
.terma-help__t{font-size:11px; letter-spacing:.5px; text-transform:uppercase; color:#888; margin-bottom:8px;}
.terma-help a{display:inline-flex; align-items:center; gap:6px; border:.5px solid #ddd; border-radius:8px; padding:8px 14px; font-size:13px;}

.terma-filters{display:flex; gap:14px; flex-wrap:wrap; margin:0 0 32px;}
.terma-filter{font-size:13px; padding:9px 16px; border-radius:999px; background:var(--terma-soft); color:#555; border:none; cursor:pointer;}
.terma-filter:hover{background:#e8e8e8;}

.terma-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:40px;}
@media(max-width:1100px){.terma-grid{grid-template-columns:repeat(3,1fr); gap:24px;}}
@media(max-width:760px){.terma-grid{grid-template-columns:repeat(2,1fr); gap:18px;}}
@media(max-width:480px){.terma-grid{grid-template-columns:1fr;}}
/* фон каталога — очень светлый серый, карточки белые «парят» */
body.tax-prod_category, body.post-type-archive-products{background:#FAFAFA;}
.terma-card{background:#fff; border-radius:16px; border:none; box-shadow:0 6px 28px rgba(15,23,42,.05); overflow:hidden;
  transition:box-shadow .28s ease-out, transform .28s ease-out, opacity .45s ease-out; display:block;}
/* каскадное появление карточек (при скролле и после «Показать ещё») */
.terma-card.is-new{opacity:0; transform:translateY(28px); transition:opacity .5s ease-out, transform .5s ease-out;}
.terma-card.is-new.is-in{opacity:1; transform:none;}
/* доступность: отключаем всю анимацию карточек */
@media (prefers-reduced-motion: reduce){
  .terma-card,.terma-card__img img,.terma-card__name,.terma-rel-img,.terma-rel-name{transition:none !important;}
  .terma-card:hover,.terma-card:active{transform:none !important;}
  .terma-card:hover .terma-card__img img{transform:none !important;}
  .terma-card.is-new{opacity:1 !important; transform:none !important;}
  .terma-rel-card:hover .terma-rel-img{transform:none !important;}
}
/* кнопка «Показать ещё» + скрытая SEO-пагинация */
.terma-more-wrap{display:flex; justify-content:center; margin:34px 0 8px;}
/* контурная, на hover — заливка фирменным красным */
.terma-more{cursor:pointer; font-family:inherit; font-size:15px; font-weight:600; padding:13px 36px; border-radius:12px;
  background:#fff; color:var(--terma-red); border:1.5px solid var(--terma-red);
  transition:background .18s ease, color .18s ease, transform .18s ease;}
.terma-more:hover{background:var(--terma-red); color:#fff;}
.terma-more.is-loading{opacity:.75; cursor:default;}
.terma-more.is-loading::after{content:''; display:inline-block; width:14px; height:14px; margin-left:10px; vertical-align:-2px;
  border:2px solid currentColor; border-top-color:transparent; border-radius:50%; opacity:.7; animation:terma-spin .7s linear infinite;}
@keyframes terma-spin{to{transform:rotate(360deg);}}
.terma-pagn-seo{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;}
.terma-card__img{aspect-ratio:1/1; background:#fff; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.terma-card__img img{width:100%; height:100%; object-fit:contain; padding:20px; transition:transform .3s ease-out;}
.terma-card__name{padding:14px 20px 22px; font-size:16px; font-weight:600; color:#1F2937; line-height:1.45; transition:color .25s ease-out;}
/* усиленный hover — только на устройствах с курсором (на таче не залипает) */
@media (hover:hover){
  .terma-card:hover{transform:translateY(-7px);
    box-shadow:0 24px 60px rgba(15,23,42,.14), 0 8px 20px rgba(15,23,42,.10);}
  .terma-card:hover .terma-card__img img{transform:scale(1.06);}
  .terma-card:hover .terma-card__name{color:var(--terma-red);}
}
.terma-card:active{transform:translateY(-2px);}

.terma-single{display:grid; grid-template-columns:1.1fr 1fr; gap:44px; margin:24px 0 48px;}
@media(max-width:820px){.terma-single{grid-template-columns:1fr;}}
.terma-gallery__main{aspect-ratio:1/1; background:#fafafa; border-radius:var(--terma-card-radius); display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative;}
.terma-gallery__main img{width:100%; height:100%; object-fit:contain; padding:18px;}
.terma-gallery__thumbs{display:flex; gap:10px; margin-top:12px;}
.terma-gallery__thumbs img{width:66px; height:66px; object-fit:contain; background:#fafafa; border-radius:8px; border:.5px solid var(--terma-line); cursor:pointer; padding:4px; transition:border-color .15s ease;}
.terma-gallery__thumbs img.is-active{border:2px solid var(--terma-ink); padding:3px;}
.terma-gallery__thumbs img:hover{border-color:#9a9a9a;}
/* стрелки на главной картинке — тонкие серые, как у донора */
.terma-gal-nav{position:absolute; top:50%; transform:translateY(-50%); z-index:2; background:none; border:0; cursor:pointer;
  font-size:44px; line-height:1; font-weight:300; color:#b9b9b9; padding:6px 14px; user-select:none; transition:color .15s ease;}
.terma-gal-nav:hover{color:#6b6b6b;}
.terma-gal-nav--prev{left:2px;} .terma-gal-nav--next{right:2px;}
.terma-info h1{margin:0 0 12px;}
.terma-lead{color:#333; font-size:15px; line-height:1.75;}
.terma-lead p{margin:0 0 1em;}

.terma-cta{margin:28px 0; padding:22px 24px; background:var(--terma-soft); border-radius:var(--terma-card-radius); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.terma-cta p{margin:0; font-size:15px;}
.terma-cta a{background:var(--terma-red); color:#fff; font-size:15px; padding:12px 26px; border-radius:8px;}
.terma-cta a:hover{background:var(--terma-red-dark); color:#fff;}
.terma-archived{display:inline-block; font-size:12px; padding:5px 12px; border-radius:6px; background:#f3f3f3; color:var(--terma-muted); margin-bottom:12px;}

/* Фасеты */
.terma-side ul li a.is-cur{color:var(--terma-red); font-weight:600;}
.terma-quick li{margin-bottom:2px;}
.terma-count{font-size:13px; color:var(--terma-muted); margin:0 0 16px;}
.terma-facets{margin-top:8px;}
.terma-facets__reset{display:inline-block; font-size:12px; color:var(--terma-red); margin:0 0 14px;}
.terma-facet{margin:0 0 18px;}
.terma-facet__t{font-family:var(--terma-serif); font-size:15px; font-weight:700; margin:0 0 8px;}
.terma-facet ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px;}
.terma-facet__o{display:flex; align-items:center; gap:8px; font-size:13.5px; color:#444;}
.terma-facet__o:hover{color:var(--terma-red);}
.terma-facet__box{width:16px; height:16px; border:1px solid #cfcfcf; border-radius:4px; display:inline-flex; align-items:center; justify-content:center; font-size:11px; color:#fff; flex-shrink:0;}
.terma-facet__o.is-on .terma-facet__box{background:var(--terma-red); border-color:var(--terma-red);}
.terma-facet__o.is-on{color:var(--terma-ink); font-weight:600;}

/* ── Фильтры-выпадашки: вёрстка донора (nice-select / lena-filter) ── */
.lena-filters-form{margin:0 0 20px;}
.lena-filter-grid{display:flex; flex-wrap:wrap; gap:10px; align-items:center; list-style:none; margin:0; padding:0;}
.lena-filter-column{padding:0;}
.lena-reset a{font-size:13px; color:var(--terma-red); white-space:nowrap;}
.nice-select{-webkit-tap-highlight-color:transparent; background:#fff; border:1px solid #ddd; border-radius:8px; box-sizing:border-box; clear:both; cursor:pointer; display:inline-block; font-family:inherit; font-size:13px; font-weight:400; height:42px; line-height:40px; outline:none; padding-left:18px; padding-right:34px; position:relative; transition:.2s ease-in-out; user-select:none; white-space:nowrap; text-align:left; color:#1a1a1a;}
.nice-select:hover{border-color:#333;}
.nice-select.open,.nice-select:focus{border-color:#999;}
.nice-select.has-on{border-color:var(--terma-red);}
.nice-select .ns-n{display:inline-block; min-width:16px; height:16px; line-height:16px; text-align:center; background:var(--terma-red); color:#fff; border-radius:10px; font-size:11px; padding:0 4px; margin-left:4px;}
.nice-select::after{border-bottom:2px solid #000; border-right:2px solid #000; content:""; display:block; height:7px; width:7px; margin-top:-5px; pointer-events:none; position:absolute; right:14px; top:50%; transform-origin:66% 66%; transform:rotate(45deg); transition:.15s ease-in-out;}
.nice-select.open::after{transform:rotate(-135deg);}
.nice-select .list{background:#fff; border-radius:6px; box-shadow:0 0 0 1px rgba(68,68,68,.11), 0 8px 24px rgba(0,0,0,.1); box-sizing:border-box; margin-top:4px; opacity:0; overflow:hidden; padding:6px 0; pointer-events:none; position:absolute; top:100%; left:0; min-width:100%; transform-origin:50% 0; transform:scale(.9) translateY(-12px); transition:.18s cubic-bezier(.5,0,0,1.25), opacity .15s ease-out; z-index:20; list-style:none;}
.nice-select.open .list{opacity:1; pointer-events:auto; transform:scale(1) translateY(0);}
.nice-select .option{cursor:pointer; font-weight:400; line-height:38px; min-height:38px; list-style:none; outline:none; padding:0 34px 0 18px; text-align:left; transition:.15s; white-space:nowrap;}
.nice-select .option:hover,.nice-select .option.focus{background:#7d8082; color:#fff;}
.nice-select .option.selected{font-weight:600; color:var(--terma-red);}
.nice-select .option.selected:hover{color:#fff;}
@media(max-width:900px){.lena-filter-grid{gap:8px;} .nice-select{font-size:12px; height:38px; line-height:36px;}}

/* ── Карточка товара (копия донора) ── */
.terma-product{padding-top:8px;}
.terma-prod-top{display:grid; grid-template-columns:1.05fr 1fr; gap:48px; margin:12px 0 34px; align-items:start;}
@media(max-width:900px){.terma-prod-top{grid-template-columns:1fr; gap:24px;}}
.terma-prod-gallery .terma-gallery__main{aspect-ratio:1/1; background:#fff; border:1px solid var(--terma-line); border-radius:14px;}
.terma-prod-gallery .terma-gallery__thumbs{flex-wrap:wrap; gap:12px; margin-top:16px;}
.terma-prod-gallery .terma-gallery__thumbs img{width:76px; height:76px; border-radius:10px;}
.terma-prod-info h1{font-size:30px; margin:0 0 14px;}
.terma-prod-flex{display:flex; gap:24px; align-items:flex-start;}
.terma-prod-flex .terma-lead{flex:1; font-size:15px; line-height:1.75; color:#333;}
.terma-warranty{flex-shrink:0; width:140px; border:1px solid var(--terma-line); border-radius:14px; padding:18px 16px; text-align:left;}
.terma-warranty__t{font-size:12px; letter-spacing:.5px; text-transform:uppercase; color:#888; margin-bottom:6px;}
.terma-warranty__y{font-family:var(--terma-serif); font-size:30px; font-weight:700;}
@media(max-width:560px){.terma-prod-flex{flex-direction:column;} .terma-warranty{width:auto;}}
.terma-btns{display:flex; gap:14px; margin-top:26px; flex-wrap:wrap;}
.terma-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:52px; padding:0 34px; border-radius:12px; font-size:15px; font-weight:500; transition:.15s;}
.terma-btn--primary{background:var(--terma-red); color:#fff;}
.terma-btn--primary:hover{background:var(--terma-red-dark); color:#fff;}
.terma-btn--outline{background:#fff; color:var(--terma-ink); border:1px solid #d5d5d5;}
.terma-btn--outline:hover{border-color:var(--terma-red); color:var(--terma-red);}
.terma-replace{color:var(--terma-red);}

.terma-tabs{border:1px solid var(--terma-line); border-radius:16px; padding:6px; margin:0 0 40px;}
.terma-tabs__nav{display:flex; flex-wrap:wrap; gap:4px; list-style:none; margin:0; padding:6px 8px; border-bottom:1px solid var(--terma-line);}
.terma-tabs__nav li{margin:0;}
.terma-tab{display:inline-block; padding:12px 22px; font-size:15px; color:#555; border-radius:10px;}
.terma-tab:hover{color:var(--terma-red);}
.terma-tab.is-on{color:var(--terma-red); font-weight:600;}
.terma-tabs__body{padding:22px 18px;}
.terma-panel{display:none;}
.terma-panel.is-on{display:block;}
.terma-panel__note{font-size:14px; color:#555; margin:0 0 14px;}
.terma-tblwrap{overflow-x:auto;}
.terma-tbl{border-collapse:collapse; width:100%; font-size:13px;}
.terma-tbl th{background:var(--terma-soft); color:#333; font-weight:600; text-align:center; padding:9px 10px; border:1px solid var(--terma-line); white-space:nowrap;}
.terma-tbl td{padding:8px 10px; border:1px solid var(--terma-line); text-align:center; color:#444;}
.terma-tbl__sub td{background:#faf6f2; text-align:left; font-weight:600; color:var(--terma-ink);}
.terma-tbl tbody tr:hover td{background:#fafafa;}

.terma-colors__grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px;}
.terma-colors__i{display:flex; align-items:center; gap:10px; font-size:13.5px; color:#444;}
.terma-colors__sw{width:30px; height:30px; border-radius:7px; border:1px solid rgba(0,0,0,.12); flex-shrink:0;}
.terma-dl{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.terma-dl a{display:inline-flex; align-items:center; gap:10px; font-size:14px; color:var(--terma-ink);}
.terma-dl a:hover{color:var(--terma-red);}
.terma-dl__ic{width:26px; height:26px; border-radius:50%; background:var(--terma-soft); display:inline-flex; align-items:center; justify-content:center; color:var(--terma-red);}

.terma-conn-h,.terma-size-h{font-family:var(--terma-serif); font-size:22px; margin:28px 0 18px; padding-left:12px; border-left:4px solid var(--terma-red);}
.terma-size-h{margin-top:0;}
.terma-conn{display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:10px; align-items:end;}
.terma-conn__i{margin:0; border:1px solid var(--terma-line); border-radius:9px; padding:8px 6px; display:flex; flex-direction:column; align-items:center;}
.terma-conn__i img{max-width:100%; max-height:60px; object-fit:contain;}
.terma-conn__i figcaption{margin-top:7px; font-size:11.5px; font-weight:500; font-family:var(--terma-sans); color:#555; text-align:center;}
.terma-legend{margin:22px 0 0; font-size:13px; color:var(--terma-muted); line-height:1.7;}
.terma-conn__i--cross img{max-height:52px;}
.terma-techdraw{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:16px; align-items:stretch; margin-bottom:8px;}
.terma-techdraw__i{margin:0; border:1px solid var(--terma-line); border-radius:12px; padding:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:320px;}
.terma-techdraw__i img{max-width:100%; max-height:290px; object-fit:contain;}
.terma-techdraw__i figcaption{margin-top:12px; font-size:15px; font-weight:600; font-family:var(--terma-serif);}
.terma-zoom{cursor:zoom-in;}
.terma-gallery__main img{cursor:zoom-in;}
.terma-lb{position:fixed; inset:0; z-index:9999; background:rgba(20,20,20,.86); display:flex; align-items:center; justify-content:center; padding:40px; opacity:0; pointer-events:none; transition:opacity .22s ease; cursor:zoom-out;}
.terma-lb.is-open{opacity:1; pointer-events:auto;}
.terma-lb img{max-width:92vw; max-height:90vh; object-fit:contain; background:#fff; border-radius:12px; transform:scale(.85); transition:transform .26s cubic-bezier(.2,.8,.2,1); box-shadow:0 20px 70px rgba(0,0,0,.5);}
.terma-lb.is-open img{transform:scale(1);}
/* стрелки лайтбокса (режим галереи) */
.terma-lb__nav{display:none; position:fixed; top:50%; transform:translateY(-50%); z-index:10000; background:none; border:0; cursor:pointer;
  font-size:64px; line-height:1; font-weight:300; color:rgba(255,255,255,.75); padding:10px 20px; user-select:none; transition:color .15s ease;}
.terma-lb__nav:hover{color:#fff;}
.terma-lb__nav--prev{left:8px;} .terma-lb__nav--next{right:8px;}
.terma-lb.is-gal .terma-lb__nav{display:block;}
@media (max-width:560px){.terma-lb__nav{font-size:48px; padding:8px 10px;} .terma-gal-nav{font-size:36px; padding:4px 10px;}}

/* Страницы и статьи: читаемая колонка */
.terma-page{max-width:760px; margin:34px auto 64px;}
.terma-page h1{font-size:30px; margin-bottom:18px;}
.terma-page__body{font-size:16px; line-height:1.7; color:#333;}
.terma-page__body p{margin:0 0 1em;}
.terma-page__body img{border-radius:12px; height:auto; margin:14px 0;}
.terma-page__body h2{font-size:22px; margin:1.4em 0 .5em;} .terma-page__body h3{font-size:18px; margin:1.2em 0 .4em;}
.terma-article__date{color:var(--terma-muted); font-size:13px; margin:-8px 0 18px;}
.terma-article__hero img{width:100%; height:auto; border-radius:14px; margin-bottom:20px;}
/* Список новостей */
.terma-news{margin:34px 0 64px;}
.terma-news h1{margin-bottom:26px;}
.terma-news__grid{grid-template-columns:repeat(3,1fr);}
@media(max-width:1100px){.terma-news__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.terma-news__grid{grid-template-columns:1fr;}}
.terma-news-card__img{aspect-ratio:16/10;}
.terma-news-card__img img{object-fit:cover; padding:0;}
.terma-news-card__body{padding:16px 20px 22px;}
.terma-news-card__body .terma-card__name{padding:0 0 6px;}
.terma-news-card__date{font-size:12.5px; color:var(--terma-muted); margin-bottom:8px;}
.terma-news-card__excerpt{font-size:14px; line-height:1.55; color:#4b5563;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.terma-empty{color:var(--terma-muted); font-size:15px; margin-top:8px;}

/* Блок «См. также» (Zobacz również донора) */
.terma-related{margin-top:48px; --rel-per:4;}
.terma-related__h{font-size:24px; margin-bottom:20px;}
.terma-rel-wrap{position:relative;}
.terma-rel-viewport{overflow:hidden;}
.terma-rel-track{display:flex; transition:transform .35s ease;}
.terma-rel-card{flex:0 0 calc(100%/var(--rel-per)); padding:0 8px; display:flex; flex-direction:column; text-decoration:none;}
.terma-rel-img{display:flex; align-items:center; justify-content:center; background:#fff; border:none; border-radius:16px; aspect-ratio:1/1; overflow:hidden;
  box-shadow:0 6px 28px rgba(15,23,42,.05); transition:box-shadow .28s ease-out, transform .28s ease-out;}
.terma-rel-img img{max-width:100%; max-height:100%; object-fit:contain; padding:18px; transition:transform .3s ease-out;}
.terma-rel-name{margin-top:12px; font-size:15px; font-weight:600; color:#1F2937; text-align:left; line-height:1.45; transition:color .25s ease-out;}
@media (hover:hover){
  .terma-rel-card:hover .terma-rel-img{box-shadow:0 24px 60px rgba(15,23,42,.14), 0 8px 20px rgba(15,23,42,.10); transform:translateY(-7px);}
  .terma-rel-card:hover .terma-rel-img img{transform:scale(1.06);}
  .terma-rel-card:hover .terma-rel-name{color:var(--terma-red);}
}
.terma-rel-card:hover .terma-rel-name{color:var(--terma-red);}
.terma-rel-nav{position:absolute; top:50%; transform:translateY(-50%); z-index:2; background:none; border:0; cursor:pointer;
  font-size:44px; line-height:1; font-weight:300; color:#b9b9b9; padding:6px 8px; user-select:none; transition:color .15s ease;}
.terma-rel-nav:hover{color:#6b6b6b;}
.terma-rel-nav--prev{left:-34px;} .terma-rel-nav--next{right:-34px;}
.terma-rel-dots{display:flex; justify-content:center; gap:8px; margin-top:18px;}
.terma-rel-dot{width:9px; height:9px; border-radius:50%; border:0; padding:0; background:#d9d9d9; cursor:pointer; transition:background .15s ease;}
.terma-rel-dot.is-on{background:var(--terma-ink);}
@media (max-width:1180px){.terma-rel-nav--prev{left:-8px;} .terma-rel-nav--next{right:-8px;}}
@media (max-width:560px){.terma-related__h{font-size:20px;} .terma-rel-nav{font-size:34px;}}
.terma-sizes{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:20px; align-items:end;}
.terma-size{margin:0; border:1px solid var(--terma-line); border-radius:12px; padding:14px 10px 10px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;}
.terma-size img{max-width:100%; max-height:230px; object-fit:contain; display:block;}
.terma-size figcaption{margin-top:12px; font-size:14px; font-weight:600; color:var(--terma-ink);}
.terma-viz{aspect-ratio:16/10; background:#fafafa; border-radius:12px; overflow:hidden;}
.terma-viz iframe{width:100%; height:100%; border:0; display:block;}
.terma-draw{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px; align-items:start;}
.terma-draw img{width:100%; background:#fff; border:1px solid var(--terma-line); border-radius:10px; padding:10px;}
.terma-ok{color:#2e9b57; font-weight:700;}
.terma-no{color:#cfcfcf;}
.terma-tbl--tens th,.terma-tbl--tens td{padding:7px 8px; font-size:12px;}

.site-footer{border-top:none; background:#F6F6F7; color:var(--terma-muted); margin-top:40px;}
.site-footer .wrap{padding:26px 24px; font-size:13px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;}
/* Футер по образцу донора: лого+контакты и 3 колонки меню */
.footer-cols{align-items:flex-start; padding-bottom:8px;}
.footer-col{min-width:180px; flex:1;}
.footer-col--brand{flex:1.2;}
.footer-col--brand .logo{display:inline-flex; align-items:center; gap:6px;}
.footer-col--brand .logo img{height:30px; width:auto; display:block;}
.footer-contacts{margin-top:14px; display:flex; flex-direction:column; gap:6px; font-size:14px;}
.footer-contacts a{color:var(--terma-ink);}
.footer-contacts a:hover{color:var(--terma-red);}
.footer-col__t{font-family:var(--terma-serif); font-weight:700; font-size:16px; color:var(--terma-ink); margin-bottom:12px;}
.footer-menu{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px;}
.footer-menu a{color:var(--terma-muted); font-size:13.5px;}
.footer-menu a:hover{color:var(--terma-red);}
.footer-bottom{border-top:1px solid #e3e3e5; margin-top:10px;}
@media (max-width:760px){.footer-cols{flex-direction:column; gap:26px;} .footer-col{min-width:0;}}

/* Эко-таблица ТЭНов (Регламент ЕС 2024/1103): компактные иконки + легенда */
.terma-eco-ico{width:20px;height:20px;display:inline-block;vertical-align:middle;}
.terma-tblwrap td img.terma-eco-ico,.terma-eco td img{max-width:20px;height:auto;}
.terma-eco td,.terma-eco th{padding:7px 9px;font-size:13px;vertical-align:middle;}
.terma-eco td a{white-space:nowrap;}
.terma-eco-legend{margin:14px 0 4px;font-size:12.5px;color:var(--terma-muted);}
.terma-eco-legend p{margin:4px 0;}
.terma-eco-legend img{width:16px;height:16px;vertical-align:middle;margin-right:6px;}

/* Вкладка «Цвета» (Kolory донора): сетка свотчей, имя внизу поверх картинки */
.terma-colors-h{margin:2px 0 6px;font-size:20px;}
.terma-colors-g{margin:22px 0 12px;font-size:16px;font-weight:600;color:var(--terma-ink);}
.terma-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:14px;}
.terma-color{position:relative;margin:0;border-radius:10px;overflow:hidden;border:1px solid var(--terma-line);aspect-ratio:4/3;}
.terma-color img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;transition:transform .25s ease;}
.terma-color:hover img{transform:scale(1.07);}
.terma-color figcaption{position:absolute;left:0;right:0;bottom:0;padding:5px 8px;font-size:12px;line-height:1.25;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.62));text-shadow:0 1px 2px rgba(0,0,0,.45);}
.terma-ral{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;}
.terma-ral__i{font-size:12px;padding:4px 9px;border:1px solid var(--terma-line);border-radius:6px;color:var(--terma-muted);white-space:nowrap;display:flex;align-items:center;justify-content:center;min-height:56px;}
.terma-ral__t{margin:0;}
.terma-ral__sw{display:flex;align-items:flex-end;justify-content:flex-start;min-height:56px;border-radius:8px;border:1px solid rgba(0,0,0,.08);padding:6px 8px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);}
.terma-colors-note{margin-top:18px;font-size:12.5px;color:var(--terma-muted);}
@media (max-width:560px){.terma-colors{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;}}

/* ===================== Главная страница ===================== */
.terma-fp{padding-top:26px;}
.terma-fp__sec{margin-top:56px;}
.terma-fp__h{font-size:28px; font-weight:700; margin:0 0 22px;}
.terma-fp__all{text-align:center; margin-top:22px;}
.terma-fp__all .terma-more{display:inline-block; text-decoration:none;}

/* Hero-слайдер: фото на всю ширину, текст СЛЕВА поверх с градиентом.
   Механика по мотивам донора: crossfade 1s, текст — зум 1.08→1 + фейд,
   очерёдность заголовок → подзаголовок → кнопка (+150мс). */
.terma-hero{position:relative; height:520px; border-radius:16px; overflow:hidden;
  background:#1c1c1e; box-shadow:0 6px 28px rgba(15,23,42,.08);}
.terma-hero__slide{position:absolute; inset:0;
  opacity:0; visibility:hidden; transition:opacity 1s ease, visibility 1s ease;}
.terma-hero__slide.is-on{opacity:1; visibility:visible; z-index:1;}
.terma-hero__bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.terma-hero__shade{position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(12,14,18,.62) 0%, rgba(12,14,18,.38) 38%, rgba(12,14,18,0) 68%);}
.terma-hero__txt{position:absolute; inset:0; z-index:2; display:flex; flex-direction:column;
  justify-content:center; align-items:flex-start; padding:40px 48px 40px 64px; max-width:560px; color:#fff;}
.terma-hero__txt h2{font-size:44px; line-height:1.1; margin:0 0 14px; color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.35);}
.terma-hero__txt p{font-size:18px; line-height:1.5; color:rgba(255,255,255,.92); margin:0 0 26px; max-width:36ch;
  text-shadow:0 1px 10px rgba(0,0,0,.35);}
.terma-hero__btn{display:inline-block; background:var(--terma-red); color:#fff; text-decoration:none;
  font-weight:600; font-size:15px; padding:13px 28px; border-radius:10px; transition:background .15s ease, transform .15s ease;}
.terma-hero__btn:hover{background:var(--terma-red-hover); transform:translateY(-1px);}
/* анимация текста при активации слайда (перезапускается при каждом .is-on) */
@keyframes terma-hero-in{from{opacity:0; transform:translateY(16px) scale(1.08);} to{opacity:1; transform:none;}}
.terma-hero__slide.is-on .terma-hero__txt h2{animation:terma-hero-in .7s cubic-bezier(.22,.61,.36,1) both;}
.terma-hero__slide.is-on .terma-hero__txt p{animation:terma-hero-in .7s cubic-bezier(.22,.61,.36,1) .15s both;}
.terma-hero__slide.is-on .terma-hero__txt .terma-hero__btn{animation:terma-hero-in .7s cubic-bezier(.22,.61,.36,1) .3s both;}
@media (prefers-reduced-motion: reduce){
  .terma-hero__slide{transition:none;}
  .terma-hero__slide.is-on .terma-hero__txt h2,
  .terma-hero__slide.is-on .terma-hero__txt p,
  .terma-hero__slide.is-on .terma-hero__txt .terma-hero__btn{animation:none;}
}
.terma-hero__nav{color:#fff; font-size:44px; line-height:1; text-shadow:0 1px 8px rgba(0,0,0,.4);}
.terma-hero .terma-rel-nav--prev{left:10px;}
.terma-hero .terma-rel-nav--next{right:10px;}
.terma-hero__dots{position:absolute; bottom:16px; left:64px; z-index:2; margin:0; justify-content:flex-start;}
.terma-hero__dots .terma-rel-dot{background:rgba(255,255,255,.45);}
.terma-hero__dots .terma-rel-dot.is-on{background:#fff;}
/* ЧЕРНОВИК: переключатель мобильного варианта */
.terma-hero__mobtoggle{position:absolute; top:10px; right:10px; z-index:5; font-size:11px; padding:4px 10px;
  border-radius:99px; border:none; background:rgba(0,0,0,.45); color:#fff; cursor:pointer;}

/* Плитки категорий */
.terma-fpcats{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.terma-fpcat{display:flex; flex-direction:column; text-decoration:none;}
.terma-fpcat .terma-card__img{aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; padding:16px;}
.terma-fpcat .terma-card__img img{max-width:100%; max-height:100%; object-fit:contain;}
.terma-fpcat .terma-card__name{padding:0 16px 18px; font-weight:600;}

/* Блок «О нас» — по донору: оверлайн, заголовок, текст слева; здание завода справа */
.terma-fpabout{display:grid; grid-template-columns:1fr 1.5fr; gap:44px; align-items:center; padding:12px 0;}
.terma-fpabout__over{color:var(--terma-red); font-size:13px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; margin-bottom:12px;}
.terma-fpabout__txt .terma-fp__h{margin-bottom:18px;}
.terma-fpabout__txt p{font-size:15.5px; line-height:1.7; color:#333; margin:0 0 13px;}
.terma-fpabout__btn{display:inline-flex; align-items:center; gap:8px; margin-top:10px; text-decoration:none;}
.terma-fpabout__img img{width:100%; height:auto; display:block;}

/* Карусели новостей/советов */
.terma-fpcar{position:relative; --rel-per:4;}
.terma-fpnews{text-decoration:none;}
.terma-fpnews__card{display:flex; flex-direction:column; height:100%; overflow:hidden;}
.terma-fpnews .terma-news-card__img{aspect-ratio:16/10; display:block; overflow:hidden;}
.terma-fpnews .terma-news-card__img img{width:100%; height:100%; object-fit:cover; display:block;}
.terma-fpnews .terma-news-card__body{display:block; padding:14px 16px 18px;}

/* Появление блоков при скролле */
.fp-new{opacity:0; transform:translateY(28px); transition:opacity .5s ease-out, transform .5s ease-out;}
.fp-new.is-in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .fp-new{opacity:1 !important; transform:none !important;} }

/* Мобильная вёрстка главной */
@media (max-width:1100px){
  .terma-fpcats{grid-template-columns:repeat(2,1fr);}
  .terma-hero__txt h2{font-size:30px;}
}
@media (max-width:820px){
  /* Вариант A (по умолчанию): фото во весь блок, усиленный градиент, текст внизу слева */
  .terma-hero{height:440px; border-radius:12px;}
  .terma-hero__shade{background:linear-gradient(180deg, rgba(12,14,18,.05) 0%, rgba(12,14,18,.25) 45%, rgba(12,14,18,.78) 100%);}
  .terma-hero__txt{justify-content:flex-end; padding:20px 20px 64px; max-width:100%;}
  .terma-hero__txt h2{font-size:26px; margin-bottom:8px;}
  .terma-hero__txt p{font-size:14px; margin-bottom:16px;}
  .terma-hero__btn{font-size:14px; padding:11px 22px;}
  .terma-hero__dots{left:20px; bottom:14px;}
  .terma-hero__nav{display:none;} /* на мобильном — свайп и точки */
  /* Вариант B (класс .terma-hero--mobb): фото сверху, текст плашкой снизу */
  .terma-hero--mobb .terma-hero__slide{display:flex; flex-direction:column;}
  .terma-hero--mobb{height:auto; background:#fff;}
  .terma-hero--mobb .terma-hero__slide{position:absolute;}
  .terma-hero--mobb .terma-hero__slide.is-on{position:relative;}
  .terma-hero--mobb .terma-hero__bg{position:relative; height:250px; flex:none;}
  .terma-hero--mobb .terma-hero__shade{display:none;}
  .terma-hero--mobb .terma-hero__txt{position:relative; inset:auto; background:#fff; color:#1c1c1e;
    justify-content:flex-start; padding:18px 20px 60px;}
  .terma-hero--mobb .terma-hero__txt h2{color:#1c1c1e; text-shadow:none; font-size:24px;}
  .terma-hero--mobb .terma-hero__txt p{color:#4b5563; text-shadow:none;}
  .terma-hero--mobb .terma-hero__dots .terma-rel-dot{background:#d5d5d5;}
  .terma-hero--mobb .terma-hero__dots .terma-rel-dot.is-on{background:var(--terma-red);}
  .terma-fpabout{grid-template-columns:1fr; padding:0;}
  .terma-fpabout__img{order:-1;}
  .terma-fp__h{font-size:23px;}
  .terma-fp__sec{margin-top:42px;}
}
@media (max-width:600px){
  .terma-fpcats{grid-template-columns:repeat(2,1fr); gap:14px;}
}

/* ===================== Страница «О компании Terma» ===================== */
.terma-about{padding-top:10px;}
.terma-ab-hero{position:relative; border-radius:16px; overflow:hidden; min-height:340px; display:flex; align-items:center;}
.terma-ab-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.terma-ab-hero::after{content:''; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(160,20,15,.82) 0%, rgba(160,20,15,.55) 45%, rgba(30,30,30,.25) 100%);}
.terma-ab-hero__in{position:relative; z-index:1; padding:48px 56px; max-width:760px;}
.terma-ab-hero__in h1{color:#fff; font-size:34px; line-height:1.25; margin:0;}
.terma-ab-sec{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; margin-top:56px;}
.terma-ab-sec h2{font-size:28px; margin:0 0 18px;}
.terma-ab-sec p{font-size:15.5px; line-height:1.7; color:#333; margin:0 0 13px;}
.terma-ab-about__img img,.terma-ab-hist__img img{width:100%; height:auto; display:block;}
.terma-ab-hist{grid-template-columns:1.25fr .75fr;}
.terma-ab-hist__img img{max-height:520px; object-fit:contain;}
.terma-ab-nums{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:56px;
  background:#fff; border-radius:16px; box-shadow:0 6px 28px rgba(15,23,42,.05); padding:38px 30px; text-align:center;}
.terma-ab-num__pre{font-size:14px; color:var(--terma-muted,#6b7280); text-transform:lowercase;}
.terma-ab-num__val{font-size:52px; font-weight:700; color:var(--terma-red); line-height:1.1; margin:2px 0;}
.terma-ab-num__lbl{font-size:15px; color:#333;}
.terma-ab-vals{margin-top:56px;}
.terma-ab-vals h2{font-size:28px; margin:0 0 16px;}
.terma-ab-vals__i1{font-size:15.5px; line-height:1.7; color:#333; max-width:860px; margin:0 0 12px;}
.terma-ab-vals__i2{font-size:15px; line-height:1.7; color:#555; font-style:italic; max-width:860px; margin:0 0 28px;}
.terma-ab-vals__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.terma-ab-val{background:#fff; border-radius:16px; box-shadow:0 6px 28px rgba(15,23,42,.05); padding:26px 24px;
  transition:transform .25s ease, box-shadow .25s ease;}
@media(hover:hover){ .terma-ab-val:hover{transform:translateY(-5px); box-shadow:0 10px 34px rgba(15,23,42,.09);} }
.terma-ab-val img{width:56px; height:56px; object-fit:contain; margin-bottom:14px;}
.terma-ab-val h3{font-size:18px; margin:0 0 10px;}
.terma-ab-val p{font-size:14.5px; line-height:1.65; color:#444; margin:0;}
@media (max-width:900px){
  .terma-ab-hero__in{padding:30px 26px;} .terma-ab-hero__in h1{font-size:24px;}
  .terma-ab-sec{grid-template-columns:1fr; gap:24px; margin-top:40px;}
  .terma-ab-about__img{order:-1;} .terma-ab-hist{grid-template-columns:1fr;}
  .terma-ab-hist__img img{max-height:340px;}
  .terma-ab-vals__grid{grid-template-columns:1fr 1fr;}
  .terma-ab-nums{grid-template-columns:repeat(3,1fr); padding:24px 14px;}
  .terma-ab-num__val{font-size:36px;}
}
@media (max-width:600px){ .terma-ab-vals__grid{grid-template-columns:1fr;} }

/* ── Страница контактов (.terma-contacts) — гибрид: раскладка прода, стиль темы ── */
.page-contacts .terma-page{max-width:1080px;}
.terma-page:has(.terma-contacts){max-width:1080px;} /* прогрессивное усиление */
.terma-contacts{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:stretch; margin-top:8px;}
@media (max-width:820px){ .terma-contacts{grid-template-columns:1fr; gap:28px;} }
.terma-contacts h2{font-size:22px; margin:0 0 16px;}
/* левая колонка: карточка контактов */
.terma-contacts__card{background:var(--terma-soft); border-radius:var(--terma-card-radius); padding:26px 28px;}
.terma-contacts__row{display:flex; align-items:flex-start; gap:12px; margin:0 0 14px; font-size:16px; line-height:1.55;}
.terma-contacts__row:last-child{margin-bottom:0;}
.terma-contacts__row svg{flex:0 0 auto; width:20px; height:20px; margin-top:3px; color:var(--terma-red);}
.terma-contacts__row a{font-weight:500;}
/* карта */
.terma-contacts__map{margin-top:22px;}
.terma-contacts__map iframe{display:block; width:100%; height:380px; border:0; border-radius:var(--terma-radius);}
/* правая колонка: карточка формы */
.terma-contacts__form{background:#fff; border:1px solid var(--terma-line); border-radius:var(--terma-card-radius);
  padding:26px 28px; box-shadow:0 2px 14px rgba(0,0,0,.07);}
.terma-contacts__form>p{color:var(--terma-muted); font-size:15px; margin:0 0 20px;}
/* поля CF7 внутри контактов — нормализация вывода CF7 (wpautop даёт лишние <p>/<br>) */
.terma-contacts .wpcf7 form>p{margin:0 0 20px;}
.terma-contacts .wpcf7 form>p:last-of-type{margin-bottom:0;}
.terma-contacts .wpcf7 form br{display:none;}
.terma-contacts .wpcf7 .wpcf7-form-control-wrap{display:block; margin-top:4px;}
.terma-contacts .wpcf7-response-output{margin:14px 0 0; padding:10px 14px; border-radius:8px;}
.terma-contacts .wpcf7 label{display:block; font-size:14px; color:var(--terma-ink); margin:0; font-weight:500;}
.terma-contacts .wpcf7 input[type="text"],
.terma-contacts .wpcf7 input[type="email"],
.terma-contacts .wpcf7 input[type="tel"],
.terma-contacts .wpcf7 textarea{display:block; width:100%; box-sizing:border-box; margin-top:4px;
  border:1px solid var(--terma-line); border-radius:8px; padding:11px 14px; font:inherit; font-size:15px;
  background:#fff; transition:border-color .18s ease, box-shadow .18s ease; outline:none;}
.terma-contacts .wpcf7 input:focus, .terma-contacts .wpcf7 textarea:focus{
  border-color:var(--terma-red); box-shadow:0 0 0 1px var(--terma-red);}
.terma-contacts .wpcf7 textarea{min-height:120px; resize:vertical;}
/* низы колонок на одной линии: карточка формы растянута до высоты левой колонки,
   текстарея гибко заполняет остаток (кнопка остаётся у низа) */
.terma-contacts__form{display:flex; flex-direction:column;}
.terma-contacts__form .wpcf7{flex:1 1 auto; display:flex; flex-direction:column;}
.terma-contacts__form .wpcf7 form{flex:1 1 auto; display:flex; flex-direction:column;}
.terma-contacts .wpcf7 form>p:has(textarea){flex:1 1 auto; display:flex; flex-direction:column; min-height:0;}
.terma-contacts .wpcf7 form>p:has(textarea) label{flex:1 1 auto; display:flex; flex-direction:column; min-height:0;}
.terma-contacts .wpcf7 form>p:has(textarea) .wpcf7-form-control-wrap{flex:1 1 auto; display:flex; min-height:128px; contain:size;}
.terma-contacts .wpcf7 form>p:has(textarea) textarea{flex:1 1 0; height:auto; min-height:0;}
.terma-contacts .wpcf7 .red{color:var(--terma-red);}
/* кнопка формы — инверсия: белая с красной рамкой, hover -> красная с белым текстом */
.terma-contacts .wpcf7 input[type="submit"], .terma-contacts .wpcf7 button[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; height:52px; padding:0 34px;
  background:#fff; color:var(--terma-red); border:1.5px solid var(--terma-red); border-radius:12px;
  font:inherit; font-size:15px; font-weight:500; cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;}
.terma-contacts .wpcf7 input[type="submit"]:hover, .terma-contacts .wpcf7 button[type="submit"]:hover{
  background:var(--terma-red); color:#fff; border-color:var(--terma-red);}
.terma-contacts .wpcf7 .wpcf7-spinner{margin-left:10px;}
