/* ── Вкладки профиля ─────────────────────────────────────────── */
.cp-tabs-nav{
    display:flex; flex-wrap:wrap; gap:8px;
    margin:24px 0 6px; padding:6px;
    background:#f1f5f9; border:1px solid #e2e8f0; border-radius:14px;
}
.cp-tab-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    flex:1 1 auto;
    padding:10px 16px; font-size:14px; font-weight:600;
    color:#475569; background:transparent; border:none; border-radius:10px;
    cursor:pointer; white-space:nowrap; line-height:1; transition:all .15s;
}
.cp-tab-btn i{ font-size:13px; opacity:.85; }
.cp-tab-btn:hover{ color:#1e293b; background:#e2e8f0; }
.cp-tab-btn.active{
    color:#fff; background:linear-gradient(135deg,#3b82f6,#6366f1);
    box-shadow:0 4px 12px rgba(59,130,246,.30);
}
.cp-tab-btn.active i{ opacity:1; }

.cp-tab-panel{ display:none; animation:cpFade .25s ease; }
.cp-tab-panel.cp-tab-active{ display:block; }
@keyframes cpFade{
    from{ opacity:0; transform:translateY(6px); }
    to{ opacity:1; transform:none; }
}

/* Мобильная версия — вкладки горизонтальной лентой */
@media (max-width:600px){
    .cp-tabs-nav{
        flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
        gap:6px; padding:5px; border-radius:12px; scrollbar-width:none;
    }
    .cp-tabs-nav::-webkit-scrollbar{ display:none; }
    .cp-tab-btn{ flex:0 0 auto; padding:9px 14px; font-size:13px; }
}

.cp-pricelist { display: flex; flex-direction: column; gap: 18px; }
.cp-pl-group-title {
    font-size: 15px; font-weight: 700; color: #0f172a;
    margin: 6px 0 -4px; display: flex; align-items: center; gap: 8px;
}
.cp-pl-group-title i { color: #059669; }
.cp-pl-table {
    border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; background: #fff;
}
.cp-pl-head, .cp-pl-row {
    display: grid; grid-template-columns: 1fr 170px 150px; align-items: center;
}
.cp-pl-head {
    background: #f8fafc; font-size: 12px; font-weight: 700;
    color: #64748b; text-transform: uppercase; letter-spacing: .03em;
}
.cp-pl-head > div, .cp-pl-row > div { padding: 12px 16px; }
.cp-pl-row { border-top: 1px solid #f1f5f9; font-size: 14px; }
.cp-pl-row:hover { background: #f8fafc; }
.cp-pl-pos { display: block; color: #1e293b; font-weight: 600; }
.cp-pl-note { display: block; font-size: 12px; color: #94a3b8; margin-top: 2px; }
.cp-pl-c-price { text-align: right; white-space: nowrap; }
.cp-price-val { font-weight: 700; color: #059669; }
.cp-price-unit { font-weight: 500; color: #94a3b8; font-size: 12px; }
.cp-price-contract { color: #6366f1; font-weight: 600; font-size: 13px; }
.cp-pl-c-lead { color: #475569; font-size: 13px; }
.cp-pl-disclaimer { font-size: 12px; color: #94a3b8; margin-top: 12px; }
@media (max-width: 600px) {
    .cp-pl-head { display: none; }
    .cp-pl-row { grid-template-columns: 1fr auto; gap: 4px 12px; padding: 10px 0; }
    .cp-pl-row > div { padding: 2px 14px; }
    .cp-pl-c-name { grid-column: 1 / -1; }
    .cp-pl-c-price { text-align: left; }
    .cp-pl-c-lead::before { content: "Срок: "; color: #94a3b8; }
}

/* Карточки «Специализация» и «Услуги» — каждая отдельной строкой во всю ширину */
.cp-activity-card--full { grid-column: 1 / -1; }

/* Услуги — отдельные «чипы» с чётким разделением друг от друга */
.cp-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-tags .cp-tag {
    display: inline-flex; align-items: center;
    padding: 7px 14px; margin: 0;
    font-size: 13px; font-weight: 600; line-height: 1;
    color: #15803d; background: #f0fdf4;
    border: 1px solid #bbf7d0; border-radius: 999px;
    white-space: nowrap;
}

/* Мобильная версия — деятельность в одну колонку */
@media (max-width: 600px) {
    .cp-activity-grid { grid-template-columns: 1fr; }
    .cp-tags { gap: 8px; }
    .cp-tags .cp-tag { font-size: 12px; padding: 6px 12px; }
}
