/* ---- style.css ---- */

@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/golos-text-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/golos-text-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:'Golos Text';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/golos-text-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/golos-text-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--font-ui:'Golos Text',Arial,Helvetica,sans-serif;--red:#f01938;--red2:#c90f29;--black:#0b0b0d;--char:#17171a;--gray:#6d6d74;--light:#f5f5f6;--white:#fff;--line:#e7e7e9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-ui);font-size:16px;color:var(--black);background:#fff}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}
table,.price,.pp-stat,.contact-phone{font-variant-numeric:tabular-nums}
.topbar{background:#0b0b0d;color:#fff;font-size:13px}.topbar .container{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.top-info,.top-links{display:flex;gap:24px;align-items:center}.dot{color:var(--red);font-weight:900}
.header{background:#fff;border-bottom:1px solid var(--line)}.header-main{height:112px;display:grid;grid-template-columns:210px 190px 1fr auto;align-items:center;gap:22px}.logo img{width:175px;max-height:86px;object-fit:contain}.catalog-btn,.btn{border:0;background:var(--red);color:#fff;font-weight:800;padding:16px 20px;border-radius:5px;cursor:pointer}.catalog-btn:hover,.btn:hover{background:var(--red2)}.search{display:flex;border:1px solid #ddd;border-radius:5px;overflow:hidden}.search input{border:0;padding:15px;width:100%;outline:0}.search button{width:58px;border:0;background:#0b0b0d;color:#fff;font-size:20px}.header-actions{display:flex;gap:22px}.action{text-align:center;font-size:12px}.action b{display:block;font-size:24px}.nav{background:#0b0b0d;color:#fff;border-bottom:2px solid var(--red)}.nav .container{display:flex;overflow:auto}.nav a{padding:17px 22px;font-size:13px;font-weight:750;white-space:nowrap}.nav a:hover,.nav .sale{background:var(--red)}
.hero{background:linear-gradient(120deg,#08090b 0%,#191a1e 70%,#e31837 140%);color:#fff;min-height:430px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:700px;background:linear-gradient(145deg,transparent 30%,rgba(240,25,56,.9));transform:rotate(13deg)}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:430px}.hero h1{font-size:52px;line-height:.95;margin:0 0 22px;text-transform:uppercase}.hero h1 span{color:var(--red)}.hero p{font-size:17px;color:#d5d5d8;max-width:560px;line-height:1.6}.hero-logo{display:flex;justify-content:center}.hero-logo img{width:min(430px,90%);filter:drop-shadow(0 16px 25px rgba(0,0,0,.5))}
.features{border-bottom:1px solid var(--line)}.features-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature{padding:25px;display:flex;gap:15px;border-right:1px solid var(--line)}.feature:last-child{border-right:0}.feature .ico{font-size:28px;color:var(--red)}.feature strong{display:block;font-size:14px}.feature small{color:var(--gray)}
.section{padding:52px 0}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section h2{font-size:28px;margin:0}.section h2:after{content:"";display:block;width:46px;height:3px;background:var(--red);margin-top:10px}.link-red{color:var(--red);font-weight:700;font-size:14px}
.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category-card{border:1px solid var(--line);padding:25px;border-radius:8px;min-height:150px;transition:.2s;background:#fff}.category-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.08);border-color:#ddd}.category-icon{font-size:32px;color:var(--red)}.category-card h3{margin:18px 0 8px}.category-card p{color:var(--gray);margin:0}
.catalog-layout{display:grid;grid-template-columns:250px 1fr;gap:28px}.filters{border:1px solid var(--line);padding:20px;border-radius:8px;height:max-content}.filters label{display:block;font-size:13px;font-weight:700;margin:15px 0 6px}.filters input,.filters select{width:100%;padding:11px;border:1px solid #ddd;border-radius:5px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product{border:1px solid var(--line);border-radius:8px;padding:18px;display:flex;flex-direction:column;min-height:240px}.product-badge{font-size:11px;color:var(--red);font-weight:800}.product h3{font-size:16px;line-height:1.35}.product-meta{color:var(--gray);font-size:13px}.product-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end}.price{font-size:22px;font-weight:900}.stock{font-size:12px;color:#16833c}.add-btn{border:0;background:#0b0b0d;color:#fff;border-radius:4px;padding:10px 12px;cursor:pointer}.pagination{display:flex;gap:7px;justify-content:center;margin-top:28px}.pagination a{border:1px solid #ddd;padding:9px 12px;border-radius:4px}.pagination .active{background:var(--red);color:#fff;border-color:var(--red)}
.about{background:#0d0d10;color:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{border-left:1px solid #333;padding-left:25px}.stat b{display:block;color:var(--red);font-size:34px}.stat span{font-size:13px;color:#bbb}
.contacts-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}.contact-card{background:#f7f7f8;padding:30px;border-radius:8px}.contact-row{margin:14px 0}.map{min-height:300px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.map iframe{width:100%;height:100%;min-height:300px;border:0}
.footer{background:#09090b;color:#bbb;padding:25px 0}.footer .container{display:flex;justify-content:space-between;gap:20px;font-size:13px}
.cart-float{position:fixed;right:22px;bottom:22px;background:var(--red);color:#fff;border:0;border-radius:999px;padding:15px 18px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 12px 25px rgba(240,25,56,.35);z-index:10}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{width:min(620px,calc(100% - 30px));max-height:90vh;overflow:auto;background:#fff;border-radius:10px;padding:26px}.modal-head{display:flex;justify-content:space-between}.close{border:0;background:none;font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px}.cart-list{margin:15px 0}.cart-item{display:grid;grid-template-columns:1fr 90px 36px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}
.notice{padding:12px;border-radius:5px;background:#fff5f7;color:#9a1328;margin:10px 0}
@media(max-width:900px){.header-main{grid-template-columns:140px 1fr auto;height:auto;padding:16px 0}.catalog-btn{display:none}.header-actions{display:none}.hero-inner{grid-template-columns:1fr}.hero{padding:50px 0}.hero h1{font-size:42px}.hero-logo{display:none}.features-grid{grid-template-columns:1fr 1fr}.categories,.products{grid-template-columns:1fr 1fr}.catalog-layout{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.about-grid,.contacts-grid{grid-template-columns:1fr}.top-links{display:none}}
@media(max-width:560px){.top-info{gap:10px;flex-wrap:wrap;padding:7px 0}.header-main{grid-template-columns:110px 1fr}.logo img{width:100px}.hero h1{font-size:35px}.features-grid,.categories,.products,.stats,.form-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.filters{grid-template-columns:1fr}.footer .container{flex-direction:column}.section{padding:38px 0}}

.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.header-actions button.action{border:0;background:transparent;color:inherit;padding:0;cursor:pointer}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.5)}
.btn-outline:hover{background:#fff;color:#0b0b0d}
.btn-dark{background:#0b0b0d}.btn-dark:hover{background:#26262b}
.price-nav{background:var(--red)}
.price-promo{background:#f6f6f7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price-promo-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.price-promo p{color:var(--gray);max-width:700px;line-height:1.6}
.price-promo-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.price-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:18px 0}
.price-search{display:flex;gap:8px;flex:1;max-width:720px}
.price-search input{flex:1;padding:12px 14px;border:1px solid #d8d8dc;border-radius:5px}
.price-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.price-table{border-collapse:collapse;width:100%;min-width:900px;font-size:13px}
.price-table th{position:sticky;top:0;background:#111;color:#fff;text-align:left;padding:12px;border-right:1px solid #333;white-space:nowrap}
.price-table td{padding:11px 12px;border-bottom:1px solid #eee;vertical-align:top}
.price-table tr:nth-child(even) td{background:#fafafa}
.price-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--gray);font-size:13px}
.price-file-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px;margin:18px 0}
@media(max-width:900px){.price-promo-grid{grid-template-columns:1fr}.price-promo-actions{justify-content:flex-start}}

/* ---- price-full.css ---- */
.pp-page{background:#fff}
.pp-hero{background:linear-gradient(120deg,#08090b 0%,#17181b 75%,#d91432 150%);color:#fff;padding:58px 0;position:relative;overflow:hidden}
.pp-hero:after{content:"";position:absolute;right:-130px;top:-200px;width:460px;height:700px;background:linear-gradient(145deg,transparent 20%,rgba(240,25,56,.65));transform:rotate(12deg)}
.pp-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.pp-kicker{font-size:12px;letter-spacing:.13em;font-weight:900;color:#ff5a70;margin-bottom:12px}
.pp-hero h1{font-size:52px;line-height:1;margin:0 0 16px;text-transform:uppercase}
.pp-hero p{margin:0;max-width:720px;color:#d7d7da;line-height:1.65;font-size:16px}
.pp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.pp-summary{border-bottom:1px solid var(--line);background:#fff}
.pp-summary-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.pp-stat{padding:22px 24px;border-right:1px solid var(--line)}
.pp-stat:last-child{border-right:0}
.pp-stat b{display:block;font-size:22px;line-height:1.2}
.pp-stat span{display:block;color:var(--gray);font-size:12px;margin-top:5px}

.pp-content{padding-top:34px}
.pp-filters{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fafafa;margin-bottom:20px}
.pp-search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end}
.pp-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-top:16px}
.pp-field span{display:block;font-size:12px;font-weight:800;margin:0 0 6px;color:#444}
.pp-field input,.pp-field select{width:100%;height:44px;padding:10px 12px;border:1px solid #d8d8dc;border-radius:6px;background:#fff;outline:none}
.pp-field input:focus,.pp-field select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(240,25,56,.08)}
.pp-filter-actions{display:flex;gap:16px;align-items:center;margin-top:16px}
.pp-reset-link{font-size:13px;font-weight:800;color:var(--red)}
.pp-result-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:18px 0;font-size:14px}
.pp-download-link{color:var(--red);font-weight:800}

.pp-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}
.pp-table{width:100%;border-collapse:collapse;min-width:1050px;font-size:13px}
.pp-table th{position:sticky;top:0;z-index:2;background:#111;color:#fff;text-align:left;padding:12px 13px;white-space:nowrap}
.pp-table td{padding:12px 13px;border-bottom:1px solid #ececef;vertical-align:middle}
.pp-table tbody tr:nth-child(even) td{background:#fafafa}
.pp-table tbody tr:hover td{background:#fff5f7}
.pp-col-num{width:58px;text-align:center!important;color:#777}
.pp-col-price{white-space:nowrap;text-align:right!important}
.pp-col-price strong{font-size:16px;color:#111}
.pp-col-action{width:120px;min-width:120px;text-align:right;white-space:nowrap}
.pp-cart-btn{max-width:100%}
.pp-table td:last-child{padding-left:16px}
.pp-product-name{font-size:14px;font-weight:800;line-height:1.4;max-width:430px}
.pp-product-sub{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;color:#85858b;font-size:11px}
.pp-product-sub span:not(:last-child):after{content:",";margin-left:2px}
.pp-group-badge{display:inline-block;max-width:190px;padding:5px 8px;border-radius:999px;background:#f1f1f3;color:#3d3d42;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-group-badge:hover{background:#ffe8ec;color:var(--red)}
.pp-code{border:0;background:none;padding:0;color:#555;font:12px var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer;text-align:left}
.pp-code:hover,.pp-code.copied{color:var(--red)}
.pp-stock{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;white-space:nowrap}
.pp-stock:before{content:"";width:7px;height:7px;border-radius:50%}
.pp-stock-in{color:#187a3d}.pp-stock-in:before{background:#28a75b}
.pp-stock-order{color:#986b00}.pp-stock-order:before{background:#d9a219}
.pp-cart-btn{border:0;background:#0b0b0d;color:#fff;font-size:12px;font-weight:900;padding:10px 12px;border-radius:5px;cursor:pointer;white-space:nowrap}
.pp-cart-btn:hover{background:var(--red)}
.pp-muted{color:#aaa}

.pp-mobile-list{display:none}
.pp-mobile-card{border:1px solid var(--line);border-radius:9px;padding:16px;background:#fff}
.pp-mobile-card h3{font-size:15px;line-height:1.4;margin:12px 0}
.pp-mobile-bottom{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-top:16px}
.pp-mobile-price{font-size:20px;font-weight:900;margin-bottom:5px}

.pp-pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin-top:28px}
.pp-pagination a,.pp-pagination span{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:5px;font-size:13px}
.pp-pagination a:hover{border-color:var(--red);color:var(--red)}
.pp-pagination a.active{background:var(--red);border-color:var(--red);color:#fff;font-weight:900}

.pp-empty{text-align:center;border:1px dashed #ccc;border-radius:10px;padding:50px 25px;background:#fafafa}
.pp-empty b{font-size:24px}
.pp-empty p{color:var(--gray);margin:10px 0 22px}
.pp-note{margin-top:28px;padding:18px 20px;border-left:4px solid var(--red);background:#f7f7f8;color:#5c5c62;font-size:13px;line-height:1.6}

@media(max-width:1000px){
  .pp-filter-grid{grid-template-columns:repeat(3,1fr)}
  .pp-summary-grid{grid-template-columns:repeat(2,1fr)}
  .pp-stat:nth-child(2){border-right:0}
  .pp-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
  .pp-hero{padding:42px 0}
  .pp-hero-grid{grid-template-columns:1fr;align-items:start}
  .pp-hero h1{font-size:40px}
  .pp-hero-actions{justify-content:flex-start}
  .pp-search-row{grid-template-columns:1fr 1fr}
  .pp-search-field{grid-column:1/-1}
  .pp-filter-grid{grid-template-columns:1fr 1fr}
  .pp-result-bar{align-items:flex-start;flex-direction:column}
  .pp-table-wrap{display:none}
  .pp-mobile-list{display:grid;grid-template-columns:1fr;gap:12px}
}
@media(max-width:520px){
  .pp-summary-grid{grid-template-columns:1fr}
  .pp-stat{border-right:0!important;border-bottom:1px solid var(--line)}
  .pp-filter-grid{grid-template-columns:1fr}
  .pp-search-row{grid-template-columns:1fr}
  .pp-search-field{grid-column:auto}
  .pp-filter-actions{align-items:flex-start;flex-direction:column}
}

@media print{
  .topbar,.header,.nav,.footer,.cart-float,.pp-hero-actions,.pp-filters,.pp-result-bar,.pp-pagination,.pp-note,.pp-cart-btn{display:none!important}
  .pp-hero{background:#fff!important;color:#000!important;padding:20px 0;border-bottom:2px solid #000}
  .pp-hero:after{display:none}
  .pp-hero p,.pp-kicker{color:#000!important}
  .pp-table-wrap{display:block!important;overflow:visible;border:0}
  .pp-table{min-width:0;font-size:10px}
  .pp-table th{position:static;background:#eee!important;color:#000!important}
  .pp-mobile-list{display:none!important}
  .section{padding:20px 0}
}

/* ---- design.css ---- */
/* Tool Park · 2026. Shared visual layer; load after style.css and price-full.css. */
:root{--red:#f01938;--red2:#c90f29;--black:#0b0b0d;--char:#17171a;--gray:#696970;--light:#f5f5f6;--line:#e7e7e9}
body{line-height:1.5;-webkit-font-smoothing:antialiased}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.container{width:min(1240px,calc(100% - 48px))}.icon{display:inline-block;flex:none;vertical-align:middle}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:4px}a,button{touch-action:manipulation}.skip-link{position:fixed;left:20px;top:-80px;z-index:200;padding:12px 20px;background:#fff;color:var(--black);border:2px solid var(--red)}.skip-link:focus{top:12px}
.topbar .container{min-height:40px}.topbar{font-size:12px}.top-info,.top-links{gap:22px}.top-info a,.top-links a{display:inline-flex;gap:7px;align-items:center}.topbar .icon{width:15px;height:15px}.since-small{color:#a8a8ae}.topbar a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.header-main{height:102px;grid-template-columns:150px 142px minmax(160px,1fr) auto;gap:24px}.logo img{width:138px;height:auto;max-height:80px;display:block}.catalog-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 20px;border-radius:8px;font-weight:700;font-size:14px;line-height:1.35;transition:background .18s,box-shadow .18s,transform .18s}.btn:hover,.catalog-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000013}.btn:active,.catalog-btn:active{transform:translateY(0)}.btn .icon{width:19px;height:19px}.btn-dark{background:var(--black);color:#fff}.btn-light{background:#fff;color:var(--black);border:1px solid #d8d8dc}.btn-light:hover{background:#eee;color:var(--black)}.btn-outline{border:1px solid #ffffff60;background:transparent;color:#fff}.btn-outline:hover{background:#ffffff10;color:#fff}
.search{border-radius:8px;background:var(--light)}.search input{min-width:0;font-size:13px;background:transparent;padding:14px}.search button{flex:none;display:grid;place-items:center;background:transparent;color:var(--black);width:44px;cursor:pointer}.search button .icon{width:19px;height:19px}.search:focus-within{border-color:var(--red)}.header-actions{gap:22px}.action{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;font-weight:600}.action .icon{width:22px;height:22px}.action [data-cart-count]{background:var(--red);color:white;padding:1px 5px;border-radius:5px}.nav .container{justify-content:space-between;scrollbar-width:thin}.nav a{padding:15px 18px;font-size:11px;letter-spacing:.015em;text-transform:uppercase}.nav .price-nav{background:var(--red)}
.hero{min-height:0;background:#101013}.hero:after{display:none}.hero-inner{grid-template-columns:1.1fr .9fr;gap:58px;padding-top:64px;padding-bottom:68px;min-height:580px}.eyebrow,.section-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.15em;margin-bottom:17px}.eyebrow{display:flex;align-items:center;gap:10px;color:#c6c6cb}.status-dot{width:6px;height:6px;background:var(--red);border-radius:50%}.hero h1{font-size:clamp(36px,4.4vw,62px);line-height:1.07;letter-spacing:-.045em;text-transform:none;margin-bottom:24px}.hero p{font-size:16px;max-width:495px;line-height:1.8;color:#bcbcc3}.hero-actions{margin-top:30px;gap:12px}.hero-footnote{display:flex;align-items:center;gap:9px;margin-top:32px;color:#aaaab2;font-size:12px}.hero-footnote .icon{width:17px;height:17px}
.hero-brand{position:relative;isolation:isolate;border:1px solid #ffffff18;border-radius:14px;min-width:0;padding:28px;overflow:hidden;background:radial-gradient(ellipse at 95% 0%,#f0193826,transparent 65%),#19191d}.brand-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:28px 28px}.brand-label{font-size:9px;font-weight:700;letter-spacing:.18em;color:#a6a6b0}.brand-logo-panel{background:#fff;border-radius:7px;margin:26px 0;padding:24px 22px;transform:rotate(-3deg);box-shadow:0 24px 35px #0005}.brand-logo-panel img{display:block;width:100%;height:auto;max-height:195px;object-fit:contain}.brand-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.brand-bottom>span:first-child{font-size:10px;line-height:1.8;letter-spacing:.06em;color:#b6b6bd}.brand-year{font-size:52px;font-weight:800;letter-spacing:-.05em;line-height:1}.brand-year span{display:block;margin-top:8px;font-size:8px;font-weight:500;letter-spacing:.05em;color:#a6a6ae}
.features{background:#fff}.feature{padding:25px 20px;align-items:flex-start;gap:14px}.feature>.icon{color:var(--red);width:24px;height:24px}.feature strong{font-size:12px;margin-bottom:5px}.feature small{font-size:11px;line-height:1.5;display:block}.section{padding:78px 0}.section-head{align-items:end;gap:24px;margin-bottom:32px}.section-kicker{color:var(--gray);margin-bottom:10px}.section h2{font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-.035em}.section h2:after{display:none}.link-red{display:inline-flex;gap:10px;align-items:center;font-size:13px}.link-red .icon{width:18px;height:18px}.link-red:hover{text-decoration:underline;text-underline-offset:5px}.categories{gap:16px}.category-card{padding:26px;border-radius:12px;display:flex;flex-direction:column;min-height:265px;position:relative;overflow:hidden}.category-number{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--gray)}.category-card>.icon{width:32px;height:32px;color:var(--red);margin-top:27px}.category-card h3{margin:17px 0 9px;font-size:18px;letter-spacing:-.02em}.category-card p{font-size:13px;line-height:1.65;max-width:290px}.category-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:22px;font-size:12px;font-weight:700}.category-link .icon{width:18px;height:18px;transition:transform .2s}.category-card:hover .category-link .icon{transform:translateX(4px)}.category-card:hover{border-color:#f0193850;transform:translateY(-4px);box-shadow:0 14px 32px #00000009}.category-help{background:var(--black);color:#fff;border-color:var(--black)}.category-help p,.category-help .category-number{color:#bcbcc4}
.price-promo{background:var(--light);border-block:1px solid var(--line)}.price-promo-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.price-promo p{font-size:14px;color:var(--gray);max-width:510px;margin-bottom:0}.price-promo-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:330px}.price-promo-actions .btn:first-child{grid-column:1/-1}.about{background:#121215}.about-grid{grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.about .section-kicker{color:#f77589}.about p{color:#bdbdc5;font-size:15px;line-height:1.8;max-width:550px}.about .btn{margin-top:14px}.trust-panel{border:1px solid #ffffff22;border-radius:12px;padding:32px}.trust-year{font-size:54px;font-weight:800;letter-spacing:-.045em;color:#fff;line-height:1.1;padding-bottom:30px}.trust-year>span{display:block;font-size:9px;letter-spacing:.16em;color:#9999a3;margin-top:12px}.trust-line{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid #ffffff1a;font-size:12px}.trust-line>span:last-child{font-size:11px;color:#a0a0aa}
.contacts-grid{grid-template-columns:.9fr 1.1fr;gap:22px}.contact-card{padding:30px;background:#f5f5f6;border:1px solid var(--line);border-radius:12px}.contact-label{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--gray)}.contact-row{margin:0 0 20px}.contact-row h3{font-size:22px;letter-spacing:-.025em;margin:8px 0}.contact-row p{font-size:13px;max-width:320px;color:var(--gray);margin:0}.contact-phone{display:block;font-size:clamp(21px,2.3vw,29px);font-weight:800;letter-spacing:-.03em;margin:22px 0 8px}.contact-email{display:inline-flex;align-items:center;gap:9px;font-size:14px}.contact-email .icon{width:17px;height:17px}.contact-actions{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.map{position:relative;min-height:380px;border-radius:12px}.map iframe{height:100%;width:100%;min-height:380px;display:block}.map-caption{position:absolute;bottom:18px;left:18px;right:18px;display:flex;align-items:center;gap:12px;background:#fff;padding:15px;border:1px solid var(--line);box-shadow:0 6px 22px #0001;border-radius:8px}.map-caption>.icon:first-child{color:var(--red)}.map-caption>.icon:last-child{margin-left:auto;width:18px}.map-caption b{display:block;font-size:14px}.map-caption small{display:block;color:var(--gray);font-size:10px;margin-top:2px}.footer{padding:44px 0 96px}.footer .container{align-items:start;display:grid;grid-template-columns:1.6fr .7fr 1fr;gap:30px}.footer-brand{font-size:25px;letter-spacing:-.05em;color:#fff}.footer-brand span{font-size:12px;color:var(--red);vertical-align:top;margin-left:2px}.footer p{font-size:12px}.footer small{font-size:10px;color:#777}.footer-links,.footer-contacts{display:flex;flex-direction:column;gap:12px;font-size:12px}.footer-contacts a{display:flex;align-items:center;gap:8px}.footer .icon{width:17px;height:17px}.footer a:hover{color:#fff}
.cart-float{display:inline-flex;align-items:center;gap:10px;border-radius:12px;padding:15px 20px;font-size:13px;box-shadow:0 6px 30px #f0193835}.cart-float .icon{width:20px;height:20px}.cart-float [data-cart-count]{padding:1px 7px;border-radius:5px;background:#ffffff26}.modal{backdrop-filter:blur(5px);padding:18px}.modal-card{width:min(650px,100%);border-radius:16px;padding:28px;box-shadow:0 24px 100px #0004}.modal.open .modal-card{animation:dialog-in .2s ease-out}.modal-head{align-items:center;gap:10px}.modal-head h2{font-size:26px;letter-spacing:-.03em;margin:0}.cart-intro{font-size:13px;color:var(--gray)}.close{cursor:pointer;min-width:40px;min-height:40px}.form-grid{gap:12px}.form-grid input,.form-grid textarea{background:#fafafa;border-radius:8px;font-size:14px}.cart-item{font-size:13px;padding:14px 0}.cart-item input{width:100%;padding:8px;border:1px solid var(--line);border-radius:5px}.cart-list small{color:var(--gray)}.form-grid button:disabled{opacity:.55;cursor:wait}
/* The catalog and price share a compact table at every viewport size. */
.pp-page{background:#fafafa}.pp-hero{padding:48px 0;background:#121215}.pp-hero:after{display:none}.pp-hero h1{font-size:clamp(30px,3.4vw,46px);text-transform:none;letter-spacing:-.04em;line-height:1.12}.pp-hero p{max-width:640px;font-size:14px}.pp-hero-grid{grid-template-columns:1fr auto;gap:26px}.pp-kicker{font-size:9px;color:#f77589;letter-spacing:.13em}.pp-hero-actions{max-width:310px;gap:8px}.pp-hero-actions .btn{font-size:11px;min-height:42px;padding:12px 14px}.pp-summary-grid{grid-template-columns:repeat(4,1fr)}.pp-stat{padding:22px 20px}.pp-stat b{font-size:21px;letter-spacing:-.02em}.pp-stat span{font-size:11px}.pp-content{padding-top:30px;padding-bottom:60px}.pp-filters{background:white;border-radius:12px;padding:24px;border:1px solid var(--line);box-shadow:0 3px 15px #00000003}.pp-field input,.pp-field select{border-color:#e0e0e4;border-radius:7px;height:42px;font-size:12px}.pp-field span{font-size:11px}.pp-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pp-filters .btn{min-height:42px;font-size:11px;padding:12px 18px}.pp-result-bar{font-size:12px;flex-wrap:wrap;gap:10px}.pp-table-wrap{display:block;border-radius:10px;scrollbar-width:thin;scrollbar-color:#aaa #eee}.pp-table{min-width:1040px;font-size:12px;line-height:1.4}.pp-table th{background:#18181c;padding:14px 12px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.pp-table td{padding:12px;border-bottom:1px solid #efeff1}.pp-product-name{font-size:12px;font-weight:650;max-width:380px;min-width:240px}.pp-product-sub{font-size:9px}.pp-col-price strong{font-size:14px}.pp-cart-btn{font-size:11px;padding:9px 12px;border-radius:6px;transition:background .2s,transform .2s}.pp-cart-btn:hover{transform:translateY(-1px)}.pp-table tbody tr:nth-child(even) td{background:#fcfcfd}.pp-table tbody tr:hover td{background:#fff4f6}.pp-group-badge{border-radius:5px;font-size:10px;max-width:160px}.pp-col-num{width:42px}.pp-stock{font-size:10px}.pp-stock-in{color:#333}.pp-stock-in:before{background:var(--red)}.pp-stock-order{color:var(--gray)}.pp-stock-order:before{background:#a5a5ad}.pp-mobile-list{display:none!important}.table-scroll-hint{display:none;font-size:11px;color:var(--gray)}.pp-pagination a,.pp-pagination span{border-radius:7px;background:#fff}.pp-note{font-size:12px;border-radius:0 8px 8px 0}.pp-search-row{grid-template-columns:minmax(0,1fr) auto auto}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){[data-reveal].reveal-pending{opacity:0;transform:translateY(14px)}[data-reveal].reveal-ready{transition:opacity .5s ease,transform .5s ease;opacity:1;transform:none}.hero-copy{animation:dialog-in .55s ease-out}.hero-brand{animation:dialog-in .7s ease-out}}
@media(max-width:1100px){.header-main{grid-template-columns:125px minmax(150px,1fr) auto;gap:22px}.catalog-btn{display:none}.hero-inner{gap:30px}.hero-brand{padding:22px}.top-links>a:first-child{display:none}.nav a{padding-inline:16px}.pp-hero-grid{grid-template-columns:1fr}.pp-hero-actions{max-width:none;justify-content:flex-start}.table-scroll-hint{display:block}.about-grid{gap:45px}}
@media(max-width:760px){.container{width:calc(100% - 32px)}.top-links{display:flex}.top-links>a:not(:last-child){display:none}.topbar{font-size:10px}.top-info{gap:7px}.since-small{display:none}.header-main{grid-template-columns:1fr auto;height:auto;gap:14px;padding:17px 0}.logo img{width:112px;height:auto}.header-actions{display:flex;gap:24px}.search{grid-row:2;grid-column:1/-1}.search input{padding:12px}.action{font-size:10px}.nav a{padding:14px;font-size:10px}.hero-inner{grid-template-columns:1fr;padding-top:40px;padding-bottom:38px;min-height:0;gap:34px}.hero h1{font-size:clamp(34px,7.2vw,52px);line-height:1.1}.hero p{font-size:14px}.hero-brand{display:none}.hero-actions{gap:9px;margin-top:24px}.hero-actions .btn{font-size:12px;padding-inline:15px}.hero-footnote{margin-top:24px}.eyebrow{font-size:8px}.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature{padding:20px 10px;border-bottom:1px solid var(--line)}.feature:nth-child(even){border-right:0}.feature strong{font-size:11px}.feature small{font-size:10px}.feature>.icon{width:20px;height:20px}.section{padding:48px 0}.section-head{align-items:start;gap:18px}.section-head>.link-red{font-size:11px;white-space:nowrap}.section-kicker{font-size:8px}.section h2{font-size:28px}.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-card{padding:20px;min-height:270px}.category-card h3{font-size:16px}.category-card p{font-size:12px}.category-number{font-size:8px}.price-promo-grid,.about-grid,.contacts-grid{grid-template-columns:1fr;gap:28px}.price-promo-actions{min-width:0}.about p{font-size:14px}.trust-panel{padding:26px}.trust-year{font-size:44px}.contact-card{padding:24px}.map,.map iframe{min-height:370px}.footer .container{grid-template-columns:1fr 1fr;gap:26px}.footer .container>div:first-child{grid-column:1/-1}.footer-links,.footer-contacts{font-size:11px}.cart-float{right:16px;bottom:16px;font-size:12px;padding:12px 16px}.pp-hero{padding:32px 0}.pp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-stat{padding:17px 14px}.pp-stat b{font-size:18px}.pp-stat span{font-size:10px}.pp-stat:nth-child(odd){border-right:1px solid var(--line)!important}.pp-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-search-row{grid-template-columns:minmax(0,1fr) auto}.pp-search-field{grid-column:1/-1}.pp-filter-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.pp-filters{padding:18px}.pp-field input,.pp-field select{font-size:16px}.pp-result-bar{flex-direction:row;align-items:center}.pp-table-wrap{display:block}.pp-content{padding-top:20px}.pp-hero h1{font-size:32px}.pp-table{min-width:920px}.pp-product-name{min-width:210px;max-width:290px}.pp-col-num{display:none}.pp-hero-actions .btn{padding:11px;font-size:10px}}
@media(max-width:430px){.categories{grid-template-columns:1fr}.category-card{min-height:0;padding:24px}.category-card>.icon{margin-top:20px}.category-card p{max-width:none}.hero h1{font-size:36px}.section-head{flex-wrap:wrap}.feature{gap:8px}.map-caption{left:10px;right:10px;bottom:10px;padding:12px}.map-caption small{font-size:9px}.modal-card{padding:20px}.form-grid{grid-template-columns:1fr}.contact-actions .btn{font-size:12px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}}
@media print{.skip-link,.table-scroll-hint,.map,.header-actions{display:none!important}.pp-table-wrap{overflow:visible!important}.pp-table{min-width:0!important}.pp-product-name{min-width:0!important}.pp-table th,.pp-table td{padding:6px!important}.pp-hero{padding:14px 0}.pp-hero h1{font-size:26px}.pp-content{padding:16px 0}.pp-stat{padding:8px}.pp-col-action{display:none}.pp-summary-grid{grid-template-columns:repeat(4,1fr)}}

/* ---- header-logo-motion.css ---- */
/* Match the existing style.css + design.css logo dimensions without moving its grid cell. */
.header .logo .motion-logo{display:block;width:138px;height:auto;max-height:80px;overflow:visible;background:transparent}
@media(max-width:760px){.header .logo .motion-logo{width:112px;height:auto}}

/* ---- header-catalog.css ---- */
/* Header-only navigation: preserves the desktop logo's existing position. */
.header-main{position:relative}
.catalog-navigation{min-width:0}
.catalog-navigation .catalog-btn{display:flex;width:100%;gap:8px;padding-inline:12px;list-style:none;user-select:none}
.catalog-btn::-webkit-details-marker{display:none}
.catalog-btn::marker{content:""}
.catalog-btn:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.catalog-btn>.icon{width:20px;height:20px;transition:transform .24s ease}
.catalog-chevron{flex:none;transition:transform .24s ease}
.catalog-navigation[open] .catalog-btn{background:var(--red2)}
.catalog-navigation[open] .catalog-btn>.icon{transform:rotate(90deg)}
.catalog-navigation[open] .catalog-chevron{transform:rotate(180deg)}
.catalog-dropdown{position:absolute;top:100%;left:0;z-index:40;width:min(920px,100%);padding:22px;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 16px 36px #00000024;color:var(--black)}
/* Invisible bridge keeps a slowly moving pointer connected to the panel. */
.catalog-dropdown::before{content:"";position:absolute;left:0;right:0;top:-28px;height:28px}
.catalog-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.catalog-dropdown-head strong{font-size:18px;font-weight:700}
.catalog-dropdown-head>a{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-size:14px;font-weight:600}
.catalog-dropdown-head .icon{width:18px;height:18px}
.catalog-group-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 14px;list-style:none;margin:0;padding:0;max-height:min(560px,calc(100dvh - 230px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.catalog-group-list a{display:flex;align-items:center;gap:12px;min-height:54px;padding:9px 10px;border-radius:7px;font-size:14px;font-weight:500;line-height:1.4;transition:background .18s,color .18s}
.catalog-group-list .grp-icon{flex:none;color:var(--red)}
.catalog-group-list a:hover,.catalog-group-list a:focus-visible{background:#fff0f3;color:var(--red2)}
.catalog-group-list a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
@media(max-width:1100px){
  .header-main{grid-template-columns:125px 142px minmax(0,1fr)}
  .header-spacer{display:none}
  .header-actions{display:flex;justify-self:end}
}
@media(max-width:760px){
  .header-main{grid-template-columns:1fr auto}
  .header .logo{grid-column:1;grid-row:1}
  .header-actions{grid-column:2;grid-row:1}
  .catalog-navigation{grid-column:1/-1;grid-row:2}
  .catalog-navigation .catalog-btn{justify-content:flex-start;min-height:44px;padding-inline:16px}
  .catalog-chevron{margin-left:auto}
  .catalog-dropdown{width:100%;padding:16px;max-height:calc(100dvh - 200px);overflow:auto}
  .catalog-dropdown::before{height:18px;top:-18px}
  .catalog-dropdown-head strong{font-size:16px}
  .catalog-dropdown-head>a{font-size:13px}
  .catalog-group-list{grid-template-columns:1fr;max-height:none;overflow:visible}
  .catalog-group-list a{min-height:48px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .catalog-btn,.catalog-chevron,.catalog-btn>.icon,.catalog-group-list a{transition:none}
  .catalog-btn:hover{transform:none}
}
/* Мега-меню каталога: слева разделы, справа группы и категории наведённого раздела. */
.catalog-mega{width:min(1080px,calc(100vw - 40px));min-height:600px;padding:20px 22px}
.cm-secs{list-style:none;margin:0;padding:0;width:286px}
.cm-sec-link{display:flex;align-items:center;gap:11px;min-height:38px;padding:7px 10px;border-radius:7px;font-size:14px;font-weight:500;line-height:1.3;transition:background .15s,color .15s}
.cm-sec-link .grp-icon{flex:none;color:var(--red)}
.cm-sec:hover>.cm-sec-link,.cm-sec:focus-within>.cm-sec-link,
.cm-secs:not(:hover):not(:focus-within)>.cm-sec:first-child>.cm-sec-link{background:#fff0f3;color:var(--red2)}
.cm-sec-link:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.cm-panel{display:none;position:absolute;left:330px;right:22px;top:76px;bottom:20px;overflow:auto;overscroll-behavior:contain;padding:2px 4px 8px 22px;border-left:1px solid var(--line);scrollbar-width:thin;background:#fff}
.cm-sec:hover>.cm-panel,.cm-sec:focus-within>.cm-panel,
.cm-secs:not(:hover):not(:focus-within)>.cm-sec:first-child>.cm-panel{display:block}
.cm-panel-title{display:inline-flex;align-items:center;gap:8px;margin:2px 0 14px;font-size:18px;font-weight:700;color:var(--black)}
.cm-panel-title .icon{width:16px;height:16px;color:var(--red)}
.cm-panel-title:hover{color:var(--red2)}
.cm-groups{columns:3 200px;column-gap:26px}
.cm-group{break-inside:avoid;margin:0 0 16px}
.cm-group-link{display:block;font-size:14px;font-weight:700;line-height:1.3;margin-bottom:5px}
.cm-group-link:hover{color:var(--red2)}
.cm-group ul{list-style:none;margin:0;padding:0}
.cm-group li a{display:block;padding:2px 0;font-size:13px;line-height:1.35;color:#55555c}
.cm-group li a:hover,.cm-group li a:focus-visible{color:var(--red2)}
@media(max-width:1100px){.catalog-mega{width:calc(100vw - 40px)}.cm-secs{width:250px}.cm-panel{left:290px}.cm-groups{columns:2 180px}}
@media(max-width:760px){
  .catalog-mega{width:100%;min-height:0}
  .cm-secs{width:100%}
  .cm-panel{display:none!important}
  .cm-sec-link{min-height:46px;font-size:15px}
  .cm-secs:not(:hover):not(:focus-within)>.cm-sec:first-child>.cm-sec-link{background:none;color:inherit}
}
@media(prefers-reduced-motion:reduce){.cm-sec-link{transition:none}}
@media print{.catalog-navigation{display:none}}

/* With JS, keep at most an incoming and an outgoing panel visible.
   Without JS, the original hover/focus rules remain the fallback. */
@media(min-width:761px){
  .catalog-mega[data-catalog-motion] .cm-sec>.cm-sec-link{background:transparent;color:inherit}
  .catalog-mega[data-catalog-motion] .cm-sec.cm-active>.cm-sec-link{background:#fff0f3;color:var(--red2)}
  .catalog-mega[data-catalog-motion] .cm-sec>.cm-panel{display:none}
  .catalog-mega[data-catalog-motion] .cm-sec.cm-active>.cm-panel,
  .catalog-mega[data-catalog-motion] .cm-sec.cm-leaving>.cm-panel{display:block}
  .catalog-mega[data-catalog-motion] .cm-sec.cm-active>.cm-panel{z-index:2}
  .catalog-mega[data-catalog-motion] .cm-sec.cm-leaving>.cm-panel{pointer-events:none;z-index:1}
}
.tp-specs-more.tp-disclosure-ready>.tp-disclosure-body{display:grid;grid-template-rows:1fr;overflow:hidden}
.tp-disclosure-body>.tp-disclosure-inner{min-height:0;overflow:hidden}
.catalog-navigation[data-catalog-state="closing"] .catalog-btn>.icon,
.catalog-navigation[data-catalog-state="closing"] .catalog-chevron{transform:rotate(0)}
.tp-specs-more[data-catalog-state="closing"]>summary::after{transform:rotate(45deg) translateY(-2px)}
@media(prefers-reduced-motion:reduce){
  .catalog-dropdown,.cm-panel,.tp-disclosure-body{filter:none!important;transform:none!important}
}

/* ---- category-icons.css ---- */
/* Tool Park · Illustrated: native vector materials from the power-tool reference. */
.tp-category-icon{display:inline-block;flex-shrink:0;overflow:visible;vertical-align:middle}
.tp-illustrated-icon g{transform-box:view-box}
.cm-sec-link .tp-illustrated-icon{width:28px;height:28px}
.cat-tile .ic .tp-category-icon.tp-illustrated-icon{width:44px;height:44px}
.tp-tile-ic .tp-category-icon.tp-illustrated-icon{width:38px;height:38px}
.tp-iv-piston{transform-origin:47px 39px}.tp-iv-lever{transform-origin:71px 58px}
.tp-iv-needle{transform-origin:72px 25px}.tp-iv-drum{transform-origin:40px 40px}
.tp-iv-pulley{transform-origin:48px 36px}.tp-iv-hook{transform-origin:48px 52px}
.tp-iv-tape{transform-origin:68px 70px}.tp-iv-screw{transform-origin:72px 48px}
.tp-iv-disc{transform-origin:48px 45px}.tp-iv-wrench{transform-origin:22px 76px}
.tp-iv-hammer{transform-origin:56px 82px}.tp-iv-roller{transform-origin:49px 79px}
.tp-iv-grass{transform-origin:48px 86px}.tp-iv-door{transform-origin:55px 65px}
@keyframes tp-iv-bit{to{transform:translateX(13px)}}
@keyframes tp-iv-motor{0%,100%{transform:translateY(0)}50%{transform:translateY(1.8px)}}
@keyframes tp-iv-vibrate{0%,100%{transform:translateY(0)}50%{transform:translateY(-.7px)}}
@keyframes tp-iv-spark{0%,100%{opacity:.45}20%,55%,80%{opacity:1}35%,65%{opacity:.15}}
@keyframes tp-iv-piston{0%,100%{transform:translateY(0)}40%,65%{transform:translateY(-6px)}}
@keyframes tp-iv-lever{0%,100%{transform:rotate(0)}40%,65%{transform:rotate(10deg)}}
@keyframes tp-iv-needle{0%,100%{transform:rotate(0)}35%{transform:rotate(36deg)}65%{transform:rotate(20deg)}}
@keyframes tp-iv-turn{to{transform:rotate(360deg)}}
@keyframes tp-iv-drum{0%,100%{transform:scaleY(1)}25%,75%{transform:scaleY(.15)}50%{transform:scaleY(-1)}}
@keyframes tp-iv-hook{0%,100%{transform:rotate(0)}30%{transform:rotate(12deg)}65%{transform:rotate(-6deg)}}
@keyframes tp-iv-grass{0%,100%{transform:skewX(0)}40%{transform:skewX(-12deg)}70%{transform:skewX(7deg)}}
@keyframes tp-iv-tape{0%,100%{transform:scaleX(1)}40%,65%{transform:scaleX(1.12)}}
@keyframes tp-iv-screw{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.78)}}
@keyframes tp-iv-thread{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
@keyframes tp-iv-wrench{0%,100%{transform:rotate(0)}35%,55%{transform:rotate(-10deg)}}
@keyframes tp-iv-hammer{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}45%{transform:rotate(3deg)}65%{transform:rotate(-2deg)}}
@keyframes tp-iv-car{0%,100%{transform:translateY(0)}30%{transform:translateY(-2px)}60%{transform:translateY(.6px)}}
@keyframes tp-iv-roller{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(-6deg)}}
@keyframes tp-iv-door{0%,100%{transform:scaleX(1)}40%,70%{transform:scaleX(.6)}}
@keyframes tp-iv-drawer{0%,100%{transform:translateX(0)}40%,65%{transform:translateX(3px)}}
.tp-icon-play .tp-iv-bit,a:focus-visible .tp-illustrated-icon .tp-iv-bit,a:active .tp-illustrated-icon .tp-iv-bit{animation:tp-iv-bit .18s linear 5}
.tp-icon-play .tp-iv-motor,a:focus-visible .tp-illustrated-icon .tp-iv-motor,a:active .tp-illustrated-icon .tp-iv-motor{animation:tp-iv-motor .18s ease-in-out 5}
.tp-icon-play .tp-iv-engine,a:focus-visible .tp-illustrated-icon .tp-iv-engine,a:active .tp-illustrated-icon .tp-iv-engine{animation:tp-iv-vibrate .16s ease-in-out 6}
.tp-icon-play .tp-iv-spark,a:focus-visible .tp-illustrated-icon .tp-iv-spark,a:active .tp-illustrated-icon .tp-iv-spark{animation:tp-iv-spark .9s linear 1}
.tp-icon-play .tp-iv-piston,a:focus-visible .tp-illustrated-icon .tp-iv-piston,a:active .tp-illustrated-icon .tp-iv-piston{animation:tp-iv-piston 1s cubic-bezier(.16,1,.3,1) 1}
.tp-icon-play .tp-iv-lever,a:focus-visible .tp-illustrated-icon .tp-iv-lever,a:active .tp-illustrated-icon .tp-iv-lever{animation:tp-iv-lever 1s ease-in-out 1}
.tp-icon-play .tp-iv-needle,a:focus-visible .tp-illustrated-icon .tp-iv-needle,a:active .tp-illustrated-icon .tp-iv-needle{animation:tp-iv-needle 1s ease-in-out 1}
.tp-icon-play .tp-iv-drum,a:focus-visible .tp-illustrated-icon .tp-iv-drum,a:active .tp-illustrated-icon .tp-iv-drum{animation:tp-iv-drum 1.1s linear 1}
.tp-icon-play .tp-iv-pulley,a:focus-visible .tp-illustrated-icon .tp-iv-pulley,a:active .tp-illustrated-icon .tp-iv-pulley{animation:tp-iv-turn 1s ease-in-out 1}
.tp-icon-play .tp-iv-hook,a:focus-visible .tp-illustrated-icon .tp-iv-hook,a:active .tp-illustrated-icon .tp-iv-hook{animation:tp-iv-hook 1.1s ease-in-out 1}
.tp-icon-play .tp-iv-grass,a:focus-visible .tp-illustrated-icon .tp-iv-grass,a:active .tp-illustrated-icon .tp-iv-grass{animation:tp-iv-grass 1s ease-in-out 1}
.tp-icon-play .tp-iv-tape,a:focus-visible .tp-illustrated-icon .tp-iv-tape,a:active .tp-illustrated-icon .tp-iv-tape{animation:tp-iv-tape 1.1s ease-in-out 1}
.tp-icon-play .tp-iv-screw,a:focus-visible .tp-illustrated-icon .tp-iv-screw,a:active .tp-illustrated-icon .tp-iv-screw{animation:tp-iv-screw .3s linear 3}
.tp-icon-play .tp-iv-thread,a:focus-visible .tp-illustrated-icon .tp-iv-thread,a:active .tp-illustrated-icon .tp-iv-thread{animation:tp-iv-thread .3s linear 3}
.tp-icon-play .tp-iv-disc,a:focus-visible .tp-illustrated-icon .tp-iv-disc,a:active .tp-illustrated-icon .tp-iv-disc{animation:tp-iv-turn 1.1s cubic-bezier(.16,1,.3,1) 1}
.tp-icon-play .tp-iv-wrench,a:focus-visible .tp-illustrated-icon .tp-iv-wrench,a:active .tp-illustrated-icon .tp-iv-wrench{animation:tp-iv-wrench 1s ease-in-out 1}
.tp-icon-play .tp-iv-hammer,a:focus-visible .tp-illustrated-icon .tp-iv-hammer,a:active .tp-illustrated-icon .tp-iv-hammer{animation:tp-iv-hammer .8s cubic-bezier(.16,1,.3,1) 1}
.tp-icon-play .tp-iv-car,a:focus-visible .tp-illustrated-icon .tp-iv-car,a:active .tp-illustrated-icon .tp-iv-car{animation:tp-iv-car .9s ease-in-out 1}
.tp-icon-play .tp-iv-roller,a:focus-visible .tp-illustrated-icon .tp-iv-roller,a:active .tp-illustrated-icon .tp-iv-roller{animation:tp-iv-roller 1.1s ease-in-out 1}
.tp-icon-play .tp-iv-nap,a:focus-visible .tp-illustrated-icon .tp-iv-nap,a:active .tp-illustrated-icon .tp-iv-nap{animation:tp-iv-thread .3s linear 3}
.tp-icon-play .tp-iv-door,a:focus-visible .tp-illustrated-icon .tp-iv-door,a:active .tp-illustrated-icon .tp-iv-door{animation:tp-iv-door 1.1s ease-in-out 1}
.tp-icon-play .tp-iv-drawer,a:focus-visible .tp-illustrated-icon .tp-iv-drawer,a:active .tp-illustrated-icon .tp-iv-drawer{animation:tp-iv-drawer 1s ease-in-out 1}
@media(hover:hover){
a:hover .tp-illustrated-icon .tp-iv-bit{animation:tp-iv-bit .18s linear 5}
a:hover .tp-illustrated-icon .tp-iv-motor{animation:tp-iv-motor .18s ease-in-out 5}
a:hover .tp-illustrated-icon .tp-iv-engine{animation:tp-iv-vibrate .16s ease-in-out 6}
a:hover .tp-illustrated-icon .tp-iv-spark{animation:tp-iv-spark .9s linear 1}
a:hover .tp-illustrated-icon .tp-iv-piston{animation:tp-iv-piston 1s cubic-bezier(.16,1,.3,1) 1}
a:hover .tp-illustrated-icon .tp-iv-lever{animation:tp-iv-lever 1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-needle{animation:tp-iv-needle 1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-drum{animation:tp-iv-drum 1.1s linear 1}
a:hover .tp-illustrated-icon .tp-iv-pulley{animation:tp-iv-turn 1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-hook{animation:tp-iv-hook 1.1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-grass{animation:tp-iv-grass 1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-tape{animation:tp-iv-tape 1.1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-screw{animation:tp-iv-screw .3s linear 3}
a:hover .tp-illustrated-icon .tp-iv-thread{animation:tp-iv-thread .3s linear 3}
a:hover .tp-illustrated-icon .tp-iv-disc{animation:tp-iv-turn 1.1s cubic-bezier(.16,1,.3,1) 1}
a:hover .tp-illustrated-icon .tp-iv-wrench{animation:tp-iv-wrench 1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-hammer{animation:tp-iv-hammer .8s cubic-bezier(.16,1,.3,1) 1}
a:hover .tp-illustrated-icon .tp-iv-car{animation:tp-iv-car .9s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-roller{animation:tp-iv-roller 1.1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-nap{animation:tp-iv-thread .3s linear 3}
a:hover .tp-illustrated-icon .tp-iv-door{animation:tp-iv-door 1.1s ease-in-out 1}
a:hover .tp-illustrated-icon .tp-iv-drawer{animation:tp-iv-drawer 1s ease-in-out 1}
}
@media(max-width:760px){.tp-tile-ic .tp-category-icon.tp-illustrated-icon{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.tp-illustrated-icon g{animation:none!important}}

/* ---- catalog-controls.css ---- */
/* FRRESH refinement: the existing identity and all unrelated surfaces are retained. */
.catalog-mega .cm-group-link,
.catalog-mega .cm-group li a { color: var(--red2, #c90f29); }
.catalog-mega .cm-group-link:hover,
.catalog-mega .cm-group li a:hover { color: var(--red2, #c90f29); text-decoration: underline; text-underline-offset: 3px; }
.pp-page .pp-hero-grid { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.pp-total-stat { text-align: right; min-width: 180px; }
.pp-total-stat b { display: block; font-size: clamp(40px, 4.6vw, 64px); line-height: 1.05; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pp-total-stat span { display: block; margin-top: 8px; font-size: 15px; color: #d7d7da; }
.tp-category-picker { margin: 0 0 24px; border-bottom: 1px solid var(--line, #e7e7e9); }
.tp-category-toggle { display: flex; align-items: center; gap: 16px; min-height: 48px; padding: 0 0 16px; list-style: none; cursor: pointer; color: var(--red, #f01938); font-weight: 700; font-size: 16px; }
.tp-category-toggle::-webkit-details-marker,
.tp-category-branch > summary::-webkit-details-marker { display: none; }
.tp-category-toggle::marker,
.tp-category-branch > summary::marker { content: ''; }
.tp-category-selected { margin-left: auto; color: var(--gray, #6d6d74); font-size: 12px; font-weight: 500; }
.tp-category-chevron { flex: none; display: inline-block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 220ms cubic-bezier(.16,1,.3,1); margin: 0 3px 4px; }
details[open] > summary > .tp-category-chevron { transform: rotate(225deg); margin-bottom: 0; }
.tp-category-body { overflow: hidden; }
.tp-category-inner { min-height: 0; padding: 4px 0 22px; }
.tp-category-fields { min-width: 0; padding: 0; margin: 0; border: 0; }
.tp-category-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tp-category-branch { border-top: 1px solid var(--line, #e7e7e9); }
.tp-category-branch > summary { display: flex; gap: 12px; align-items: center; min-height: 50px; padding: 12px 4px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 650; }
.tp-category-branch > summary > span:not(.tp-category-chevron) { min-width: 0; overflow-wrap: anywhere; }
.tp-category-branch > summary > small { margin-left: auto; color: var(--gray, #6d6d74); font-size: 12px; font-weight: 400; white-space: nowrap; }
.tp-category-branch > summary .grp-icon { flex: none; color: var(--red, #f01938); }
.tp-category-children { padding: 0 0 6px 24px; }
.tp-category-option { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 9px 8px; cursor: pointer; font-size: 14px; line-height: 1.4; border-radius: 6px; }
.tp-category-option:hover { background: #fff1f4; }
.tp-category-option input { flex: none; margin: 0; width: 18px; height: 18px; accent-color: var(--red, #f01938); }
.tp-category-option > span { min-width: 0; overflow-wrap: anywhere; }
.tp-category-option small { margin-left: auto; font-size: 12px; color: var(--gray, #6d6d74); white-space: nowrap; }
.tp-category-subcategory > span,
.tp-category-subcategory > summary { color: var(--red2, #c90f29); }
.tp-category-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 16px; }
.tp-category-clear { border: 0; background: transparent; color: var(--red, #f01938); font: inherit; font-size: 13px; min-height: 44px; padding: 8px 0; cursor: pointer; }
.tp-category-feedback { font-size: 12px; color: var(--gray, #6d6d74); }
.tp-category-picker[data-category-closing] > summary > .tp-category-chevron { transform: rotate(45deg); }
@media (max-width: 760px) {
  .pp-page .pp-hero-grid { gap: 28px; }
  .pp-total-stat { min-width: 0; }
  .pp-total-stat b { font-size: 42px; }
  .tp-category-toggle { flex-wrap: wrap; gap: 12px; font-size: 15px; }
  .tp-category-children { padding-left: 12px; }
  .tp-category-option { gap: 10px; }
}
@media (max-width: 560px) {
  .pp-page .pp-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pp-total-stat { display: flex; align-items: baseline; gap: 12px; text-align: left; }
  .pp-total-stat span { margin: 0; }
  .tp-category-option small, .tp-category-branch > summary > small { white-space: normal; flex: 0 0 66px; text-align: right; }
  .tp-category-selected { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .tp-category-chevron { transition: none; } }
@media print { .tp-category-picker { display: none !important; } .pp-total-stat { color: #111; } .pp-total-stat span { color: #111; } }

/* ---- application-form.css ---- */
.application-availability { margin: 8px 0 18px; font-size: 13px; color: var(--gray, #696970); line-height: 1.6; }
.application-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px 16px; margin-bottom: 4px; font-size: 13px; }
.application-progress strong { font-weight: 600; }
.application-progress output { font-variant-numeric: tabular-nums; color: var(--red2, #c90f29); font-weight: 700; }
.application-progress progress { grid-column: 1 / -1; appearance: none; -webkit-appearance: none; width: 100%; height: 6px; border: 0; border-radius: 3px; overflow: hidden; background: var(--line, #e7e7e9); accent-color: var(--red, #f01938); }
.application-progress progress::-webkit-progress-bar { background: var(--line, #e7e7e9); }
.application-progress progress::-webkit-progress-value { background: var(--red, #f01938); }
.application-progress progress::-moz-progress-bar { background: var(--red, #f01938); }
.application-progress small { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; color: var(--gray, #696970); }
.application-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: 13px; font-weight: 500; }
.application-field small { font-size: 12px; font-weight: 400; line-height: 1.5; color: var(--gray, #696970); }
.form-grid .application-field input, .form-grid .application-field textarea { font-size: 16px; }
.form-grid [aria-invalid="true"] { border-color: var(--red2, #c90f29); }
.form-grid .application-error { font-size: 12px; line-height: 1.5; color: var(--red2, #c90f29); font-weight: 400; }
.application-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.application-status { padding: 14px 16px; border-radius: 8px; background: var(--light, #f5f5f6); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.application-status[data-kind="error"] { color: #981128; background: #fff0f3; }
.application-status[data-kind="success"] { color: #183b29; background: #edf6f0; }
.application-status[data-kind="warning"] { color: #5f471b; background: #fff8e9; }
.form-grid [hidden] { display: none !important; }

/* ---- articles.css ---- */
.tp-article-list { border-top: 1px solid var(--line, #e7e7e9); }
.tp-article-row { display: grid; grid-template-columns: 180px minmax(0, 1fr) 44px; gap: 28px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--line, #e7e7e9); }
.tp-article-topic { padding-top: 5px; font-size: 13px; color: var(--gray, #696970); }
.tp-article-row h3 { margin: 0 0 12px; font-size: clamp(20px, 2.1vw, 27px); font-weight: 650; line-height: 1.3; letter-spacing: -.025em; }
.tp-article-row h3 a:hover { color: var(--red2, #c90f29); }
.tp-article-row p { margin: 0; max-width: 70ch; font-size: 15px; color: var(--gray, #696970); line-height: 1.7; }
.tp-article-read { display: grid; place-items: center; min-height: 44px; color: var(--red2, #c90f29); transition: transform 180ms ease; }
.tp-article-read:hover { transform: translateX(4px); }
.tp-article-body { width: min(760px, calc(100% - 48px)); margin: auto; padding: 42px 0 72px; }
.tp-article-crumbs { display: flex; flex-wrap: wrap; gap: 8px 12px; font-size: 13px; color: var(--gray, #696970); margin-bottom: 30px; }
.tp-article-crumbs a:hover { color: var(--red2, #c90f29); }
.tp-article-body h1 { margin: 0 0 22px; font-size: clamp(32px, 4vw, 46px); line-height: 1.15; letter-spacing: -.03em; font-weight: 750; overflow-wrap: anywhere; }
.tp-article-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 28px; font-size: 13px; color: var(--gray, #696970); }
.tp-article-body p { margin: 0 0 20px; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.tp-article-body .tp-article-lead { font-size: 20px; line-height: 1.7; margin-bottom: 38px; }
.tp-article-body h2 { margin: 38px 0 16px; font-size: 27px; line-height: 1.3; letter-spacing: -.02em; }
.tp-article-body .tp-article-source { color: var(--gray, #696970); font-size: 13px; line-height: 1.6; }
.tp-article-source a { color: var(--red2, #c90f29); text-decoration: underline; text-underline-offset: 3px; }
.tp-article-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 24px 0; margin: 18px 0; border-block: 1px solid var(--line, #e7e7e9); }
@media (max-width: 760px) {
  .tp-article-row { grid-template-columns: minmax(0, 1fr) 44px; gap: 12px; padding: 24px 0; }
  .tp-article-topic { grid-column: 1 / -1; padding: 0; }
  .tp-article-body { width: calc(100% - 32px); padding: 28px 0 48px; }
  .tp-article-body p { font-size: 16px; }
  .tp-article-body .tp-article-lead { font-size: 18px; }
  .tp-article-body h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { .tp-article-read { transition: none; } .tp-article-read:hover { transform: none; } }

/* Списки, таблицы и блок «В наличии в Tool Park» в статьях */
.tp-article-list-items { margin: 0 0 16px; padding-left: 20px; }
.tp-article-list-items li { margin: 0 0 8px; line-height: 1.6; }
.tp-article-table { margin: 8px 0 20px; overflow-x: auto; border: 1px solid var(--line, #e7e7e9); border-radius: 12px; }
.tp-article-table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.tp-article-table th, .tp-article-table td { padding: 10px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line, #e7e7e9); }
.tp-article-table thead th { background: var(--light, #f5f5f6); font-weight: 700; white-space: nowrap; }
.tp-article-table tbody th { font-weight: 600; }
.tp-article-table tr:last-child th, .tp-article-table tr:last-child td { border-bottom: 0; }
.tp-article-stock { margin: 40px 0; }
.tp-article-stock .tpb-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.tp-article-stock h2 { margin: 0; }
.tp-article-stock .tpp-similar-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tp-article-stock-note { margin: 12px 0 0; font-size: 13px; color: var(--gray, #696970); }
@media (max-width: 560px) { .tp-article-stock .tpp-similar-list { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .tp-article-table table { font-size: 14px; }
  .tp-article-table th, .tp-article-table td { padding: 8px 10px; }
  .tp-article-table thead th { white-space: normal; }
}

/* ---- polish.css ---- */
/* Tool Park — polish.css
 * Единый слой улучшений, собранный по скиллам Эмиля Ковальски:
 *   break-ui        — защита вёрстки от «злых» данных (длинные/неразрывные строки);
 *   mobile-native   — ощущение «родного» приложения на телефоне;
 *   animate         — аккуратные feedback-анимации (только transform/opacity, сильные кривые,
 *                     reduced-motion и гейтинг тача входят в комплект).
 * Подключать последним. Любую правку можно откатить, удалив этот файл и его <link>.
 */

:root{
  --tp-ease-out: cubic-bezier(0.23, 1, 0.32, 1);  /* сильный ease-out для UI */
  --tp-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================================
   1. break-ui — вёрстка не ломается на «злых» данных
   ============================================================ */
/* Неразрывные строки (длинный артикул/модель без пробелов) не вылезают за карточку.
   Только для названий товара — короткие чипы характеристик не ломаем посреди слова. */
.pp-product-name,
.pp-mobile-card h3{
  overflow-wrap: anywhere;
  word-break: normal;
}
/* Чипы характеристик переносятся только по словам, без разрыва внутри слова */
.tp-specs li{
  overflow-wrap: normal;
  word-break: keep-all;
}
/* Числа (цена/остаток) выравниваются и не «прыгают» при обновлении */
.pp-col-price strong,
.pp-mobile-price,
.pp-stock{
  font-variant-numeric: tabular-nums;
}

/* ============================================================
   2. mobile-native — «как родное» на телефоне
   ============================================================ */
html{
  -webkit-tap-highlight-color: transparent;  /* нет серой вспышки при тапе */
  -webkit-text-size-adjust: 100%;            /* нет раздувания шрифта в альбомной ориентации */
}
/* Мгновенный тап без задержки 300мс + текст контролов не выделяется долгим нажатием */
button, a, [role="button"], .catalog-btn, .pp-cart-btn, .action, .cm-sec-link, .pp-pagination a{
  touch-action: manipulation;
}
button, [role="button"], .catalog-btn, .pp-cart-btn, .action, .tp-specs-more summary, .cm-sec-link{
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
/* На сенсорных экранах инпут не зумит страницу (минимум 16px) */
@media (pointer: coarse){
  input, textarea, select{ font-size: 16px; }
}
/* Таблица прокручивается только по горизонтали (широкий прайс), вертикальной
   прокрутки внутри таблицы нет — колесо/свайп по вертикали двигает страницу. */
.pp-table-wrap{ overflow-y: hidden; overscroll-behavior-x: contain; }
/* Плавающая кнопка «Заявка» не налезает на домашний индикатор iPhone */
.cart-float{
  margin-bottom: env(safe-area-inset-bottom, 0px);
}
/* На тач-устройствах убираем «залипающий» hover (поднятие остаётся после тапа) */
@media (hover: none){
  .btn:hover, .catalog-btn:hover, .pp-cart-btn:hover,
  .category-card:hover, .pp-pagination a:hover,
  .tp-article-row:hover, .pp-group-badge:hover{
    transform: none;
    box-shadow: none;
  }
  .category-card:hover .category-link .icon{ transform: none; }
}

/* ============================================================
   3. animate — feedback-анимации (press / hover)
   ============================================================ */
@media (prefers-reduced-motion: no-preference){

  /* Press feedback: кнопка отвечает в момент касания (100–160мс, ease-out) */
  .pp-cart-btn, .btn, .catalog-btn, .action{
    transition: transform .13s var(--tp-ease-out), background .18s var(--tp-ease), box-shadow .18s var(--tp-ease);
  }
  .pp-cart-btn:active, .btn:active, .catalog-btn:active{
    transform: scale(.97);
  }
  .action:active{ transform: scale(.92); }

  /* Hover-подъём карточек/плиток — только на устройствах с настоящим курсором */
  @media (hover: hover) and (pointer: fine){
    .pp-mobile-card, .tp-article-row{
      transition: transform .16s var(--tp-ease-out), box-shadow .16s var(--tp-ease-out);
    }
    .pp-mobile-card:hover, .tp-article-row:hover{
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0,0,0,.08);
    }
    /* строка таблицы: мягкая стрелка у кнопки заявки */
    .pp-cart-btn:hover{ transform: translateY(-1px); }
  }

  /* Тонкий вход плиток категорий при первом показе (безопасный фолбэк:
     без поддержки @starting-style плитки просто видны сразу) */
  .category-card{
    transition: opacity .42s var(--tp-ease-out), transform .42s var(--tp-ease-out);
  }
  @starting-style{
    .category-card{ opacity: 0; transform: translateY(10px); }
  }
  .category-card:nth-child(2){ transition-delay: .05s; }
  .category-card:nth-child(3){ transition-delay: .10s; }
  .category-card:nth-child(4){ transition-delay: .15s; }
  .category-card:nth-child(5){ transition-delay: .20s; }
  .category-card:nth-child(6){ transition-delay: .25s; }
}

/* Reduced motion: оставляем только мягкое изменение цвета/прозрачности, без движения */
@media (prefers-reduced-motion: reduce){
  .pp-cart-btn, .btn, .catalog-btn, .action{
    transition: background .18s var(--tp-ease), box-shadow .18s var(--tp-ease);
  }
}

/* ============================================================
   4. Переключатель языка RU/KZ в шапке
   ============================================================ */
.lang-switch{
  display:inline-flex; align-self:center; flex:none;
  border:1px solid var(--line,#e7e7e9); border-radius:8px; overflow:hidden;
}
.lang-switch .lang-opt{
  border:0; background:transparent; cursor:pointer;
  padding:6px 9px; font:700 12px/1 var(--font-ui,inherit);
  color:var(--gray,#6d6d74); letter-spacing:.02em;
  touch-action:manipulation; -webkit-user-select:none; user-select:none;
}
.lang-switch .lang-opt + .lang-opt{ border-left:1px solid var(--line,#e7e7e9); }
.lang-switch .lang-opt.is-active{ background:var(--red,#f01938); color:#fff; }
@media (hover:hover) and (pointer:fine){
  .lang-switch .lang-opt:not(.is-active):hover{ color:var(--red,#f01938); }
}

/* Строка каталога: категории слева, переключатель языка справа */
.pp-catalog-topbar{ display:flex; align-items:flex-start; gap:14px; }
.pp-catalog-topbar .tp-category-picker{ flex:1 1 auto; min-width:0; }
.pp-catalog-topbar .lang-switch{ flex:none; margin-top:1px; }
@media (max-width:560px){
  .pp-catalog-topbar{ flex-wrap:wrap; }
  .pp-catalog-topbar .tp-category-picker{ flex:1 1 100%; order:2; }
  .pp-catalog-topbar .lang-switch{ order:1; margin-left:auto; }
}

/* ============================================================
   5. Поля ввода — фикс «белый текст на белом фоне» в тёмной теме ОС
   ------------------------------------------------------------
   Сайт светлый, отдельной тёмной темы нет. Раньше в шапке стояло
   color-scheme: light dark — и в тёмной теме macOS/браузера системная
   схема красила текст в полях ввода белым поверх белого фона (цвет
   текста у .pp-field input не задан явно). Корневой фикс — color-scheme:
   light в <meta> шапки; ниже — подстраховка на уровне CSS: все контролы
   форм рендерим в светлой схеме и с явным тёмным цветом текста.
   ============================================================ */
input, select, textarea, button, option{ color-scheme: light; }
input, select, textarea,
.pp-field input, .pp-field select, .pp-search-field input,
.filters input, .filters select, .search input,
.form-grid input, .form-grid textarea, .cart-item input{
  color: var(--black, #17171b);
}
input::placeholder, textarea::placeholder{ color:#9a9aa1; opacity:1; }

/* ============================================================
   6. Шапка: выпадающий список второстепенных действий на телефоне
   ------------------------------------------------------------
   Десктоп не меняется — все кнопки в ряд, выпадашка скрыта. На телефоне
   (≤760px) кнопки «О компании / Отзывы / Статьи / WhatsApp / Почта /
   Instagram» прячутся и собираются в список «Ещё» (details.actions-more).
   «Акции» и «Заявка» остаются видимыми. Плавное открытие/закрытие даёт
   общий модуль disclosure() (header-catalog.js) — здесь только раскладка.
   ============================================================ */
.actions-more{ display:none; }                       /* на десктопе выпадашки нет */
.actions-more > summary{ list-style:none; }
.actions-more > summary::-webkit-details-marker{ display:none; }

@media (max-width:760px){
  /* .header-actions в селекторах — чтобы перебить базовое .header-actions .action
     из инлайнового <style> шапки (одинаковая специфичность, но тот идёт позже) */
  .header-actions .action.action-secondary{ display:none; } /* прячем 6 инлайновых кнопок */

  .header-actions .actions-more{ display:block; position:relative; }
  .header-actions .actions-more > summary{   /* триггер «Ещё» — как остальные значки */
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:5px; min-width:36px; min-height:44px; cursor:pointer; color:inherit;
    font-size:11px; font-weight:600; -webkit-user-select:none; user-select:none;
    -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  }
  .header-actions .actions-more > summary .icon{ width:22px; height:22px; }
  .header-actions .actions-more[open] > summary{ color:var(--red,#f01938); }
  @media (hover:hover) and (pointer:fine){
    .header-actions .actions-more > summary:hover{ color:var(--red,#f01938); }
  }

  .header-actions .actions-more-menu{        /* сам выпадающий список */
    position:absolute; top:100%; right:0; margin-top:10px; z-index:70;
    min-width:216px; max-width:min(78vw,260px);
    background:#fff; border:1px solid var(--line,#e7e7e9); border-radius:14px;
    padding:6px; box-shadow:0 20px 50px rgba(17,17,20,.16);
    display:flex; flex-direction:column; gap:2px; transform-origin:top right;
  }
  .header-actions .actions-more-menu .action{ /* пункт строкой: значок слева, подпись справа */
    flex-direction:row; align-items:center; justify-content:flex-start;
    gap:12px; width:100%; min-width:0; min-height:46px; padding:9px 12px;
    border-radius:9px; font-size:14px; line-height:1.2; text-align:left;
    transition:background-color .16s var(--tp-ease-out,ease), transform .13s var(--tp-ease-out,ease), color .16s var(--tp-ease,ease);
  }
  .header-actions .actions-more-menu .action .icon{ width:22px; height:22px; flex:none; }
  .header-actions .actions-more-menu .action .action-label{ display:inline !important; } /* подписи видны */
  @media (hover:hover) and (pointer:fine){
    .header-actions .actions-more-menu .action:hover{ background:#f5f5f6; color:var(--red,#f01938); }
  }
  .header-actions .actions-more-menu .action:active{ transform:scale(.99); background:#f0f0f2; }
}

/* ============================================================
   7. Цена товара: крупнее, но не жирная
   ------------------------------------------------------------
   Было 14–16px и 800–900 — цифры «слипались» и спорили с названием.
   Стало 18px (на телефоне 20px) и полужирный 600: читается с первого
   взгляда, но не кричит. Знак ₸ чуть легче цифр.
   ============================================================ */
.pp-table .pp-col-price strong,
.pp-col-price > strong{
  font-size:18px; line-height:28px; font-weight:600;
  letter-spacing:-.01em; color:var(--black,#0b0b0d);
}
.pp-page .pp-mobile-price,
.pp-mobile-price{
  font-size:20px; line-height:28px; font-weight:600;
  letter-spacing:-.01em; margin-bottom:4px; color:var(--black,#0b0b0d);
}
.pp-col-price .pp-oldprice,
.pp-mobile-price .pp-mobile-oldprice{ font-weight:400; }
/* Название товара: на тон спокойнее, чтобы цена и название не спорили */
.pp-table .pp-product-name{ font-size:14px; line-height:20px; font-weight:600; }
.pp-mobile-card h3{ font-weight:600; }

/* ============================================================
   8. Кнопка «Каталог» ведёт на страницу разделов
   ------------------------------------------------------------
   На телефоне меню не выпадает — кнопка сразу открывает /catalog.php,
   поэтому стрелку «вниз» заменяем стрелкой «вправо».
   ============================================================ */
@media (max-width:760px){
  .catalog-navigation .catalog-chevron{ transform:rotate(-90deg); }
  .catalog-navigation .catalog-dropdown{ display:none !important; }
}

/* ---------- 9. Заявка: товары «В заявке» и подсказка после добавления ---------- */
[data-add-product].in-cart,
[data-add-product].in-cart:hover{background:var(--red,#f01938);border-color:var(--red,#f01938);color:#fff}
.tp-toast{position:fixed;left:50%;bottom:24px;z-index:60;display:flex;align-items:center;gap:16px;max-width:calc(100% - 32px);padding:12px 12px 12px 20px;border-radius:12px;background:#0b0b0d;color:#fff;font-size:14px;line-height:20px;box-shadow:0 12px 32px #0000003d;transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.32,.72,0,1),transform .3s cubic-bezier(.32,.72,0,1)}
.tp-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.tp-toast-btn{flex:none;min-height:40px;padding:8px 16px;border:0;border-radius:8px;background:var(--red,#f01938);color:#fff;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.tp-toast-btn:hover{background:var(--red2,#c90f29)}
@media (max-width:760px){.tp-toast{bottom:calc(var(--tp-tabbar-h,64px) + 12px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px);justify-content:space-between;padding-left:16px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.tp-toast{transition:none}}

/* ---- header-search.css ---- */
/* Tool Park — поиск в шапке с подсказками и нижняя панель на телефоне.
   Шкала: отступы 4/8/12/16/24, шрифт 12/14/16, радиусы 8/12/16.
   Движение: одна кривая, только transform/opacity. */
:root{ --hs-ease: cubic-bezier(0.32, 0.72, 0, 1); --tp-tabbar-h: 64px; }

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Поле поиска ---------- */
.hs{position:relative;min-width:0;width:100%;max-width:560px;justify-self:stretch}
.hs-field{display:flex;align-items:center;gap:8px;height:48px;padding:4px 4px 4px 12px;border:1px solid transparent;border-radius:12px;background:var(--light,#f5f5f6);transition:border-color .3s var(--hs-ease),background-color .3s var(--hs-ease),box-shadow .3s var(--hs-ease)}
.hs-field:hover{background:#efeff1}
.hs-field:focus-within{background:#fff;border-color:var(--red,#f01938);box-shadow:0 0 0 4px #f019381a}
.hs-ic{flex:none;color:var(--gray,#696970)}
.hs-field input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;font-size:14px;line-height:20px;color:var(--black,#0b0b0d);outline:0;-webkit-appearance:none;appearance:none}
.hs-field input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.hs-field input:focus-visible{outline:0}
.hs-submit{flex:none;height:40px;padding:8px 12px;border:0;border-radius:8px;background:var(--red,#f01938);color:#fff;font-size:14px;line-height:20px;font-weight:600;cursor:pointer;transition:background-color .3s var(--hs-ease),transform .2s var(--hs-ease)}
.hs-submit:hover{background:var(--red2,#c90f29)}
.hs-submit:active{transform:scale(.98)}
.hs-submit:focus-visible{outline:3px solid var(--red,#f01938);outline-offset:2px}

/* ---------- Панель подсказок ---------- */
.hs-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:80;width:max(100%,520px);max-width:calc(100vw - 32px);max-height:min(560px,calc(100dvh - 140px));overflow:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--line,#e7e7e9);border-radius:16px;background:#fff;box-shadow:0 24px 48px #11111426;transform-origin:top left}
.hs-panel[hidden]{display:none}
.hs-panel.is-entering{animation:hs-in .35s var(--hs-ease) both}
@keyframes hs-in{from{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}
.hs-group{margin:0;padding:8px 8px 4px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8a8a91}
.hs-opt{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px;border-radius:8px;color:var(--black,#0b0b0d);text-decoration:none;cursor:pointer;transition:background-color .2s var(--hs-ease)}
.hs-opt[aria-selected="true"],.hs-opt:hover{background:#fff1f3}
.hs-opt-ic{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#fff1f3;color:var(--red,#f01938)}
.hs-opt-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.hs-opt-name{font-size:14px;line-height:20px;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hs-opt-name mark{background:none;color:var(--red2,#c90f29);font-weight:700}
.hs-opt-meta{font-size:12px;line-height:16px;color:var(--gray,#696970);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-opt-end{flex:none;margin-left:auto;font-size:14px;line-height:20px;font-weight:600;color:var(--black,#0b0b0d);white-space:nowrap}
.hs-opt-end.is-muted{font-size:12px;line-height:16px;font-weight:400;color:#8a8a91}
.hs-all{position:sticky;bottom:-8px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding:12px 8px;border-top:1px solid var(--line,#e7e7e9);border-radius:0 0 8px 8px;font-size:14px;line-height:20px;font-weight:600;color:var(--red,#f01938);text-decoration:none}
.hs-all[aria-selected="true"],.hs-all:hover{background:#fff1f3}
.hs-empty{margin:0;padding:16px 8px;font-size:14px;line-height:20px;color:#3b3b41}
.hs-empty a{color:var(--red,#f01938);font-weight:600}
.hs-status{margin:0;padding:0 8px;font-size:12px;line-height:16px;color:var(--gray,#696970)}
.hs-status:empty{display:none}
/* Скелетон на время загрузки */
.hs-skel{display:flex;align-items:center;gap:12px;padding:8px;min-height:48px}
.hs-skel i{display:block;border-radius:8px;background:linear-gradient(90deg,#f1f1f3 0,#f8f8f9 50%,#f1f1f3 100%);background-size:200% 100%;animation:hs-shimmer 1.2s linear infinite}
.hs-skel i:first-child{width:32px;height:32px;flex:none}
.hs-skel i:last-child{height:12px;flex:1;max-width:280px}
@keyframes hs-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- Размещение в шапке ---------- */
@media (min-width:1101px){
  .header .header-main{grid-template-columns:150px 142px minmax(220px,1fr) auto}
}
@media (max-width:1240px) and (min-width:1101px){
  /* Узко: подписи прячем у всех пунктов сразу, чтобы иконки стояли на одной линии */
  .header .header-actions .action-label{display:none}
  .header .header-actions .action{min-width:40px}
  .header-actions{gap:16px}
}
/* Казахская версия: подписи длиннее («Компания туралы», «Мақалалар») — иконки без подписей раньше */
@media (max-width:1360px) and (min-width:761px){
  html[lang="kk"] .header .header-actions .action-label{display:none}
  html[lang="kk"] .header .header-actions .action{min-width:40px}
  html[lang="kk"] .header-actions{gap:16px}
}
@media (max-width:1100px){
  .header .header-main{grid-template-columns:125px 142px minmax(0,1fr);height:auto;row-gap:12px;padding-top:16px;padding-bottom:16px}
  .header .hs{grid-column:1/-1;grid-row:2;max-width:none}
  .hs-panel{width:100%}
}

/* ---------- Нижняя панель на телефоне ---------- */
.tp-tabbar{display:none}
@media (max-width:760px){
  .header .header-main{grid-template-columns:1fr auto;padding-bottom:12px}
  .header .catalog-navigation{display:none}         /* каталог — во вкладке снизу */
  .header .hs{grid-column:1/-1;grid-row:2}
  .header-actions .header-promo,
  .header-actions > [data-open-cart]{display:none!important}  /* Акции и Заявка — во вкладках снизу */
  .hs-field{height:48px}
  .hs-field input{font-size:16px;line-height:24px}  /* 16px — iOS не увеличивает страницу */
  .hs-panel{width:100%;max-width:none;max-height:calc(100dvh - 200px)}

  body{padding-bottom:calc(var(--tp-tabbar-h) + env(safe-area-inset-bottom,0px))}
  .cart-float{display:none!important}
  .cookie-banner{bottom:calc(var(--tp-tabbar-h) + 8px + env(safe-area-inset-bottom,0px))}

  .tp-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:var(--tp-tabbar-h);padding:4px 4px env(safe-area-inset-bottom,0px);background:#ffffffeb;border-top:1px solid var(--line,#e7e7e9);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);transition:transform .35s var(--hs-ease)}
  .tp-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:4px 2px;border:0;border-radius:12px;background:transparent;color:#55555c;font:inherit;font-size:12px;line-height:16px;font-weight:500;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s var(--hs-ease),transform .2s var(--hs-ease)}
  .tp-tab svg{width:24px;height:24px}
  .tp-tab:active{transform:scale(.94)}
  .tp-tab[aria-current="page"]{color:var(--red,#f01938);font-weight:600}
  .tp-tab:focus-visible{outline:3px solid var(--red,#f01938);outline-offset:-3px}
  .tp-tab-ic{position:relative;display:block;width:24px;height:24px}
  .tp-tab-badge{position:absolute;top:-6px;left:14px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--red,#f01938);color:#fff;font-size:12px;line-height:18px;font-weight:600;text-align:center;font-style:normal}
  .tp-tab-badge[data-zero]{display:none}
  /* Пока открыта клавиатура — панель не мешает полю ввода */
  body:has(input:focus,textarea:focus,select:focus) .tp-tabbar{transform:translateY(110%)}
}
@media print{.tp-tabbar,.hs{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .hs-panel.is-entering{animation:none}
  .hs-skel i{animation:none}
  .tp-tabbar,.tp-tab,.hs-field,.hs-submit{transition:none}
}

