/* Вожатская — публичный профиль вожатого (/profile/{id}). */

.vz-pub { max-width: 1120px; }

.vz-pub__hero {
    position: relative;
    background: var(--vz-surface);
    border: 1px solid var(--vz-line);
    border-radius: var(--vz-radius-lg);
    overflow: hidden;
    box-shadow: var(--vz-shadow-1);
    margin-bottom: var(--vz-space-5);
}
.vz-pub__cover { height: 120px; background: linear-gradient(135deg, #FFF1E4, #FFDCC0); }
.vz-pub__head {
    display: flex;
    align-items: flex-end;
    gap: var(--vz-space-4);
    padding: 0 var(--vz-space-5) var(--vz-space-5);
    margin-top: -46px;
    flex-wrap: wrap;
}
.vz-pub__ava {
    width: 96px;
    height: 96px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--vz-orange-500), var(--vz-orange-600));
    color: #fff;
    font-size: 34px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    border: 4px solid var(--vz-surface);
    box-shadow: var(--vz-shadow-1);
    flex-shrink: 0;
}
.vz-pub__id { flex: 1; min-width: 0; }
.vz-pub__name { margin: 0 0 4px; font-size: var(--vz-fs-2xl); }
.vz-pub__headline { margin: 0 0 10px; color: var(--vz-text-2); font-size: var(--vz-fs-base); }
.vz-pub__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.vz-badge--id { background: var(--vz-primary-soft); color: var(--vz-primary-deep); font-family: var(--vz-font-mono); font-weight: 700; }
.vz-pub__rate { text-align: right; }
.vz-pub__rate-num { display: block; font-weight: 900; font-size: 1.4rem; color: var(--vz-primary-deep); }
.vz-pub__rate-label { color: var(--vz-muted); font-size: var(--vz-fs-xs); }

.vz-pub__notice {
    background: var(--vz-primary-soft);
    border: 1px solid rgba(255, 140, 50, .25);
    border-radius: var(--vz-radius);
    padding: 10px 16px;
    margin-bottom: var(--vz-space-4);
    font-size: var(--vz-fs-sm);
    font-weight: 600;
}

.vz-pub__grid { display: grid; grid-template-columns: 1fr 320px; gap: var(--vz-space-5); align-items: start; }
.vz-pub__main { display: grid; gap: var(--vz-space-4); min-width: 0; }
.vz-pub__card {
    background: var(--vz-surface);
    border: 1px solid var(--vz-line);
    border-radius: var(--vz-radius-lg);
    padding: var(--vz-space-5);
    box-shadow: var(--vz-shadow-1);
}
.vz-pub__card-title { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: var(--vz-fs-lg); }
.vz-pub__card-title .ico { color: var(--vz-primary); }

.vz-pub__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vz-pub__chip {
    padding: 6px 13px;
    border-radius: var(--vz-radius-pill);
    background: var(--vz-primary-soft);
    color: var(--vz-primary-deep);
    font-size: var(--vz-fs-sm);
    font-weight: 600;
}

.vz-pub__timeline { display: grid; gap: 14px; }
.vz-pub__timeline-item { border-left: 2px solid var(--vz-border); padding-left: 14px; }
.vz-pub__timeline-top { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.vz-pub__timeline-top span { font-size: var(--vz-fs-xs); }

.vz-pub__media { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.vz-pub__media-item { margin: 0; border-radius: var(--vz-radius-sm); overflow: hidden; border: 1px solid var(--vz-border); background: var(--vz-surface-2); }
.vz-pub__media-item img, .vz-pub__media-item video { display: block; width: 100%; height: 150px; object-fit: cover; }
.vz-pub__media-item figcaption { padding: 8px 10px; font-size: var(--vz-fs-xs); color: var(--vz-muted); }
.vz-pub__doc { display: flex; align-items: center; gap: 8px; padding: 16px; font-weight: 600; color: var(--vz-text); }

.vz-pub__review { border-top: 1px solid var(--vz-border); padding: 12px 0; }
.vz-pub__review:first-of-type { border-top: 0; }
.vz-pub__review-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }

.vz-pub__side { display: grid; gap: var(--vz-space-4); position: sticky; top: 90px; }
.vz-pub__side-card {
    background: var(--vz-surface);
    border: 1px solid var(--vz-line);
    border-radius: var(--vz-radius-lg);
    padding: var(--vz-space-4);
    box-shadow: var(--vz-shadow-1);
}
.vz-pub__side-title { margin: 0 0 12px; font-size: var(--vz-fs-base); }
.vz-pub__facts { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.vz-pub__facts li { display: flex; justify-content: space-between; gap: 12px; font-size: var(--vz-fs-sm); }
.vz-pub__facts li span { color: var(--vz-muted); }
.vz-pub__facts li b { text-align: right; word-break: break-word; }
.vz-pub__side-card .btn { width: 100%; margin-top: 10px; }

@media (max-width: 900px) {
    .vz-pub__grid { grid-template-columns: 1fr; }
    .vz-pub__side { position: static; }
}
