/* family_albums.css — альбомы в «Семье группы» (владелец 18.10: «как открыть перечисленные альбомы»):
   обложка строки состава — своя кнопка (остальная строка раскрывает состав), «💿 Альбомы» в шапке
   карточки и фокуса, «💿» у групп «Пришли из / Ушли в / Одновременно» и у фишек фокуса, лист альбомов
   (общая панель семьи: справа, на телефоне — снизу). Цели касания под pointer:coarse — не меньше 44. */

/* ── Строка состава: обложка — карточка альбома, остальное — состав ── */
.family-row.family-row-era { gap: 0; padding: 0 0 0 10px; cursor: default; }
.family-row-cv { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 44px; min-height: 44px; margin: 0 0 0 -4px; padding: 0;
    border: 0; border-radius: 10px; background: transparent; cursor: pointer; }
.family-row-cv:hover .family-cv, .family-row-cv:focus-visible .family-cv { box-shadow: 0 0 0 2px var(--accent); }
.family-row-go { display: flex; flex: 1 1 auto; align-self: stretch; align-items: center; gap: 9px; min-width: 0; min-height: 48px; padding: 5px 10px 5px 5px;
    border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.family-row-go.has-cv { padding-left: 0; }
.family-card.is-tight .family-row-cv, .family-card.is-tight .family-row-go > .family-cv { display: none; }
.family-card.is-tight .family-row-go { padding-left: 0; }

/* ── «💿 Альбомы» в шапке ─────────────────────────────────────────── */
.family-card-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin-top: 4px; }
.family-card-acts .family-card-own { margin-top: 0; }
.family-albums-b { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; min-height: var(--family-tap); padding: 0 10px 0 8px; border: 1px solid var(--border);
    border-radius: 99px; background: transparent; color: var(--text-mid); font: inherit; font-size: 12px; white-space: nowrap; cursor: pointer; }
/* Узкая карточка (iPad лёжа, шестая группа на схеме) — «💿 N» одной строкой; имя кнопки — в aria-label (ревью 18.10). */
.family-card.is-narrow .family-albums-w { display: none; }
.family-albums-b b, .family-albums-h b { color: var(--text-dim); font: 500 11px var(--font-mono, monospace); }
.family-albums-b:hover { border-color: var(--border-strong); background: var(--bg-card-hover); color: var(--text); }

/* ── «💿» у групп ─────────────────────────────────────────────────── */
.family-nb-g { display: flex; align-items: center; gap: 2px; }
.family-nb-g > .family-nb { flex: 1 1 auto; width: auto; min-width: 0; }
/* Место «💿» — из ряда лиц (кто перешёл — и в подписи под именем): одно лицо, в узкой карточке — ни одного
   (ревью 18.10: на iPad лёжа и в карточке 160–180 px имена соседей обрезались до 3–5 букв). */
.family-nb-g .family-stack .family-av:nth-child(n+2), .family-card.is-narrow .family-nb-g .family-stack { display: none; }
/* В тесной карточке (160 px) — и без точек источника: они есть в листе перехода и в листе альбомов. */
.family-card.is-tight .family-nb-g .family-dots { display: none; }
/* Узкая под мышью (место имени группы в фишке), под пальцем — 44. */
.family-alb-mini { flex: 0 0 auto; width: 26px; min-height: var(--family-tap); padding: 0; border: 0; border-radius: 8px; background: transparent;
    color: var(--text-mid); font-size: 14px; line-height: 1; cursor: pointer; opacity: .7; }
@media (pointer: coarse) {
    .family-alb-mini { width: var(--family-tap); font-size: 16px; }
    /* У фишки соседа — 30 на виду и 44 нажатием (поле нажатия на 7 px шире в обе стороны): имени остаётся место. */
    .family-nb-g > .family-alb-mini { position: relative; width: 30px; }
    .family-nb-g > .family-alb-mini::before { content: ""; position: absolute; top: 0; right: -7px; bottom: 0; left: -7px; }
}
.family-alb-mini:hover, .family-alb-mini:focus-visible { background: var(--bg-card-hover); opacity: 1; }
.family-fchip-g { display: inline-flex; align-items: stretch; max-width: 100%; min-width: 0; }
.family-fchip-g > .family-fchip { min-width: 0; border-radius: 12px 0 0 12px; }
.family-alb-mini.family-fchip-alb { width: 44px; min-height: 44px; border: 1px solid var(--border); border-left: 0; border-radius: 0 12px 12px 0; background: var(--bg-elev); opacity: 1; }
@media (max-width: 767px) { .family-links-row .family-fchip-g { flex: 0 0 auto; } }
/* Бледная карточка соседа одинокого корня: «💿» в углу, нажатие по остальному — пристроить. */
.family-card.is-ghost .family-ghost { padding-right: 46px; }
.family-alb-mini.family-ghost-alb { position: absolute; top: 6px; right: 6px; }

/* ── Лист альбомов ────────────────────────────────────────────────── */
.family-alb-note { margin: 8px 0 0; color: var(--text-dim); font-size: 12px; line-height: 1.35; }
.family-alb-skel { height: 160px; margin-top: 14px; }
.family-alb-sec { margin-top: 16px; }
.family-alb-gh { display: flex; align-items: center; gap: 8px; }
.family-alb-gh .family-sub { flex: 1 1 auto; min-width: 0; margin: 0; }
.family-alb-have { color: var(--success, #21d07a); font-size: 12px; white-space: nowrap; }
.family-alb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 12px 10px; margin-top: 8px; }
.family-alb-t { display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--text);
    font: inherit; text-align: left; cursor: pointer; }
.family-cv.family-cv-a { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 8px; font-size: 26px; }
.family-cv-a .family-badge { top: 4px; left: 4px; font-size: 11px; line-height: 17px; }
.family-alb-t:hover .family-cv, .family-alb-t:focus-visible .family-cv { box-shadow: 0 0 0 2px var(--accent); }
.family-alb-tt { display: -webkit-box; overflow: hidden; font-size: 12.5px; line-height: 1.25; overflow-wrap: anywhere; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.family-alb-y { color: var(--text-dim); font: 11px var(--font-mono, monospace); white-space: nowrap; }
.family-alb-more { margin-top: 10px; }
/* Строка шапки листа, занятая до прихода альбомов (ревью 19.10: кнопки не сдвигаются). */
.family-sheet-meta.is-pending::before { content: "\00a0"; }
@media (max-width: 767px) {
    /* Лист альбомов на телефоне — всегда во всю высоту: «собираю», «занята», «Проверка…» и пришедший список
       не двигают кнопки под пальцем (ревью 19.10: лист рос с top≈472 до ≈120). */
    .family-sheet-panel:has(.family-alb-sec, .family-alb-skel, .family-alb-note) { height: 86vh; height: calc(100dvh - 64px); }
}
