/*
Theme Name: Companies Search
Author: Voronkov Nikolay
Author URI: https://voronkov.org
Description: Информационно-поисковая система компаний. 
*/

/* -- было в override.css -- */
:root {
  --main-bg: #2c3e50;
  --accent: #3498db;
  --text-color: #333;
}

.u-flex-center { display:flex; align-items:center; justify-content:center; }
.u-hidden { display:none !important; }

/*
        .bg-blue-900 {
            background-color: var(--color-blue-900);
        }
        li.menu-item-second {
            background-color: white!important;
        }
        

/* -- Вставлялось через плагин -- */

li {
    margin-left: 30px;
}

/* Основной контейнер выпадающего меню */
#ServicesLi {
    position: relative;
}

/* Меню первого уровня */
#ServicesLi .custom-menu-level-1 {
    position: absolute!important;
    left: 0;
    top: 100%;
    width: 250px;
    max-height1: 300px;
    overflow1-y: auto;
    background: #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
    padding: 5px 5px;
    margin-top: 5px;
}

/* Меню второго уровня */
.custom-menu-level-2 {
    position: absolute!important;
    left: 100%;
    top: 0px;
    width: 250px;
    max-height: 300px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1001;
    padding: 5px 5px;
    margin-left: 15px;
}

/* Показываем меню при наведении */
#ServicesLi:hover .custom-menu-level-1,
#ServicesLi.focus .custom-menu-level-1,
.custom-menu-item.has-children:hover > .custom-menu-level-2 {
    opacity: 1;
    visibility: visible;
}

/* Стили пунктов меню */
.custom-menu-item {
    position: relative;
    padding: 5px 5px;
}

.custom-menu-item.has-children {
  position: relative;
}

.custom-menu-link {
    display: block;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
}

/* Индикаторы подменю */
.custom-menu-item.has-children > .custom-menu-link:after {
    content: \"→\";
    float: right;
    margin-left: 10px;
}

#ServicesLi > .menu-link:after {
    content: \"↓\";
    margin-left: 8px;
}

/* Адаптация для мобильных */
@media (max-width: 768px) {
    #ServicesLi .custom-menu-level-1,
    .custom-menu-level-2 {
        position: static;
        opacity: 1;
        visibility: visible;
        max-height: none;
        box-shadow: none;
        width: auto;
        margin: 0;
    }
    
    .custom-menu-level-2 {
        padding-left: 20px;
    }
    
    header {
        position: relative!important;
    }
    
}

/* Общие стили */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    color: #333;
    line-height: 1.6;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

h1, h2, h3, h4 {
    margin-bottom: 20px;
    color: #2c3e50;
}

h1 {
    font-size: 36px;
}

a {
    text-decoration: none;
    color: #3498db;
}

.breadcumbs {
    padding: 5px; 
    margin-bottom: 20px;
}

.breadcumbs a:hover {
    font-weight: bold;
    color: green;
}

.category-title a:hover {
    color: brown;
}

a:hover {
    color: #1f6fe6;
}

button {
    cursor: pointer;
    border: none;
    outline: none;
}

/* Шапка */
/*
header {
    background-color: #2c3e50;
    color: white;
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
}
*/

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.logo {
    font-size: 24px;
    font-weight: bold;
    color: white;
}

.nav {
    display: flex;
    align-items: center;
    gap: 20px;
}

.nav-item {
    position: relative;
    cursor: pointer;
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
}

.nav-item:hover {
    background-color: #34495e;
}

/* Выпадающие списки */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: white;
    min-width: 250px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
    z-index: 1;
    border-radius: 4px;
    color: #333;
    max-height: 400px;
    overflow-y: auto;
}

.dropdown-content a {
    color: #333;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: #3498db;
    color: white;
}

/* dropdown opens via JS click only */

/* Мега меню категорий */
.mega-menu {
    display: none;
    position: absolute;
    left: 0;
    width: 700px;
    background-color: white;
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
    z-index: 1;
    border-radius: 4px;
    padding: 15px;
    color: #333;
}

.mega-menu-container {
    display: flex;
}

.parent-categories {
    width: 30%;
    padding-right: 15px;
    border-right: 1px solid #eee;
}

.child-categories {
    width: 70%;
    padding-left: 15px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.parent-category {
    padding: 8px 0;
    cursor: pointer;
}

.parent-category:hover {
    color: #3498db;
}

.child-category {
    padding: 5px 0;
    white-space: normal;
}

/* Поиск */
.search-container {
    display: flex;
    align-items: center;
}

.search-input {
    display: none;
    padding: 8px 15px;
    border-radius: 4px;
    border: 1px solid #ddd;
    margin-right: 10px;
    width: 200px;
    color: black;
}

.search-btn {
    background-color: transparent;
    color: white;
    font-size: 16px;
}

/* Первый экран */
.company-header {
    display: flex;
    margin: 30px 0;
    flex-wrap: wrap;
}

.company-gallery {
    text-align: center;
    width: 33%;
    padding-right: 15px;
}

.company-info {
    width: 67%;
    padding-left: 15px;
}

.main-image {
    max-width: 100%;
    max-height: 300px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
}

.thumbnail-container {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 10px;
}

.thumbnail {
    width: 75px;
    height: 75px;
    object-fit: cover;
    border-radius: 4px;
    border: 2px solid #ddd;
    cursor: pointer;
}

.thumbnail:hover, .thumbnail.active {
    border-color: #3498db;
}

.rating {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.stars {
    color: #f1c40f;
    margin-right: 10px;
}

.reviews-count {
    color: #7f8c8d;
}

.contacts {
    margin-top: 20px;
}

.contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.contact-icon {
    margin-right: 10px;
    color: #3498db;
    width: 20px;
    text-align: center;
}

.add-review-btn {
    display: inline-block;
    background-color: #3498db;
    color: white;
    padding: 8px 15px;
    border-radius: 4px;
    margin-top: 15px;
}

.add-review-btn:hover {
    background-color: #2980b9;
}

/* Карта */
.map-container {
    height: 400px;
    margin: 30px 0;
    border-radius: 8px;
    overflow: hidden;
}

/* Блоки с информацией */
.info-block {
    background-color: white;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.description {
    line-height: 1.8;
}

.details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.detail-item {
    margin-bottom: 10px;
}

.detail-label {
    font-weight: bold;
    color: #000000;
}

/* Финансовые показатели */
.financial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.financial-item {
    padding: 15px;
    border-radius: 8px;
    color: #000000;
}

.revenue {
    background-color: #d9dbdc;
}

.profit {
    background-color: #d9dbdc;
}

.cost {
    background-color: #d9dbdc;
}

/* Отзывы */
.review {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.review:last-child {
    border-bottom: none;
}

.review-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.review-author {
    font-weight: bold;
}

.review-date {
    color: #7f8c8d;
}

.review-form {
    margin-top: 30px;
}

.form-group {
    margin-bottom: 15px;
}

.form-label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.form-input, .form-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.form-textarea {
    height: 100px;
}

.rating-stars {
    display: flex;
    gap: 5px;
}

.star {
    font-size: 24px;
    color: #ddd;
    cursor: pointer;
}

.star.active {
    color: #f1c40f;
}

.submit-btn {
    background-color: #3498db;
    color: white;
    padding: 10px 20px;
    border-radius: 4px;
    font-size: 16px;
}

.submit-btn:hover {
    background-color: #2980b9;
}

/* Услуги */
.tags-container {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px; /* горизонталь */
    row-gap: 4px;     /* вертикаль (уменьши как нужно: 2–6px) */
    margin-bottom: 15px;
}

.tag {
    background-color: #3498db;
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 14px;
}

.tag:hover {
    background-color: #2980b9;
}

.show-more-btn {
    background-color: transparent;
    color: #000000;
    font-size: 14px;
	font-weight: 900;
text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  color: #0D1A2D !important;
  display: inline-flex;          /* чтобы underline работал стабильно */
}

/* Карусели компаний */
.carousel {
    position: relative;
}

.carousel-container {
    display: flex;
    overflow: hidden;
    gap: 20px;
    scroll-behavior: smooth;
}

.company-card {
    min-width: calc(33.333% - 14px);
    background-color: white;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.premium-company {
    min-width: calc(25% - 15px);
}

.company-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
}

.company-name {
    font-weight: bold;
    margin-bottom: 10px;
}

.details-btn {
    display: block;
    text-align: center;
    background-color: #3498db;
    color: white;
    padding: 8px 0;
    border-radius: 4px;
    margin-top: 15px;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 1;
    cursor: pointer;
}

.prev {
    left: -20px;
}

.next {
    right: -20px;
}

/* Смежные категории */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.category-column {
    padding: 10px;
}

.parent-category-title {
    font-weight: bold;
    margin-bottom: 10px;
}

.child-category-list {
    list-style: none;
}

.child-category-item {
    margin-bottom: 8px;
}

/* Футер */
footer {
    background-color: #2c3e50;
    color: white;
    padding: 0px 0px;
}

.footer-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.footer-column h3 {
    color: white;
    margin-bottom: 20px;
}

.footer-links {
    list-style: none;
}

.footer-link {
    margin-bottom: 10px;
}

.footer-link a {
    color: #bdc3c7;
}

.footer-link a:hover {
    color: white;
}

.social-links {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.social-icon {
    color: white;
    font-size: 20px;
}

.copyright {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #34495e;
    color: #bdc3c7;
}

/* Адаптивность */
@media (max-width: 992px) {
    .company-gallery, .company-info {
        width: 100%;
        padding: 0;
    }

    .company-gallery {
        margin-bottom: 20px;
    }

    .mega-menu {
        width: 90%;
    }

    .financial-grid {
        grid-template-columns: 1fr;
    }

    .footer-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .header-container {
        flex-direction: column;
        gap: 15px;
    }

    .nav {
        width: 100%;
        justify-content: space-between;
    }

    .details-grid {
        grid-template-columns: 1fr;
    }

    .company-card {
        min-width: calc(50% - 10px);
    }

    .premium-company {
        min-width: calc(50% - 10px);
    }

    .categories-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 576px) {
    .company-card {
        min-width: 100%;
    }

    .premium-company {
        min-width: 100%;
    }

    .categories-grid {
        grid-template-columns: 1fr;
    }

    .footer-container {
        grid-template-columns: 1fr;
    }
}


/* Общие стили */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    color: #333;
    line-height: 1.6;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    cursor: pointer;
    border: none;
    outline: none;
    background: none;
}

/* ============================================================
   HEADER — Professional Redesign v2
   Rent2u.RU — tool-sharing aggregator
   ============================================================ */

/* Google Fonts loaded via @import in header.php via wp_head */
:root {
  --h-bg:        #ffffff;
  --h-border:    #e8eaed;
  --h-text:      #1a1f2e;
  --h-muted:     #6b7280;
  --h-accent:    #1a6ef5;
  --h-accent-d:  #0f54cc;
  --h-hover-bg:  #f3f6ff;
  --h-active-bg: #e8efff;
  --h-menu-bg:   #ffffff;
  --h-pill-bg:   #f4f6fa;
  --h-shadow:    0 4px 24px rgba(26,31,46,0.10);
  --h-shadow-sm: 0 2px 8px rgba(26,31,46,0.07);
  --h-radius:    10px;
  --h-height:    68px;
  --h-font:      'Inter', 'Segoe UI', system-ui, sans-serif;
}

/* === BASE HEADER === */
header {
    background: var(--h-bg);
    color: var(--h-text);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--h-border);
    box-shadow: var(--h-shadow-sm);
    font-family: var(--h-font);
}

/* ============================================================
   HEADER — Professional Redesign v2
   Rent2u.RU — tool-sharing aggregator
   ============================================================ */
:root {
  --h-bg:        #ffffff;
  --h-border:    #e8eaed;
  --h-text:      #1a1f2e;
  --h-muted:     #6b7280;
  --h-accent:    #1a6ef5;
  --h-accent-d:  #0f54cc;
  --h-hover-bg:  #f3f6ff;
  --h-active-bg: #e8efff;
  --h-menu-bg:   #ffffff;
  --h-pill-bg:   #f4f6fa;
  --h-shadow:    0 8px 32px rgba(26,31,46,0.13);
  --h-shadow-sm: 0 2px 8px rgba(26,31,46,0.06);
  --h-radius:    10px;
  --h-height:    68px;
  --h-font:      'Inter', 'Segoe UI', system-ui, sans-serif;
}

/* === BASE HEADER === */
header {
    background: var(--h-bg);
    color: var(--h-text);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--h-border);
    box-shadow: var(--h-shadow-sm);
    font-family: var(--h-font);
}

/* === DESKTOP HEADER === */
.header-desktop {
    display: none;
    height: var(--h-height);
    align-items: center;
    gap: 2px;
}

/* === LOGO === */
.logo {
    font-size: 18px;
    font-weight: 700;
    color: var(--h-text);
    margin-right: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    letter-spacing: -0.3px;
    flex-shrink: 0;
    transition: opacity 0.15s;
}
.logo:hover { opacity: 0.75; color: var(--h-text); }
.logo-icon { width: 28px; height: 28px; display: block; }
.logo-text { color: var(--h-text); }

/* === NAV ITEMS === */
.nav-item {
    position: relative;
    cursor: pointer;
    color: var(--h-text);
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    user-select: none;
    line-height: 1;
}
.nav-item:hover {
    background: var(--h-hover-bg);
    color: var(--h-accent);
}
.nav-item.active-dropdown {
    background: var(--h-active-bg);
    color: var(--h-accent);
}
.nav-item i {
    font-size: 10px;
    transition: transform 0.22s cubic-bezier(.4,0,.2,1);
    color: var(--h-muted);
}
.active-dropdown i { color: var(--h-accent); }

.spacer { flex-grow: 1; }

/* === DROPDOWN ANIMATION === */
@keyframes headerDropIn {
    from { opacity: 0; transform: translateY(-6px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* === DROPDOWNS === */
.dropdown { position: relative; }

.dropdown-content {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: var(--h-menu-bg);
    min-width: 240px;
    max-height: 72vh;
    overflow-y: auto;
    box-shadow: var(--h-shadow);
    z-index: 1001;
    border-radius: var(--h-radius);
    border: 1px solid var(--h-border);
    animation: headerDropIn 0.18s cubic-bezier(.4,0,.2,1);
    padding: 6px 0;
}
.dropdown-content::-webkit-scrollbar { width: 4px; }
.dropdown-content::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }

.dropdown-content a {
    color: var(--h-text);
    padding: 10px 18px;
    text-decoration: none;
    display: block;
    font-size: 14px;
    transition: background 0.12s, color 0.12s;
    line-height: 1.4;
}
.dropdown-content a:hover {
    background: var(--h-hover-bg);
    color: var(--h-accent);
}

.dropdown-footer {
    padding: 10px 18px;
    border-top: 1px solid var(--h-border);
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}
.dropdown-footer button {
    color: var(--h-muted);
    font-weight: 500;
    font-size: 13px;
    padding: 5px 10px;
    border-radius: 6px;
    transition: all 0.15s;
}
.dropdown-footer button:hover {
    background: var(--h-pill-bg);
    color: var(--h-text);
}


/* ============================================================
   MEGA MENU — H&M style: clean, minimal, no backgrounds
   ============================================================ */
.mega-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -20px;
    width: 640px;
    max-width: calc(100vw - 32px);
    background: #fff;
    box-shadow: 0 16px 48px rgba(26,31,46,0.12), 0 2px 8px rgba(26,31,46,0.05);
    z-index: 1001;
    border-radius: 0 0 12px 12px;
    border: 1px solid var(--h-border);
    border-top: 2px solid var(--h-accent);  /* accent top line — signature detail */
    animation: headerDropIn 0.16s cubic-bezier(.4,0,.2,1);
    overflow: hidden;
}

.mega-menu-header { display: none; }
.back-btn { display: none; }

/* Close button — top-right, minimal */
.close-btn {
    position: absolute;
    top: 12px;
    right: 14px;
    z-index: 10;
    color: #9ca3af;
    cursor: pointer;
    font-size: 14px;
    width: 24px; height: 24px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 4px;
    background: transparent;
    border: none;
    transition: color 0.12s, background 0.12s;
}
.close-btn:hover { color: var(--h-text); background: #f3f4f6; }

.mega-menu-container {
    display: flex;
    min-height: 300px;
    max-height: 56vh;
    position: relative;
}

/* ── LEFT: parent list — no background, clean text list ── */
.parent-categories {
    width: 195px;
    flex-shrink: 0;
    padding: 16px 0 16px;
    border-right: 1px solid #f0f0f2;
    overflow-y: auto;
    background: transparent;
}
.parent-categories::-webkit-scrollbar { width: 0; }

.parent-categories > a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.parent-category {
    padding: 8px 20px;
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 400;
    color: #374151;
    border-left: 2px solid transparent;
    transition: color 0.1s, border-color 0.1s;
    line-height: 1.45;
    white-space: normal;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

/* Arrow — only visible on active */
.parent-category::after {
    content: "›";
    font-size: 17px;
    font-weight: 300;
    line-height: 1;
    color: transparent;
    flex-shrink: 0;
    transition: color 0.1s;
}

.parent-category:hover {
    color: var(--h-accent);
}
.parent-category:hover::after {
    color: var(--h-accent);
}

.parent-category.active {
    color: var(--h-accent);
    font-weight: 600;
    border-left-color: var(--h-accent);
    background: transparent;
}
.parent-category.active::after {
    color: var(--h-accent);
}

/* ── RIGHT: child list — plain text, 2 columns, like H&M ── */
.child-categories {
    flex: 1;
    padding: 18px 44px 18px 24px; /* right padding leaves room for close-btn */
    overflow-y: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-content: start;
}
.child-categories::-webkit-scrollbar { width: 0; }

.child-categories > a {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* Plain text links — exactly like H&M */
.child-category {
    padding: 7px 0;
    font-size: 13.5px;
    font-weight: 400;
    color: #374151;
    background: transparent;
    border: none;
    border-radius: 0;
    line-height: 1.45;
    cursor: pointer;
    white-space: normal;
    transition: color 0.1s;
    display: block;
}
.child-category:hover {
    color: var(--h-accent);
    background: transparent;
    border: none;
    transform: none;
}

/* ============================================================
   SEARCH — desktop
   ============================================================ */
.search-container {
    position: relative;
    display: flex;
    align-items: center;
    margin-left: 4px;
}

.search-input {
    display: none;
    width: 230px;
    padding: 8px 14px;
    border-radius: 8px;
    border: 1.5px solid var(--h-border);
    outline: none;
    font-size: 14px;
    font-family: var(--h-font);
    color: var(--h-text);
    background: var(--h-pill-bg);
    transition: border-color 0.2s, box-shadow 0.2s, width 0.3s;
}
.search-input::placeholder { color: var(--h-muted); }
.search-input:focus {
    border-color: var(--h-accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(26,110,245,0.10);
    width: 270px;
}

.search-btn {
    color: var(--h-muted);
    font-size: 15px;
    padding: 0;
    border-radius: 8px;
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    background: transparent;
    border: none;
    transition: color 0.15s;
    cursor: pointer;
}
.search-btn:hover { color: var(--h-accent); }

.search-submit {
    display: none;
    background: var(--h-accent);
    color: white;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    margin-left: 6px;
    transition: background 0.15s;
    white-space: nowrap;
    border: none;
    cursor: pointer;
}
.search-submit:hover { background: var(--h-accent-d); }

/* ============================================================
   MOBILE HEADER — full-screen drawer style
   ============================================================ */
.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
}

.hamburger {
    width: 22px; height: 16px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.hamburger span {
    display: block;
    height: 2px;
    width: 100%;
    background: var(--h-text);
    border-radius: 2px;
    transition: all 0.26s cubic-bezier(.4,0,.2,1);
}
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(3px, 5px); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(4px, -5px); }

.header-mobile {
    display: flex;
    flex-direction: column;
    padding: 0;
}

/* Dropdown under burger (NOT used in new design — burger opens overlay directly) */
.mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.32s cubic-bezier(.4,0,.2,1);
}
.mobile-menu.active { max-height: 600px; }

.mobile-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
    gap: 6px;
}
.mobile-row:first-child {
    justify-content: space-between;
    padding: 8px 0;
}

/* Mobile nav pills — minimal */
.mobile-btn {
    flex: 1;
    text-align: center;
    padding: 10px 8px;
    color: var(--h-text);
    border-radius: 8px;
    background: #f7f8fa;
    border: 1px solid #eaecef;
    font-size: 13px;
    font-weight: 500;
    font-family: var(--h-font);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.mobile-btn:hover, .mobile-btn:active {
    background: var(--h-hover-bg);
    color: var(--h-accent);
}
.mobile-btn i { font-size: 10px; color: #9ca3af; }

/* ============================================================
   OVERLAYS — full-screen, native-app feel
   ============================================================ */
@keyframes drawerSlideIn {
    from { opacity: 0; transform: translateX(-16px); }
    to   { opacity: 1; transform: translateX(0); }
}

.overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #fff;
    z-index: 2000;
    overflow: hidden;
    flex-direction: column;
    animation: drawerSlideIn 0.22s cubic-bezier(.4,0,.2,1);
}
.active-overlay { display: flex !important; }

/* Top bar */
.overlay-header {
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px 16px;
    border-bottom: 1px solid #f0f0f2;
    background: #fff;
}

.overlay-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--h-text);
    letter-spacing: -0.2px;
}

.overlay-close {
    color: #9ca3af;
    font-size: 18px;
    cursor: pointer;
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 6px;
    transition: background 0.12s, color 0.12s;
}
.overlay-close:hover { background: #f3f4f6; color: var(--h-text); }

/* Scrollable content area */
.overlay-content {
    flex: 1;
    overflow-y: auto;
    padding: 0 20px;
    -webkit-overflow-scrolling: touch;
}
.overlay-content::-webkit-scrollbar { width: 0; }

/* List items — tall tap targets, clean rows */
.overlay-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    color: var(--h-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    transition: color 0.1s;
    text-decoration: none;
}
.overlay-item:last-child { border-bottom: none; }
.overlay-item:active { color: var(--h-accent); }
.overlay-item a {
    color: inherit;
    text-decoration: none;
    flex: 1;
}

/* Right chevron */
.overlay-item::after {
    content: "›";
    color: #d1d5db;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    flex-shrink: 0;
    margin-left: 12px;
}

/* City and blog overlays — no chevron on leaf items */
#cityOverlayContent .overlay-item::after,
#blogOverlayContent .overlay-item::after,
.child-overlay-item::after { display: none; }

/* Bottom action bar */
.overlay-footer {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-top: 1px solid #f0f0f2;
    background: #fff;
}

.overlay-back {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--h-accent);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    padding: 8px 0;
    background: transparent;
    border: none;
    font-family: var(--h-font);
    transition: opacity 0.12s;
}
.overlay-back:hover { opacity: 0.75; }
.overlay-back i { font-size: 12px; }

.overlay-cancel {
    color: #9ca3af;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    padding: 8px 0;
    background: transparent;
    border: none;
    font-family: var(--h-font);
    transition: color 0.12s;
}
.overlay-cancel:hover { color: var(--h-text); }

/* Child categories overlay — same row style as parent categories */
#childCategoriesOverlayContent {
    display: block;
    padding-top: 0;
}

#childCategoriesOverlayContent > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    text-decoration: none;
    color: var(--h-text);
    padding: 15px 0;
    border-bottom: 1px solid #f3f4f6;
}

#childCategoriesOverlayContent > a:last-child {
    border-bottom: none;
}

#childCategoriesOverlayContent > a::after {
    content: "›";
    color: #d1d5db;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    flex-shrink: 0;
}

#childCategoriesOverlayContent .child-category {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    font-size: 15px;
    font-weight: 500;
    color: inherit;
    background: transparent;
    cursor: pointer;
    transition: color 0.12s;
    white-space: normal;
    line-height: 1.4;
}

#childCategoriesOverlayContent > a:hover .child-category,
#childCategoriesOverlayContent > a:active .child-category {
    color: var(--h-accent);
}

/* === STATE CLASSES === */
.active-dropdown i.fa-chevron-down { transform: rotate(180deg); }

@media (min-width: 1024px) {
    .header-desktop { display: flex; }
    .header-mobile  { display: none; }
}
@media (max-width: 1023px) {
    .header-desktop { display: none; }
    .header-mobile  { display: flex; }
}

.active-dropdown { background: var(--h-active-bg); color: var(--h-accent); }
.active-dropdown .dropdown-content,
.active-dropdown .mega-menu { display: block; }
.active-search .search-input,
.active-search .search-submit { display: block; }

/* === MOBILE SEARCH INPUT === */
.search-input-mobile {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--h-border);
    border-radius: 10px;
    font-size: 16px;
    font-family: var(--h-font);
    color: var(--h-text);
    background: var(--h-pill-bg);
    margin-bottom: 12px;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}
.search-input-mobile:focus {
    border-color: var(--h-accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(26,110,245,0.10);
}

.search-submit-mobile {
    width: 100%;
    padding: 14px;
    background: var(--h-accent);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--h-font);
    transition: background 0.15s;
}
.search-submit-mobile:hover { background: var(--h-accent-d); }



/* Скрытое модальное окно */
.modal {
  display: none;              /* изначально скрыто */
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);

  /* выравнивание по центру */
  align-items: center;        /* по вертикали */
  justify-content: center;    /* по горизонтали */
}

.modal-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
}

.modal-content img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 8px;
}

/* Кнопка закрытия */
.closeImage {
  position: absolute;
  top: -50px;
  right: 0;
  color: #fff;
  font-size: 40px;
  cursor: pointer;
}

/* стиль индикатора */
.loaderImage {
  border: 6px solid #f3f3f3;       /* серый фон */
  border-top: 6px solid #3498db;   /* синяя полоска */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
  margin: auto;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* --- MetallurgPRO: Company hero v2 (variant A) --- */
.company-header.company-hero-v2 {
    display: block;
    margin: 30px 0;
    padding: 30px; /* одинаково со всех сторон */
    background: linear-gradient(180deg, #eef4ff 0%, #f6f8fc 55%, #ffffff 100%);
    border-radius: 18px;
}

.company-hero-v2__wrap {
    display: grid;
    grid-template-columns: 460px 1fr;
    gap: 10px; /* расстояние между фото и карточкой (можно 20/30) */
    align-items: stretch;
}

.company-hero-v2__card {
    background: #ffffff;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 55px rgba(16, 24, 40, 0.18);
}

.company-hero-v2__media {
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px; /* чтобы логотипы не прилипали к краям */
    background: #fff;
}

.company-hero-v2__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;      /* вписываем без обрезки */
    object-position: center;
}

.company-hero-v2__info {
    padding: 30px; /* одинаковые внутренние отступы */
}

.company-hero-v2__title {
    margin: 0 0 12px;
    font-size: 44px;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.company-hero-v2__rating {
    margin-bottom: 18px;
}

.company-hero-v2__divider {
    height: 1px;
    background: #e6edf7;
    margin: 14px 0 18px;
}

.company-hero-v2__contacts {
    margin-top: 0;
}

.company-hero-v2__contacts .contact-item {
    margin-bottom: 12px;
}

.company-hero-v2__contacts .contact-item span {
    font-size: 18px;
    line-height: 1.4;
}

.company-hero-v2__cta.add-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    padding: 12px 18px;
    border-radius: 14px;
    background-color: #1260ff;
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    border: 1px solid rgba(18, 96, 255, 0.25);
}

.company-hero-v2__cta.add-review-btn:hover {
    background-color: #0b4fe0;
}

/* Responsive */
@media (max-width: 1024px) {
    .company-hero-v2__wrap {
        grid-template-columns: 380px 1fr;
        gap: 10px; /* сохраняем плотность */
    }
    .company-hero-v2__title {
        font-size: 36px;
    }
}

@media (max-width: 768px) {
    .company-header.company-hero-v2 {
        padding: 18px; /* чтобы слева/справа тоже было */
        border-radius: 14px;
    }
    .company-hero-v2__wrap {
        grid-template-columns: 1fr;
        gap: 12px; /* на мобиле чуть больше воздуха */
    }
    .company-hero-v2__media {
        min-height: 240px;
        padding: 14px;
    }
    .company-hero-v2__info {
        padding: 18px;
    }
    .company-hero-v2__title {
        font-size: 28px;
    }
    .company-hero-v2__contacts .contact-item span {
        font-size: 16px;
    }
}


/* --- MetallurgPRO: Additional characteristics v2 (tiles + long full-width) --- */
.company-additional-v2.info-block{
    padding: 30px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 55px rgba(16, 24, 40, 0.10);
}

.company-additional-v2__head{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.company-additional-v2__title{
    margin: 0;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #101822;
}

.company-additional-v2__grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}

.company-additional-v2__tile{
    background: #f5f8ff;
    border: 1px solid #e6edf7;
    border-radius: 14px;
    padding: 12px 14px;
}

.company-additional-v2__label{
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6b7a90;
    margin-bottom: 6px;
}

.company-additional-v2__value{
    font-size: 16px;
    line-height: 1.35;
    color: #101822;
    font-weight: 600;
    word-break: break-word;
}

.company-additional-v2__long{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 10px;
}

.company-additional-v2__longcard{
    background: #f5f8ff;
    border: 1px solid #e6edf7;
    border-radius: 16px;
    padding: 14px 16px;
}

.company-additional-v2__longhead{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.company-additional-v2__longtitle{
    font-size: 16px;
    font-weight: 800;
    color: #101822;
}

.company-additional-v2__more{
    appearance: none;
    border: 1px solid rgba(18, 96, 255, 0.20);
    background: #ffffff;
    color: #1260ff;
    padding: 7px 12px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
}

.company-additional-v2__more:hover{
    background: rgba(18, 96, 255, 0.06);
}

.company-additional-v2__preview{
    margin-top: 10px;
    color: #3a4a63;
    font-size: 14px;
    line-height: 1.45;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.company-additional-v2__full{
    display: none;
    margin-top: 12px;
    color: #3a4a63;
    font-size: 14px;
    line-height: 1.55;
}

.company-additional-v2__full p{
    margin-bottom: 10px;
}

.company-additional-v2__longcard.is-open .company-additional-v2__full{
    display: block;
}

.company-additional-v2__longcard.is-open .company-additional-v2__preview{
    display: none;
}

@media (max-width: 768px){
    .company-additional-v2.info-block{
        padding: 18px;
        border-radius: 14px;
    }
    .company-additional-v2__title{
        font-size: 22px;
    }
    .company-additional-v2__grid{
        grid-template-columns: 1fr;
    }
    .company-additional-v2__tile{
        padding: 12px 14px;
    }
}


/* --- MetallurgPRO: Financial block v2 (concept 2: KPI left + passport right) --- */
.company-fin-v2.info-block{
    padding: 30px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 55px rgba(16, 24, 40, 0.10);
}

.company-fin-v2__head{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.company-fin-v2__title{
    margin: 0;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #101822;
}

.company-fin-v2__wrap{
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 14px;
    align-items: stretch;
}

.company-fin-v2__left,
.company-fin-v2__right{
    background: #f5f8ff;
    border: 1px solid #e6edf7;
    border-radius: 16px;
    padding: 16px;
    position: relative;
}

.company-fin-v2__left:before{
    content: "";
    position: absolute;
    left: 14px;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 10px;
    background: #1260ff;
    opacity: 0.95;
}

.company-fin-v2__kpi{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding-left: 10px; /* чтобы не наезжать на акцентную линию */
}

.company-fin-v2__kpi-card{
    background: #ffffff;
    border: 1px solid #e6edf7;
    border-radius: 18px;
    padding: 14px 16px;
}

.company-fin-v2__kpi-top{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.company-fin-v2__kpi-icon{
    width: 36px;
    height: 36px;
    border-radius: 14px;
    background: rgba(18, 96, 255, 0.10);
    border: 1px solid rgba(18, 96, 255, 0.20);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1260ff;
    font-weight: 800;
    font-size: 16px;
    flex: 0 0 auto;
}

.company-fin-v2__kpi-icon:before{
    content: "•";
    line-height: 1;
}

.company-fin-v2__kpi-card--revenue .company-fin-v2__kpi-icon:before{ content: "₽"; }
.company-fin-v2__kpi-card--profit  .company-fin-v2__kpi-icon:before{ content: "↗"; }
.company-fin-v2__kpi-card--cost    .company-fin-v2__kpi-icon:before{ content: "⏱"; }

.company-fin-v2__kpi-label{
    font-size: 13px;
    font-weight: 800;
    color: #374353;
}

.company-fin-v2__kpi-value{
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: #101822;
    font-weight: 800;
    word-break: break-word;
}

.company-fin-v2__list{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.company-fin-v2__row{
    background: #ffffff;
    border: 1px solid #e6edf7;
    border-radius: 18px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.company-fin-v2__row-label{
    font-size: 14px;
    font-weight: 800;
    color: #374353;
    line-height: 1.35;
}

.company-fin-v2__row-value{
    flex: 0 0 auto;
    max-width: 260px;
}

.company-fin-v2__chip{
    display: inline-block;
    background: #ffffff;
    border: 1px solid #e6edf7;
    border-radius: 14px;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 800;
    color: #101822;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
}

@media (max-width: 1024px){
    .company-fin-v2__wrap{
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

@media (max-width: 768px){
    .company-fin-v2.info-block{
        padding: 18px;
        border-radius: 14px;
    }
    .company-fin-v2__title{
        font-size: 22px;
    }
    .company-fin-v2__left,
    .company-fin-v2__right{
        padding: 14px;
    }
    .company-fin-v2__left:before{
        left: 12px;
        top: 12px;
        bottom: 12px;
    }
    .company-fin-v2__kpi-value{
        font-size: 22px;
    }
    .company-fin-v2__row{
        padding: 12px 14px;
        align-items: flex-start;
    }
    .company-fin-v2__row-value,
    .company-fin-v2__chip{
        max-width: 100%;
        white-space: normal;
    }
}


/* =========================
   MetallurgPro Filter UI v2
   ========================= */
.mp-filter .mp-filter__panel{
  background:#fff;
  border:1px solid #e7eefc;
  border-radius:18px;
  box-shadow:0 12px 36px rgba(21, 37, 74, .10);
  padding:18px 16px;
}

.mp-filter__title{
  font-size:28px;
  font-weight:800;
  line-height:1.1;
  margin:0 0 14px 0;
  color:#1f2a44;
}

.mp-filter__cats{
  margin:0 0 18px 0;
}

.mp-filter__accordion{
  border:0;
}

/* jQuery UI accordion reset */
.mp-filter__accordion.ui-accordion .ui-accordion-header{
  margin:10px 0 0 0;
  padding:0;
  border:0;
  background:transparent;
}
.mp-filter__accordion.ui-accordion .ui-accordion-content{
  border:0;
  padding:10px 0 0 0;
  background:transparent;
}

.mp-filter__cat-btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #dfe9fb;
  background:#f6f9ff;
  color:#1f2a44;
  font-weight:700;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.mp-filter__cat-btn:hover{
  background:#eef5ff;
  border-color:#cfe0ff;
}
.mp-filter__accordion .ui-accordion-header-active .mp-filter__cat-btn,
.mp-filter__cat-btn.is-active{
  background:linear-gradient(180deg, #2f80ff 0%, #1f6fe6 100%);
  border-color:#1f6fe6;
  color:#fff;
  box-shadow:0 10px 22px rgba(31,111,230,.25);
}

.mp-filter__chev{
  width:18px;
  height:18px;
  border-radius:6px;
  background:rgba(31,111,230,.10);
  position:relative;
  flex:0 0 18px;
}
.mp-filter__accordion .ui-accordion-header-active .mp-filter__chev,
.mp-filter__cat-btn.is-active .mp-filter__chev{
  background:rgba(255,255,255,.18);
}
.mp-filter__chev:before{
  content:"";
  position:absolute;
  left:6px; top:6px;
  width:6px; height:6px;
  border-right:2px solid #1f6fe6;
  border-bottom:2px solid #1f6fe6;
  transform:rotate(-45deg);
  transition:transform .15s ease, top .15s ease;
}
.mp-filter__accordion .ui-accordion-header-active .mp-filter__chev:before{
  border-color:#fff;
  transform:rotate(45deg);
  top:5px;
}

.mp-filter__cat-title{
  font-size:15px;
  line-height:1.2;
}

.mp-filter__badge{
  margin-left:auto;
  padding:3px 10px;
  border-radius:999px;
  background:rgba(31,111,230,.10);
  color:#1f6fe6;
  font-weight:800;
  font-size:13px;
}
.mp-filter__accordion .ui-accordion-header-active .mp-filter__badge{
  background:rgba(255,255,255,.22);
  color:#fff;
}

.mp-filter__cat-panel{
  padding-left:0;
}

.mp-filter__subcat{
  display:flex;
  align-items:center;
  gap:10px;
  padding:3px 12px;
  border-radius:12px;
  border:1px solid transparent;
  color:#2b3857;
  text-decoration:none;
  background:transparent;
  transition:background .15s ease, border-color .15s ease;
  margin:3px 0;
}
.mp-filter__subcat:hover{
  background:#f3f7ff;
  border-color:#e3ecff;
}
.mp-filter__subcat--all{
  background:#ffffff;
  border-color:#e3ecff;
  font-weight:700;
  margin-bottom:10px;
}
.mp-filter__subcat.is-active{
  background:linear-gradient(90deg, rgba(31,111,230,.10) 0%, rgba(31,111,230,.02) 100%);
  border-color:rgba(31,111,230,.35);
}
.mp-filter__check{
  margin-left:auto;
  width:18px; height:18px;
  border-radius:6px;
  background:rgba(31,111,230,.12);
  position:relative;
}
.mp-filter__check:before{
  content:"";
  position:absolute;
  left:5px; top:5px;
  width:7px; height:4px;
  border-left:2px solid #1f6fe6;
  border-bottom:2px solid #1f6fe6;
  transform:rotate(-45deg);
}

.mp-filter__section{
  border-top:1px solid #eef2fb;
  margin-top:14px;
  padding-top:14px;
}
.mp-filter__section-title{
  font-size:20px;
  font-weight:800;
  margin:0 0 8px 0;
  color:#1f2a44;
}
.mp-filter__section-hint{
  margin:0 0 10px 0;
  font-size:13px;
  color:#6b7a99;
}

.mp-filter__field{
  margin:14px 0 16px 0;
}
.mp-filter__field-label{
  font-weight:700;
  color:#2b3857;
  margin-bottom:8px;
}
.mp-filter__range{
  margin-bottom:10px;
}

/* noUiSlider cosmetics */
.mp-filter .noUi-target{
  background:#e8eefb;
  border:0;
  border-radius:999px;
  box-shadow:none;
  height:8px;
}
.mp-filter .noUi-connect{
  background:linear-gradient(90deg, #2f80ff 0%, #1f6fe6 100%);
}
.mp-filter .noUi-handle{
  width:18px;
  height:18px;
  right:-9px;
  top:-6px;
  border-radius:10px;
  border:1px solid #cfe0ff;
  background:#fff;
  box-shadow:0 8px 18px rgba(31,111,230,.18);
}
.mp-filter .noUi-handle:before,
.mp-filter .noUi-handle:after{
  display:none;
}

.mp-filter__field-values{
  display:flex;
  align-items:center;
  gap:10px;
}
.mp-filter__num{
  width:92px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid #dbe6fb;
  background:#fff;
  font-weight:800;
  color:#1f2a44;
}
.mp-filter__sep{
  color:#9aa8c7;
  font-weight:700;
}
.mp-filter__numwrap{
  display:flex;
  align-items:center;
  gap:8px;
  padding-right:8px;
  border-radius:12px;
  background:#fff;
}
.mp-filter__numarrow{
  width:10px;
  height:10px;
  border-right:2px solid #a7b7d8;
  border-bottom:2px solid #a7b7d8;
  transform:rotate(-45deg);
  margin-left:-4px;
}

/* actions */
.mp-filter__actions{
  display:flex;
  gap:12px;
  margin-top:10px;
}
.mp-filter__btn{
  flex:1 1 0;
  border-radius:14px;
  padding:12px 14px;
  font-weight:800;
  border:1px solid transparent;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.mp-filter__btn--apply{
  background:linear-gradient(180deg, #2f80ff 0%, #1f6fe6 100%);
  color:#fff;
  box-shadow:0 12px 22px rgba(31,111,230,.20);
}
.mp-filter__btn--apply:hover{
  box-shadow:0 16px 28px rgba(31,111,230,.26);
}
.mp-filter__btn--reset{
  background:linear-gradient(180deg, rgba(255, 92, 92, .16) 0%, rgba(255, 92, 92, .06) 100%);
  border-color:rgba(255, 92, 92, .25);
  color:#d64040;
}
.mp-filter__btn-ico{
  font-size:14px;
  line-height:1;
}

/* Sidebar spacing on small screens */
@media (max-width: 991px){
  .mp-filter .mp-filter__panel{
    border-radius:16px;
    padding:16px 14px;
  }
  .mp-filter__title{ font-size:24px; }
}





























/* MetallurgPro / nv-search catalog cards — Variant 1 (final, aligned to mock screen 2) */

.nvr-cardlist{display:flex;flex-direction:column;gap:20px;margin-top:14px;}
.nvr-card{background:#fff;border:1px solid #dfe7f2;border-radius:22px;box-shadow:0 2px 10px rgba(17,34,68,.03);overflow:hidden;
  --nvr-btn-h:48px; --nvr-btn-r:15px; --nvr-gap:14px; --nvr-inner-x:0px;
}
.nvr-card--highlight{border-color:#cfdcf5;box-shadow:0 8px 24px rgba(24,66,136,.07);}
.nvr-card__in{padding:18px 20px 20px;}
.nvr-v1{display:flex;flex-direction:column;gap:18px;}

/* Header */
.nvr-v1__head{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:start;}
.nvr-v1__logoWrap{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.nvr-logo{width:76px;height:76px;border-radius:20px;background:#f2f4f8;border:1px solid #dde5f0;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none;}
.nvr-logo img{width:100%;height:100%;object-fit:cover;display:block;}
.nvr-v1__main{min-width:0;}
.nvr-name{display:block;color:#0f1d3a;font-weight:700;line-height:1.1;font-size:clamp(20px,2.0vw,22px);text-decoration:none;margin:0 0 8px;letter-spacing:-.02em;max-width:95%;}
.nvr-name:hover{color:#102956;}
.nvr-rankline{color:#5b6a83;font-size:13px;line-height:1.35;font-weight:700;margin:0 0 12px;}

/* Rating row: badges pinned right like mock */
.nvr-rating{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;row-gap:12px; margin-bottom:6px;}
.nvr-stars{display:inline-flex;gap:3px;color:#f2b400;font-size:16px;line-height:1;}
.nvr-rnum{font-weight:900;color:#101b34;font-size:16px;line-height:1;}
.nvr-rev{color:#6a7891;font-size:14px;line-height:1.2;}
.nvr-rating .nvr-verify--inline{margin-left:auto;}
.nvr-rating .nvr-tag--blue{margin-left:4px;}

.nvr-verify,.nvr-tag{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:800;line-height:1;white-space:nowrap;border:1px solid transparent;}
.nvr-verify{border-color:#bfe5c8;background:#e9f8ee;color:#0d8743;}
.nvr-verify--off{border-color:#dbe3ef;background:#f7f9fc;color:#61728c;}
.nvr-tag--blue{background:#eff5ff;color:#2a64e8;border-color:#bcd2ff;}
.nvr-tag--amber{background:#eff5ff;color:#2a64e8;border-color:#ffffff;}

/* Meta row */
.nvr-v1__metaRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;margin-top:8px;}
.nvr-line{display:flex;align-items:center;gap:8px;color:#2a3956;font-size:15px;line-height:1.35;min-width:0; overflow:hidden;}
.nvr-line .ico{opacity:.75;line-height:1;min-width:14px;text-align:center;flex:0 0 14px;}
.nvr-line--geo{justify-self:start;min-width:0;max-width:100%;margin-left:0; padding-left:2px;}
.nvr-geo{display:block;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.nvr-line--time{white-space:nowrap;justify-self:end; padding-right:2px; flex-shrink:0;}
.nvr-line strong{color:#0f1d3a;font-weight:800;}

/* Actions row */
.nvr-v1__actionsRow{display:grid;grid-template-columns:1.05fr 0.95fr 1.05fr;gap:var(--nvr-gap);align-items:stretch;max-width:920px; margin-top:2px;}
.nvr-phoneCta,.nvr-btn{width:100%;height:var(--nvr-btn-h);min-height:var(--nvr-btn-h);border-radius:var(--nvr-btn-r);box-sizing:border-box;}
.nvr-phoneCta{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid #b9d0ff;background:#eef4ff;color:#0f1d3a;text-decoration:none;padding:0 16px;font-weight:700;font-size:15px;line-height:1;box-shadow:none;}
.nvr-phoneCta .ico{font-size:16px;line-height:1;color:#111827;opacity:1;flex:0 0 auto;}
.nvr-phoneCta span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;}
.nvr-phoneCta:hover{background:#183a78;border-color:#17366e;color:#fff;}
.nvr-phoneCta:hover .ico{color:#fff;}
.nvr-phoneCta--muted{justify-content:center;color:#6a7891;font-size:14px;font-weight:700;background:#f7f9fc;border-color:#dde5f0;}

.nvr-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0 16px;font-weight:500;font-size:15px;line-height:1;border:1px solid transparent;transition:all .15s ease;}
.nvr-btn--primary{color:#fff;background:linear-gradient(180deg,#1f2e4f,#101a2e);border-color:#15233d;box-shadow:0 8px 20px rgba(10,19,38,.15);}
.nvr-btn--primary:hover{filter:brightness(1.03);}
.nvr-btn--ghost{color:#23324f;background:#fff;border-color:#dce4ef;}
.nvr-btn--ghost:hover{background:#f8fafc;}
.nvr-btn--soft{color:#2a64e8;background:#eef4ff;border-color:#b9d0ff;}

/* Price area — flatter, like mock 2 */
.nvr-v1__pricePanel{background:transparent;border:0;border-radius:0;padding:6px 0 0;margin-top:2px;}
/* optional badge from old layout — hide to reduce overload (table has deposit column) */
.nvr-v1__priceTop{display:none;}

/* table head */
.nvr-prices__head{display:grid;grid-template-columns:minmax(0,1fr) 180px 190px;align-items:center;gap:0;margin:4px 0 8px;padding:0;}
.nvr-prices__head > div{padding:0 7px;font-size:13px;font-weight:800;color:#1c2a46;line-height:1.2;}
.nvr-prices__head .is-deposit,.nvr-prices__head .is-price{text-align:left;}

/* table body wrapper */
.nvr-prices--tablelike{background:#fff;border:1px solid #e1e9f4;border-radius:6px;overflow:hidden;margin:0;}
.nvr-price{display:grid;grid-template-columns:minmax(0,1fr) 180px 190px;gap:0;align-items:center;padding:0;min-height:46px;background:#f7f9fc;}
.nvr-price + .nvr-price{border-top:1px solid #e8eef7;}
.nvr-price > span{padding:10px 14px;min-height:46px;display:flex;align-items:center;}
.nvr-price__name{color:#55657f;font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nvr-price__dep{color:#7a889f;font-size:14px;line-height:1.2;border-left:1px solid #e8eef7;}
.nvr-price__val{color:#0f1d3a;font-weight:900;font-size:14px;white-space:nowrap;border-left:1px solid #e8eef7;justify-content:flex-start;}

.nvr-more{display:inline-flex;align-items:center;margin-top:14px;color:#2a64e8;text-decoration:none;font-weight:800;font-size:14px;line-height:1.2;}
.nvr-more:hover{text-decoration:underline;}

/* Legacy safety */
.nvr-col--actions .nvr-actions,.nvr-col--cond .nvr-cond,.nvr-card__grid{min-width:0;}

/* Responsive */
@media (max-width: 1180px){
  .nvr-name{max-width:100%;}
  .nvr-rating .nvr-verify--inline{margin-left:0;}
  .nvr-v1__metaRow{grid-template-columns:1fr;gap:8px;align-items:start;}
  .nvr-line--time{justify-self:start;white-space:normal;}
  .nvr-geo{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
  .nvr-v1__actionsRow{grid-template-columns:1fr;max-width:100%;gap:10px;}
  .nvr-prices__head,.nvr-price{grid-template-columns:minmax(0,1fr) 150px 160px;}
}
@media (max-width: 768px){
  .nvr-card{--nvr-btn-h:46px;--nvr-btn-r:14px;--nvr-actions-fz:14px;--nvr-gap:10px;}
  .nvr-card__in{padding:16px;}
  .nvr-v1{gap:14px;}
  .nvr-v1__head{grid-template-columns:72px minmax(0,1fr);gap:12px;}
  .nvr-logo{width:64px;height:64px;border-radius:16px;}
  .nvr-name{font-size:20px;margin-bottom:8px;}
  .nvr-rankline{font-size:12px;margin-bottom:10px;}
  .nvr-rating{gap:8px 12px;}
  .nvr-stars{font-size:14px;} .nvr-rnum{font-size:15px;} .nvr-rev{font-size:13px;}
  .nvr-verify,.nvr-tag{min-height:30px;padding:0 10px;font-size:11px;}
  .nvr-line{font-size:14px;gap:6px;} .nvr-line .ico{min-width:13px;flex-basis:13px;}
  .nvr-line--geo{margin-left:0;}
  .nvr-phoneCta{font-size:14px;padding:0 12px;} .nvr-phoneCta .ico{font-size:15px;}
  .nvr-btn{font-size:14px;padding:0 12px;}
  .nvr-prices__head{display:none;} /* hide head on small screens */
  .nvr-prices--tablelike{border-radius:10px;}
  .nvr-price{grid-template-columns:minmax(0,1fr) auto;min-height:auto;}
  .nvr-price__dep{display:none;}
  .nvr-price > span{min-height:44px;padding:10px 12px;}
  .nvr-price__name,.nvr-price__val{font-size:14px;}
}


/* Fix meta row overlap and spacing (final tweak) */
.nvr-v1__main{padding-right:4px;}
.nvr-v1__metaRow > *{min-width:0;}
.nvr-v1__metaRow .nvr-line--geo .nvr-geo{padding-right:8px;}

@media (max-width:1180px){
  .nvr-v1{gap:16px;}
  .nvr-rating{margin-bottom:4px;}
}

/* === Header menu fix === */
header,
.header-desktop,
.header-desktop .dropdown,
.header-desktop .nav-item {
  overflow: visible;
}

#categoryTrigger,
#cityTrigger,
#blogTrigger {
  position: relative;
}

#categoryMenu,
#cityDropdown,
#blogDropdown {
  pointer-events: auto;
}

.child-category.is-empty {
  color: #6b7280;
  cursor: default;
}


/* Mobile child categories — same look as parent chips */
@media (max-width: 768px) {
  .ast-header-break-point .main-header-menu .sub-menu,
  .ast-header-break-point .main-header-menu .sub-menu li,
  .ast-header-break-point .main-header-menu .sub-menu a,
  .ast-header-break-point .main-header-menu .sub-menu .menu-link,
  .ast-header-break-point .main-header-menu .sub-menu .custom-menu-link {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .ast-header-break-point .main-header-menu .sub-menu li,
  .ast-header-break-point li.menu-item-second,
  .ast-header-break-point .custom-menu-item {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .ast-header-break-point .main-header-menu .sub-menu a,
  .ast-header-break-point .main-header-menu .sub-menu .menu-link,
  .ast-header-break-point .main-header-menu .sub-menu .custom-menu-link {
    display: inline-flex !important;
    align-items: center;
    min-height: 40px;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: #f3f4f6 !important;
    color: #2d3748 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-decoration: none !important;
  }

  .ast-header-break-point .main-header-menu .sub-menu .custom-menu-level-2,
  .ast-header-break-point .main-header-menu .sub-menu .sub-menu {
    padding-left: 0 !important;
    margin-top: 8px !important;
  }

  .ast-header-break-point .custom-menu-item.has-children > .custom-menu-link:after,
  .ast-header-break-point #ServicesLi > .menu-link:after {
    display: none !important;
  }
}
