/* SHTIFEL: единая типографика и технический каталог. */
:root { --primary:#1758d5; --primary-dark:#1244a5; --primary-light:#eef4ff; --dark:#181b20; --dark-header:#181b20; --text:#252a31; --text-light:#59616d; --text-muted:#68717e; --bg:#f8f9fb; --bg-light:#f1f3f5; --border:#dfe3e9; --border-light:#edf0f3; --radius:6px; --radius-lg:8px; --max-w:1320px; }
body { line-height:1.6; }
h1,h2,h3,h4,.logo,.btn,.product-card-category,.filter-group h4 { letter-spacing:0; }
.page-title { font-style:normal; font-size:36px; font-weight:700; margin-bottom:20px; }
.header { background:#fff; border-bottom:1px solid var(--border); box-shadow:0 2px 12px #181b2006; }
.header-top { gap:24px; min-height:76px; }
.header-nav { gap:20px; }
.header-nav a { font-size:13px; white-space:nowrap; font-weight:500; }
.header-nav a[aria-current=page] { color:var(--primary); }
.header-actions { gap:8px; }
.header-icon-btn { width:40px; height:40px; flex-shrink:0; border-radius:6px; }
.header-phone-btn span { display:none; }
.logo { font-size:24px; }
.btn,.btn-primary-header,.btn-outline-header { border-radius:6px; font-weight:600; transition:background .18s,border-color .18s; }
.btn:hover { transform:none; }
.btn-primary,.btn-primary-header,.btn-red,.btn-price-request { background:var(--primary); border-color:var(--primary); color:#fff; box-shadow:none; }
.btn-primary:hover,.btn-primary-header:hover,.btn-price-request:hover { background:var(--primary-dark); }
.btn-outline { background:#fff; border-color:#cad2dd; color:var(--text); }
.btn-outline:hover { color:var(--primary); border-color:var(--primary); background:var(--primary-light); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #1758d560; outline-offset:3px; }
.breadcrumb { font-size:12px; padding-top:20px; padding-bottom:20px; }
.hero { background:#21262d; }
.hero h1 { font-size:48px; line-height:1.12; font-weight:700; }
.hero-subtitle { font-size:17px; max-width:640px; color:#f2f4f7; line-height:1.65; }
.hero-badge { border-radius:3px; background:#ffffff15; color:#fff; }
.hero .hero-stats { gap:16px; }
.hero .hero-stat { background:#15191ee6; border:1px solid #ffffff24; border-radius:6px; }
.hero-bg { background:rgba(12,17,23,.56); }
.section-header h2,.contact-form-text h2 { font-size:28px; }
.catalog-layout { grid-template-columns:232px minmax(0,1fr); gap:28px; }
.catalog-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:24px 0 32px; }
.catalog-category-card { border-radius:6px; box-shadow:none; border:1px solid var(--border); overflow:hidden; }
.catalog-category-card:hover { transform:none; border-color:#a3b8d9; box-shadow:0 4px 16px #18243808; }
.catalog-category-card.active { border:1px solid var(--primary); box-shadow:inset 0 0 0 1px var(--primary); }
.catalog-category-media { height:148px; background:#fff; }
.catalog-category-media img { padding:16px; }
.catalog-category-body { padding:16px; gap:8px; }
.catalog-category-body h3 { font-size:15px; line-height:1.35; min-height:40px; }
.catalog-category-body p { color:var(--text-light); font-size:12px; line-height:1.5; }
.catalog-category-meta { color:var(--text-muted); font-size:12px; }
.catalog-category-link { min-height:36px; }
.catalog-search-panel { gap:10px; margin-bottom:20px; }
.catalog-search-input { min-height:46px; border-radius:6px; background:#fff; font-size:15px; }
.catalog-toolbar { padding-bottom:16px; border-bottom:1px solid var(--border); margin-bottom:16px; gap:12px; }
.catalog-toolbar-right { flex-wrap:wrap; }
.catalog-sort { min-width:0; }
.catalog-title { font-size:24px; }
.filter-group { border-bottom:1px solid var(--border); padding-bottom:16px; margin-bottom:16px; }
.filter-group h4 { font-size:12px; text-transform:none; }
.filter-group label { font-size:13px; min-height:32px; }
.filter-input { min-width:0; min-height:38px; border-radius:5px; }
.catalog-series-panel { background:transparent; border-radius:0; border:0; padding:12px 0 18px; }
.catalog-series-chip { border-radius:4px; white-space:normal; text-align:left; }
.products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.product-card { display:flex; flex-direction:column; border-radius:6px; border:1px solid var(--border); box-shadow:none; overflow:hidden; background:#fff; min-width:0; }
.product-card:hover { transform:none; border-color:#a3b8d9; box-shadow:0 6px 20px #17293d0a; }
.product-card-image { height:190px; width:100%; display:flex; align-items:center; justify-content:center; background:#fff; border-bottom:1px solid var(--border-light); flex-shrink:0; }
.product-card-image img { max-height:100%; max-width:100%; padding:18px; object-fit:contain; }
.product-card-body { display:flex; flex-direction:column; padding:14px; flex:1; min-width:0; }
.product-card h3 { font-size:14px; font-weight:600; line-height:1.45; min-height:40px; margin:4px 0 8px; }
.product-card-category { font-size:10px; color:var(--text-muted); text-transform:none; }
.product-card-series { font-size:12px; color:var(--text-light); margin-bottom:12px; }
.product-card-specs-list { border:0; border-radius:0; background:transparent; margin-bottom:12px; }
.spec-row { display:flex; justify-content:space-between; gap:8px; border-bottom:1px solid #f0f2f5; padding:5px 0; font-size:11px; }
.spec-label { color:var(--text-muted); }
.spec-value { text-align:right; font-weight:500; }
.availability-badge { font-size:11px; align-self:flex-start; margin-bottom:12px; }
.product-card-footer { margin-top:auto; padding-top:12px; }
.product-price { font-size:21px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--dark); }
.product-card-price-row { flex-wrap:wrap; gap:8px; }
.product-card-actions { display:flex; gap:8px; position:static; }
.product-card-actions .btn { flex:1 1 0; min-width:0; padding:9px 6px; min-height:40px; font-size:12px; white-space:normal; }
.quick-action-btn { width:32px; height:32px; border-radius:4px; }
.products-grid.list-view { grid-template-columns:1fr; }
.products-grid.list-view .product-card { display:grid; grid-template-columns:200px minmax(0,1fr); }
.products-grid.list-view .product-card-image { height:100%; min-height:190px; }
.gallery-main { background:#fff; border:1px solid var(--border); border-radius:6px; height:400px; padding:24px; }
.gallery-thumbs { flex-wrap:wrap; }
.product-sidebar { border-radius:6px; background:#fff; padding:22px; border:1px solid var(--border); }
.product-doc-link { padding:14px 0; }
.product-tabs { margin-top:28px; }
.tabs-nav { border-bottom:1px solid var(--border); gap:0; }
.tab-btn { font-weight:600; padding:14px 18px; }
.tab-btn.active { color:var(--primary); border-color:var(--primary); }
.specs-table td,.specs-table th { padding:12px 16px; font-size:14px; }
.case-card,.support-card,.promo-card { border-radius:6px; box-shadow:none; border:1px solid var(--border); }
.support-card:hover,.case-card:hover { transform:none; }
.promo-card-blue { background:#eef3fa; color:var(--text); }
.promo-card-blue h3,.promo-card-blue p { color:var(--text); }
.contact-section { background:#edf1f5; }
.contact-form-wrapper { background:transparent; border:0; border-radius:0; box-shadow:none; }
.form-input,.form-group input,.form-group textarea,.form-group select { border-radius:5px; min-height:44px; background:#fff; border:1px solid #cbd3de; }
.form-group label { font-size:13px; color:var(--text); }
.modal { border-radius:8px; padding:28px; }
.modal h2 { font-size:24px; }
.site-cta-strip { position:static!important; background:#edf2f8; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:24px 0; }
.site-cta-strip .btn-outline { color:var(--text); background:#fff; border-color:#cbd3de; }
.footer { background:#fff; }
.footer-grid-new { padding-top:40px; }
.footer-brand-new p,.footer-col-new a { color:var(--text-light); }
.series-public-hero { border:0; border-radius:0; padding:24px 0; background:transparent; }
.catalog-empty { grid-column:1/-1; padding:48px 20px; text-align:center; }
.image-unavailable { display:flex; align-items:center; justify-content:center; color:#68717e; font-size:12px; padding:20px; text-align:center; }
.header-actions .header-search-btn { display:inline-flex; align-items:center; justify-content:center; }
.search-overlay .search-input { min-width:0; }
.search-overlay .search-container { max-height:100dvh; overflow:auto; }
.search-overlay .search-result-item { flex-wrap:wrap; }
@media (max-width:1200px) {
  .header-nav { display:none; }
  .mobile-menu-btn { display:flex; }
  .mobile-menu { display:block; }
  .header-top { justify-content:space-between; }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1024px) { .catalog-layout { grid-template-columns:minmax(0,1fr); } }
@media (max-width:768px) {
  .container { padding-left:20px; padding-right:20px; }
  .header-top { min-height:64px; gap:12px; }
  .header-actions { gap:6px; }
  .header-actions .header-search-btn { display:inline-flex!important; width:40px; height:40px; }
  .hero h1 { font-size:36px; }
  .hero-subtitle { font-size:15px; }
  .section-header h2,.contact-form-text h2 { font-size:24px; }
  .catalog-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .catalog-category-media { height:120px; }
  .catalog-category-body { padding:12px; }
  .catalog-category-body h3 { font-size:12px; min-height:34px; }
  .catalog-category-body p { display:none; }
  .catalog-toolbar-right { width:100%; }
  .catalog-sort { flex-wrap:wrap; }
  .product-card-image { height:180px; }
  .product-card h3 { font-size:14px; }
  .gallery-main { height:300px; }
  .product-sidebar { padding:18px; }
  .site-cta-strip { padding:20px 0; }
  .site-cta-strip .btn { font-size:13px; }
  .modal { padding:20px; }
}
@media (max-width:480px) {
  .products-grid { grid-template-columns:minmax(0,1fr); }
  .products-grid.list-view .product-card { display:flex; }
  .products-grid .product-card-image { height:210px; }
  .product-card-body { padding:16px; }
  .product-card-actions .btn { min-height:44px; font-size:13px; }
  .product-card h3 { min-height:0; font-size:15px; }
  .spec-row { font-size:12px; }
  .quick-action-btn { width:38px; height:38px; }
  .header-actions .btn { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
