:root{
  --bg:#F6F7F5;
  --surface:#FFFFFF;
  --steel:#1F3A52;
  --steel-dark:#132638;
  --accent:#E8622C;
  --accent-dark:#B84A1E;
  --text:#17212B;
  --text2:#5B6773;
  --text3:#8A939B;
  --border:#E3E7E9;
  --ok:#2F7D5D;
  --ok-bg:#E7F3ED;
}
*{box-sizing:border-box;}
body{
  margin:0;
  padding:0;
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Manrope',system-ui,sans-serif;letter-spacing:-0.01em;margin:0;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
img{max-width:100%;display:block;}
.mono{font-family:'IBM Plex Mono',monospace;}
.screen-reader-text{position:absolute;left:-9999px;}

.wrap{max-width:1360px;margin:0 auto;}

/* top strip */
.topstrip{background:var(--steel-dark);color:#C9D3DA;font-size:12px;padding:6px 40px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.topstrip a{color:#C9D3DA;}

/* header */
.site-header{background:var(--surface);border-bottom:1px solid var(--border);padding:18px 40px;display:flex;align-items:center;gap:32px;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--steel);}
.logo-mark{width:34px;height:34px;background:var(--steel);clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;font-family:'Manrope',sans-serif;flex-shrink:0;}
.header-search{flex:1;min-width:200px;}
.header-search form{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.header-search input[type="search"]{flex:1;border:0;background:transparent;padding:10px 16px;color:var(--text);font-size:14px;font-family:inherit;outline:none;}
.header-search button{border:0;background:transparent;padding:0 16px;color:var(--text3);cursor:pointer;}
.hcta{display:flex;gap:24px;align-items:center;font-size:13px;color:var(--text2);}
.hcta .phone{font-weight:700;color:var(--steel);font-size:15px;}
.cart-btn{background:var(--accent);color:#fff;border-radius:8px;padding:10px 18px;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;border:0;cursor:pointer;}
.cart-btn:hover{background:var(--accent-dark);color:#fff;}

/* nav */
.site-nav{background:var(--steel);padding:0 40px;display:flex;gap:0;flex-wrap:wrap;}
.site-nav ul{display:flex;flex-wrap:wrap;}
.site-nav a{color:#DCE4EA;font-size:14px;padding:14px 18px;font-weight:500;display:block;}
.site-nav li.current-menu-item a,.site-nav a:hover{color:#fff;background:var(--steel-dark);}

/* hero */
.hero{padding:36px 40px;display:flex;gap:40px;align-items:center;background:linear-gradient(180deg,var(--surface),var(--bg));border-bottom:1px solid var(--border);flex-wrap:wrap;}
.hero-text{flex:1;min-width:260px;}
.eyebrow{color:var(--accent-dark);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}
.hero h1{font-size:34px;line-height:1.2;color:var(--steel);max-width:640px;}
.hero p{color:var(--text2);font-size:15px;margin-top:12px;max-width:480px;line-height:1.6;}
.hero-suppliers{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}
.supplier-chip{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:6px 14px;font-size:12px;color:var(--text2);font-weight:600;}
.hero-panel{width:280px;background:var(--steel);border-radius:12px;padding:20px 24px;color:#fff;flex-shrink:0;}
.hero-panel .stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.12);font-size:13px;}
.hero-panel .stat b{font-size:18px;font-family:'Manrope',sans-serif;}

/* sections */
.section{padding:40px;}
.section-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;flex-wrap:wrap;gap:8px;}
.section-title h2{font-size:20px;color:var(--steel);}
.section-title span,.section-title a.more{font-size:13px;color:var(--accent-dark);font-weight:600;}
.price-download{
  font-size:13px;font-weight:600;color:var(--steel);border:1px solid var(--border);
  background:var(--surface);border-radius:8px;padding:9px 16px;white-space:nowrap;
}
.price-download:hover{background:var(--steel);color:#fff;border-color:var(--steel);}

/* Описание раздела каталога */
.catalog-intro{
  font-size:14px;line-height:1.6;color:var(--text2);
  background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:8px;padding:14px 18px;margin:-4px 0 20px;max-width:900px;
}
.catalog-intro p{margin:0 0 8px;}
.catalog-intro p:last-child{margin-bottom:0;}
@media(max-width:640px){.catalog-intro{font-size:13px;padding:12px 14px;}}

/* categories */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;font-size:13px;font-weight:600;color:var(--steel);display:block;}
.cat-card .n{display:block;color:var(--text3);font-weight:400;font-size:12px;margin-top:4px;}

/* products grid */
.prod-grid,ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 !important;padding:0 !important;clear:both;}
ul.products li.product{list-style:none;}

/* Override WooCommerce's own float/width grid math on li.product — it fights our CSS grid */
ul.products li.product,
ul.products li.product.first,
ul.products li.product.last{
  width:auto !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
}
/* WooCommerce's clearfix ::before/::after on ul.products becomes a real grid item
   (display:table) and steals the first cell — kill it under grid layout. */
ul.products::before,
ul.products::after{
  content:none !important;
  display:none !important;
}

.card,ul.products li.product{
  background:var(--surface);
  border:1px solid var(--border);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
  padding:16px !important;
  position:relative;
  display:flex;
  flex-direction:column;
}
.card .badge,.stock-badge{position:absolute;top:12px;left:12px;background:var(--ok-bg);color:var(--ok);font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;z-index:2;}
.card .badge.out,.stock-badge.out{background:#F3E7E7;color:#A94442;}
.card .supplier,.supplier-badge{position:absolute;top:12px;right:16px;font-size:10px;color:var(--text3);font-weight:600;z-index:2;}
.thumb,.card img,ul.products li.product img,.woocommerce ul.products li.product a img{
  height:168px !important;width:100% !important;object-fit:contain !important;object-position:center;
  background:var(--surface);border-radius:6px;margin:22px 0 12px !important;display:flex;align-items:center;justify-content:center;
  color:var(--text3);font-size:11px;flex-shrink:0;box-shadow:none;
}
/* branded "no photo" icon — smaller and centered, not stretched to the full thumb box */
.thumb img.no-photo-icon,ul.products li.product img.no-photo-icon,.woocommerce ul.products li.product a img.no-photo-icon{
  width:56px !important;height:56px !important;object-fit:none !important;opacity:.6;
}
.single-product-gallery img.no-photo-icon,.woocommerce-placeholder,
.woocommerce-product-gallery__image--placeholder img{
  width:72px !important;height:72px !important;object-fit:none !important;opacity:.6;
}
.woocommerce-product-gallery__image--placeholder{display:flex;align-items:center;justify-content:center;min-height:220px;}
.card h3,ul.products li.product h2,ul.products li.product .woocommerce-loop-product__title{font-size:14px;color:var(--text);line-height:1.35;font-family:'Inter',sans-serif;font-weight:600;margin:0 0 4px;}
.art{color:var(--text3);font-size:11px;font-family:'IBM Plex Mono',monospace;margin-bottom:10px;}
.woocommerce-LoopProduct-link{display:flex;flex-direction:column;text-decoration:none;}
.card-spacer{flex:1;}
.price-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border);}
.price,.card .price,ul.products li.product .price,.woocommerce div.product span.price,.woocommerce div.product p.price{
  font-family:'Manrope',sans-serif;font-weight:800;font-size:16px !important;color:var(--steel) !important;line-height:1.2;
}
.price-wholesale{font-size:11px;color:var(--text3);font-weight:500;margin-top:2px;}
.price-on-request{color:var(--text3);font-size:13px;font-weight:600;}
.add-btn,a.add_to_cart_button,button.add_to_cart_button{background:var(--steel);color:#fff !important;border-radius:6px;width:30px;height:30px;min-width:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:17px;border:0;cursor:pointer;text-align:center;}
/* WooCommerce injects a "Просмотр корзины" link next to the add-to-cart button after
   AJAX success — it has no place in the compact card layout, hide it (cart count in
   the header already updates live). */
.price-row a.added_to_cart.wc-forward{display:none;}
.add-btn:hover,a.add_to_cart_button:hover{background:var(--accent);}
.add-btn-wrap{position:relative;flex-shrink:0;}
.add-count{
  position:absolute;top:-8px;right:-8px;background:var(--accent);color:#fff;
  font-size:10px;font-weight:700;line-height:1;padding:3px 5px;border-radius:999px;
  min-width:10px;text-align:center;pointer-events:none;
}
.add-count:empty{display:none;}

/* "Читать далее" link WooCommerce shows in place of add-to-cart for non-purchasable
   (price-on-request) products — keep it visually compact, matching the add-btn scale */
.price-row a.button:not(.add-btn):not(.ajax_add_to_cart){
  padding:7px 12px !important;
  font-size:12px !important;
  border-radius:6px;
  white-space:nowrap;
  flex-shrink:0;
}

/* "Запросить цену" в сетке каталога — вместо бессмысленного "Читать далее" */
.pr-loop-btn{
  background:var(--surface);color:var(--steel) !important;border:1px solid var(--steel);
  border-radius:6px;padding:7px 12px;font-size:12px;font-weight:600;white-space:nowrap;
  flex-shrink:0;display:inline-block;line-height:1.2;
}
.pr-loop-btn:hover{background:var(--steel);color:#fff !important;}

/* избранное и сравнение */
.collection-btns{display:flex;gap:6px;position:absolute;top:38px;right:10px;z-index:3;}
.collection-btns.is-compact{opacity:0;transition:opacity .12s;}
ul.products li.product:hover .collection-btns.is-compact,
.collection-btns.is-compact:focus-within{opacity:1;}
/* на сенсорных экранах наведения нет — показываем всегда */
@media (hover:none){ .collection-btns.is-compact{opacity:1;} }
.col-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;
  width:26px;height:26px;border:1px solid var(--border);border-radius:6px;
  background:var(--surface);color:var(--text3);font-size:13px;line-height:1;cursor:pointer;
}
.col-btn:hover{border-color:var(--steel);color:var(--steel);}
.col-btn.is-on{background:var(--accent);border-color:var(--accent);color:#fff;}
/* развёрнутый вид в буйбоксе карточки товара */
.single-product-buybox .collection-btns{position:static;margin-top:12px;}
.single-product-buybox .col-btn{width:auto;height:auto;padding:9px 12px;font-size:13px;flex:1;}
.col-btn-text{font-size:12px;font-weight:600;}

.hcol{display:flex;gap:8px;}
.hcol-link{
  display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--steel);
  border:1px solid var(--border);border-radius:8px;padding:8px 11px;background:var(--bg);
}
.hcol-link:hover{border-color:var(--steel);}
.hcol-link span{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--accent-dark);}

.section-note{font-size:13px;color:var(--text3);}
.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:40px;text-align:center;}
.empty-state p{font-size:16px;color:var(--steel);margin:0 0 8px;font-weight:600;}
.empty-state .empty-hint{font-size:13px;color:var(--text2);font-weight:400;margin:0 0 20px;line-height:1.6;max-width:460px;margin-left:auto;margin-right:auto;}
.empty-state .button{display:inline-block;background:var(--accent);color:#fff !important;border-radius:8px;padding:12px 24px;font-weight:600;font-size:14px;}
.empty-state .button:hover{background:var(--accent-dark);}

/* таблица сравнения */
.compare-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface);}
.compare-table{border-collapse:collapse;width:100%;min-width:640px;}
.compare-table th,.compare-table td{padding:11px 14px;font-size:13px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;}
.compare-table tbody th{color:var(--text3);font-weight:500;width:210px;background:var(--bg);}
.compare-table td{color:var(--text);}
.compare-corner{background:var(--bg);}
.compare-head{position:relative;width:210px;border-left:1px solid var(--border);vertical-align:top;}
.compare-head img{width:100%;height:120px;object-fit:contain;margin-bottom:10px;}
.compare-name{display:block;font-size:13px;font-weight:600;color:var(--text);line-height:1.35;margin-bottom:4px;}
.compare-name:hover{color:var(--accent-dark);}
.compare-price{margin-top:6px;font-size:16px;font-weight:800;color:var(--steel);font-family:'Manrope',sans-serif;}
.compare-price .price-on-request{font-size:12px;font-weight:600;color:var(--text3);}
.compare-remove{
  position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:5px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);color:var(--text3);font-size:15px;line-height:1;border:1px solid var(--border);
}
.compare-remove:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
/* совпадающие значения приглушены — глаз цепляется за различия */
.compare-table tr.is-same th,.compare-table tr.is-same td{color:var(--text3);}
.compare-none{color:var(--border);}
.compare-legend{font-size:12px;color:var(--text3);margin:12px 0 0;}

/* woocommerce price element overrides */
ul.products li.product .price del{color:var(--text3);font-weight:400;}
ul.products li.product .price ins{text-decoration:none;font-weight:800;}

/* хлебные крошки */
.formula-breadcrumb{
  max-width:1360px;margin:0 auto;padding:18px 40px 0;
  font-size:12px;color:var(--text3);line-height:1.5;
}
.formula-breadcrumb a{color:var(--text2);}
.formula-breadcrumb a:hover{color:var(--accent-dark);}
.formula-breadcrumb .bc-sep{margin:0 7px;color:var(--border);}
@media (max-width:640px){
  .formula-breadcrumb{padding:14px 16px 0;}
}

/* filters sidebar */
.catalog-layout{display:flex;gap:32px;align-items:flex-start;}
.catalog-filters{width:240px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;}
.catalog-filters h3{font-size:14px;color:var(--steel);margin-bottom:12px;}
.catalog-filters .filter-group{margin-bottom:20px;}
.catalog-filters label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2);padding:4px 0;cursor:pointer;}
.catalog-main{flex:1;min-width:0;}

/* дерево категорий: раскрыта только ветка текущего раздела */
.cat-tree{list-style:none;margin:0;padding:0;}
.cat-tree a{
  display:flex;justify-content:space-between;align-items:baseline;gap:8px;
  font-size:13px;color:var(--text2);padding:5px 0;line-height:1.35;
}
.cat-tree a:hover{color:var(--accent-dark);}
.cat-count{font-size:11px;color:var(--text3);font-family:'IBM Plex Mono',monospace;flex-shrink:0;}
.cat-tree li.is-open > a{color:var(--steel);font-weight:600;}
.cat-tree li.is-current > a{color:var(--accent-dark);font-weight:700;}
.cat-tree li.is-current > a .cat-count{color:var(--accent-dark);}
/* вложенный уровень — отступ и направляющая линия */
.cat-tree .cat-tree{margin:2px 0 6px 4px;padding-left:10px;border-left:2px solid var(--border);}
.cat-tree .cat-tree a{font-size:12px;padding:4px 0;}
.cat-all{
  display:block;font-size:13px;font-weight:600;color:var(--steel);
  padding:0 0 8px;margin-bottom:8px;border-bottom:1px solid var(--border);
}
.cat-all.is-current{color:var(--accent-dark);}
.filter-reset{display:inline-block;font-size:12px;color:var(--accent-dark);margin-top:8px;}

/* фильтры по техпараметрам */
.spec-filter{margin-bottom:20px;}
.spec-group{margin-bottom:14px;}
.spec-label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:6px;}
.spec-unit{color:var(--text3);font-weight:400;font-family:'IBM Plex Mono',monospace;font-size:11px;}
.spec-range{display:flex;align-items:center;gap:6px;}
.spec-range input{
  width:100%;min-width:0;border:1px solid var(--border);border-radius:6px;
  padding:7px 8px;font-family:inherit;font-size:12px;color:var(--text);background:var(--surface);
}
.spec-range input:focus{outline:none;border-color:var(--steel);}
/* стрелки-спиннеры в узком поле только мешают */
.spec-range input::-webkit-outer-spin-button,
.spec-range input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.spec-range input[type=number]{-moz-appearance:textfield;}
.spec-dash{color:var(--text3);font-size:12px;flex-shrink:0;}
.spec-choices{display:flex;flex-wrap:wrap;gap:6px;}
.spec-chip{
  border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;
  color:var(--text2);cursor:pointer;background:var(--surface);line-height:1.2;
}
.spec-chip input{position:absolute;opacity:0;width:0;height:0;}
.spec-chip:hover{border-color:var(--steel);}
.spec-chip.is-on{background:var(--steel);color:#fff;border-color:var(--steel);font-weight:600;}
.spec-apply{
  width:100%;background:var(--steel);color:#fff;border:0;border-radius:6px;padding:9px 14px;
  font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;margin-top:4px;
}
.spec-apply:hover{background:var(--accent);}

/* WooCommerce toolbar row: result count + sorting */
.woocommerce-notices-wrapper:empty{display:none;}
.catalog-main .woocommerce-notices-wrapper + p.woocommerce-result-count,
.catalog-main .woocommerce-result-count,
.catalog-main .woocommerce-ordering{
  display:inline-block;
  vertical-align:middle;
}
.catalog-main::after{content:none;}
.woocommerce-result-count{color:var(--text2);font-size:13px;margin:0 0 16px;}
.woocommerce-ordering{margin:0 0 16px;float:right;}
.woocommerce-ordering select.orderby{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%235B6773' d='M1 1l5 5 5-5'/></svg>") no-repeat right 12px center;
  background-size:10px 7px;
  border:1px solid var(--border);
  border-radius:8px;
  padding:9px 32px 9px 14px;
  font-family:'Inter',sans-serif;
  font-size:13px;
  color:var(--text);
  cursor:pointer;
  line-height:1.4;
}
.woocommerce-ordering select.orderby:focus{outline:none;border-color:var(--steel);}

/* single product — 3 columns: gallery / specs / buybox */
/* та же сетка, что у .section.wrap — иначе на широком мониторе карточка товара
   растягивается во всю ширину, а каталог остаётся в 1360px */
.single-product-wrap{display:flex;gap:32px;padding:40px;flex-wrap:wrap;max-width:1360px;margin:0 auto;}
.single-product-gallery{width:380px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;}
.single-product-gallery img{border-radius:6px;}
.single-product-gallery .woocommerce-product-gallery,
.single-product-gallery .woocommerce-product-gallery__wrapper,
.single-product-gallery .woocommerce-product-gallery__image{width:100% !important;}
.single-product-gallery .woocommerce-product-gallery__wrapper img{
  width:100% !important;height:332px !important;max-width:100% !important;object-fit:contain !important;display:block;margin:0 auto;
}

.single-product-specs{flex:1;min-width:280px;}
.single-product-specs h1{font-size:24px;color:var(--steel);margin-bottom:8px;line-height:1.25;}
.single-product-specs .art{font-size:13px;margin-bottom:18px;}
.specs-list{margin:0 0 8px;border-top:1px solid var(--border);}
.specs-list li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border);font-size:14px;}
.specs-list li span{color:var(--text3);}
.specs-list li b{color:var(--text);font-weight:600;text-align:right;}
.specs-title{font-size:15px;color:var(--steel);margin:24px 0 10px;font-family:'Manrope',sans-serif;}
.single-product-specs .woocommerce-product-details__short-description ul{margin:0;padding:0;list-style:none;}
.single-product-specs .woocommerce-product-details__short-description li{padding:9px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text2);}

.single-product-buybox{
  width:300px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;
  padding:24px;position:sticky;top:24px;
}
.single-product-buybox .price{font-size:30px !important;font-weight:800;color:var(--steel);font-family:'Manrope',sans-serif;margin-bottom:18px;}
.single-product-buybox .price del{font-size:16px;color:var(--text3);font-weight:400;}
.single-product-buybox form.cart{display:flex;flex-direction:column;gap:12px;}
.single-product-buybox .quantity{width:100%;}
.single-product-buybox .quantity input.qty{width:100%;box-sizing:border-box;}
.single-product-buybox .single_add_to_cart_button{width:100%;box-sizing:border-box;}
.buybox-note{font-size:12px;color:var(--text3);line-height:1.6;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--border);}

/* форма "Запросить цену" в буйбоксе */
.pr-details{border:0;}
.pr-toggle{
  background:var(--accent);color:#fff;border-radius:8px;padding:14px 24px;font-weight:600;
  font-size:15px;cursor:pointer;text-align:center;list-style:none;display:block;user-select:none;
}
.pr-toggle::-webkit-details-marker{display:none;}
.pr-toggle:hover{background:var(--accent-dark);}
.pr-details[open] .pr-toggle{border-radius:8px 8px 0 0;}
.pr-form{
  border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px;padding:18px;
  display:flex;flex-direction:column;gap:12px;
}
.pr-form label{display:block;font-size:12px;color:var(--text2);font-weight:600;}
.pr-form input,.pr-form textarea{
  width:100%;box-sizing:border-box;margin-top:5px;border:1px solid var(--border);border-radius:8px;
  padding:9px 12px;font-family:inherit;font-size:14px;color:var(--text);background:var(--surface);
}
.pr-form input:focus,.pr-form textarea:focus{outline:none;border-color:var(--steel);}
.pr-form textarea{resize:vertical;}
.pr-submit{
  background:var(--steel);color:#fff;border:0;border-radius:8px;padding:12px 20px;
  font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;
}
.pr-submit:hover{background:var(--steel-dark);}
.pr-note{font-size:11px;color:var(--text3);line-height:1.5;}
.pr-note a{color:var(--accent-dark);text-decoration:underline;}
/* honeypot: скрыт от людей, но остаётся в DOM для ботов */
.pr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.pr-ok,.pr-err{font-size:13px;line-height:1.5;border-radius:8px;padding:12px 14px;margin:0;}
.pr-ok{background:var(--ok-bg);color:var(--ok);}
.pr-err{background:#F3E7E7;color:#A94442;margin-bottom:12px;}

.single_add_to_cart_button{background:var(--accent);color:#fff !important;border:0;border-radius:8px;padding:14px 28px;font-weight:600;font-size:15px;cursor:pointer;}
.single_add_to_cart_button:hover{background:var(--accent-dark);}
.quantity input.qty{width:60px;padding:12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;}

@media (max-width:900px){
  .single-product-buybox{width:100%;position:static;order:-1;}
  .single-product-gallery{width:100%;}
}
@media (max-width:640px){
  .single-product-wrap{padding:16px;gap:20px;}
}

/* cart / checkout */
.woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.woocommerce-cart table.shop_table th,.woocommerce-checkout table.shop_table th{background:var(--steel);color:#fff;text-align:left;padding:12px 16px;font-weight:600;font-size:13px;}
.woocommerce-cart table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px;}
.woocommerce-checkout #order_review{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;}
.woocommerce-checkout #order_review table.shop_table tr.cart-subtotal{display:none;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-family:inherit;}
.woocommerce button.button,.woocommerce a.button,.woocommerce #place_order,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce a.checkout-button{
  background:var(--accent) !important;color:#fff !important;border-radius:8px;padding:14px 24px;font-weight:600;border:0;cursor:pointer;
}
.woocommerce button.button:hover,.woocommerce #place_order:hover,
.woocommerce a.button.alt:hover,.woocommerce a.checkout-button:hover{background:var(--accent-dark) !important;color:#fff !important;}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:20px;}

/* согласие на обработку персональных данных */
.pd-consent{margin:18px 0 20px;padding-top:16px;border-top:1px solid var(--border);}
.pd-consent label{display:flex !important;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--text2);line-height:1.5;font-weight:400;}
.pd-consent input[type="checkbox"]{width:17px;height:17px;flex-shrink:0;margin:1px 0 0;accent-color:var(--accent);cursor:pointer;}
.pd-consent a{color:var(--accent-dark);text-decoration:underline;}
.pd-consent .required{color:var(--accent-dark);text-decoration:none;border:0;}

/* правовые страницы (политика конфиденциальности и т.п.) */
.legal-lead{font-size:15px;color:var(--text2);line-height:1.65;margin:0 0 28px;padding:16px 20px;background:var(--surface);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;}
.page-legal h2{font-size:17px;color:var(--steel);margin:28px 0 12px;font-family:'Manrope',sans-serif;}
.page-legal p{font-size:14px;color:var(--text2);line-height:1.7;margin:0 0 12px;}
.page-legal ul{margin:0 0 12px;padding-left:20px;list-style:disc;}
.page-legal li{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:6px;}
.page-legal a{color:var(--accent-dark);text-decoration:underline;}
.page-legal b{color:var(--text);}
.req-table{width:100%;border-collapse:collapse;margin:0 0 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.req-table th{text-align:left;vertical-align:top;padding:11px 16px;font-size:13px;font-weight:500;color:var(--text3);width:34%;border-bottom:1px solid var(--border);}
.req-table td{padding:11px 16px;font-size:14px;color:var(--text);border-bottom:1px solid var(--border);}
.req-table tr:last-child th,.req-table tr:last-child td{border-bottom:0;}
@media (max-width:640px){
  .req-table th,.req-table td{display:block;width:100%;border-bottom:0;padding:8px 14px;}
  .req-table th{padding-bottom:0;}
  .req-table tr{display:block;border-bottom:1px solid var(--border);}
}

/* страница контактов */
.contacts-grid{display:flex;gap:24px;flex-wrap:wrap;}
.contacts-card{flex:1;min-width:290px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;}
.contacts-card h3{font-size:16px;color:var(--steel);margin:0 0 18px;font-family:'Manrope',sans-serif;}
.contact-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border);font-size:14px;}
.contact-row:last-of-type{border-bottom:0;}
.contact-row span{color:var(--text3);flex-shrink:0;}
.contact-row b,.contact-row a{text-align:right;color:var(--text);font-weight:600;}
.contact-row a{color:var(--accent-dark);}
.contact-row a.contact-strong{font-size:16px;}
.contacts-note{font-size:12px;color:var(--text3);line-height:1.6;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--border);}
.contacts-note a{color:var(--accent-dark);text-decoration:underline;}
.contacts-map{margin-top:24px;border:1px solid var(--border);border-radius:10px;overflow:hidden;line-height:0;background:var(--surface);}
.contacts-map iframe{display:block;border:0;}

/* product reviews / comment form
   Note: WooCommerce's own CSS targets this area with double-ID selectors
   (e.g. ".woocommerce #review_form #respond"), which outrank a single-ID
   override — hence the !important below. */
.woocommerce-Reviews-title{font-family:'Manrope',sans-serif;color:var(--steel);font-size:20px;margin:0 0 16px;}
.woocommerce-noreviews{color:var(--text2);font-size:14px;margin:0 0 24px;}
#review_form_wrapper{max-width:560px;margin:0 auto;}
#respond.comment-respond{
  background:var(--surface) !important;
  border:1px solid var(--border) !important;
  border-radius:10px;
  padding:24px !important;
}
#reply-title.comment-reply-title{font-family:'Manrope',sans-serif;font-size:16px;font-weight:700;color:var(--steel);display:block;margin:0 0 18px;}
#reply-title small a{font-size:12px;font-weight:400;color:var(--accent-dark);margin-left:10px;}
.comment-form p{margin:0 0 16px;}
.comment-form label{display:block;font-size:13px;color:var(--text2);font-weight:600;margin:0 0 6px;}
.comment-form .required{color:var(--accent-dark);}
.comment-notes,.comment-form-cookies-consent{font-size:12px;color:var(--text3);}
.comment-form-rating label{display:inline-block;margin:0 0 8px;}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{
  width:100%;box-sizing:border-box;border:1px solid var(--border) !important;border-radius:8px;padding:10px 14px;
  font-family:'Inter',sans-serif;font-size:14px;color:var(--text);background:var(--bg);
}
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--steel) !important;background:var(--surface);}
.comment-form textarea{resize:vertical;min-height:120px;}
.comment-form .form-submit{margin:0;}
.comment-form #submit,
p.form-submit input#submit{
  background:var(--accent) !important;color:#fff !important;border:0 !important;border-radius:8px !important;
  padding:12px 28px !important;font-weight:600;font-size:14px;cursor:pointer;
}
.comment-form #submit:hover,
p.form-submit input#submit:hover{background:var(--accent-dark) !important;}
.comment-form p.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px;}
.comment-form p.comment-form-cookies-consent label{display:inline;font-weight:400;margin:0;font-size:12px;color:var(--text3);}

/* catalog pagination */
nav.woocommerce-pagination{margin:32px 0 0;}
nav.woocommerce-pagination ul.page-numbers{
  display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap;
  width:auto;background:none;border:0;border-radius:0;justify-content:center;
}
nav.woocommerce-pagination li a.page-numbers,
nav.woocommerce-pagination li span.page-numbers{
  display:flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 8px;
  border:1px solid var(--border);border-radius:6px;
  background:var(--surface);color:var(--text2);font-size:13px;font-weight:600;
}
nav.woocommerce-pagination li a.page-numbers:hover{border-color:var(--steel);color:var(--steel);}
nav.woocommerce-pagination li span.page-numbers.current,
nav.woocommerce-pagination ul li span.current{
  background:var(--steel) !important;border-color:var(--steel);color:#fff !important;
}
nav.woocommerce-pagination li .page-numbers.dots{border:0;background:transparent;}

/* 404 */
.error-404{text-align:center;padding:60px 20px;}
.error-404 .code{font-family:'Manrope',sans-serif;font-size:64px;font-weight:800;color:var(--steel);line-height:1;}
.error-404 h1{font-size:22px;color:var(--steel);margin:12px 0 8px;}
.error-404 p{color:var(--text2);font-size:15px;margin:0 0 24px;}
.error-404 .button{display:inline-block;background:var(--accent);color:#fff;border-radius:8px;padding:12px 28px;font-weight:600;}
.error-404 .button:hover{background:var(--accent-dark);}

/* my account: login / lost-password forms shouldn't stretch full-width */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword{
  max-width:400px;
  margin:0 auto;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:10px;
  padding:24px;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row,
.woocommerce-ResetPassword .form-row{margin:0 0 16px;}
.woocommerce-form-login label,
.woocommerce-form-register label,
.woocommerce-ResetPassword label{display:block;font-size:13px;color:var(--text2);font-weight:600;margin:0 0 6px;}
.woocommerce-form-login .lost_password,
.woocommerce-form-row.lost_password{margin-top:12px;font-size:13px;}

/* my account: dashboard layout — nav sidebar + content card, side by side */
body.woocommerce-account .woocommerce{
  display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;
}
.woocommerce-MyAccount-navigation{
  width:230px;flex-shrink:0;
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  padding:10px;
}
.woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:2px;}
.woocommerce-MyAccount-navigation-link a{
  display:block;padding:11px 14px;border-radius:8px;
  font-size:14px;font-weight:600;color:var(--text2);
}
.woocommerce-MyAccount-navigation-link a:hover{background:var(--bg);color:var(--steel);}
.woocommerce-MyAccount-navigation-link.is-active a{background:var(--steel);color:#fff !important;}
.woocommerce-MyAccount-navigation-link--customer-logout{margin-top:6px;padding-top:6px;border-top:1px solid var(--border);}
.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--accent-dark);}

.woocommerce-MyAccount-content{
  flex:1;min-width:280px;
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  padding:28px;
}
.woocommerce-MyAccount-content > p:first-of-type{
  background:var(--bg);border-radius:8px;padding:14px 18px;
  font-size:14px;color:var(--text2);margin:0 0 12px;
}
.woocommerce-MyAccount-content a{color:var(--accent-dark);font-weight:600;}
.woocommerce-MyAccount-content a:hover{text-decoration:underline;}

/* orders table inside my account */
.woocommerce-orders-table.shop_table{width:100%;border-collapse:collapse;}
.woocommerce-orders-table.shop_table th{background:var(--steel);color:#fff;text-align:left;padding:12px 16px;font-weight:600;font-size:13px;}
.woocommerce-orders-table.shop_table th:first-child{border-top-left-radius:8px;}
.woocommerce-orders-table.shop_table th:last-child{border-top-right-radius:8px;}
.woocommerce-orders-table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px;}
.woocommerce-orders-table__cell-order-status{font-weight:600;color:var(--steel);}
.woocommerce-orders-table__cell-order-actions a.button{
  background:var(--steel) !important;color:#fff !important;
  padding:8px 16px !important;font-size:13px !important;border-radius:6px;
}
.woocommerce-orders-table__cell-order-actions a.button:hover{background:var(--accent) !important;}

/* addresses */
.woocommerce-Addresses{display:flex;gap:20px;flex-wrap:wrap;}
.woocommerce-Address{
  flex:1;min-width:240px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:20px;
}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;}
.woocommerce-Address-title h2{font-size:15px;color:var(--steel);}
.woocommerce-Address-title a.edit{font-size:12px;color:var(--accent-dark);font-weight:700;white-space:nowrap;}
.woocommerce-Address address{font-style:normal;font-size:14px;color:var(--text2);line-height:1.7;}

/* edit-account / edit-address forms rendered inside the dashboard content card */
.woocommerce-MyAccount-content form .form-row{margin:0 0 16px;}
.woocommerce-MyAccount-content form label{display:block;font-size:13px;color:var(--text2);font-weight:600;margin:0 0 6px;}
.woocommerce-MyAccount-content form .input-text,
.woocommerce-MyAccount-content form select{
  width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;
  padding:10px 14px;font-family:inherit;font-size:14px;color:var(--text);
}
.woocommerce-MyAccount-content form .input-text:focus,
.woocommerce-MyAccount-content form select:focus{outline:none;border-color:var(--steel);}
.woocommerce-MyAccount-content fieldset{border:1px solid var(--border);border-radius:8px;padding:16px 16px 4px;margin:24px 0;}
.woocommerce-MyAccount-content fieldset legend{font-size:13px;color:var(--steel);font-weight:700;padding:0 6px;}

@media (max-width:1024px){
  body.woocommerce-account .woocommerce{flex-direction:column;}
  .woocommerce-MyAccount-navigation{width:100%;}
  .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;}
}

/* footer */
.site-footer{background:var(--steel-dark);color:#B7C2CA;padding:40px;font-size:13px;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.site-footer .col{flex:1;min-width:200px;}
.site-footer .col b{color:#fff;display:block;margin-bottom:10px;font-family:'Manrope',sans-serif;}
.site-footer .col div{margin-bottom:6px;line-height:1.6;}
.site-footer .footer-legal{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.12);}
.site-footer .footer-legal a{color:#B7C2CA;text-decoration:underline;}
.site-footer .footer-legal a:hover{color:#fff;}

@media (max-width:1024px){
  .cat-grid,.prod-grid,ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .catalog-layout{flex-direction:column;}
  .catalog-filters{width:100%;}
  /* Раскрытое дерево категорий занимает больше двух экранов и отодвигает товары
     вниз. Ограничиваем панель по высоте и прокручиваем её отдельно. */
  .catalog-filters{max-height:44vh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .catalog-filters h3{position:sticky;top:0;background:var(--surface);padding:4px 0;margin-top:0;z-index:1;}
}
@media (max-width:640px){
  .site-header,.topstrip,.site-nav,.section,.hero{padding-left:16px;padding-right:16px;}

  /* Шапка на телефоне: логотип и корзина в одной строке, поиск — отдельной
     под ними. Без этого блок с корзиной переносился в самый низ шапки и
     терялся: пользователь не понимал, куда добавился товар. */
  .site-header{gap:10px;padding-top:12px;padding-bottom:12px;}
  .logo{font-size:17px;}
  .logo-mark{width:28px;height:28px;font-size:12px;}
  .header-search{order:3;flex:0 0 100%;min-width:0;}
  .hcta{margin-left:auto;gap:10px;}
  /* Телефон уже есть в верхней плашке, личный кабинет нужен сотрудникам,
     а не покупателю — на узком экране они только вытесняют корзину. */
  .hcta .phone,
  .hcta a[href*="my-account"]{display:none;}
  .cart-btn{padding:9px 14px;font-size:13px;}
  /* Каталог в две колонки, а не в одну: карточки компактные, а одноколоночная
     сетка растягивала 24 товара на семь экранов прокрутки. */
  .cat-grid,.prod-grid,ul.products{grid-template-columns:repeat(2,1fr) !important;gap:10px;}
  .card,ul.products li.product{padding:10px !important;}
  .card h3,ul.products li.product h2,ul.products li.product .woocommerce-loop-product__title{font-size:12.5px;}
  .thumb,.card img,ul.products li.product img{height:120px;}
  .card .badge,.stock-badge{top:8px;left:8px;font-size:9px;padding:2px 6px;}
  .card .supplier,.supplier-badge{display:none;}
  .collection-btns{top:30px;right:6px;}
  /* На узком экране показываем всегда: полагаться только на (hover:none) нельзя —
     часть устройств и режимов отладки сообщает о поддержке наведения, и кнопки
     остаются невидимыми, хотя навести на них нечем. */
  .collection-btns.is-compact{opacity:1;}
  .col-btn{width:22px;height:22px;font-size:11px;}
  .price,.card .price,ul.products li.product .price{font-size:14px;}
  .pr-loop-btn{padding:6px 8px;font-size:11px;}
  .hero{flex-direction:column;}
  .hero-panel{width:100%;}
  .compare-table th,.compare-table td{padding:9px 10px;font-size:12px;}
  .compare-table tbody th{width:140px;}
  .compare-head{width:160px;}
}
/* Одна колонка — только для действительно узких экранов. Порог в 380px забирал
   вторую колонку у обычных телефонов (iPhone SE — 375 CSS-пикселей), ради которых
   двухколоночная сетка и делалась. */
@media (max-width:340px){
  .cat-grid,.prod-grid,ul.products{grid-template-columns:1fr !important;}
}
