/* ===== ГЛОБАЛЬНОЕ ===== */
:root{
  --brand:#E63946; --brand-red:#E63946;
  --container:1174px; --t:.18s;
  --text:#111; --muted:#6b7280; --line:#E5E7EB; --soft:#F9FAFB;
  --logo-h:52px; --logo-left-shift:-2px; --menu-gap:26px; --menu-fz:16px; --contacts-fz:16px;
}

html,body{margin:0;padding:0}

/* модуль может жить как #eleksol-product, так и .product-page */
#eleksol-product,.product-page{
  color:var(--text);
  font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  background:#fff;
}
#eleksol-product a,.product-page a{color:inherit;text-decoration:none}
#eleksol-product .container,.product-page .container{max-width:var(--container);margin:0 auto;padding:0 16px;box-sizing:border-box}

/* убрать «белые полосы» темы сверху/снизу и вокруг первого/последнего блока */
.page .entry-title,.page .page-title,.entry-header,.wp-block-post-title{display:none!important}
.site-content,.content-area,.entry-content,.site-main,.hentry,.post,.page{padding:0!important;margin:0!important}
#eleksol-product > *:first-child,.product-page > *:first-child{margin-top:0!important}
#eleksol-product > *:last-child,.product-page > *:last-child{margin-bottom:0!important}


/* ================================================================== */
/*                                HERO                                */
/* ================================================================== */
.p-hero{background:var(--brand);color:#fff;padding:26px 0 22px;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.09) 0,rgba(255,255,255,.09) 1px,transparent 1px,transparent 18px)}
.p-hero__grid{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:start}
.p-photo{background:#fff;border:1px solid #ffffff40;padding:6px;display:flex;align-items:center;justify-content:center;align-self:start}
.p-photo img{max-width:100%;height:auto;display:block;margin:0!important}
.p-gost-badge{display:inline-block;background:#fff;color:var(--brand);font-weight:800;padding:6px 12px;margin:0 0 12px;border-radius:0}
.p-gost-badge a{color:var(--brand)!important;text-decoration:none!important;cursor:default}
.p-title{margin:0 0 10px;font-size:34px;line-height:1.2;font-weight:800;color:#fff!important}
.p-desc{margin:0;opacity:.95;white-space:pre-line}

/* ================================================================== */
/*                               CARDS                                */
/* ================================================================== */
.cards{padding:14px 0 8px}
.cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line);padding:14px}
.card h2{margin:0 0 8px;font-size:22px}
.card p{margin:0;white-space:pre-line}
.card ul{margin:0;padding-left:18px;display:grid;gap:6px}

/* ================================================================== */
/*                              TABLE                                 */
/* ================================================================== */
.tblB-wrap{background:#fff;border:1px solid var(--line);box-shadow:0 6px 20px rgba(16,24,40,.06)}
.tblB-cap{padding:14px 18px;border-bottom:1px solid var(--line);font:600 18px/1.2 system-ui}
.tblB{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font:15px/1.5 system-ui;color:var(--text)}
.tblB th,.tblB td{text-align:left;vertical-align:middle;padding:12px 14px;border-bottom:1px solid var(--line)}
.tblB tbody tr:nth-child(odd) td,.tblB tbody tr:nth-child(odd) th{background:var(--soft)}
.tblB thead th{position:sticky;top:0;z-index:2;background:#fff;font-weight:800;line-height:1.2;max-height:2.6em;overflow:hidden}
.tblB col:nth-child(1){width:32%!important}
.tblB col:nth-child(2){width:16%!important}
.tblB col:nth-child(3){width:16%!important}
.tblB col:nth-child(4){width:14%!important}
.tblB col:nth-child(5){width:22%!important}
.tblB .num{font-variant-numeric:tabular-nums;text-align:left}
.tblB td.order{white-space:nowrap}
.tblB .group{display:inline-flex;gap:8px;align-items:center}
.tblB .group input{height:30px;width:96px;border:1px solid var(--line);padding:0 10px;font:600 14px/1 system-ui;background:#fff}
.tblB .group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(230,57,70,.12)}
.tblB .btn{height:30px;padding:0 14px;border:0;background:var(--brand);color:#fff;font-weight:800;cursor:pointer;transition:filter var(--t),transform var(--t),opacity var(--t)}
.tblB .btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.tblB .btn:disabled{opacity:.45;cursor:not-allowed}

@media (max-width:680px){
  .tblB.cards thead{display:none}
  .tblB.cards tr{display:block;margin:12px 12px 16px;border:1px solid var(--line);box-shadow:0 3px 12px rgba(16,24,40,.06);background:#fff}
  .tblB.cards td,.tblB.cards th{display:flex!important;gap:16px;align-items:flex-start;border-bottom:1px dashed var(--line)}
  .tblB.cards tr>*:last-child{border-bottom:0}
  .tblB.cards td::before,.tblB.cards th::before{content:attr(data-label);color:var(--muted);font-size:13px;min-width:46%}
  .tblB.cards th[scope="row"]{font-weight:700;background:#FFF5F5}
}

/* ================================================================== */
/*                                CTA                                 */
/* ================================================================== */
.lead-cta{
  background:var(--brand);color:#fff;
  padding:18px 0!important; /* было 26/22 — компактнее */
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.09) 0,rgba(255,255,255,.09) 1px,transparent 1px,transparent 18px)
}
.lead-cta__grid{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.lead-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:42px;padding:0 18px;border:0;border-radius:0;
  background:#fff!important;color:var(--brand)!important;font-weight:800;
  text-decoration:none!important;
}
@media(max-width:640px){.lead-cta__grid{grid-template-columns:1fr}.lead-cta__btn{width:100%}}

/* ================================================================== */
/*                               FOOTER                                */
/* ================================================================== */
#eleksol-footer{width:100%;color:#fff;background:transparent;margin:20px 0 0!important}
#eleksol-footer .ef-wrap{max-width:var(--container);margin:0 auto;padding:28px 16px;position:relative;z-index:0}
#eleksol-footer .ef-wrap::before{content:"";position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--brand);z-index:-1}
#eleksol-footer .ef-top{display:grid;grid-template-columns:1.2fr 3fr;gap:40px 24px;align-items:start}
#eleksol-footer .ef-brand{display:grid;gap:14px}
#eleksol-footer .ef-logo img{display:block;height:52px;width:auto;object-fit:contain;filter:brightness(0) invert(1);margin:0!important}
#eleksol-footer .ef-company{font-weight:700}
#eleksol-footer .ef-address{opacity:.95;line-height:1.4}
#eleksol-footer .ef-contacts{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
#eleksol-footer a{color:#fff;text-decoration:none;display:inline-block;transition:transform var(--t) ease,opacity var(--t) ease;transform-origin:left}
#eleksol-footer a:hover,#eleksol-footer a:focus{transform:scale(1.05);opacity:.98}
#eleksol-footer .ef-cols{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:20px 24px}
#eleksol-footer .ef-col h3{margin:0 0 10px 0;font-size:16px;line-height:1.2;font-weight:800;color:#fff}
#eleksol-footer .ef-col ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
#eleksol-footer .ef-divider{height:1px;background:#ffffff33;margin:22px 0}
#eleksol-footer .ef-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
#eleksol-footer .ef-bottom a{font-weight:600}
#eleksol-footer .ef-disclaimer{margin-top:12px;font-size:13px;line-height:1.5;opacity:.95;text-align:justify}

@media (max-width:992px){
  #eleksol-footer .ef-top{grid-template-columns:1fr;gap:28px}
  #eleksol-footer .ef-cols{grid-template-columns:repeat(3,minmax(140px,1fr))}
  #eleksol-footer .ef-brand{justify-items:center;text-align:center}
}
@media (max-width:768px){
  #eleksol-footer .ef-cols{grid-template-columns:repeat(2,minmax(140px,1fr))}
  #eleksol-footer .ef-bottom{flex-direction:column;align-items:flex-start}
}
@media (max-width:480px){
  #eleksol-footer .ef-cols{grid-template-columns:1fr}
}
/* ==== УБИРАЕМ ВСЕ ЛИШНИЕ ОТСТУПЫ ТЕМЫ СВЕРХУ/СНИЗУ ==== */
/* WP-админбар не должен проталкивать страницу вниз */
html{margin-top:0 !important;}
#wpadminbar{position:fixed;}

/* обёртки темы – все внутренние отступы/отступы в ноль */
.site,.site-main,.site-content,.content-area,.entry-content,
#page,#primary,#content,#main{
  margin:0 !important;
  padding:0 !important;
}

/* ==== ШАПКА: точное выравнивание, как на референсе ==== */
#tdg-header{margin:0 !important;}
#tdg-header .h-wrap{max-width:var(--container);padding:12px 16px 10px;}
#tdg-header .h-wrap::before{
  content:"";position:absolute;inset:0;left:50%;width:100vw;
  transform:translateX(-50%);background:var(--brand-red);z-index:-1
}
#tdg-header .h-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:10px}
#tdg-header .h-logo{height:var(--logo-h);display:flex;align-items:center}
#tdg-header .h-logo__crop{height:100%}
#tdg-header .h-logo img{height:100%;width:auto;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);margin-left:var(--logo-left-shift)}
#tdg-header .h-contacts{display:flex;gap:16px;white-space:nowrap;font-size:var(--contacts-fz);position:relative;top:-2px}
#tdg-header .h-nav{border-top:1px solid rgba(255,255,255,.28);padding-top:8px}
#tdg-header .h-menu{display:flex;gap:var(--menu-gap);list-style:none;margin:0;padding:0}
#tdg-header .h-menu a{
  color:#fff;text-decoration:none;font-weight:700;font-size:var(--menu-fz);
  background-image:linear-gradient(#fff,#fff);background-repeat:no-repeat;background-position:0 100%;background-size:0 2px;
  transition:background-size var(--t),opacity var(--t)
}
#tdg-header .h-menu a:hover,#tdg-header .h-menu a.is-active{background-size:100% 2px}

/* ==== HERO ==== */
.p-hero{padding:26px 0 22px}
.p-hero__grid{display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:start}
.p-photo{background:#fff;border:1px solid #ffffff40;padding:6px;display:flex;align-items:center;justify-content:center}
.p-photo img{max-width:100%;height:auto;display:block}
.p-gost-badge a{color:var(--brand) !important;text-decoration:none !important}  /* ГОСТ без подчёркивания */
.p-title{color:#fff !important}  /* Номенклатура в hero белым */

/* ==== ТАБЛИЦА ==== */
.tblB thead th{top:0}
.tblB .num{text-align:left;font-variant-numeric:tabular-nums}

/* ==== CTA (блок "Не нашли…") — компактнее и кнопка читаемая ==== */
.lead-cta{padding:18px 0 16px}
.lead-cta__grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.lead-cta__btn{
  height:36px;padding:0 14px;background:#fff;color:var(--brand) !important;
  font-weight:800;text-decoration:none !important;border:0;display:inline-flex;align-items:center;justify-content:center
}
@media (max-width:640px){
  .lead-cta__grid{grid-template-columns:1fr}
  .lead-cta__btn{width:100%}
}

/* ==== НА ВЕСЬ САЙТ: убираем «полосы» сверху/снизу контента на страницах ==== */
.page .entry-title,.page .page-title,.entry-header,.wp-block-post-title{display:none !important}
/* ===== УБИРАЕМ ВСЕ СТАРТОВЫЕ/ФИНАЛЬНЫЕ ОТСТУПЫ ТЕМЫ ===== */
html { margin-top: 0 !important; }                /* не даём админбару сдвигать страницу */
#wpadminbar { position: fixed; top: 0; }          /* сам бар — на флоте */

.site,.site-main,.site-content,.content-area,
.entry-content,#page,#primary,#content,#main {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Гутенберговский block-gap и маргины у первого/последнего блока */
.wp-site-blocks,
.entry-content { --wp--style--block-gap: 0 !important; }

.wp-site-blocks > *,
.entry-content  > * { 
  margin-block-start: 0 !important;
  margin-block-end:   0 !important;
}

.entry-content > *:first-child,
.wp-site-blocks > *:first-child { margin-top: 0 !important; }
.entry-content > *:last-child,
.wp-site-blocks > *:last-child  { margin-bottom: 0 !important; }

/* ===== ШАПКА — точное выравнивание ===== */
#tdg-header { margin: 0 !important; }
#tdg-header .h-wrap{ max-width: var(--container); padding: 12px 16px 10px; }
#tdg-header .h-wrap::before{
  content:""; position:absolute; inset:0; left:50%; width:100vw; transform:translateX(-50%);
  background: var(--brand-red); z-index:-1;
}
#tdg-header .h-top{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:10px; }
#tdg-header .h-logo{ height: var(--logo-h); display:flex; align-items:center; }
#tdg-header .h-logo__crop{ height:100%; }
#tdg-header .h-logo img{
  height:100%; width:auto; object-fit:contain; object-position:left center;
  filter:brightness(0) invert(1); margin-left: var(--logo-left-shift);
}
#tdg-header .h-contacts{ display:flex; align-items:center; gap:16px; white-space:nowrap; line-height:1; position:relative; top:-2px; }
#tdg-header .h-contacts a{ display:inline-block; font-weight:700; color:#fff; text-decoration:none; }
#tdg-header .h-nav{ border-top:1px solid rgba(255,255,255,.28); margin-top:8px; padding-top:8px; }
#tdg-header .h-menu{ display:flex; gap:var(--menu-gap); list-style:none; margin:0; padding:0; }
#tdg-header .h-menu a{
  color:#fff; font-weight:700; font-size:var(--menu-fz); line-height:1.2; text-decoration:none;
  background-image:linear-gradient(#fff,#fff); background-repeat:no-repeat; background-position:0 100%; background-size:0 2px;
  transition:background-size var(--t),opacity var(--t);
}
#tdg-header .h-menu a:hover,
#tdg-header .h-menu a.is-active{ background-size:100% 2px; }

/* ===== HERO ===== */
.p-hero__grid{ display:grid; grid-template-columns: 240px 1fr; gap:22px; align-items:start; }
.p-photo{ background:#fff; border:1px solid #ffffff40; padding:6px; display:flex; align-items:center; justify-content:center; }
.p-photo img{ max-width:100%; height:auto; display:block; }
.p-gost-badge a{ color:var(--brand) !important; text-decoration:none !important; } /* ГОСТ без подчёркивания */
.p-title{ color:#fff !important; } /* заголовок марки — белым */

/* ===== CTA — компактнее + читаемая кнопка ===== */
.lead-cta{ padding:18px 0 16px; }
.lead-cta__grid{ display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; }
.lead-cta__btn{
  height:36px; padding:0 14px; background:#fff; color:var(--brand) !important;
  font-weight:800; text-decoration:none !important; border:0; display:inline-flex; align-items:center; justify-content:center;
}
@media (max-width:640px){
  .lead-cta__grid{ grid-template-columns:1fr; }
  .lead-cta__btn{ width:100%; }
}

.site,
#page,
#content,
.site-content,
.site-main,
.content-area,
#primary,
.hentry,
.entry-content { margin:0 !important; padding:0 !important; border:0 !important; }
.entry-content > *:first-child { margin-top:0 !important; }
.entry-content > *:last-child  { margin-bottom:0 !important; }

/* ==== ХЕДЕР: точное выравнивание, чтобы тема не перезаписала ==== */
#tdg-header .h-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  text-align:initial !important;
}
#tdg-header .h-logo{ flex:0 0 auto; }
#tdg-header .h-contacts{
  margin-left:auto;            /* даже если что-то сломает justify-content */
  flex:0 0 auto;
  position:relative; top:-2px; /* как в макете */
}

/* ==== HERO: белый заголовок, ГОСТ без подчёркивания, картинка слева ==== */
.p-title{ color:#fff !important; }
.p-gost-badge a{ text-decoration:none !important; }
.p-hero__grid{ grid-template-columns:220px 1fr; } /* возвращаем корректную сетку */
.p-photo{ align-items:center; justify-content:center; }
.p-photo img{ display:block; max-width:100%; height:auto; }

/* ==== CTA-блок: компактнее и читаемая кнопка ==== */
.lead-cta{ padding:18px 0 16px !important; }
.lead-cta__grid{ gap:12px; }
.lead-cta__btn{
  height:40px;
  padding:0 16px;
  background:#fff;
  color:var(--brand);
  font-weight:800;
  border:0;
}

/* ==== мелкие правки таблицы (чтобы текст ровно по левому краю) ==== */
.tblB .num{ text-align:left; font-variant-numeric:tabular-nums; }

/* на всякий случай — убираем любые внешние зазоры вокруг нашего блока */
#tdg-header,
#eleksol-footer { margin-top:0 !important; margin-bottom:0 !important; }
/* ===== ГУТТЕРЫ и ЗАЗОРЫ как на других страницах ===== */

/* аккуратные белые поля вокруг красных “полос” */
#tdg-header,
.p-hero,
.lead-cta,
#eleksol-footer{
  margin-left:16px;
  margin-right:16px;
  border-radius:8px;
}

/* верх/низ — как на остальных страницах */
#tdg-header{ margin-top:12px; margin-bottom:12px; }
.p-hero     { margin-top:12px; margin-bottom:16px; }
.lead-cta   { margin-top:16px; margin-bottom:16px; }  /* зазор перед подвалом */
#eleksol-footer{ margin-top:16px; margin-bottom:12px; }

/* чтобы фон-псевдоэлементы тоже скруглялись и не “лезли” за края */
#tdg-header .h-wrap,
#eleksol-footer .ef-wrap{
  border-radius:8px;
  overflow:hidden;
}

/* ===== HERO — делаем ниже ===== */
.p-hero{
  /* было 26px 0 22px */
  padding:18px 0 14px;
}
.p-hero__grid{
  /* было 220px, чуть уменьшаем колонку с фото */
  grid-template-columns:200px 1fr;
  gap:18px;
}
.p-photo{ padding:4px; } /* было 6px */

/* ГОСТ — без подчёркивания и с “рукой” при наведении */
.p-gost-badge a{
  text-decoration:none;
  cursor:pointer;             /* как у остальных ссылок */
}

/* ===== CTA — кнопка читается лучше */
.lead-cta__btn{
  font-weight:800;
  line-height:1;
  border-radius:6px;
}

/* На маленьких экранах не теряем отступы */
@media (max-width:640px){
  #tdg-header, .p-hero, .lead-cta, #eleksol-footer{
    margin-left:12px; margin-right:12px; border-radius:6px;
  }
  .p-hero{ padding:16px 0 12px; }
  .p-hero__grid{ grid-template-columns:140px 1fr; gap:14px; }
}

/* ===== FIX — полноширинная шапка/подвал + острые углы ===== */

/* Снимаем «карточные» поля и скругления */
#tdg-header,
#eleksol-footer{
  margin-left:0 !important;
  margin-right:0 !important;
  border-radius:0 !important;
}

/* Фон-псевдоэлементы не должны резаться, и должны тянуться на всю ширину */
#tdg-header .h-wrap,
#eleksol-footer .ef-wrap{
  position: relative !important;
  border-radius:0 !important;
  overflow: visible !important; /* было hidden */
}

/* HERO — острые углы */
.p-hero{ border-radius:0 !important; }

/* Заголовки таблицы — менее жирные */
.tblB thead th{ font-weight:600 !important; }

/* Нижний CTA-блок и кнопка — острые углы + вертикальный центр текста */
.lead-cta{ border-radius:0 !important; }
.lead-cta__btn{ border-radius:0 !important; }
.lead-cta__grid{ align-items:center !important; }
.lead-cta__grid > *:first-child{
  display:flex; align-items:center; min-height:42px;
}
/* прячем SEO-блок полностью, не ломая макет */
.ssr-seo-block.is-hidden{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important; height:1px !important; overflow:hidden !important;
}
