* {margin:0;padding:0;box-sizing: border-box;}
:root{ --primary-color: #2c3e50; --secondary-color: #1f74ad; --accent-color: #c0392b; --success-color: #1b7f47; --warning-color: #f39c12; --light-gray: #ecf0f1; --dark-gray: #626d6e; --white: #ffffff; --secondary-on-dark: #7ec8f0; --shadow: 0 4px 15px rgba(0,0,0,0.1); --border-radius: 12px; }
html { scroll-behavior: smooth; }
#zayavka, #normativnye-dokumenty, #pohozhie-tovary, #faq { scroll-margin-top: 90px; }
body{ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;line-height: 1.6;color: #2c3e50;background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);min-height: 100vh;}
.header{background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); color: #2c3e50;box-shadow: var(--shadow);position: relative;top: 0;}
.top-bar{background: rgba(52, 73, 94, 0.05);padding: 10px 0;font-size: 14px;color: #2c3e50;}
.top-bar i{color: var(--secondary-color); margin-right: 5px;}
.container{max-width: 1200px;margin: 0 auto;padding: 0 20px;}
.top-bar-content{display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;}
.main-header{padding: 20px 0;}
.header-content{display: grid;grid-template-columns: 1fr 2fr auto auto;gap: 20px;align-items: center;}
.logo{font-size:28px;font-weight:bold;color:#2c3e50;text-decoration:none;display:flex;align-items:center;gap:10px;}
.logo_img{max-height:90px;width:auto;height:auto;}
.search-container{position: relative;}
.search-box{width: 100%;padding: 12px 50px 12px 20px;border: 2px solid #dee2e6;border-radius: 25px;font-size: 16px;background: white;box-shadow: inset 0 2px 5px rgba(0,0,0,0.05);}
.search-btn{position: absolute;right: 5px;top: 50%;transform: translateY(-50%);background: var(--secondary-color);border: none;padding: 8px 15px;border-radius: 20px;color: white;cursor: pointer;transition: all 0.3s ease;}
.search-btn:hover{background: #1b6698;transform: translateY(-50%) scale(1.05);}
.contact-info{text-align: right;}
.contact-info a{color: #2c3e50;text-decoration: none;display: block;margin-bottom: 5px;transition: color 0.3s ease;}
.contact-info a:hover {color: var(--secondary-color);}
.contact-hours{color: var(--dark-gray);display: block;font-size: 14px;}
.contact-hours i{color: var(--secondary-color);margin-right: 3px;}
.cart-icon{position: relative;background: var(--secondary-color);color: white;width: 50px;height: 50px;border-radius: 50%;display: flex;align-items: center;justify-content: center;text-decoration: none;font-size: 20px;transition: all 0.3s ease;margin-left: 15px;}
.cart-icon:hover {background: #1b6698;transform: scale(1.1);color: white;}
.cart-count{position: absolute;top: -5px;right: -5px;background: var(--accent-color);color: white;width: 20px;height: 20px;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;}
.nav-container{}
.nav-menu{display: flex;justify-content: center;flex-wrap: wrap;gap:10px 20px;}
.nav-menu-body{display:contents;}
.nav-item{color: #2c3e50;text-decoration: none;padding: 10px 20px;border-radius: var(--border-radius);transition: all 0.3s ease;position: relative;}
.nav-item:hover {background: var(--secondary-color);color: white;transform: translateY(-2px);}
.nav-item.active {background: var(--secondary-color);color: white;}
.nav-item-wrap{position:relative;display:inline-flex;align-items:center;}
.nav-item-wrap .nav-item{padding-right:8px;}
.nav-toggle{background:none;border:none;color:#2c3e50;cursor:pointer;padding:10px 8px;font-size:12px;line-height:1;display:inline-flex;align-items:center;transition: color 0.3s ease;}
.nav-toggle i{display:inline-block;transition: transform 0.3s ease;}
.nav-item-wrap:hover .nav-toggle,
.nav-item-wrap.open .nav-toggle{color:var(--secondary-color);}
.nav-item-wrap:hover .nav-toggle i,
.nav-item-wrap.open .nav-toggle i{transform:rotate(180deg);}
.nav-dropdown{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s 0.25s;z-index:1001;}
.nav-item-wrap:hover .nav-dropdown,
.nav-item-wrap.open .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s 0s;}
.nav-dropdown-item{display:block;padding:10px 18px;color:#2c3e50;text-decoration:none;transition: background 0.2s ease, color 0.2s ease;}
.nav-dropdown-item:hover{background:var(--secondary-color);color:#fff;}
/* Третий и более глубокий уровень внутри выпадающего меню (десктоп) */
.nav-dropdown-item.has-sub{font-weight:600;}
.nav-dropdown-item-wrap{position:relative;display:block;}
.nav-dropdown-item-wrap > .nav-dropdown-item{padding-right:38px;}
.nav-dropdown-toggle{position:absolute;top:0;right:0;height:38px;width:34px;background:none;border:none;color:#2c3e50;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color 0.2s ease;}
.nav-dropdown-toggle i{display:inline-block;transition:transform 0.25s ease;}
.nav-dropdown-item-wrap.open > .nav-dropdown-toggle{color:var(--secondary-color);}
.nav-dropdown-item-wrap.open > .nav-dropdown-toggle i{transform:rotate(180deg);}
.nav-dropdown-sub{display:none;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;background:#fafbfc;margin:2px 0;}
.nav-dropdown-item-wrap.open > .nav-dropdown-sub{display:block;}
.nav-dropdown-sub .nav-dropdown-item{padding-left:34px;font-size:13px;color:#5a6473;}
.nav-dropdown-sub .nav-dropdown-item:hover{background:var(--secondary-color);color:#fff;}
.nav-dropdown-sub .nav-dropdown-sub .nav-dropdown-item{padding-left:50px;font-size:12px;}
.nav-menu-header{display:none;}
.breadcrumbs {background: white;padding: 15px 0;box-shadow: 0 2px 5px rgba(0,0,0,0.05);}
.breadcrumb-list {display: flex;gap: 10px;align-items: center;flex-wrap: wrap;}
.breadcrumb-item {color: var(--dark-gray);text-decoration: none;transition: color 0.3s ease;}
.breadcrumb-item:hover{color: var(--secondary-color);}
.breadcrumb-separator {color: var(--dark-gray);}
.main-content {display: grid;grid-template-columns: 250px 1fr;gap: 30px;padding: 30px 0;}
.sidebar {background:white;border-radius: var(--border-radius);box-shadow: var(--shadow);padding:15px;height:fit-content;}
.sidebar h3 {color: var(--primary-color);font-size: 20px;margin-bottom: 20px;padding-bottom: 10px;border-bottom: 2px solid var(--light-gray);}
.sidebar-menu{list-style:none;}
.sidebar-menu a, .sidebar-menu span{color:#333;text-decoration:none;padding:1px 8px;margin:3px 0;display:block;border-radius:8px;transition: all 0.3s ease;}
.sidebar-menu a:hover, .sidebar-menu .active {background: var(--secondary-color);color: white;}
.sidebar-menu-level2{list-style-type:none;padding:0 0 0 30px;font-size:14px;}
.sidebar-menu-level3{list-style-type:none;padding:0 0 0 24px;font-size:13px;}
.sidebar-menu-level4{list-style-type:none;padding:0 0 0 20px;font-size:12px;}
.category-header{background: white; padding: 30px 30px 16px;margin-bottom: 30px;box-shadow: var(--shadow);border-radius: var(--border-radius);}
.category-info h1{font-size: 32px;font-weight: 700;color: var(--primary-color);margin-bottom: 15px;}
.category-description {font-size: 16px;color: var(--dark-gray);line-height: 1.6;}
.category-list{display:grid;gap:15px;}
.category-list-item{background:#fff;box-shadow: var(--shadow);border-radius: var(--border-radius);max-width:200px;}
.category-list-item img{border-radius:12px 12px 0 0;width:100%;height:auto;}
.category-list-item span{color:#333;margin:6px;overflow:hidden;float:left;}
.filter-section {background: white;padding: 20px;border-radius: var(--border-radius);box-shadow: var(--shadow);margin-bottom: 20px;}
.filter-header{display: flex;justify-content: space-between;align-items: center; margin-bottom: 15px;}
.filter-title {font-size: 18px;font-weight: 600;color: var(--primary-color);}
.results-count{color: var(--dark-gray);font-size: 14px;}
.filter-controls{display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));gap: 15px;align-items: end;}
.filter-group{display: flex;flex-direction: column;gap: 5px;}
.filter-label {font-weight: 500;color: var(--primary-color);font-size: 14px;}
.filter-select {padding: 8px 12px;border: 2px solid #ddd;border-radius: 8px; font-size: 14px;transition: border-color 0.3s ease;}
.filter-select:focus {outline: none;border-color: var(--secondary-color);}
.products-section{background: white;border-radius: var(--border-radius);box-shadow: var(--shadow);overflow: hidden;}
.table-container {overflow-x: auto;}
.products-table {width: 100%;border-collapse: collapse;font-size: 14px;}
.td_a, .thead, .trStr{display:flex;}
.td_a{text-decoration:none;color: var(--primary-color);}
.boldss, .products-table td { padding: 15px 12px;text-align: left;border-bottom: 1px solid #eee;}
.boldss{background: var(--light-gray);font-weight: 600; color: var(--primary-color);position: sticky;top: 0;cursor: pointer;transition: background-color 0.3s ease;}
.boldss:hover {background: #ddd;}
.boldss i {margin-left: 5px;opacity: 0.5;}
.trStr{transition: background-color 0.3s ease;border-bottom: 1px solid #eee;padding: 15px 0;}
.trStr:hover {background: #f8f9fa;}
.td_name{font-weight:600; }
.td_name,.td_standard,.td_price, .td_buy{ padding-left:10px;padding-right:10px; }
.zakonInfo{font-size:11px;color:#666;line-height: 1.4; padding:15px;}
.text-section{background:white;padding:30px;border-radius: var(--border-radius);box-shadow: var(--shadow);margin: 30px 0;}
.text-section ul{margin-left:25px;}
.text-section table{border-collapse: collapse;}
.text-section td{padding:5px;}

.product-section{padding:30px 0 0 0;}
.product-container{background:white;border-radius: var(--border-radius);box-shadow: var(--shadow);overflow:hidden;}
.product-content{display:grid;grid-template-columns: 1fr 1fr;gap:0;}
/* min-width:0 — колонка грида по умолчанию не сжимается меньше содержимого;
   без этого неразрывный ряд вкладок внутри раздвигал карточку и на узких
   экранах появлялась горизонтальная прокрутка всей страницы. */
.product-image-section{padding:30px;background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);display:flex;flex-direction:column;align-items:center;min-width:0;}
.product-image{object-fit:cover;border-radius: var(--border-radius);box-shadow: var(--shadow);transition: transform 0.3s ease;}
.product-image:hover {transform: scale(1.05);}
.product-gallery{display:flex;flex-direction:column;align-items:center;width:100%;}
.product-gallery-main{display:flex;justify-content:center;align-items:center;}
.product-gallery-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:15px;max-width:100%;}
.product-gallery-thumb{width:64px;height:64px;padding:0;background:#f8f9fa;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;overflow:hidden;flex:0 0 auto;transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.product-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.product-gallery-thumb:hover{border-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 10px rgba(52,152,219,.25);}
.product-gallery-thumb.is-active{border-color:var(--secondary-color);box-shadow:0 0 0 2px rgba(52,152,219,.25);}
.product-gallery-thumb:focus{outline:none;border-color:var(--secondary-color);}
@media (max-width: 768px){
  .product-gallery-thumbs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .product-gallery-thumb{width:56px;height:56px;}
}
/* min-width:0 обязателен: без него flex-элемент не сжимается меньше своего
   содержимого, и неразрывный ряд вкладок растягивал колонку, а вместе с ней
   и всю карточку — на узких экранах появлялась горизонтальная прокрутка. */
/* width:100% и min-width:0 обязательны: колонка — flex с align-items:center,
   поэтому блок без явной ширины растягивается по содержимому. С неразрывным
   рядом вкладок он вылезал за края колонки и уезжал влево. */
.product-description{margin-top:30px;width:100%;min-width:0;}
.product-info-section{padding:30px;}
.product-title{font-size:28px;font-weight:700;color: var(--primary-color);margin-bottom:20px;line-height:1.3;}
.product-meta{display:grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap:15px;margin-bottom:25px;}
.meta-item{display:flex;justify-content: space-between;padding:12px;background: var(--light-gray);border-radius:8px;border-left: 4px solid var(--secondary-color);}
.meta-label{font-weight:600;color: var(--primary-color);}
.meta-value{color: var(--dark-gray);text-align:right;}
.price-section{background: linear-gradient(135deg, #e8f5e8 0%, #f0f8f0 100%);padding:25px;border-radius: var(--border-radius);margin-bottom:25px;border: 2px solid var(--success-color);}
.price{font-size:36px;font-weight:700;color: var(--success-color);margin-bottom: 10px;}
.price-per-unit{color: var(--dark-gray);font-size:16px;}
.unit-selector{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;}
.unit-selector-label{font-size:14px;font-weight:600;color: var(--primary-color);}
.unit-options{display:inline-flex;background: var(--white);border:2px solid #cfd8dc;border-radius:10px;overflow:hidden;}
.unit-option{min-width:54px;padding:8px 14px;border:none;background:transparent;color: var(--primary-color);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition: background 0.2s ease, color 0.2s ease;}
.unit-option + .unit-option{border-left:1px solid #cfd8dc;}
.unit-option:hover{background:#eaf2f8;}
.unit-option.active{background: var(--secondary-color);color: var(--white);}
.unit-option:focus-visible{outline:3px solid var(--primary-color);outline-offset:-3px;}
.unit-hint{flex-basis:100%;font-size:13px;color: var(--dark-gray);}
.unit-total{margin:-6px 0 18px;font-size:14px;font-weight:600;color: var(--primary-color);}
.availability{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.availability-icon{width:12px;height:12px;border-radius:50%;background: var(--success-color);animation: pulse 2s infinite;}
@keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } }
.order-section{background: var(--light-gray);padding:25px;border-radius: var(--border-radius);margin-bottom:25px;}
.quantity-selector{display:flex;align-items:center;gap:15px;margin-bottom:20px;}
.quantity-input{width:80px;padding:10px;border:2px solid #ddd;border-radius:8px;text-align:center;font-size:16px;}
.quantity-btn{width:35px;height:35px;border:none;background: var(--secondary-color);color:white;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition: all 0.3s ease;}
.quantity-btn:hover{background:#1b6698;transform: scale(1.1);}
.action-buttons{display:flex;gap:15px;flex-wrap:wrap;}
.btn-primary{background: var(--secondary-color);color:white;}
.btn-primary:hover{background:#1b6698;transform: translateY(-2px);box-shadow: 0 5px 15px rgba(52, 152, 219, 0.4);}
.btn-secondary{background:white;color: var(--primary-color);border: 2px solid var(--primary-color);}
.btn-secondary:hover{background: var(--primary-color);color:white;}
.btn-success{background: var(--success-color);color:white;}
.btn-success:hover{background:#17703d;transform: translateY(-2px);}

.features-grid{display:grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap:20px;}
.feature-card{background:white;padding:20px;border-radius: var(--border-radius);box-shadow: var(--shadow);text-align:center;transition: transform 0.3s ease;}
.feature-card:hover{transform: translateY(-5px);}
.feature-icon{font-size:40px;color: var(--secondary-color);margin-bottom:15px;}
.feature-title{font-size: 18px;font-weight:600;margin-bottom: 10px;color: var(--primary-color);}
.feature-description{color: var(--dark-gray);font-size: 14px;}

.related-section{margin:50px 0;background:white;padding:40px 0;border-radius: var(--border-radius);box-shadow: var(--shadow);}
.related-grid{display:grid;grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));gap:20px;}
.product-card{background:white;border-radius: var(--border-radius);box-shadow: var(--shadow);overflow:hidden;transition: transform 0.3s ease;border: 1px solid #eee;}
.product-card:hover{transform: translateY(-5px);box-shadow: 0 8px 25px rgba(0,0,0,0.15);}
.product-card-image{width:100%;height:200px;object-fit: cover;}
.product-card-content{padding:20px;}
.product-card-title{font-size:16px;font-weight:600;color: var(--primary-color);margin-bottom:10px;line-height: 1.4;}
.product-card-price{font-size:20px;font-weight:700;color: var(--success-color);}
.related-section .btn-primary{width: 100%; margin-top: 15px; justify-content: center;}

.product-name {font-weight: 600;color: var(--primary-color);}
.product-price {font-weight: 700;color: var(--success-color);font-size: 16px;}
.product-actions {display: flex;flex-direction: column;gap: 8px;}
.cart-controls {display: flex;align-items: center;gap: 8px;}
.quantity-input-small {width: 50px;padding: 4px 6px;border: 1px solid #ddd;border-radius: 4px;text-align: center;font-size: 12px;}
.btn-sm {padding: 6px 12px;font-size: 12px;border-radius: 6px;border: none;cursor: pointer;transition: all 0.3s ease;}
.btn-success {background: var(--success-color);color: white;}
.btn-success:hover {background: #17703d;}
.stock-status {font-size: 10px;color: var(--success-color);font-weight: 500;}
.info-blocks {margin: 30px 0;}
.info-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;}
.info-block {background: white;padding: 20px;border-radius: var(--border-radius);box-shadow: var(--shadow);text-align: center;}
.info-icon {font-size: 36px;color: var(--secondary-color);margin-bottom: 15px;}
.info-title {font-size: 16px;font-weight: 600;color: var(--primary-color);margin-bottom: 10px;}
.info-description {color: var(--dark-gray);line-height: 1.5;font-size: 14px;}
.contact-form-section {margin-top:40px;margin-bottom:40px;scroll-margin-top: 20px;}
/* Капча грузится лениво — резервируем её высоту заранее, чтобы виджет не сдвигал форму при появлении (CLS). Реальный размер reCAPTCHA v2 — 304x78. */
.g-recaptcha {min-height:78px;}
.contact-form-container {background: white;border-radius: var(--border-radius);box-shadow: var(--shadow);padding: 30px;}
.section-title {font-size: 24px;font-weight: 700;color: var(--primary-color);text-align: center;margin-bottom: 20px;}
.form-content {display: grid;grid-template-columns: 1fr 1fr;gap: 30px;margin-top: 20px;}
.form-info h3 {font-size: 20px;color: var(--primary-color);margin-bottom: 15px;}
.form-info p {color: var(--dark-gray); margin-bottom: 20px;line-height: 1.6;}
.contact-methods {display: flex;flex-direction: column;gap: 15px;}
.contact-method {display: flex;align-items: center;gap: 12px;}
.contact-method-icon {width: 35px;height: 35px;background: var(--secondary-color);color: white;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 16px;}
.contact-method a {color: var(--secondary-color);text-decoration: none;}
.contact-method a:hover {text-decoration: underline;}
.contact-form {display: flex;flex-direction: column;gap: 15px;}
.form-group {display: flex;flex-direction: column;}
.form-input {padding: 10px 15px;border: 2px solid #ddd;border-radius: 8px;font-size: 14px;transition: border-color 0.3s ease;font-family: inherit;}
.form-input:focus {outline: none;border-color: var(--secondary-color);}
.form-input::placeholder {color: #6e6e6e;}
.form-privacy {text-align: center; margin-top: 10px;color: var(--dark-gray);font-size: 12px;}
.btn {padding: 8px 16px;border: none;border-radius: 8px;font-size: 14px;font-weight: 600;cursor: pointer;transition: all 0.3s ease;display: flex;align-items: center;gap: 8px;}
.btn-primary {background: var(--secondary-color);color: white;}
.btn-primary:hover {background: #1b6698;}
.footer {background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);color: white;padding: 50px 0 20px;margin-top: 50px;}
.footer-content {display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: 30px;margin-bottom: 40px;}
.footer-section h3 {margin-bottom: 20px;color: var(--secondary-on-dark);font-size: 18px;font-weight: 600;display: flex;align-items: center;gap: 8px;}
.footer-section ul {list-style: none;}
.footer-section li {margin-bottom: 10px;}
.footer-section a {color: #bdc3c7;text-decoration: none;transition: color 0.3s ease;}
.footer-section a:hover {color: white;}
.footer-social {display: flex;gap: 15px;margin-top: 15px;}
.social-link {width: 40px;height: 40px;background: var(--secondary-color);border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 18px;transition: all 0.3s ease;color: white;text-decoration: none;}
.social-link:hover {background: white;color: var(--secondary-color);transform: translateY(-3px);}
.footer-contact p {margin-bottom: 10px;display: flex;align-items: center;gap: 10px;}
.footer-contact i {width: 16px;color: var(--secondary-on-dark);}
.footer-bottom {border-top: 1px solid #34495e;padding-top: 30px;}
.footer-bottom-content {display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 20px;}
.footer-legal {color: #bdc3c7;}
.footer-legal p {margin-bottom: 5px;}
.footer-payment {display: flex;align-items: center;gap: 15px;color: #bdc3c7;}
.payment-icons {display: flex;gap: 10px;}
.payment-icons i {font-size: 24px;color: var(--secondary-on-dark);transition: color 0.3s ease;}
.payment-icons i:hover {color: white;}
.reviews-widget {background: rgba(255,255,255,0.1);padding: 15px;border-radius: 8px;border: 1px solid rgba(255,255,255,0.2);}
.review-item {display: flex;flex-direction: column;gap: 5px;}
.review-header {display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 10px;}
.review-platform {display: flex;align-items: center;background: rgba(255,255,255,0.1);padding: 4px 8px;border-radius: 4px;}
.review-stars{display: flex;gap: 2px;}

.table-bordered-cart{width:100%;}
.table-bordered-cart{border-collapse:collapse;}
.table-bordered-cart td{border:1px solid #eee;padding:3px 5px;}
.table-bordered-cart .btn-block{display:flex;gap:7px;}
.cart-buttons{display:flex;margin:15px;}
.cart_check{float:left;width:100%;}
.login_check{float:left;width:100%;}
.cart_check .radio{float:left;padding:20px 20px;border:1px solid #EEE;border-radius:10px;margin:0 10px;font-weight:bold;cursor:pointer;}
.login_check .btn-primary{clear:both;float:left;margin:15px;}
.login_check2{float:left;width:100%;}
.login_check2 input{width:300px;font-size:18px;padding:8px;}
.cart_check2{width:100%;margin:15px 0;}
.cart_check2 fieldset{border:none;}
.cart_check2 input, .cart_check2 select{width:400px;font-size:16px;padding:5px;}
.cart_check2 textarea{width:400px;height:80px;}
   #catalogBtn{display:none;
            padding: 12px 20px;
            background-color: #0062cc;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
            width: 100%;
            margin-bottom: 10px;
            transition: background-color 0.3s;}
            .catalog-btn:hover {
            background-color: #004f9e;
        }

@media (min-width: 768px){
   .td_a{ flex: 0 1 60%; }
   .td_name{ flex: 0 1 40%; }
   .td_standard{ flex: 1 1 10%; }
   .td_price, .td_buy{ flex: 0 1 20%; }
   .category-list{grid-template-columns:1fr 1fr 1fr 1fr;}
}
@media (max-width: 768px){
	.header-content{display:grid;grid-template-columns: 1fr 1fr;
    grid-template-areas: 
        "logo logo"
        "search search"
        "contact cart";}
   .logo{ grid-area:logo; }
   .search-container{ grid-area: search; }
   .contact-info{ grid-area: contact; }
   .cart-icon{ grid-area: cart; justify-self: end; }

   #slideshow0{visibility:hidden;}
   .owl-wrapper-outer{display:none;}
   .product-content{grid-template-columns: 1fr;}
   .quantity-selector{display:none;}

   .category-info h1{font-size:24px;}
   .category-list{grid-template-columns:1fr 1fr;}
   #productsTable .thead{display:none;}
   .td_a, .thead, .trStr {flex-direction:column;}
   .text-section{max-width:90vw;}
   .filter-select{max-width:80vw;}
   .table-bordered-cart{display:block;overflow-x:auto;white-space:nowrap; -webkit-overflow-scrolling:touch;}
   .content .text-section table{display:block;overflow-x:auto;white-space:nowrap; -webkit-overflow-scrolling:touch;border-collapse:collapse;}
   .table-bordered td{width:50%;text-align:right;padding:5px;}

	.cart-icon {margin: 0 auto;}
	.main-content {grid-template-columns: 1fr;gap: 20px;}
   .sidebar {position: static;order: 2;}
   .filter-controls {grid-template-columns: 1fr;}
   .info-grid {grid-template-columns: repeat(2, 1fr);gap: 15px;}
   .form-content {grid-template-columns: 1fr;gap: 20px;}
   .nav-menu {flex-direction: column;gap: 10px;}
   .table-container {font-size: 12px;}
   .boldss, .products-table td {padding: 10px 8px;}
   .footer-bottom-content {flex-direction: column;text-align: center;gap: 15px;}
	.footer-payment {justify-content: center;}
   #column-left{display:none;}
   .cart_check2 input, .cart_check2 select, .cart_check2 textarea{width:100%;}

   #catalogBtn{display:block;}
   .nav-menu{position:fixed;left:0;top:0;right:0;bottom:0;width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;flex-direction:column;flex-wrap:nowrap;background-color:white;border:0;border-radius:0;box-shadow:0 4px 12px rgba(0,0,0,0.15);display:none;padding:0;z-index:1000;}
   .nav-menu.active{display:flex;}
   .nav-menu-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px 0;width:100%;}
   .nav-item{border-radius:0;padding:12px 15px;border-bottom:1px solid #eee;transition: background-color 0.2s;color:#2c3e50;transform:none;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;}
   .nav-menu-body > .nav-item,
   .nav-menu-body > a.nav-item,
   .nav-menu-body > span.nav-item,
   .nav-menu .nav-item-wrap .nav-item{display:block;width:100%;box-sizing:border-box;text-decoration:none;font-size:14px;font-weight:500;line-height:1.3;color:#2c3e50;}
   .nav-item:last-child{border-bottom:none;}
   .nav-item:hover{background-color:#f8f8f8;color:#2c3e50;transform:none;}
   .nav-item:active{background-color:#e8ecf0;color:#2c3e50;}
   #temnFon{position:fixed;top: 0;left: 0;height: 100%;width: 100%;z-index: 970;background: rgba(0, 0, 0, 0.6);display:none;}

   .nav-menu .nav-item-wrap{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;width:100%;border-bottom:1px solid #eee;}
   .nav-menu .nav-item-wrap:last-child{border-bottom:none;}
   .nav-menu .nav-item-wrap .nav-item{grid-column:1;grid-row:1;border-bottom:none;padding:12px 15px;font-size:14px;font-weight:500;line-height:1.3;color:#2c3e50;}
   .nav-menu .nav-toggle{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;padding:0 20px;border-left:1px solid #eee;font-size:14px;font-weight:500;line-height:1.3;color:#2c3e50;}
   .nav-menu .nav-item-wrap.open .nav-toggle{color:var(--secondary-color);background:#f8f9fa;}
   .nav-menu .nav-dropdown{grid-column:1 / -1;grid-row:2;position:static;width:100%;min-width:0;box-shadow:none;border-radius:0;padding:0;background:#f8f9fa;opacity:1;visibility:hidden;max-height:0;overflow:hidden;transform:none;transition: max-height 0.3s ease, visibility 0s 0.3s;}
   .nav-menu .nav-item-wrap.open .nav-dropdown{visibility:visible;max-height:2000px;transition: max-height 0.3s ease, visibility 0s 0s;}
   .nav-menu .nav-dropdown-item{padding:10px 30px;border-bottom:1px solid #eee;font-size:14px;}
   .nav-menu .nav-dropdown-item:last-child{border-bottom:none;}
   .nav-menu .nav-item-wrap.open .nav-toggle i{transform:rotate(180deg);}
   /* Третий и более глубокий уровень категорий в мобильном меню */
   .nav-menu .nav-dropdown-item.has-sub{font-weight:600;color:#2c3e50;}
   .nav-menu .nav-dropdown-item-wrap{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;width:100%;}
   .nav-menu .nav-dropdown-item-wrap > .nav-dropdown-item{grid-column:1;grid-row:1;padding-right:15px;}
   .nav-menu .nav-dropdown-item-wrap > .nav-dropdown-toggle{grid-column:2;grid-row:1;position:static;height:auto;width:auto;display:flex;align-items:center;justify-content:center;padding:0 22px;border-left:1px solid #dde3ea;font-size:14px;color:#2c3e50;}
   .nav-menu .nav-dropdown-item-wrap.open > .nav-dropdown-toggle{color:var(--secondary-color);background:#e8edf2;}
   .nav-menu .nav-dropdown-item-wrap.open > .nav-dropdown-toggle i{transform:rotate(180deg);}
   .nav-menu .nav-dropdown-item-wrap > .nav-dropdown-sub{grid-column:1 / -1;grid-row:2;display:none;background:#eef2f6;border-top:1px solid #dde3ea;}
   .nav-menu .nav-dropdown-item-wrap.open > .nav-dropdown-sub{display:block;}
   .nav-menu .nav-dropdown-sub .nav-dropdown-item{padding:9px 30px 9px 50px;font-size:13px;color:#3a4a5c;border-bottom:1px solid #dde3ea;}
   .nav-menu .nav-dropdown-sub .nav-dropdown-item:last-child{border-bottom:none;}
   .nav-menu .nav-dropdown-sub .nav-dropdown-sub{background:#e3e9f0;}
   .nav-menu .nav-dropdown-sub .nav-dropdown-sub .nav-dropdown-item{padding-left:70px;font-size:12px;}

   .nav-menu-header{display:flex;align-items:center;justify-content:space-between;position:static;flex:0 0 auto;background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);color:#2c3e50;padding:14px 18px;margin:0;border-bottom:3px solid #d4a017;}
   .nav-menu-title{font-size:16px;font-weight:600;letter-spacing:.3px;color:#2c3e50;}
   .nav-menu-close{background:none;border:0;color:#2c3e50;font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;}
   .nav-menu-close:active{color:#d4a017;}
}
.fade-in {animation: fadeIn 0.8s ease-out;}
@keyframes fadeIn {
   from {opacity: 0;transform: translateY(30px);}
   to {opacity: 1;transform: translateY(0);}
}
.notification{position: fixed;top: 20px;right: 20px;background: var(--success-color);color: white;padding: 12px 20px;border-radius: var(--border-radius);box-shadow: var(--shadow);transform: translateX(400px);transition: transform 0.3s ease;z-index: 3000;font-size: 14px;}
.notification.show {transform: translateX(0);}

/* ============================================================
   CART PAGE — szppk.ru main-site palette
   primary #2c3e50 | secondary #1f74ad | accent #d4a017
   light #f8f9fa | alt #ecf0f1 | warn-bg #fff8e0
   ============================================================ */
.cart-page{background:#fff;}
.cart-title{font-size:26px;font-weight:700;color:#2c3e50;margin:0 0 18px;padding-bottom:12px;position:relative;line-height:1.25;}
.cart-title::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:3px;background:#d4a017;border-radius:2px;}

.cart-page .alert{border-radius:8px;padding:12px 16px;margin-bottom:18px;border:1px solid transparent;}
.cart-page .alert-info{background:#f8f9fa;border-color:#dee2e6;color:#2c3e50;}
.cart-page .alert-success{background:#e8f5ea;border-color:#b7dcbf;color:#1a5c2a;}
.cart-page .alert-danger{background:#fdecec;border-color:#f3c0c0;color:#8a1f1f;}
.cart-page .alert i{margin-right:6px;}

/* Table wrapper: no min-width, full responsive */
.cart-page .cart-table-wrap{width:100%;margin-bottom:20px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(44,62,80,0.05);}
.cart-page .cart-table{width:100%;border-collapse:collapse;table-layout:auto;margin:0;background:#fff;font-size:14px;}
.cart-page .cart-table thead th{background:#2c3e50;color:#fff;font-weight:600;font-size:13px;letter-spacing:.3px;padding:12px 10px;border:none;text-transform:uppercase;}
.cart-page .cart-table tbody td{padding:12px 10px;border-top:1px solid #e5e7eb;border-left:none;border-right:none;border-bottom:none;vertical-align:middle;word-wrap:break-word;overflow-wrap:anywhere;}
.cart-page .cart-table tbody tr:nth-child(even) td{background:#f8f9fa;}
.cart-page .cart-table tbody tr:hover td{background:#ecf0f1;}
.cart-page .cart-product-thumb{max-width:70px;height:auto;border-radius:6px;border:1px solid #e5e7eb;padding:3px;background:#fff;}
.cart-page .cart-product-name{color:#2c3e50;font-weight:600;text-decoration:none;line-height:1.35;display:inline-block;}
.cart-page .cart-product-name:hover{color:var(--secondary-color);text-decoration:underline;}
.cart-page .cart-cell-name small{color:#6b7280;font-size:12px;}
.cart-page .cart-cell-price,
.cart-page .cart-cell-total{font-weight:600;color:#2c3e50;white-space:nowrap;}
.cart-page .cart-cell-total{color:var(--secondary-color);}

/* Qty input + buttons inline */
.cart-page .cart-table .input-group{display:inline-flex;gap:6px;align-items:center;flex-wrap:nowrap;}
.cart-page .cart-table .input-group .form-control{width:60px;padding:6px 8px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;text-align:center;transition:border-color .2s;}
.cart-page .cart-table .input-group .form-control:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 2px rgba(52,152,219,.15);}
.cart-page .cart-table .btn{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s, transform .05s;}
.cart-page .cart-table .btn:active{transform:translateY(1px);}
.cart-page .cart-table .btn-primary{background:var(--secondary-color);color:#fff;}
.cart-page .cart-table .btn-primary:hover{background:#1b6698;}
.cart-page .cart-table .btn-danger{background:#ecf0f1;color:#b42318;}
.cart-page .cart-table .btn-danger:hover{background:#fdecec;color:#8a1f1f;}

/* Выравнивание колонок таблицы корзины.
   В теме нет классов .text-left/.text-right (Bootstrap не подключён), поэтому
   th центрировались браузером по умолчанию, а td прижимались влево — шапка и
   данные разъезжались. Задаём выравнивание по колонкам явно и только для
   широких экранов: на мобильных таблица перестраивается в карточки правилами
   в @media (max-width: 768px) ниже. */
@media (min-width: 769px){
  .cart-page .cart-table thead th:nth-child(1),
  .cart-page .cart-table tbody td.cart-cell-image{text-align:center;}
  .cart-page .cart-table thead th:nth-child(2),
  .cart-page .cart-table tbody td.cart-cell-name{text-align:left;}
  .cart-page .cart-table thead th:nth-child(3),
  .cart-page .cart-table tbody td.cart-cell-model{text-align:left;}
  .cart-page .cart-table thead th:nth-child(4),
  .cart-page .cart-table tbody td.cart-cell-qty{text-align:center;}
  .cart-page .cart-table thead th:nth-child(5),
  .cart-page .cart-table tbody td.cart-cell-price{text-align:right;}
  .cart-page .cart-table thead th:nth-child(6),
  .cart-page .cart-table tbody td.cart-cell-total{text-align:right;}
}

/* Summary card ("Предварительная стоимость") */
.cart-page .cart-summary{background:#f8f9fa;border:1px solid #dee2e6;border-left:4px solid var(--secondary-color);border-radius:10px;padding:18px 22px;margin:0 0 16px;box-shadow:0 2px 6px rgba(44,62,80,0.06);}
.cart-page .cart-total-box{margin:0;}
.cart-page .cart-total-table{width:100%;border-collapse:collapse;background:transparent;}
.cart-page .cart-total-table tr{border:none;}
.cart-page .cart-total-table td{padding:6px 0;border:none;font-size:15px;color:#2c3e50;}
.cart-page .cart-total-table .cart-total-label{text-align:right;padding-right:14px;color:var(--dark-gray);font-weight:500;width:70%;}
.cart-page .cart-total-table .cart-total-value{text-align:right;font-weight:700;color:#2c3e50;white-space:nowrap;}
.cart-page .cart-total-table tr:last-child td{padding-top:10px;border-top:1px dashed #dee2e6;font-size:20px;}
.cart-page .cart-total-table tr:last-child .cart-total-label{color:#2c3e50;font-weight:600;}
.cart-page .cart-total-table tr:last-child .cart-total-value{color:var(--secondary-color);font-size:24px;font-weight:800;}

/* Disclaimer as info-block */
.cart-page .cart-disclaimer{font-size:12px;color:#6b4b00;line-height:1.5;background:#fff8e0;border-left:4px solid #d4a017;border-radius:6px;padding:12px 14px;margin:0 0 20px;display:flex;gap:10px;align-items:flex-start;}
.cart-page .cart-disclaimer i{color:#d4a017;font-size:16px;flex:0 0 auto;margin-top:2px;}
.cart-page .cart-disclaimer span{flex:1 1 auto;}
.cart-page .cart-disclaimer noindex{display:flex;gap:10px;align-items:flex-start;}

/* Customer form block */
.cart-page .cart_check2{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
.cart-page .cart_check2 .form-group{margin:0;display:flex;flex-direction:column;gap:6px;}
.cart-page .cart_check2 .form-group.required:last-child,
.cart-page .cart_check2 .form-group:last-child{grid-column:1 / -1;}
.cart-page .cart_check2 .control-label{font-size:13px;font-weight:600;color:#2c3e50;}
.cart-page .cart_check2 input,
.cart-page .cart_check2 textarea,
.cart-page .cart_check2 select{width:100%;font-size:15px;padding:9px 12px;border:1px solid #dee2e6;border-radius:7px;background:#fff;transition:border-color .2s, box-shadow .2s;}
.cart-page .cart_check2 textarea{min-height:80px;resize:vertical;}
.cart-page .cart_check2 input:focus,
.cart-page .cart_check2 textarea:focus,
.cart-page .cart_check2 select:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(52,152,219,.12);}
.cart-page .cart_check2 input.error,
.cart-page .cart_check2 textarea.error{border-color:#d9534f;box-shadow:0 0 0 3px rgba(217,83,79,.12);}

/* Buttons row */
.cart-page .cart-buttons{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap;}
.cart-page .cart-buttons .btn{padding:12px 22px;border-radius:7px;font-size:15px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background .2s, transform .05s, box-shadow .2s;display:inline-flex;align-items:center;justify-content:center;}
.cart-page .cart-buttons .btn-default{background:#fff;color:#2c3e50;border:1px solid #dee2e6;}
.cart-page .cart-buttons .btn-default:hover{background:#f8f9fa;border-color:var(--secondary-color);color:#2c3e50;}
.cart-page .cart-buttons .btn-primary,
.cart-page .cart-buttons .btn-primary-cart{background:var(--secondary-color);color:#fff;box-shadow:0 2px 6px rgba(52,152,219,.25);}
.cart-page .cart-buttons .btn-primary:hover,
.cart-page .cart-buttons .btn-primary-cart:hover{background:#1b6698;box-shadow:0 4px 10px rgba(44,62,80,.3);}
.cart-page .cart-buttons .btn:active{transform:translateY(1px);}

/* Mobile: table -> cards, kill horizontal scroll */
@media (max-width: 768px){
   .cart-page{padding:20px 16px !important;}
   .cart-title{font-size:22px;}

   /* CRITICAL: override the global rule that forces horizontal scroll */
   .cart-page .table-bordered-cart{display:block;overflow:visible;white-space:normal;}
   .cart-page .content .text-section table{display:table;overflow:visible;white-space:normal;}
   .cart-page .cart-table-wrap{overflow:visible;border:none;border-radius:0;box-shadow:none;background:transparent;padding:0;}
   .cart-page .cart-table,
   .cart-page .cart-table thead,
   .cart-page .cart-table tbody,
   .cart-page .cart-table tr,
   .cart-page .cart-table th,
   .cart-page .cart-table td{display:block;width:100%;white-space:normal;}
   .cart-page .cart-table{border-collapse:separate;border-spacing:0;overflow:visible;background:transparent;}
   .cart-page .cart-table thead{position:absolute;left:-9999px;top:-9999px;}
   .cart-page .cart-table tbody tr{background:#fff !important;border:1px solid #e5e7eb;border-left:3px solid var(--secondary-color);border-radius:10px;margin:0 0 12px;padding:12px 14px;box-shadow:0 2px 6px rgba(44,62,80,0.06);display:grid;grid-template-columns:72px 1fr;grid-template-areas:"img name" "img model" "qty qty" "price total";gap:6px 12px;align-items:start;}
   .cart-page .cart-table tbody tr:nth-child(even) td,
   .cart-page .cart-table tbody tr:hover td{background:transparent;}
   .cart-page .cart-table tbody td{border:none;padding:0;background:transparent;text-align:left;word-break:break-word;overflow-wrap:anywhere;}
   .cart-page .cart-table tbody td.cart-cell-image{grid-area:img;padding:0;}
   .cart-page .cart-table tbody td.cart-cell-name{grid-area:name;font-size:14px;line-height:1.35;}
   .cart-page .cart-table tbody td.cart-cell-model{grid-area:model;font-size:12px;color:#6b7280;}
   .cart-page .cart-table tbody td.cart-cell-model:empty{display:none;}
   .cart-page .cart-table tbody td.cart-cell-qty{grid-area:qty;margin-top:6px;padding-top:8px;border-top:1px dashed #e5e7eb;}
   .cart-page .cart-table tbody td.cart-cell-price{grid-area:price;}
   .cart-page .cart-table tbody td.cart-cell-total{grid-area:total;text-align:right;}
   .cart-page .cart-table tbody td[data-label]::before{content:attr(data-label) ": ";display:inline;font-size:11px;text-transform:uppercase;font-weight:600;color:#6b7280;letter-spacing:.3px;margin-right:4px;}
   .cart-page .cart-table tbody td.cart-cell-image[data-label]::before,
   .cart-page .cart-table tbody td.cart-cell-name[data-label]::before{display:none;}
   .cart-page .cart-table tbody td.cart-cell-total[data-label]::before{display:inline;}
   .cart-page .cart-product-thumb{max-width:64px;width:64px;height:auto;}
   .cart-page .cart-product-name{font-size:14px;word-break:break-word;overflow-wrap:anywhere;white-space:normal;display:block;}

   .cart-page .cart-table .input-group{display:flex;width:100%;gap:6px;}
   .cart-page .cart-table .input-group .form-control{flex:1 1 auto;width:auto;max-width:80px;}
   .cart-page .cart-table .btn{flex:0 0 auto;}

   /* Summary full width, big number — kill any horizontal overflow */
   .cart-page .cart-summary{padding:16px;overflow:hidden;}
   /* specificity: 3cls + 1tag to beat `.cart-page .content .text-section table{display:table}` */
   .cart-page .cart-summary table.cart-total-table,
   .cart-page .cart-summary table.cart-total-table tbody,
   .cart-page .cart-summary table.cart-total-table tr,
   .cart-page .cart-summary table.cart-total-table td{display:block;width:100%;max-width:100%;box-sizing:border-box;}
   .cart-page .cart-summary table.cart-total-table tr{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 10px;padding:5px 0;}
   .cart-page .cart-summary table.cart-total-table .cart-total-label{width:auto;padding-right:0;text-align:left;flex:1 1 auto;min-width:0;font-size:14px;word-break:break-word;overflow-wrap:anywhere;}
   .cart-page .cart-summary table.cart-total-table .cart-total-value{white-space:normal;overflow-wrap:anywhere;word-break:break-word;flex:0 1 auto;min-width:0;text-align:right;font-size:14px;}
   .cart-page .cart-summary table.cart-total-table tr:last-child .cart-total-label{font-size:16px;}
   .cart-page .cart-summary table.cart-total-table tr:last-child .cart-total-value{font-size:22px;}

   /* Form: single column */
   .cart-page .cart_check2{grid-template-columns:1fr;gap:12px;}

   /* Buttons: stack, full width */
   .cart-page .cart-buttons{flex-direction:column;gap:10px;}
   .cart-page .cart-buttons .btn{width:100%;padding:13px 18px;}
}

/* Small mobile polish */
@media (max-width: 380px){
   .cart-page .cart-table tbody tr{grid-template-columns:56px 1fr;padding:10px 12px;}
   .cart-page .cart-product-thumb{max-width:56px;width:56px;}
}

.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;/*display:var(--fa-display,inline-block);*/font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}50%{opacity:var(--fa-fade-opacity,.4)}50%{opacity:var(--fa-fade-opacity,.4)}0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(../webfonts/fa-brands-400.subset.woff2) format("woff2")}.fa-brands,.fab{font-weight:400}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url(../webfonts/fa-regular-400.subset.woff2) format("woff2")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url(../webfonts/fa-solid-900.subset.woff2) format("woff2")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:swap;font-weight:400;src:url(../webfonts/fa-brands-400.subset.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:swap;font-weight:900;src:url(../webfonts/fa-solid-900.subset.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:swap;font-weight:400;src:url(../webfonts/fa-regular-400.subset.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:swap;src:url(../webfonts/fa-solid-900.subset.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:swap;src:url(../webfonts/fa-brands-400.subset.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:swap;src:url(../webfonts/fa-regular-400.subset.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:swap;src:url(../webfonts/fa-v4compatibility.subset.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}.fa-file-alt:before{content:"\f15c"}.fa-sort-down:before{content:"\f0dd"}.fa-cut:before{content:"\f0c4"}.fa-reply:before{content:"\f3e5"}.fa-exclamation-circle:before{content:"\f06a"}.fa-list:before{content:"\f03a"}.fa-star:before{content:"\f005"}.fa-headset:before{content:"\f590"}.fa-check-circle:before{content:"\f058"}.fa-cloud-download:before{content:"\f0ed"}.fa-refresh:before{content:"\f021"}.fa-layer-group:before{content:"\f5fd"}.fa-sort:before{content:"\f0dc"}.fa-filter:before{content:"\f0b0"}.fa-star-half-alt:before{content:"\f5c0"}.fa-tools:before{content:"\f7d9"}.fa-heart:before{content:"\f004"}.fa-circle-question:before{content:"\f059"}.fa-tags:before{content:"\f02c"}.fa-eye:before{content:"\f06e"}.fa-save:before{content:"\f0c7"}.fa-sort-up:before{content:"\f0de"}.fa-phone:before{content:"\f095"}.fa-th:before{content:"\f00a"}.fa-envelope:before{content:"\f0e0"}.fa-info-circle:before{content:"\f05a"}.fa-truck:before{content:"\f0d1"}.fa-shopping-cart:before{content:"\f07a"}.fa-clock:before{content:"\f017"}.fa-caret-down:before{content:"\f0d7"}.fa-calculator:before{content:"\f1ec"}.fa-download:before{content:"\f019"}.fa-home:before{content:"\f015"}.fa-exchange:before{content:"\f0ec"}.fa-upload:before{content:"\f093"}.fa-ruble-sign:before{content:"\f158"}.fa-industry:before{content:"\f275"}.fa-medal:before{content:"\f5a2"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-fax:before{content:"\f1ac"}.fa-search:before{content:"\f002"}.fa-chevron-down:before{content:"\f078"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-times:before{content:"\f00d"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-percentage:before{content:"\25"}.fa-award:before{content:"\f559"}.fa-building:before{content:"\f1ad"}.fa-calendar:before{content:"\f133"}.fa-th-list:before{content:"\f00b"}.fa-share:before{content:"\f064"}.fa-paper-plane:before{content:"\f1d8"}.fa-times-circle:before{content:"\f057"}.fa-print:before{content:"\f02f"}.fa-usd:before{content:"\24"}.fa-university:before{content:"\f19c"}.fa-cc-visa:before{content:"\f1f0"}.fa-vk:before{content:"\f189"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-whatsapp:before{content:"\f232"}.fa-yandex:before{content:"\f413"}.fa-telegram-plane:before{content:"\f2c6"}
/* ===== Область category-hero: якоря + галерея + факты ===== */
.category-hero {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  margin: 14px 0 0;
}
.cat-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 230px;
  flex-shrink: 0;
}
.cat-anchors {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cat-anchor {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 13px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-left: 3px solid var(--secondary-color);
  border-radius: 6px;
  color: var(--primary-color);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: background .15s, transform .15s;
}
.cat-anchor:hover {
  background: #f8f9fa;
  transform: translateX(2px);
  text-decoration: none;
}
.cat-anchor i { color: var(--secondary-color); }
.cat-gallery {
  display: flex;
  gap: 10px;
  flex: 1;
  min-width: 0;
  align-items: flex-start;
}
.cat-gallery-big {
  flex: 1;
  min-width: 0;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cat-gallery-big img {
  width: 100%;
  height: 310px;
  object-fit: cover;
  display: block;
}
.cat-thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}
.cat-thumb {
  width: 90px;
  height: 72px;
  object-fit: cover;
  border: 2px solid #dee2e6;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color .15s;
}
.cat-thumb:hover { border-color: #1b6698; }
.cat-thumb:focus { outline: 2px solid var(--secondary-color); outline-offset: 1px; }
.cat-thumb.active { border-color: var(--secondary-color); }
.cat-facts {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.cat-fact {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
}
.cat-fact i {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--secondary-color);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}
.cat-fact-text { line-height: 1.3; }
.cat-fact-text b {
  display: block;
  font-size: 14px;
  color: var(--primary-color);
}
.cat-fact-text span {
  font-size: 12px;
  color: var(--dark-gray);
}
@media (max-width: 768px) {
  .category-hero { flex-direction: column; }
  .cat-side { width: 100%; }
  .cat-facts { flex-direction: row; flex-wrap: wrap; }
  .cat-fact { flex: 1; min-width: 140px; }
  .cat-gallery { width: 100%; }
}

/* --- Вкладки-якоря на карточке товара (Chrome-style) --- */
/* Вкладки держатся одной строкой: перенос второй строкой ломал ряд «корешков»
   и отрывал активную вкладку от белого поля описания. На узких экранах,
   где шесть вкладок физически не помещаются, ряд листается пальцем.
   padding/margin по 1px компенсируют приподнятые на 1px вкладки:
   без них overflow срезал бы их нижнюю кромку. */
.product-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 2px;
  margin: 0 0 -1px;
  padding: 0 0 1px;
  border-bottom: 1px solid #dee2e6;
  position: relative;
  z-index: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}

.product-tabs::-webkit-scrollbar {
  display: none;
}

.product-tab {
  flex: 0 0 auto;
}
.product-tab {
  display: inline-flex;
  align-items: center;
  /* Компактнее прежнего (было 8px 14px / 14px): ряд из шести вкладок должен
     уместиться в половину карточки, которую занимает колонка с описанием. */
  padding: 7px 10px;
  font-size: 13px;
  font-weight: 500;
  color: #2c3e50;
  background: #ecf0f1;
  border: 1px solid #dee2e6;
  border-bottom: none;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
  position: relative;
  bottom: -1px;
  cursor: pointer;
  white-space: nowrap;
}
.product-tab:hover:not(.is-active) {
  background: #f8f9fa;
  color: var(--secondary-color);
}
.product-tab.is-active {
  background: #fff;
  color: #2c3e50;
  font-weight: 600;
  border-color: #dee2e6;
  z-index: 1;
}
.product-description-content {
  background: #fff;
  border: 1px solid #dee2e6;
  border-top: none;
  padding: 16px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

/* --- FAQ-секция --- */
.product-faq { padding: 24px 0; }
.product-faq .section-title { margin-bottom: 16px; text-align: left; }
.faq-item {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin-bottom: 8px;
  padding: 12px 16px;
}
.faq-item > summary {
  cursor: pointer;
  font-weight: 600;
  color: #2c3e50;
  list-style: none;
  position: relative;
  padding-right: 24px;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 0;
  font-size: 20px;
  color: var(--secondary-color);
  line-height: 1;
}
.faq-item[open] > summary::after { content: '−'; }
.faq-item > p { margin: 12px 0 0; color: #4a5568; line-height: 1.6; }
.faq-all-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--secondary-color);
  text-decoration: none;
  font-weight: 500;
}
.faq-all-link:hover { text-decoration: underline; }

/* --- Текстовый блок главной страницы ---
   Отступы и маркеры заданы явно: в начале файла стоит глобальный
   * {margin:0;padding:0}, из-за которого голые h2/p/ul идут вплотную
   и без буллитов. Скоуплено под .home-text, чтобы не задеть остальные
   страницы, где та же проблема решается отдельно. */
.home-text { background: #fff; padding: 30px; margin-bottom: 30px; box-shadow: var(--shadow); border-radius: var(--border-radius); }
.home-text h1 { font-size: 32px; font-weight: 700; color: var(--primary-color); margin-bottom: 18px; line-height: 1.25; }
.home-text h2 { font-size: 24px; font-weight: 700; color: var(--primary-color); margin: 32px 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--light-gray); }
.home-text h3 { font-size: 18px; font-weight: 600; margin: 22px 0 8px; }
.home-text h3 a { color: var(--secondary-color); text-decoration: none; }
.home-text h3 a:hover { text-decoration: underline; }
.home-text p { margin-bottom: 14px; line-height: 1.7; }
.home-text ul { margin: 0 0 14px; padding-left: 22px; }
.home-text li { margin-bottom: 10px; line-height: 1.7; }
.home-text a { color: var(--secondary-color); }
.home-text > p:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
  .home-text { padding: 20px; }
  .home-text h1 { font-size: 24px; }
  .home-text h2 { font-size: 20px; margin-top: 24px; }
  .home-text h3 { font-size: 17px; }
}

/* ===== BEGIN merged from css/gost-documents.css (объединено 2026-08-20 ради устранения второго блокирующего рендер CSS-запроса; исходный файл оставлен на диске) ===== */
/* ============================================
   Стили блока ГОСТов (нормативные документы)
   Соответствует дизайн-системе szppk.ru
   ============================================ */

/* Секция-обёртка */
.gost-documents-section {
    margin: 30px 0;
}

/* Основной контейнер */
.gost-documents {
    background: #fff;
    border-radius: var(--border-radius, 12px);
    box-shadow: var(--shadow, 0 4px 15px rgba(0,0,0,0.1));
    padding: 24px;
    border: 1px solid #eee;
}

/* Заголовок блока */
.gost-documents-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.gost-documents-icon {
    width: 36px;
    height: 36px;
    background: var(--light-gray, #ecf0f1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gost-documents-icon i {
    font-size: 18px;
    color: var(--primary-color, #2c3e50);
}

.gost-documents-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--primary-color, #2c3e50);
}

.gost-documents-subtitle {
    font-size: 13px;
    color: var(--dark-gray, #626d6e);
    margin-top: 2px;
}

/* =====================
   Страница КАТЕГОРИИ
   Сетка карточек
   ===================== */

.gost-documents-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.gost-card {
    border: 1.5px solid var(--light-gray, #ecf0f1);
    border-radius: 10px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.gost-card:hover {
    border-color: var(--secondary-color, #1f74ad);
    box-shadow: 0 2px 8px rgba(52,152,219,0.12);
}

.gost-card-top {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

/* Бейдж PDF (крупный, для карточек) */
.gost-pdf-badge {
    width: 40px;
    height: 48px;
    background: var(--accent-color, #c0392b);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gost-pdf-badge span {
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.gost-card-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color, #2c3e50);
    line-height: 1.3;
}

.gost-card-desc {
    font-size: 12px;
    color: var(--dark-gray, #626d6e);
    line-height: 1.3;
    margin-top: 3px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gost-card-download {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    margin-top: auto;
    padding: 10px 16px;
    background: var(--secondary-color, #1f74ad);
    border-radius: 8px;
    transition: background 0.2s;
}

.gost-card-download:hover {
    background: #1b6698;
    color: #fff;
    text-decoration: none;
}

.gost-card-download i {
    font-size: 16px;
}

.gost-card-size {
    font-size: 12px;
    color: #ffffff;
    font-weight: 400;
    margin-left: auto;
}

/* =====================
   Страница ТОВАРА
   Строчный список
   ===================== */

.gost-documents-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gost-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border: 1.5px solid var(--light-gray, #ecf0f1);
    border-radius: 10px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.gost-row:hover {
    border-color: var(--secondary-color, #1f74ad);
    box-shadow: 0 2px 8px rgba(52,152,219,0.1);
}

/* Бейдж PDF (маленький, для строк) */
.gost-pdf-badge-sm {
    width: 36px;
    height: 42px;
    background: var(--accent-color, #c0392b);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gost-pdf-badge-sm span {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.gost-row-info {
    flex: 1;
    min-width: 0;
}

.gost-row-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color, #2c3e50);
}

/* Название ГОСТа -> HTML-страница стандарта /gost/<slug>/ (2026-10-03) */
.gost-card-name a,
.gost-row-name a {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: rgba(52, 152, 219, 0.45);
    text-underline-offset: 3px;
}

.gost-card-name a:hover,
.gost-row-name a:hover {
    color: var(--secondary-color, #3498db);
    text-decoration-color: currentColor;
}

.gost-row-desc {
    font-size: 12px;
    color: var(--dark-gray, #626d6e);
    margin-top: 2px;
}

.gost-row-download {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    background: var(--secondary-color, #1f74ad);
    color: #fff;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.2s;
}

.gost-row-download:hover {
    background: #1b6698;
    color: #fff;
    text-decoration: none;
}

.gost-row-download i {
    font-size: 14px;
}

/* =====================
   Адаптив
   ===================== */

@media (min-width: 768px) and (max-width: 991px) {
    .gost-documents-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .gost-documents {
        padding: 16px;
    }

    .gost-documents-grid {
        grid-template-columns: 1fr;
    }

    .gost-row {
        flex-wrap: wrap;
        gap: 10px;
    }

    .gost-row-download {
        width: 100%;
        justify-content: center;
    }

    .gost-documents-title {
        font-size: 16px;
    }
}

/* =====================
   Карточки похожих товаров
   Мета-данные (марка, размер, тип)
   ===================== */

.product-card-meta {
    font-size: 12px;
    color: var(--dark-gray, #626d6e);
    line-height: 1.4;
}

/* =====================
   Слайдер похожих товаров
   ===================== */

.related-slider-wrap {
    position: relative;
}

.related-slider-clip {
    overflow: hidden;
    margin: 0 44px;
}

.related-slider-track {
    display: flex;
    gap: 12px;
    transition: transform 0.35s ease;
}

.related-slider-track .product-card {
    min-width: calc(25% - 9px);
    flex: 0 0 calc(25% - 9px);
}

.related-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background: var(--white, #ffffff);
    border: 1.5px solid var(--light-gray, #ecf0f1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: border-color 0.2s, box-shadow 0.2s, opacity 0.2s;
    font-size: 14px;
    color: var(--primary-color, #2c3e50);
    padding: 0;
}

.related-arrow:hover {
    border-color: var(--secondary-color, #1f74ad);
    box-shadow: 0 2px 8px rgba(52, 152, 219, 0.15);
}

.related-arrow-left {
    left: 0;
}

.related-arrow-right {
    right: 0;
}

.related-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 16px;
}

.related-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--light-gray, #ecf0f1);
    cursor: pointer;
    transition: background 0.2s;
    display: inline-block;
}

.related-dot.active {
    background: var(--secondary-color, #1f74ad);
}

/* Адаптив: на мобильных показываем 1 карточку */
@media (max-width: 767px) {
    .related-slider-clip {
        margin: 0 36px;
    }

    .related-slider-track .product-card {
        min-width: 100%;
        flex: 0 0 100%;
    }

    .related-arrow {
        width: 30px;
        height: 30px;
    }
}

/* Планшет: 2 карточки */
@media (min-width: 768px) and (max-width: 991px) {
    .related-slider-track .product-card {
        min-width: calc(50% - 6px);
        flex: 0 0 calc(50% - 6px);
    }
}

/* ===== END merged from css/gost-documents.css ===== */

/* ===== Документы товара: ГОСТы и сертификат в две колонки ===== */
/* Список ГОСТов растёт вниз и бывает длинным, а сертификат у товара один —
   вдвоём они встают рядом, и страница перестаёт быть лентой из двух
   одинаково широких карточек. Правая колонка не уже 300px, иначе превью
   и кнопки в ней начинают тесниться. */
.docs-columns.is-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 24px;
}

/* Обе карточки одной высоты: иначе под коротким списком ГОСТов зияет дыра,
   а сертификат висит отдельным столбиком. */
.docs-columns.is-split .gost-documents-section,
.docs-columns.is-split .certificate-section,
.docs-columns.is-split .gost-documents,
.docs-columns.is-split .certificate-box {
  height: 100%;
}

/* Внешние отступы задаёт сама сетка: у секций внутри их быть не должно,
   иначе колонки разъезжаются по вертикали, а height:100% вместе с margin
   вылезает за ячейку грида. */
.docs-columns.is-split {
  margin: 30px 0;
}

.docs-columns.is-split .gost-documents-section,
.docs-columns.is-split .certificate-section {
  margin: 0;
}

/* В узкой колонке превью и текст встают друг под другом, как на телефоне. */
.docs-columns.is-split .certificate-card {
  flex-direction: column;
  align-items: center;
}

/* Высоту превью задаёт шаблон в --cert-preview-h — она считается от числа
   ГОСТов в соседней колонке: с парой стандартов огромный скан оставлял слева
   полосу пустоты, с десятком — наоборот терялся. Ширина подстраивается сама,
   чтобы вокруг картинки не было пустых полей: сканы бывают и вертикальные,
   и горизонтальные. */
.docs-columns.is-split .certificate-preview {
  align-self: center;
  max-width: 100%;
}

.docs-columns.is-split .certificate-preview img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: var(--cert-preview-h, 260px);
}

/* Компактный режим (ГОСТов меньше четырёх): половина на половину, карточка
   разворачивается горизонтально — превью слева, описание и кнопки справа.
   Так обе колонки выходят примерно одной высоты и пустоты не остаётся. */
.docs-columns.is-split.is-compact {
  grid-template-columns: 1fr 1fr;
}

.docs-columns.is-split.is-compact .certificate-card {
  flex-direction: row;
  align-items: flex-start;
  gap: 18px;
}

.docs-columns.is-split.is-compact .certificate-preview {
  align-self: flex-start;
  flex: 0 0 auto;
  max-width: 170px;
}

.docs-columns.is-split.is-compact .certificate-body {
  min-width: 0;
}

.docs-columns.is-split.is-compact .certificate-actions {
  flex-direction: row;
  flex-wrap: wrap;
}

.docs-columns.is-split.is-compact .certificate-btn {
  justify-content: flex-start;
}

.docs-columns.is-split .certificate-actions {
  flex-direction: column;
}

.docs-columns.is-split .certificate-btn {
  justify-content: center;
}

@media (max-width: 900px) {
  .docs-columns.is-split,
  .docs-columns.is-split.is-compact {
    grid-template-columns: 1fr;
    gap: 0;
  }

  /* В одну колонку карточка снова вертикальная: рядом с превью не остаётся
     места на описание и кнопки. */
  .docs-columns.is-split.is-compact .certificate-card {
    flex-direction: column;
    align-items: center;
  }

  .docs-columns.is-split.is-compact .certificate-preview {
    max-width: 260px;
  }

  .docs-columns.is-split.is-compact .certificate-actions {
    flex-direction: column;
  }

  .docs-columns.is-split.is-compact .certificate-btn {
    justify-content: center;
  }
}

/* ===== Сертификат качества на карточке товара ===== */
/* Палитра основного сайта, НЕ ГОСТ-палитра: этот блок живёт рядом с обычными
   блоками карточки, и синий #1a3a5c смотрелся бы здесь чужеродно. */
.certificate-section {
  margin: 30px 0;
}

.certificate-box {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 20px;
}

.certificate-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.certificate-header-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: var(--secondary-color, #3498db);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.certificate-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--primary-color, #2c3e50);
}

.certificate-subtitle {
  font-size: 14px;
  color: var(--dark-gray, #7f8c8d);
}

.certificate-card {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: var(--light-gray, #ecf0f1);
  border-radius: 6px;
  padding: 16px;
}

.certificate-preview {
  flex: 0 0 auto;
  display: block;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}

.certificate-preview img {
  display: block;
  width: 180px;
  height: auto;
}

.certificate-body {
  flex: 1 1 auto;
  min-width: 0;
}

.certificate-name {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-color, #2c3e50);
  margin-bottom: 6px;
}

.certificate-desc {
  font-size: 14px;
  color: var(--dark-gray, #7f8c8d);
  margin-bottom: 6px;
}

.certificate-meta {
  font-size: 13px;
  color: var(--dark-gray, #7f8c8d);
  margin-bottom: 14px;
}

.certificate-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.certificate-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border-radius: 4px;
  border: 1px solid var(--secondary-color, #3498db);
  color: var(--secondary-color, #3498db);
  background: #fff;
  font-size: 14px;
  text-decoration: none;
  transition: background .15s, color .15s;
}

.certificate-btn:hover,
.certificate-btn:focus {
  background: var(--secondary-color, #3498db);
  color: #fff;
  text-decoration: none;
}

.certificate-btn-primary {
  background: var(--secondary-color, #3498db);
  color: #fff;
}

.certificate-btn-primary:hover,
.certificate-btn-primary:focus {
  background: #2980b9;
  border-color: #2980b9;
  color: #fff;
}

@media (max-width: 600px) {
  .certificate-card {
    flex-direction: column;
  }

  .certificate-preview img {
    width: 100%;
    max-width: 260px;
  }

  .certificate-actions {
    flex-direction: column;
  }

  .certificate-btn {
    justify-content: center;
  }
}

/* ===== SEO, фаза 2 (2026-10-03): таблица товаров раздела, вторая цена ===== */
/* Ссылки-«чипсы» на подразделы под H1 (раздел и сводная категория) */
.subcat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; }
.subcat-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; background: #fff; border: 1px solid #dee2e6; border-radius: 18px; color: var(--primary-color); font-size: 14px; font-weight: 500; line-height: 1.25; text-decoration: none; transition: border-color .15s, background .15s; }
.subcat-chip:hover, .subcat-chip:focus { border-color: var(--secondary-color); background: #f8f9fa; color: var(--primary-color); text-decoration: none; }
.subcat-chip-count { padding: 1px 7px; background: var(--light-gray); border-radius: 10px; color: var(--dark-gray); font-size: 12px; font-weight: 600; }
.category-header--section { padding-bottom: 20px; margin-bottom: 20px; }
.category-header--after { margin-top: 20px; }
.category-header--after .category-hero { margin-top: 0; }
/* Вторая цена: за метр / лист / м² */
.td_price2 { display: block; margin-top: 3px; color: var(--dark-gray); font-size: 13px; font-weight: 400; white-space: nowrap; }
/* Подгрузка порций раздела */
.section-more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 20px; border-top: 1px solid #dee2e6; }
.section-more-info { color: var(--dark-gray); font-size: 14px; }
.section-more-btn { text-decoration: none; }
.section-more-btn:hover, .section-more-btn:focus { background: #2980b9; color: #fff; text-decoration: none; }
.section-more-btn[hidden] { display: none; }
.section-more-btn.is-loading, #productsTable.is-loading .tbody { opacity: .5; pointer-events: none; }
/* Карточка: вес единицы и цена за метр / лист */
.unit-facts { margin-top: 10px; color: var(--primary-color); font-size: 14px; line-height: 1.5; }
.unit-facts b { font-weight: 600; }
.unit-facts-sep { margin: 0 6px; color: var(--dark-gray); }
.unit-facts-note { display: block; color: var(--dark-gray); font-size: 12px; }
@media (max-width: 768px) {
  .subcat-chips { gap: 6px; }
  .subcat-chip { padding: 6px 10px; font-size: 13px; }
  .td_price2 { display: inline; margin: 0 0 0 8px; }
  .section-more { flex-direction: column; align-items: stretch; text-align: center; }
  .section-more-btn { justify-content: center; }
  .unit-facts-sep { display: none; }
  .unit-facts-part { display: block; }
}
@media (max-width: 768px) {
  /* На телефоне подразделы — одной прокручиваемой строкой, чтобы таблица
     не уезжала на второй экран. */
  .subcat-chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; margin-right: -10px; scrollbar-width: thin; }
  .subcat-chip { flex: 0 0 auto; white-space: nowrap; }
}
@media (max-width: 768px) {
  /* Карточки строк: полное название уже содержит марку, размер и тип —
     дублирующие колонки прячем (на десктопе остаются для сортировки). */
  #productsTable .trStr .col-brand, #productsTable .trStr .col-size, #productsTable .trStr .col-type { display: none; }
}
/* Трос — отрезки кратно 10 м (2026-10-03): поле количества в метрах */
.cut-facts .cut-note { margin-top: 2px; color: var(--primary-color); font-size: 13px; font-weight: 600; }
.cut-qty { display: inline-flex; align-items: center; gap: 3px; margin: 0; font-weight: 400; }
.cut-qty .quantity-input-small { width: 58px; }
.cut-qty-unit { color: var(--dark-gray); font-size: 13px; white-space: nowrap; }
.cart-page .cut-qty-input { width: 80px; display: inline-block; }
.cart-page .cart-cell-qty .cut-qty-unit { margin: 0 6px 0 2px; }

/* Корзина: ± с автообновлением (2026-10-03). Кнопки — те же .quantity-btn, что в
   карточке товара; появляются, только когда common.js включил AJAX (.is-ajax),
   тогда же прячется кнопка «Обновить». Без JS — прежняя форма. */
.cart-page .cart-qty-stepper { display: inline-flex; align-items: center; gap: 4px; flex-wrap: nowrap; }
.cart-page .cart-qty-btn { display: none; width: 32px; height: 32px; flex: 0 0 auto; padding: 0; font-size: 18px; line-height: 1; }
.cart-page .cart-form.is-ajax .cart-qty-btn { display: inline-flex; }
.cart-page .cart-form.is-ajax .cart-update-btn { display: none; }
.cart-page .cart-qty-btn:hover { transform: none; background: #2980b9; }
.cart-page .cart-qty-btn:focus-visible { outline: 3px solid var(--primary-color); outline-offset: 2px; }
.cart-page .cart-qty-btn[aria-disabled="true"] { opacity: .5; cursor: progress; }
.cart-page .cart-form.is-ajax .cart-qty-stepper input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
.cart-page .cart-form.is-ajax .cart-qty-stepper input[type="number"]::-webkit-inner-spin-button,
.cart-page .cart-form.is-ajax .cart-qty-stepper input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cart-page .cart-table tr.is-pending .cart-cell-total,
.cart-page .cart-table tr.is-updating .cart-cell-total { opacity: .55; }
.cart-page .cart-table tr.is-updating .cart-qty-stepper { opacity: .7; }
.cart-page .cart-table tr.is-updating .cart-cell-total::after { content: ""; display: inline-block; width: 12px; height: 12px; margin-left: 6px; vertical-align: -1px; border: 2px solid #dee2e6; border-top-color: var(--secondary-color); border-radius: 50%; animation: szppk-cart-spin .7s linear infinite; }
.cart-page .cart-table tr.is-updated .cart-cell-total { animation: szppk-cart-flash .9s ease-out; }
@keyframes szppk-cart-spin { to { transform: rotate(360deg); } }
@keyframes szppk-cart-flash { from { background-color: #fff8e0; } to { background-color: transparent; } }
@media (prefers-reduced-motion: reduce) {
  .cart-page .cart-table tr.is-updating .cart-cell-total::after { animation-duration: 2s; }
  .cart-page .cart-table tr.is-updated .cart-cell-total { animation: none; }
}
@media (max-width: 768px) {
  /* Под палец: кнопки 44px, шрифт поля 16px — iOS не зумит при фокусе. */
  .cart-page .cart-qty-stepper { gap: 6px; flex: 0 1 auto; }
  .cart-page .cart-form.is-ajax .cart-qty-btn { width: 44px; height: 44px; font-size: 22px; }
  .cart-page .cart-table .cart-qty-stepper .form-control { height: 44px; min-width: 56px; font-size: 16px; }
  .cart-page .cart-table .input-group .remove-from-cart { min-width: 44px; min-height: 44px; margin-left: auto; }
}
#cutTotal { margin-top: 8px; }

/* Прайс-лист xlsx (2026-10-03): ссылка в шапке и на верхних разделах каталога */
.price-download { color: var(--secondary-color); font-weight: 600; text-decoration: none; }
.price-download:hover, .price-download:focus { color: var(--primary-color); text-decoration: underline; }
.price-download i { margin-right: 3px; }
.contact-info a.price-download--header { margin: 4px 0 0; font-size: 14px; line-height: 1.3; color: var(--secondary-color); white-space: nowrap; }
.contact-info a.price-download--header:hover { color: var(--primary-color); }
.price-download-box { margin: -5px 0 12px; }
.price-download-box .price-download { font-size: 15px; }
@media (max-width: 768px) {
   /* Раздел каталога на телефоне был шире экрана (до 1648 px при 375): лента
      чипов подразделов с nowrap растягивала колонку 1fr = minmax(auto, 1fr)
      по своей min-content ширине. minmax(0, 1fr) держит колонку в экране,
      лента прокручивается внутри себя (overflow-x: auto). */
   .main-content { grid-template-columns: minmax(0, 1fr); }
   .contact-info a.price-download--header { font-size: 13px; }
}
