/* ==========================================================================
   companies-list.css — списки организаций: категории, метки, упрощённый список.
   Раньше жил как CSS внутри .html и подключался через
   <style>{% include "companies/includes/list-styles.html" %}</style> —
   такой файл невидим для CSS-инструментов и не кешируется отдельно.
   ========================================================================== */

/* ── Companies List — Refined Gold (shared) ── */

/* Header */
.uv-co-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; margin-bottom:1.5rem; }
.uv-co-header h1 { font-size:var(--uv-fs-h1); font-weight: var(--uv-fw-bold); color:var(--uv-text-dark); margin:0; letter-spacing:-.01em; }

/* Toolbar */
.uv-co-toolbar { background:var(--uv-bg-warm); border:1px solid var(--uv-border); border-radius: var(--uv-radius-xl); padding:1.25rem; margin-bottom:1.25rem; }
.uv-co-toolbar-search { display:flex; gap:.5rem; margin-bottom:1rem; }
.uv-co-toolbar-search-input { flex:1; padding:.65rem 1rem .65rem 2.6rem; border:1px solid var(--uv-border); border-radius: var(--uv-radius-lg); font-size:var(--uv-fs-body); color:var(--uv-text-dark); background:var(--uv-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%238a7a5a' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E") .85rem center / 15px no-repeat; transition:border-color var(--uv-duration-base),box-shadow var(--uv-duration-base); }
.uv-co-toolbar-search-input:focus { outline:none; border-color:var(--uv-primary); box-shadow:var(--uv-shadow-focus); }
.uv-co-toolbar-search-input::placeholder { color:var(--uv-text-hint); }
.uv-co-toolbar-search-btn { padding:.6rem 1.4rem; border:none; 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-semibold); cursor:pointer; transition:all var(--uv-duration-base); white-space:nowrap; }
.uv-co-toolbar-search-btn:hover { background:linear-gradient(135deg,var(--uv-primary-dark),var(--uv-primary-hover)); box-shadow:var(--uv-shadow-primary); transform:translateY(-1px); }
.uv-co-toolbar-divider { height:1px; background:var(--uv-border); margin-bottom:1rem; }
.uv-co-toolbar-filters { display:flex; gap:.75rem; align-items:flex-end; flex-wrap:wrap; }
.uv-co-toolbar-field { display:flex; flex-direction:column; gap:.25rem; flex:1; min-width:160px; }
.uv-co-toolbar-label { font-size:var(--uv-fs-micro); font-weight: var(--uv-fw-semibold); color:var(--uv-text-muted); letter-spacing:.04em; text-transform:uppercase; }
.uv-co-toolbar-select { width:100%; padding:.5rem .75rem; border:1px solid var(--uv-border); border-radius: var(--uv-radius-md); font-size:var(--uv-fs-small); color:var(--uv-text-dark); background:var(--uv-surface); transition:border-color var(--uv-duration-base),box-shadow var(--uv-duration-base); cursor:pointer; -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238a7a5a' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .65rem center; padding-right:2rem; }
.uv-co-toolbar-select:focus { outline:none; border-color:var(--uv-primary); box-shadow:var(--uv-shadow-focus); }
.uv-co-toolbar .uv-filter-input { width:100%; padding:.5rem .75rem; border:1px solid var(--uv-border); border-radius: var(--uv-radius-md); font-size:var(--uv-fs-small); color:var(--uv-text-dark); background:var(--uv-surface); transition:border-color var(--uv-duration-base),box-shadow var(--uv-duration-base); }
.uv-co-toolbar .uv-filter-input:focus { outline:none; border-color:var(--uv-primary); box-shadow:var(--uv-shadow-focus); }
.uv-co-toolbar .uv-filter-input::placeholder { color:var(--uv-text-hint); }
.uv-co-toolbar-actions { display:flex; gap:.5rem; align-items:flex-end; flex-shrink:0; padding-bottom:1px; }
.uv-co-toolbar-apply { padding:.5rem 1.25rem; border:none; border-radius: var(--uv-radius-md); 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-semibold); cursor:pointer; transition:all var(--uv-duration-base); white-space:nowrap; }
.uv-co-toolbar-apply:hover { background:linear-gradient(135deg,var(--uv-primary-dark),var(--uv-primary-hover)); box-shadow:var(--uv-shadow-primary); transform:translateY(-1px); }
.uv-co-toolbar-reset { padding:.5rem .85rem; border:1px solid var(--uv-border); border-radius: var(--uv-radius-md); background:var(--uv-surface); color:var(--uv-text-muted); font-size:var(--uv-fs-small); font-weight: var(--uv-fw-medium); cursor:pointer; text-decoration:none; transition:all var(--uv-duration-base); white-space:nowrap; }
.uv-co-toolbar-reset:hover { border-color:var(--uv-primary); color:var(--uv-text-dark); }

/* Expandable sections */
.uv-co-quicklinks { display:flex; gap:.5rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.uv-co-expand-toggle { display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .9rem; border:1px solid var(--uv-border); border-radius: var(--uv-radius-md); background:var(--uv-surface); color:var(--uv-text-muted); font-size:var(--uv-fs-small); font-weight: var(--uv-fw-semibold); cursor:pointer; transition:all var(--uv-duration-base); letter-spacing:.01em; }
.uv-co-expand-toggle:hover { border-color:var(--uv-primary); color:var(--uv-text-dark); background:var(--uv-bg-warm); }
.uv-co-expand-toggle.active { border-color:var(--uv-primary); color:var(--uv-primary); background:linear-gradient(135deg,#f0f7ff,#e8f0fe); }
.uv-co-expand-toggle i.bi-chevron-down { font-size:var(--uv-fs-micro); transition:transform var(--uv-duration-base); }
.uv-co-expand-toggle.active i.bi-chevron-down { transform:rotate(180deg); }
.uv-co-expand-content { display:none; padding:0 0 1rem; animation:uvSlideDown var(--uv-anim-fast) ease; }
.uv-co-expand-content.active { display:block; }
@keyframes uvSlideDown { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }

/* Categories/Tags grid */
.uv-co-cats { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.75rem; }
.uv-co-cat { display:flex; align-items:center; gap:.75rem; padding:.85rem 1rem; border:1px solid var(--uv-border); border-radius: var(--uv-radius-lg); text-decoration:none; color:var(--uv-text-dark); background:var(--uv-surface); transition:all var(--uv-duration-base); }
.uv-co-cat:hover { border-color:var(--uv-primary); box-shadow:var(--uv-shadow-primary-sm); transform:translateY(-2px); color:var(--uv-text-dark); text-decoration:none; }
.uv-co-cat-active { border-color:var(--uv-primary); background:linear-gradient(135deg,var(--uv-bg-warm),var(--uv-bg-warm)); }
.uv-co-cat-icon { flex-shrink:0; width:40px; height:40px; border-radius: var(--uv-radius-lg); display:flex; align-items:center; justify-content:center; font-size: var(--uv-fs-h4); background:linear-gradient(135deg,var(--uv-bg-warm),var(--uv-border)); color:var(--uv-primary); }
.uv-co-cat-name { font-size:var(--uv-fs-small); font-weight: var(--uv-fw-semibold); line-height:var(--uv-lh-compact); flex:1; }
.uv-co-cat-count { flex-shrink:0; font-size:var(--uv-fs-micro); font-weight: var(--uv-fw-bold); color:var(--uv-primary); background:linear-gradient(135deg,var(--uv-bg-warm),var(--uv-bg-warm)); padding:.2rem .55rem; border-radius: var(--uv-radius-3xl); min-width:28px; text-align:center; }

/* Company cards */
.uv-co-list { margin-top:1.25rem; }
.uv-co-card { display:flex; gap:1rem; padding:1.15rem; border:1px solid var(--uv-border); border-radius: var(--uv-radius-xl); margin-bottom:.75rem; background:var(--uv-surface); transition:all var(--uv-duration-base); }
.uv-co-card:hover { border-color:var(--uv-border); box-shadow:0 4px 20px rgba(0,0,0,.04); }
.uv-co-card-pro { border-color:var(--uv-border); background:linear-gradient(135deg,var(--uv-bg-warm) 0%,var(--uv-surface) 60%); }
.uv-co-card-pro:hover { border-color:var(--uv-primary); box-shadow:var(--uv-shadow-primary-sm); }
.uv-co-card-avatar { flex-shrink:0; width:110px; height:110px; border-radius: var(--uv-radius-circle); overflow:hidden; border:2.5px solid var(--uv-border); background:var(--uv-bg-warm); transition:border-color var(--uv-duration-base); }
.uv-co-card-pro .uv-co-card-avatar { border-color:var(--uv-primary); }
.uv-co-card-avatar img { width:100%; height:100%; object-fit:cover; }
.uv-co-card-body { flex:1; min-width:0; }
.uv-co-card-title { font-size:var(--uv-fs-body); font-weight: var(--uv-fw-semibold); color:var(--uv-text-dark); text-decoration:none; transition:color var(--uv-duration-fast); line-height:var(--uv-lh-compact); display:block; margin-bottom:.3rem; }
.uv-co-card-title:hover { color:var(--uv-primary); }
.uv-co-card-subtitle { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-bottom:.35rem; }
.uv-co-card-location { font-size:var(--uv-fs-small); color:var(--uv-text-muted); white-space:nowrap; }
.uv-co-card-location i { color:var(--uv-primary); margin-right:.2rem; font-size:var(--uv-fs-xs); }

/* Badges */
.uv-badge { display:inline-flex; align-items:center; gap:.25rem; padding:.15rem .55rem; 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); }

/* Rating */
.uv-co-card-meta { display:flex; align-items:center; gap:.5rem; margin:.25rem 0; flex-wrap:wrap; }
.uv-co-card-reviews { font-size:var(--uv-fs-xs); color:var(--uv-text-hint); }
.uv-co-card-desc { font-size:var(--uv-fs-small); line-height:var(--uv-lh-base); color:var(--uv-text-dim); margin:.4rem 0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.uv-co-card-views { font-size:var(--uv-fs-micro); color:var(--uv-text-light); text-align:right; }
.uv-co-card-views i { margin-right:.15rem; }

/* Showcase */
.uv-co-showcase { display:flex; gap:4px; flex-wrap:wrap; margin-top:.5rem; padding-top:.5rem; border-top:1px solid var(--uv-bg-warm); }
.uv-co-showcase-item { width:80px; height:80px; border-radius: var(--uv-radius-sm); overflow:hidden; border:1px solid var(--uv-border); transition:all var(--uv-duration-base); }
.uv-co-showcase-item:hover { border-color:var(--uv-primary); box-shadow:var(--uv-shadow-primary-sm); transform:scale(1.05); }
.uv-co-showcase-item img { width:100%; height:100%; object-fit:cover; }
.uv-co-showcase-more { width:80px; height:80px; border-radius: var(--uv-radius-sm); border:1px dashed var(--uv-border); display:flex; align-items:center; justify-content:center; color:var(--uv-text-hint); font-size: var(--uv-fs-h4); transition:all var(--uv-duration-base); }
.uv-co-showcase-more:hover { border-color:var(--uv-primary); color:var(--uv-primary); }

/* Basic card */
.uv-co-card-basic { border:none; border-bottom:1px solid var(--uv-border-light); border-radius: 0; padding:1rem 0; margin-bottom:0; }
.uv-co-card-basic:last-child { border-bottom:none; }
.uv-co-card-basic:hover { box-shadow:none; background:var(--uv-bg-warm); }

/* Sidebar */
.uv-co-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; letter-spacing:.02em; transition:all var(--uv-duration-base); margin-bottom:1.25rem; }
.uv-co-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-co-sidebar-btn i { margin-right:.3rem; }
.uv-co-pro { 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-co-pro-header { display:flex; align-items:center; gap:.35rem; margin-bottom:.75rem; padding-bottom:.6rem; border-bottom:1px solid var(--uv-border); }
.uv-co-pro-title { font-size:var(--uv-fs-xs); font-weight: var(--uv-fw-bold); color:var(--uv-text-dark); letter-spacing:.02em; }
.uv-co-pro-stars { margin-left:auto; color:var(--uv-primary); font-size:var(--uv-fs-micro); letter-spacing:1px; }
.uv-co-pro-list { list-style:none; padding:0; margin:0; }
.uv-co-pro-item { padding:.35rem 0; border-bottom:1px solid rgba(var(--uv-primary-rgb), .1); }
.uv-co-pro-item:last-child { border-bottom:none; }
.uv-co-pro-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-co-pro-item a:hover { color:var(--uv-primary); }
.uv-co-pro-item a::before { content:'\25C6'; color:var(--uv-primary); margin-right:.4rem; font-size:var(--uv-fs-micro); vertical-align:middle; }

/* Pagination */
.uv-pagination { display:flex; justify-content:center; gap:.25rem; flex-wrap:wrap; padding:1.25rem 0 .5rem; }
.uv-pagination a, .uv-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 .5rem; border-radius: var(--uv-radius-md); font-size:var(--uv-fs-small); font-weight: var(--uv-fw-medium); text-decoration:none; color:var(--uv-text-dim); background:var(--uv-surface); border:1px solid var(--uv-border); transition:all var(--uv-duration-base); }
.uv-pagination a:hover { border-color:var(--uv-primary); color:var(--uv-text-dark); box-shadow:var(--uv-shadow-primary-sm); }
.uv-pagination .active { background:linear-gradient(135deg,var(--uv-primary),var(--uv-primary-dark)); color:var(--uv-text-inverse); border-color:transparent; }
.uv-pagination .disabled { color:var(--uv-border); border-color:var(--uv-border-light); cursor:default; }

@media (max-width: 767.98px) {
    .uv-co-toolbar-search { flex-direction:column; }
    .uv-co-toolbar-filters { flex-direction:column; }
    .uv-co-toolbar-field { min-width:100%; }
    .uv-co-toolbar-actions { width:100%; }
    .uv-co-toolbar-apply { flex:1; }
    .uv-co-card { flex-direction:column; gap:.75rem; }
    .uv-co-card-avatar { width:72px; height:72px; }
    .uv-co-showcase-item, .uv-co-showcase-more { width:60px; height:60px; }
    .uv-co-cats { grid-template-columns:1fr; }
}
