/* ==========================================================================
   companies.css — стили карточки компании (Mini-CRM)
   Подключается в: companies/detail-alt.html (вынесено из inline <style>, Фаза 6.1)
   ВНИМАНИЕ: companies — hub-модуль (18 apps зависят). Менять осторожно,
   все классы uv-cd-* используются только в detail-alt.html (single-use компонент).
   ========================================================================== */

/* ── Company Detail — Refined Gold ── */

/* Hero header */
.uv-cd-hero {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding: 1.5rem;
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-2xl) var(--uv-radius-2xl) 0 0;
    background: linear-gradient(135deg, var(--uv-bg-warm) 0%, var(--uv-surface) 50%, var(--uv-bg-warm) 100%);
}
.uv-cd-body {
    padding: .75rem 1.5rem 1rem;
    border: 1px solid var(--uv-border);
    border-top: none;
    border-radius: 0 0 var(--uv-radius-2xl) var(--uv-radius-2xl);
    background: var(--uv-surface);
    margin-bottom: 1.5rem;
}
.uv-cd-hero-pro {
    border-color: var(--uv-border);
    box-shadow: var(--uv-shadow-primary-sm);
}
.uv-cd-hero-pro + .uv-cd-body {
    border-color: var(--uv-border);
    box-shadow: var(--uv-shadow-primary-sm);
}
.uv-cd-avatar-wrap {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 180px;
}
.uv-cd-logo {
    width: 100%;
    max-width: 180px;
    margin-bottom: .5rem;
}
.uv-cd-logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: var(--uv-radius-sm);
}
.uv-cd-avatar {
    width: 180px;
    height: 180px;
    border-radius: var(--uv-radius-circle);
    overflow: hidden;
    border: 3px solid var(--uv-border);
    background: var(--uv-bg-warm);
}
.uv-cd-hero-pro .uv-cd-avatar { border-color: #c5c0b8; }
.uv-cd-avatar {
    transition: transform var(--uv-duration-base) ease, box-shadow var(--uv-duration-base) ease, border-color var(--uv-duration-base) ease;
}
.uv-cd-avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    border-color: #a09888;
}
.uv-cd-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.uv-cd-avatar a { display: block; width: 100%; height: 100%; }
.uv-cd-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}
.uv-cd-avatar-placeholder svg {
    width: 64px;
    height: 64px;
    opacity: .35;
}
.uv-cd-info { flex: 1; min-width: 0; }
.uv-cd-info h1 {
    font-size: var(--uv-fs-h2);
    font-weight: var(--uv-fw-bold);
    color:var(--uv-text-dark);
    margin: 0 0 .4rem;
    line-height: var(--uv-lh-compact);
}
.uv-cd-subtitle {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: .5rem;
}
/* Badges */
.uv-badge { display:inline-flex; align-items:center; gap:.25rem; padding:.2rem .65rem; border-radius: var(--uv-radius-3xl); font-size:var(--uv-fs-micro); font-weight: var(--uv-fw-bold); letter-spacing:.03em; text-decoration:none; white-space:nowrap; line-height:var(--uv-lh-base); }
.uv-badge-pro { background:linear-gradient(135deg,var(--uv-primary),var(--uv-primary-dark)); color:var(--uv-text-inverse); }
.uv-badge-registry { background:linear-gradient(135deg,#2d8a4e,#1e6b3a); color:var(--uv-text-inverse); }
.uv-cd-rating-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .65rem;
}
.uv-cd-rating-row a {
    font-size: var(--uv-fs-xs);
    color: var(--uv-text-muted);
    text-decoration: none;
}
.uv-cd-rating-row a:hover { color: var(--uv-primary); }

/* Tags / categories */
.uv-cd-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .4rem;
    margin-bottom: .6rem;
}
.uv-cd-tags-label {
    font-size: var(--uv-fs-small);
    font-weight: var(--uv-fw-semibold);
    color: var(--uv-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-right: .15rem;
}
.uv-cd-tag {
    display: inline-block;
    padding: .2rem .6rem;
    border-radius: var(--uv-radius-sm);
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dim);
    background: var(--uv-bg-warm);
    text-decoration: none;
    transition: all var(--uv-duration-base);
}
.uv-cd-tag:hover {
    background: var(--uv-border);
    color:var(--uv-text-dark);
    text-decoration: none;
}

/* Address (separate line) */
.uv-cd-address {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dark);
    margin-bottom: .5rem;
    text-align: left;
}
.uv-cd-address i {
    color: var(--uv-primary);
    font-size: var(--uv-fs-small);
    flex-shrink: 0;
    margin-top: .15rem;
}
.uv-cd-address span {
    flex: 1;
}

/* Contact info */
.uv-cd-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.25rem;
    margin-bottom: .5rem;
}
.uv-cd-contact {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dark);
}
.uv-cd-contact i {
    color: var(--uv-primary);
    font-size: var(--uv-fs-small);
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}
.uv-cd-contact a {
    color: var(--uv-text-dark);
    text-decoration: none;
    transition: color var(--uv-duration-fast);
}
.uv-cd-contact a:hover { color: var(--uv-primary); }

/* Social links */
.uv-cd-socials {
    display: flex;
    gap: .5rem;
    margin-top: .25rem;
    margin-bottom: .5rem;
}
.uv-cd-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--uv-radius-md);
    background: var(--uv-bg-warm);
    transition: all var(--uv-duration-base);
}
.uv-cd-socials a:hover {
    background: var(--uv-border);
    transform: translateY(-2px);
}
.uv-cd-socials img { width: 20px; height: 20px; }

/* Action buttons row */
.uv-cd-actions {
    flex-basis: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .4rem;
    margin-bottom: 0;
}
.uv-cd-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    padding: .5rem;
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-md);
    font-size: var(--uv-fs-xs);
    font-weight: var(--uv-fw-medium);
    color: var(--uv-text-dim);
    background: var(--uv-surface);
    cursor: pointer;
    text-decoration: none;
    transition: all var(--uv-duration-base);
    text-align: center;
}
.uv-cd-action:hover {
    border-color: var(--uv-primary);
    color:var(--uv-text-dark);
    text-decoration: none;
}
.uv-cd-action-primary {
    background: linear-gradient(135deg, var(--uv-primary), var(--uv-primary-dark));
    color: var(--uv-text-inverse);
    border-color: transparent;
}
.uv-cd-action-primary:hover {
    background: linear-gradient(135deg, var(--uv-primary-dark), var(--uv-primary-hover));
    color: var(--uv-text-inverse);
    box-shadow: var(--uv-shadow-primary);
}
.uv-cd-action i { font-size: var(--uv-fs-xs); }
@media (min-width: 576px) {
    .uv-cd-action {
        flex-direction: row;
        gap: .4rem;
        padding: .4rem .75rem;
    }
}
@media (min-width: 768px) {
    .uv-cd-actions {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Manager ID */
.uv-cd-manager-id {
    font-size: var(--uv-fs-micro);
    color: var(--uv-text-hint);
}

/* ── Mini CRM ── */
.uv-cd-crm {
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-lg);
    padding: 1rem;
    background: var(--uv-bg-warm);
    margin-bottom: 1rem;
}
.uv-cd-crm-title {
    font-size: var(--uv-fs-xs);
    font-weight: var(--uv-fw-semibold);
    color: var(--uv-text-muted);
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: .5rem;
}
.uv-cd-crm-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    color: inherit;
}
.uv-cd-crm-toggle:hover .uv-cd-crm-title { color: var(--uv-text-primary, #222); }
.uv-cd-crm-chevron {
    font-size: var(--uv-fs-small);
    color: var(--uv-text-muted);
    transition: transform var(--uv-duration-base) ease;
}
.uv-cd-crm-chevron-open { transform: rotate(180deg); }
.uv-cd-crm-sentiment {
    font-size: var(--uv-fs-small);
    font-weight: var(--uv-fw-semibold);
}
.uv-cd-crm-sentiment-positive { color: #2d8a4e; }
.uv-cd-crm-sentiment-negative { color: #d9534f; }
.uv-cd-crm-sentiment-neutral { color: var(--uv-text-muted); }
.uv-cd-crm-note {
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dim);
    font-style: italic;
    margin: .35rem 0;
}
.uv-cd-crm-dates {
    font-size: var(--uv-fs-micro);
    color: var(--uv-text-hint);
    text-transform: uppercase;
}
.uv-cd-crm-info {
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-lg);
    padding: 1rem;
    background: var(--uv-bg-warm);
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dim);
    line-height: var(--uv-lh-content);
}

/* ── Article content ── */
.uv-cd-content {
    margin: 1.25rem 0;
    line-height: var(--uv-lh-content);
    color: var(--uv-text-dark);
}
.uv-cd-content strong { color:var(--uv-text-dark); }

/* ── Video embed ── */
.uv-cd-video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    border-radius: var(--uv-radius-xl);
    overflow: hidden;
    margin-bottom: 1.25rem;
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
.uv-cd-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ── Assay Registry ── */
.uv-cd-registry {
    display: flex;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: var(--uv-radius-lg);
    background: linear-gradient(135deg, #f0faf4 0%, var(--uv-surface) 100%);
    border: 1px solid #c3e6d1;
    margin-bottom: 1.25rem;
}
.uv-cd-registry-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: var(--uv-radius-circle);
    background: linear-gradient(135deg, #2d8a4e, #1e6b3a);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--uv-text-inverse);
    font-size: var(--uv-fs-h3);
}
.uv-cd-registry-body { flex: 1; }
.uv-cd-registry-title {
    font-size: var(--uv-fs-small);
    font-weight: var(--uv-fw-bold);
    color:var(--uv-text-dark);
    margin-bottom: .3rem;
}
.uv-cd-registry-row {
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dim);
    line-height: var(--uv-lh-content);
}
.uv-cd-registry-risk {
    margin-top: .5rem;
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dim);
}
.uv-cd-registry-risk strong { color:var(--uv-text-dark); }
.uv-cd-registry-note {
    font-size: var(--uv-fs-micro);
    color: var(--uv-text-hint);
    margin-top: .25rem;
}

/* ── Meta info ── */
.uv-cd-meta {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    font-size: var(--uv-fs-micro);
    color: var(--uv-text-hint);
    text-transform: uppercase;
    padding: .75rem 0;
    border-top: 1px solid var(--uv-border-light);
    margin-bottom: 1rem;
}
.uv-cd-meta a {
    color: var(--uv-text-muted);
    text-decoration: none;
}
.uv-cd-meta a:hover { color: var(--uv-primary); }
.uv-cd-meta img { border-radius: var(--uv-radius-circle); vertical-align: middle; margin-right: .25rem; }

/* ── Tabs ── */
.uv-cd-tabs {
    display: flex;
    gap: .25rem;
    border-bottom: 2px solid var(--uv-border);
    margin-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.uv-cd-tabs::-webkit-scrollbar { display: none; }
.uv-cd-tab {
    padding: .6rem 1rem;
    font-size: var(--uv-fs-xs);
    font-weight: var(--uv-fw-semibold);
    color: var(--uv-text-muted);
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    position: relative;
    transition: color var(--uv-duration-base);
    white-space: nowrap;
}
.uv-cd-tab:hover { color:var(--uv-text-dark); }
.uv-cd-tab.active { color:var(--uv-text-dark); }
.uv-cd-tab.active::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 2px;
    background: linear-gradient(90deg, var(--uv-primary), var(--uv-primary-dark));
    border-radius: var(--uv-radius-xs) var(--uv-radius-xs) 0 0;
}
.uv-cd-tab-count {
    font-size: var(--uv-fs-micro);
    font-weight: var(--uv-fw-bold);
    color: var(--uv-primary);
    margin-left: .2rem;
    vertical-align: super;
}
.uv-cd-panel {
    display: none;
    padding: 1.25rem 0;
    animation: uvCdFade var(--uv-anim-fast) ease;
}
.uv-cd-panel.active { display: block; }
@keyframes uvCdFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* Gallery grid */
.uv-cd-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: .5rem;
}
.uv-cd-gallery-item {
    border-radius: var(--uv-radius-md);
    overflow: hidden;
    aspect-ratio: 1;
    transition: all var(--uv-duration-base);
}
.uv-cd-gallery-item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
    transform: scale(1.02);
}
.uv-cd-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Video grid */
.uv-cd-videos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .75rem;
}
.uv-cd-video-card {
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-lg);
    overflow: hidden;
    transition: all var(--uv-duration-base);
    text-decoration: none;
    color:var(--uv-text-dark);
}
.uv-cd-video-card:hover {
    border-color: var(--uv-primary);
    box-shadow: var(--uv-shadow-primary-sm);
    transform: translateY(-2px);
    text-decoration: none;
    color:var(--uv-text-dark);
}
.uv-cd-video-card-thumb {
    aspect-ratio: 16/9;
    overflow: hidden;
    background: var(--uv-bg-warm);
}
.uv-cd-video-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.uv-cd-video-card-title {
    padding: .6rem .75rem;
    font-size: var(--uv-fs-small);
    font-weight: var(--uv-fw-semibold);
    line-height: var(--uv-lh-compact);
}

/* Press releases */
.uv-cd-press-item {
    display: flex;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--uv-border-light);
}
.uv-cd-press-item:last-child { border-bottom: none; }
.uv-cd-press-item-thumb {
    flex-shrink: 0;
    width: 200px;
    height: 120px;
    border-radius: var(--uv-radius-md);
    overflow: hidden;
    background: var(--uv-bg-warm);
}
.uv-cd-press-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.uv-cd-press-item-body { flex: 1; }
.uv-cd-press-item-title {
    font-size: var(--uv-fs-body);
    font-weight: var(--uv-fw-semibold);
    color:var(--uv-text-dark);
    text-decoration: none;
    margin-bottom: .35rem;
    display: block;
    line-height: var(--uv-lh-compact);
}
.uv-cd-press-item-title:hover { color: var(--uv-primary); }
.uv-cd-press-item-meta {
    display: flex;
    gap: .75rem;
    font-size: var(--uv-fs-micro);
    color: var(--uv-text-hint);
    margin-bottom: .35rem;
}
.uv-cd-press-item-meta i { margin-right: .15rem; }
.uv-cd-press-item-excerpt {
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dim);
    line-height: var(--uv-lh-base);
}

/* Showcase */
.uv-cd-showcase {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .5rem;
}
.uv-cd-showcase-card {
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-md);
    padding: .5rem;
    text-align: center;
    transition: all var(--uv-duration-base);
}
.uv-cd-showcase-card:hover {
    border-color: var(--uv-primary);
    box-shadow: var(--uv-shadow-primary-sm);
}
.uv-cd-showcase-card img {
    border-radius: var(--uv-radius-sm);
    margin-bottom: .35rem;
}
.uv-cd-showcase-label {
    font-size: var(--uv-fs-micro);
    color: var(--uv-text-muted);
    line-height: var(--uv-lh-compact);
}

/* EGR Statement */
.uv-cd-egr { font-size: var(--uv-fs-small); color: var(--uv-text-dark); line-height: var(--uv-lh-content); }
.uv-cd-egr strong { color:var(--uv-text-dark); }
.uv-cd-egr table {
    width: 100%;
    border-collapse: collapse;
    margin-top: .75rem;
    font-size: var(--uv-fs-small);
}
.uv-cd-egr table th {
    background: var(--uv-bg-warm);
    font-weight: var(--uv-fw-semibold);
    color: var(--uv-text-muted);
    text-transform: uppercase;
    font-size: var(--uv-fs-micro);
    letter-spacing: .04em;
    padding: .5rem .75rem;
    text-align: left;
    border-bottom: 2px solid var(--uv-border);
}
.uv-cd-egr table td {
    padding: .45rem .75rem;
    border-bottom: 1px solid var(--uv-border-light);
    color: var(--uv-text-dim);
}
.uv-cd-egr table tr:hover td { background: var(--uv-bg-warm); }

/* ── Share ── */
.uv-cd-share {
    padding: .75rem 0;
    border-top: 1px solid var(--uv-border-light);
    margin-bottom: 1rem;
}

/* ── Review form ── */
.uv-cd-review-form {
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-xl);
    padding: 1.25rem;
    background: var(--uv-bg-warm);
    margin-bottom: 1.25rem;
}
.uv-cd-review-form-hint {
    font-size: var(--uv-fs-xs);
    color: var(--uv-text-muted);
    font-style: italic;
    margin-bottom: .75rem;
}

/* Info message */
.uv-cd-info-msg {
    display: flex;
    gap: .75rem;
    padding: 1rem;
    border-radius: var(--uv-radius-lg);
    background: var(--uv-bg-warm);
    border: 1px solid var(--uv-border);
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dim);
    margin-bottom: 1rem;
}
.uv-cd-info-msg i { color: var(--uv-primary); font-size: var(--uv-fs-h4); flex-shrink: 0; margin-top: .1rem; }
.uv-cd-info-msg a { color: var(--uv-primary); font-weight: var(--uv-fw-semibold); }

/* ── Reviews ── */
.uv-cd-reviews-header {
    font-size: var(--uv-fs-h4);
    font-weight: var(--uv-fw-bold);
    color:var(--uv-text-dark);
    margin-bottom: .75rem;
    padding-top: .75rem;
    border-top: 1px solid var(--uv-border-light);
}
.uv-cd-reviews-summary {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: var(--uv-fs-small);
    color: var(--uv-text-muted);
    margin-bottom: 1rem;
}
.uv-cd-review-card {
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-lg);
    padding: 1rem;
    margin-bottom: .75rem;
    background: var(--uv-surface);
}
.uv-cd-review-card-header {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .5rem;
}
.uv-cd-review-card-avatar {
    width: 32px;
    height: 32px;
    border-radius: var(--uv-radius-circle);
    overflow: hidden;
    flex-shrink: 0;
}
.uv-cd-review-card-avatar img { width: 100%; height: 100%; object-fit: cover; }
.uv-cd-review-card-author {
    font-size: var(--uv-fs-small);
    font-weight: var(--uv-fw-semibold);
    color:var(--uv-text-dark);
    text-decoration: none;
}
.uv-cd-review-card-author:hover { color: var(--uv-primary); }
.uv-cd-review-card-text {
    font-size: var(--uv-fs-small);
    color: var(--uv-text-dark);
    line-height: var(--uv-lh-content);
    margin: .35rem 0;
}
.uv-cd-review-card-edit {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: var(--uv-fs-micro);
    color: var(--uv-text-muted);
    text-decoration: none;
    padding: .2rem .6rem;
    border: 1px solid var(--uv-border);
    border-radius: var(--uv-radius-sm);
    transition: all var(--uv-duration-base);
}
.uv-cd-review-card-edit:hover { border-color: var(--uv-primary); color: var(--uv-primary); }

/* ── Sidebar ── */
.uv-cd-sidebar-btn {
    display: block;
    width: 100%;
    padding: .65rem 1rem;
    border-radius: var(--uv-radius-lg);
    background: linear-gradient(135deg, var(--uv-primary), var(--uv-primary-dark));
    color: var(--uv-text-inverse);
    font-size: var(--uv-fs-small);
    font-weight: var(--uv-fw-bold);
    text-align: center;
    text-decoration: none;
    transition: all var(--uv-duration-base);
    margin-bottom: 1.25rem;
}
.uv-cd-sidebar-btn:hover {
    background: linear-gradient(135deg, var(--uv-primary-dark), var(--uv-primary-hover));
    color: var(--uv-text-inverse);
    box-shadow: var(--uv-shadow-primary-lg);
    transform: translateY(-2px);
    text-decoration: none;
}
.uv-cd-sidebar-btn i { margin-right: .3rem; }

.uv-cd-related {
    border-radius: var(--uv-radius-xl);
    background: linear-gradient(135deg, var(--uv-bg-warm), var(--uv-bg-warm));
    border: 1px solid var(--uv-border);
    padding: 1.15rem;
    margin-bottom: 1.25rem;
}
.uv-cd-related-header {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: .75rem;
    padding-bottom: .6rem;
    border-bottom: 1px solid var(--uv-border);
}
.uv-cd-related-title {
    font-size: var(--uv-fs-xs);
    font-weight: var(--uv-fw-bold);
    color:var(--uv-text-dark);
}
.uv-cd-related-stars {
    margin-left: auto;
    color: var(--uv-primary);
    font-size: var(--uv-fs-micro);
    letter-spacing: 1px;
}
.uv-cd-related-list { list-style: none; padding: 0; margin: 0; }
.uv-cd-related-item {
    padding: .35rem 0;
    border-bottom: 1px solid rgba(var(--uv-primary-rgb), .1);
}
.uv-cd-related-item:last-child { border-bottom: none; }
.uv-cd-related-item a {
    font-size: var(--uv-fs-small);
    font-weight: var(--uv-fw-medium);
    color:var(--uv-text-dark);
    text-decoration: none;
    transition: color var(--uv-duration-fast);
    line-height: var(--uv-lh-base);
}
.uv-cd-related-item a:hover { color: var(--uv-primary); }
.uv-cd-related-item a::before {
    content: '\25C6';
    color: var(--uv-primary);
    margin-right: .4rem;
    font-size: var(--uv-fs-micro);
    vertical-align: middle;
}

/* Responsive */
@media (max-width: 767.98px) {
    .uv-cd-hero { flex-direction: row; align-items: flex-start; padding: 1rem; gap: 1rem; }
    .uv-cd-avatar-wrap { width: 80px; flex-shrink: 0; }
    .uv-cd-logo { max-width: 80px; }
    .uv-cd-avatar { width: 80px; height: 80px; }
    .uv-cd-info { flex: 1; min-width: 0; }
    .uv-cd-info h1 { font-size: var(--uv-fs-h4); margin-bottom: .3rem; }
    .uv-cd-subtitle { flex-wrap: wrap; }
    .uv-cd-contacts { grid-template-columns: 1fr; }
    .uv-cd-press-item { flex-direction: column; }
    .uv-cd-press-item-thumb { width: 100%; height: 180px; }
    .uv-cd-gallery { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
}

.uv-hidden { display: none; }
.uv-cd-map-dialog { min-width: 50vw; height: 50vh; }
.uv-cd-tags-footer { margin-top: .6rem; padding-top: .5rem; border-top: 1px solid var(--uv-border); }
.uv-cd-tags-secondary { opacity: .75; margin-bottom: .25rem; flex-wrap: wrap; }
.uv-cd-tags-secondary .uv-cd-tags-label { font-size: .72rem; flex-shrink: 0; }
.uv-cd-tags-secondary .uv-cd-tag { font-size: .72rem; padding: 0; background: none; border-radius: 0; overflow-wrap: break-word; word-break: break-word; }
.uv-cd-tags-secondary .uv-cd-tag + .uv-cd-tag::before { content: ", "; color: var(--uv-text-muted); }

/* ==========================================================================
   Реестр организаций — популярные (вынесено из companies/popular.html)
   ========================================================================== */

/* ── Top 100 — Luxury Leaderboard ── */

        .uv-top-hero {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            padding: 1.75rem 2rem;
            margin-bottom: 2rem;
            background: linear-gradient(135deg, var(--uv-dark) 0%, var(--uv-dark-soft) 100%);
            border-radius: var(--uv-radius-2xl);
            position: relative;
            overflow: hidden;
        }
        .uv-top-hero::before {
            content: '';
            position: absolute;
            top: -40%;
            right: -10%;
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, rgba(var(--uv-primary-rgb), .15) 0%, transparent 70%);
            pointer-events: none;
        }
        .uv-top-hero-icon {
            flex-shrink: 0;
            width: 56px;
            height: 56px;
            border-radius: var(--uv-radius-2xl);
            background: linear-gradient(135deg, var(--uv-primary), var(--uv-primary-dark));
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: var(--uv-fs-h2);
            color: var(--uv-text-inverse);
            box-shadow: var(--uv-shadow-primary-lg);
        }
        .uv-top-hero-title {
            font-size: var(--uv-fs-h2);
            font-weight: var(--uv-fw-bold);
            color: var(--uv-text-inverse);
            margin: 0 0 .3rem;
            letter-spacing: -.01em;
        }
        .uv-top-hero-subtitle {
            font-size: var(--uv-fs-small);
            color: rgba(255,255,255,.55);
            margin: 0;
            line-height: var(--uv-lh-base);
        }

        /* ── Card list ── */
        .uv-top-list {
            display: flex;
            flex-direction: column;
            gap: .5rem;
        }

        .uv-top-card {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: .85rem 1.15rem;
            border: 1px solid var(--uv-border);
            border-radius: var(--uv-radius-lg);
            background: var(--uv-surface);
            text-decoration: none;
            color: inherit;
            transition: all var(--uv-duration-base) var(--uv-ease);
        }
        .uv-top-card:hover {
            border-color: var(--uv-primary);
            box-shadow: var(--uv-shadow-primary-sm);
            transform: translateX(4px);
            text-decoration: none;
            color: inherit;
        }
        .uv-top-card-podium {
            background: linear-gradient(135deg, var(--uv-bg-warm) 0%, var(--uv-surface) 60%);
            border-color: var(--uv-border);
        }

        /* ── Rank ── */
        .uv-top-card-rank {
            flex-shrink: 0;
            width: 40px;
            height: 40px;
            border-radius: var(--uv-radius-lg);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            font-size: var(--uv-fs-micro);
            font-weight: var(--uv-fw-bold);
            color: var(--uv-text-muted);
            background: var(--uv-bg-warm);
            line-height: var(--uv-lh-none);
            gap: 1px;
        }
        .uv-top-card-rank i {
            font-size: var(--uv-fs-xs);
        }
        .uv-top-card-rank-gold {
            background: linear-gradient(135deg, var(--uv-primary), #6ea8fe);
            color: var(--uv-text-inverse);
            box-shadow: var(--uv-shadow-primary-lg);
        }
        .uv-top-card-rank-silver {
            background: linear-gradient(135deg, #9ca3af, #d1d5db);
            color: var(--uv-text-inverse);
            box-shadow: 0 3px 12px rgba(156,163,175,.25);
        }
        .uv-top-card-rank-bronze {
            background: linear-gradient(135deg, #b8734a, #d4a574);
            color: var(--uv-text-inverse);
            box-shadow: 0 3px 12px rgba(184,115,74,.25);
        }

        /* ── Logo ── */
        .uv-top-card-logo {
            flex-shrink: 0;
            width: 52px;
            height: 52px;
            border-radius: var(--uv-radius-circle);
            overflow: hidden;
            border: 2px solid var(--uv-border);
            background: var(--uv-bg-warm);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color var(--uv-duration-base);
        }
        .uv-top-card:hover .uv-top-card-logo {
            border-color: var(--uv-primary);
        }
        .uv-top-card-logo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .uv-top-card-logo i {
            font-size: var(--uv-fs-h3);
            color: var(--uv-text-muted);
        }

        /* ── Body ── */
        .uv-top-card-body {
            flex: 1;
            min-width: 0;
        }
        .uv-top-card-header {
            display: flex;
            align-items: center;
            gap: .5rem;
            flex-wrap: wrap;
            margin-bottom: .15rem;
        }
        .uv-top-card-title {
            font-size: var(--uv-fs-small);
            font-weight: var(--uv-fw-semibold);
            color: var(--uv-dark);
            transition: color var(--uv-duration-base);
            line-height: var(--uv-lh-compact);
        }
        .uv-top-card:hover .uv-top-card-title {
            color: var(--uv-primary-dark);
        }
        .uv-top-card-location {
            display: block;
            font-size: var(--uv-fs-xs);
            color: var(--uv-text-muted);
            margin-bottom: .2rem;
        }
        .uv-top-card-location i {
            color: var(--uv-primary);
            font-size: var(--uv-fs-micro);
            margin-right: .1rem;
        }
        .uv-top-card-desc {
            display: block;
            font-size: var(--uv-fs-xs);
            line-height: var(--uv-lh-base);
            color: var(--uv-text-soft);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* ── Views ── */
        .uv-top-card-views {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: .3rem;
            font-size: var(--uv-fs-micro);
            color: #c0c0c0;
            white-space: nowrap;
        }
        .uv-top-card-views i {
            font-size: var(--uv-fs-small);
        }

        /* ── Responsive ── */
        @media (max-width: 767.98px) {
            .uv-top-hero {
                flex-direction: column;
                text-align: center;
                padding: 1.25rem;
                gap: .75rem;
            }
            .uv-top-hero-title {
                font-size: var(--uv-fs-h3);
            }
            .uv-top-card {
                gap: .65rem;
                padding: .7rem .85rem;
            }
            .uv-top-card-logo {
                width: 40px;
                height: 40px;
            }
            .uv-top-card-desc {
                display: none;
            }
            .uv-top-card-rank {
                width: 34px;
                height: 34px;
                font-size: var(--uv-fs-micro);
            }
        }

/* ==========================================================================
   Компании — страница категории
   ========================================================================== */

/* — category-detail.html — */
.uv-company-item {
    display: flex;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--uv-border-light);
    transition: background var(--uv-duration-fast);
}
.uv-company-item:last-child { border-bottom: none; }
.uv-company-item:hover { background: var(--uv-bg-warm); }
.uv-company-item-body { flex: 1; min-width: 0; }
.uv-company-item-title {
    font-size: var(--uv-fs-h5); font-weight: var(--uv-fw-semibold); margin-bottom: .2rem;
}
.uv-company-item-title a { color: var(--uv-text-dark); text-decoration: none; transition: color var(--uv-duration-base); }
.uv-company-item-title a:hover { color: var(--uv-primary); }
.uv-company-item-location {
    font-size: var(--uv-fs-xs); color: var(--uv-text-muted); margin-bottom: .3rem;
}
.uv-company-item-desc {
    font-size: var(--uv-fs-small); color: var(--uv-text-dim); line-height: var(--uv-lh-base);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.uv-company-featured {
    border: 1px solid var(--uv-primary);
    border-radius: var(--uv-radius-sm);
    padding: .75rem;
    text-align: center;
    height: 100%;
    transition: box-shadow var(--uv-duration-base);
}
.uv-company-featured:hover { box-shadow: var(--uv-shadow-sm); }
.uv-company-featured-banner { margin-bottom: .5rem; }
.uv-company-featured-banner img { max-width: 100%; height: auto; border-radius: var(--uv-radius-xs); }
.uv-company-featured-name {
    font-size: var(--uv-fs-body); font-weight: var(--uv-fw-semibold); margin-bottom: .3rem;
}
.uv-company-featured-name a { color: var(--uv-text-dark); text-decoration: none; transition: color var(--uv-duration-base); }
.uv-company-featured-name a:hover { color: var(--uv-primary); }
.uv-company-featured-contacts {
    font-size: var(--uv-fs-xs); color: var(--uv-text-muted);
}
.uv-company-featured-contacts i { color: var(--uv-text-hint); }
.uv-company-premium {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    border: 1px solid var(--uv-primary);
    border-radius: var(--uv-radius-sm);
    padding: .85rem;
    margin-bottom: .75rem;
    transition: box-shadow var(--uv-duration-base);
}
.uv-company-premium:hover { box-shadow: var(--uv-shadow-sm); }
.uv-company-premium-badge {
    flex-shrink: 0;
    width: 48px; height: 48px;
}
.uv-company-premium-badge img { width: 100%; height: auto; }
.uv-paid-list { list-style: none; padding: 0; margin: 0; }
.uv-paid-list li {
    padding: .3rem 0;
    border-bottom: 1px dashed var(--uv-border-light);
    font-size: var(--uv-fs-small);
}
.uv-paid-list li:last-child { border-bottom: none; }
.uv-paid-list a { color: var(--uv-text); text-decoration: none; font-weight: var(--uv-fw-medium); transition: color var(--uv-duration-base); }
.uv-paid-list a:hover { color: var(--uv-primary); }
.uv-paid-list a::before { content: '\25A0'; margin-right: .4rem; color: var(--uv-primary); font-size: .6rem; }

/* ==========================================================================
   Компании — форма создания
   ========================================================================== */

/* — company_create_form.html — */
#query {width:100%;padding:10px;border-radius: var(--uv-radius-xs);border:1px solid var(--uv-border);font-size: var(--uv-fs-h3)}
