/* Общая шапка всех страниц: меню, поиск по каталогу; плитки каталога на главной */
header nav { display:flex; flex-wrap:wrap; gap:4px 18px; align-items:center; }
header nav a { margin-left:0 !important; white-space:nowrap; color:var(--fg); text-decoration:none; font-weight:400; }
header nav a:hover { color:var(--accent); }
header nav a[aria-current] { color:var(--accent); font-weight:600; }
header nav a.nav-sale { color:#d93025; font-weight:600; }
.hsearch { flex:1 1 100%; max-width:none; display:flex; gap:8px; margin:0; padding:0; border:none; background:none; }
.hsearch input { flex:1; min-width:0; font:inherit; font-size:15px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--fg); }
.hsearch button { font:inherit; font-size:15px; padding:8px 16px; border:none; border-radius:10px; background:var(--accent); color:#fff; cursor:pointer; }
@media (max-width: 600px) {
  header nav { width:100%; justify-content:flex-start; gap:4px 14px; }
  header nav a { font-size:15px; }
}

/* Главная: поиск на первом экране и разделы каталога */
.hero-search { display:flex; gap:8px; margin:16px 0 4px; }
.hero-search input { flex:1; min-width:0; font:inherit; padding:12px 14px; border:2px solid var(--accent); border-radius:12px; background:var(--card); color:var(--fg); }
.hero-search button { font:inherit; font-weight:600; padding:12px 20px; border:none; border-radius:12px; background:var(--accent); color:#fff; cursor:pointer; }
.home-kat { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.home-kat a { display:flex; flex-direction:column; gap:2px; padding:10px; background:var(--card); border:1px solid var(--line); border-radius:12px; color:var(--fg); text-decoration:none; }
.home-kat a:hover { border-color:var(--accent); }
.home-kat img { width:100%; height:130px; object-fit:contain; background:#fff; border-radius:8px; margin-bottom:6px; }
.home-kat b { font-size:16px; line-height:1.25; }
.home-kat span { font-size:13px; color:var(--muted); }
.home-kat a.sale { border-color:#d93025; }
.home-kat a.sale b { color:#d93025; }
.home-kat-foot { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; justify-content:space-between; margin-top:12px; }
@media (max-width: 760px) { .home-kat { grid-template-columns:repeat(2, minmax(0, 1fr)); } .home-kat img { height:110px; } }
.hero-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }
.hero-card { display:flex; flex-direction:column; gap:2px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:12px; color:var(--fg); text-decoration:none; }
.hero-card:hover { border-color:var(--accent); }
.hero-card svg { color:var(--accent); margin-bottom:4px; }
.hero-card b { font-size:18px; line-height:1.25; color:var(--accent); }
.hero-card span { font-size:14px; color:var(--muted); line-height:1.35; }
.hero-links { margin:8px 0 0; font-size:15px; }
@media (max-width: 600px) { .hero-cards { grid-template-columns:1fr; } }
.tools4 { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.tools4 a { display:flex; flex-direction:column; gap:2px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:12px; color:var(--fg); text-decoration:none; }
.tools4 a:hover { border-color:var(--accent); }
.tools4 svg { color:var(--accent); margin-bottom:4px; }
.tools4 b { font-size:16px; line-height:1.25; color:var(--accent); }
.tools4 span { font-size:14px; color:var(--muted); line-height:1.35; }
@media (max-width: 760px) { .tools4 { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
/* Главная: форма «Перезвоним» в стиле карточек, по нижнему краю левой колонки */
@media (min-width: 761px) {
  .hero-grid { align-items:start !important; }
  .hero-grid .callback { box-shadow:none !important; grid-template-columns:1fr auto !important; padding:16px; }
}
.callback .cb-title { font-size:17px !important; }
.callback .btn { margin:0; padding:10px 16px; white-space:nowrap; }
.callback .cb-tel { margin:0; grid-column:1 / -1; font-size:14px; }
/* Главная: заголовок первого экрана и плашки с фактами */
.hero-h1 { font-size:38px !important; line-height:1.15; margin:0 0 8px; }
.hero-sub { font-size:19px; margin:0 0 12px; }
.hero-facts { list-style:none; display:flex; flex-wrap:wrap; gap:6px 8px; margin:0; padding:0; }
.hero-facts li { display:flex; align-items:center; gap:5px; font-size:14px; padding:4px 10px; background:var(--card); border:1px solid var(--line); border-radius:999px; }
.hero-facts svg { color:#1e8e3e; flex:none; }
@media (max-width: 600px) { .hero-h1 { font-size:28px !important; } .hero-sub { font-size:17px; } }
.hero-top { margin-bottom:18px; }
.hero-top .hero-sub { margin-bottom:12px; }
/* Шаги «Подбор → Размеры → Заказ» на калькуляторе, размерах и заказе */
.steps { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:16px 0 0; font-size:14px; }
.steps a { padding:5px 12px; border:1px solid var(--line); border-radius:999px; background:var(--card); color:var(--fg); text-decoration:none; white-space:nowrap; }
.steps a:hover { border-color:var(--accent); }
.steps a[aria-current] { background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600; }
.steps span { color:var(--muted); }
.to-order { margin-top:18px; padding:14px 16px; border:2px solid var(--accent); border-radius:12px; background:var(--card); }
.to-order-h { margin:0 0 4px; font-weight:700; font-size:17px; }
@media (max-width: 600px) { .steps span { display:none; } }
/* Главная: «Почему с нами удобно» (карточки без ссылок) и шаги «Как мы работаем» */
.tools4 > div { display:flex; flex-direction:column; gap:2px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:12px; }
.tools4 > div svg { color:var(--accent); margin-bottom:4px; }
.tools4 > div b { font-size:16px; line-height:1.25; }
.tools4 > div span { font-size:14px; color:var(--muted); line-height:1.35; }
.how-h { margin:22px 0 10px; font-size:18px; }
.how { list-style:none; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin:0; padding:0; counter-reset:none; }
.how li { display:flex; gap:10px; align-items:center; font-size:15px; line-height:1.3; }
.how li span { flex:none; width:30px; height:30px; border-radius:50%; background:var(--accent); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
@media (max-width: 760px) { .how { grid-template-columns:1fr 1fr; } }

/* Счётчик позиций у пункта «Заказ» */
.nav-cnt { display:inline-block; min-width:20px; height:20px; margin-left:5px; padding:0 6px; border-radius:999px; background:var(--accent); color:#fff; font-size:12px; font-weight:700; line-height:20px; text-align:center; vertical-align:1px; }
.tools4.svc { grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); }
/* Заказ: подтверждение отправки со строками без размера */
.z-warn { margin:0 0 12px; padding:12px 14px; border:1px solid #d93025; border-radius:10px; background:var(--card); }
.z-warn .btn { margin:0 8px 0 0; }
