/* collective.css — раздел «Коллективы» (задача Владислава 23.09.2026).
   Лента типов и поле поиска используют общие классы (.cb-places-ribbon,
   .cb-sec-search из section_search.css), здесь — карточки, форма и страница. */

/* ---------------------------------------------------------------- список -- */

.cb-collective-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 18px 0 10px;
}

.cb-collective-card {
  width: 250px;
  background: #fff;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .15s ease, transform .15s ease;
}

.cb-collective-card:hover { box-shadow: 0 8px 22px rgba(20, 40, 60, .12); transform: translateY(-2px); }

.cb-collective-card-link { display: block; text-decoration: none; color: inherit; }

.cb-collective-logo {
  height: 150px;
  background: #f2f6f8;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.cb-collective-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.cb-collective-logo-stub {
  font-size: 54px;
  font-weight: 700;
  color: #b9c7cf;
  text-transform: uppercase;
}

.cb-collective-info { padding: 12px 14px 14px; }
.cb-collective-name { font-size: 16px; font-weight: 700; color: #1d2b33; margin-bottom: 6px; }
.cb-collective-meta { font-size: 12px; color: #7d8b93; margin-bottom: 6px; }
.cb-collective-meta span + span::before { content: ' · '; }
.cb-collective-members-cnt { font-size: 12px; color: #00aeef; }

.cb-collective-empty { padding: 30px 0 40px; text-align: center; }
.cb-collective-empty-title { font-size: 18px; font-weight: 700; color: #1d2b33; margin-bottom: 8px; }
.cb-collective-empty-text { font-size: 14px; color: #7d8b93; }

.cb-collective-error {
  background: #fdecec;
  border: 1px solid #f5c2c2;
  color: #b3261e;
  border-radius: 8px;
  padding: 10px 14px;
  margin: 12px 0;
  font-size: 14px;
}

/* ------------------------------------------------------- форма создания -- */

.cb-collective-create { margin: 16px 0 8px; }

.cb-collective-create > summary {
  cursor: pointer;
  display: inline-block;
  padding: 9px 18px;
  border-radius: 18px;
  background: #00aeef;
  color: #fff;
  font-size: 14px;
  list-style: none;
}

.cb-collective-create[open] > summary { background: #0099d2; margin-bottom: 14px; }

.cb-collective-form {
  background: #f7fafc;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  padding: 18px;
  max-width: 900px;
}

.cb-cf-row { margin-bottom: 14px; }
.cb-cf-two, .cb-cf-three { display: flex; gap: 14px; flex-wrap: wrap; }
.cb-cf-two > div, .cb-cf-three > div { flex: 1 1 220px; }

.cb-collective-form label {
  display: block;
  font-size: 12px;
  color: #6b7b84;
  margin-bottom: 4px;
}

.cb-collective-form input[type="text"],
.cb-collective-form select,
.cb-collective-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 12px;
  font-size: 14px;
  color: #2b3a42;
  border: 1px solid #dfe6ea;
  border-radius: 8px;
  background: #fff;
  outline: none;
}

.cb-collective-form input[type="text"]::placeholder,
.cb-collective-form textarea::placeholder { color: #a8b4bb; }

.cb-collective-form input[type="text"]:focus,
.cb-collective-form textarea:focus,
.cb-collective-form select:focus { border-color: #00aeef; box-shadow: 0 0 0 3px rgba(0,174,239,.16); }

#cbStyleList input[type="text"] { margin-bottom: 6px; }

.cb-cf-more {
  background: none;
  border: 0;
  padding: 0;
  color: #00aeef;
  font-size: 13px;
  cursor: pointer;
  border-bottom: 1px dashed #9fd3ec;
}

.cb-cf-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 6px; }
.cb-cf-hint { font-size: 12px; color: #8a949c; max-width: 480px; }

/* ---------------------------------------------------------- страница -- */

.cb-collective-page { padding-bottom: 40px; }

.cb-collective-head {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  padding: 18px 0 8px;
  flex-wrap: wrap;
}

.cb-collective-head-logo {
  width: 180px;
  height: 180px;
  border-radius: 12px;
  overflow: hidden;
  background: #f2f6f8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cb-collective-head-logo img { width: 100%; height: 100%; object-fit: cover; }

.cb-collective-head-info { flex: 1 1 420px; }
.cb-collective-title { font-size: 30px; margin: 0 0 8px; color: #16232b; }
.cb-collective-sub { font-size: 14px; color: #7d8b93; margin-bottom: 10px; }
.cb-collective-sub span + span::before { content: ' · '; }

.cb-collective-styles { margin-bottom: 12px; }
.cb-collective-style {
  display: inline-block;
  padding: 4px 12px;
  margin: 0 8px 8px 0;
  border-radius: 14px;
  background: #eaf8fd;
  color: #0099d2;
  font-size: 13px;
}

.cb-collective-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }

.cb-collective-btn {
  display: inline-block;
  padding: 9px 16px;
  border-radius: 18px;
  background: #eef1f4;
  color: #2b3a42;
  font-size: 13px;
  text-decoration: none;
}

.cb-collective-btn:hover { background: #e3e9ee; }
.cb-collective-btn-sub { background: #00aeef; color: #fff; }
.cb-collective-btn-sub:hover { background: #0099d2; }
.cb-collective-btn-heart { background: #ffe9f1; color: #d6336c; }
.cb-collective-btn-edit { background: #eafaf1; color: #2f9e44; }

.cb-collective-managed {
  display: inline-block;
  font-size: 13px;
  color: #8a6d3b;
  background: #fff8e6;
  border: 1px solid #f3e2b8;
  border-radius: 8px;
  padding: 8px 12px;
}

.cb-collective-block { margin: 22px 0; }
.cb-collective-block-title {
  font-size: 18px;
  font-weight: 700;
  color: #16232b;
  border-bottom: 1px solid #e7edf1;
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.cb-collective-block-text { font-size: 14px; color: #33454e; line-height: 1.6; }

.cb-collective-members { display: flex; flex-wrap: wrap; gap: 16px; }
.cb-collective-member {
  width: 180px;
  background: #fff;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  padding: 12px;
}
.cb-collective-member-photo {
  width: 100%;
  height: 150px;
  border-radius: 8px;
  overflow: hidden;
  background: #f2f6f8;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.cb-collective-member-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-collective-member-stub { font-size: 44px; font-weight: 700; color: #b9c7cf; text-transform: uppercase; }
.cb-collective-member-name { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.cb-collective-member-name a { color: #1d2b33; text-decoration: none; }
.cb-collective-member-role { font-size: 12px; color: #7d8b93; }

/* афиша/новости/фото/подписчики: COL-2 */
.cb-collective-count {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 9px;
  border-radius: 12px;
  background: #eaf8fd;
  color: #0099d2;
  font-size: 13px;
  font-weight: 400;
}

.cb-collective-albums { display: flex; flex-wrap: wrap; gap: 16px; }
.cb-collective-album {
  display: block;
  width: 210px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  overflow: hidden;
}
.cb-collective-album:hover { box-shadow: 0 8px 20px rgba(20,40,60,.12); }
.cb-collective-album-cover {
  display: block;
  height: 140px;
  background: #f2f6f8;
  overflow: hidden;
}
.cb-collective-album-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-collective-album-name { display: block; padding: 10px 12px 2px; font-size: 14px; font-weight: 600; color: #1d2b33; }
.cb-collective-album-date { display: block; padding: 0 12px 10px; font-size: 12px; color: #7d8b93; }

.cb-collective-subs { display: flex; flex-wrap: wrap; gap: 14px; }
.cb-collective-sub {
  display: block;
  width: 120px;
  text-align: center;
  text-decoration: none;
  color: inherit;
}
.cb-collective-sub img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
  margin: 0 auto 8px;
  background: #f2f6f8;
}
.cb-collective-sub-name { display: block; font-size: 13px; font-weight: 600; color: #1d2b33; }
.cb-collective-sub-status { display: block; font-size: 11px; color: #7d8b93; }

/* ============================================ COL-2: страница участника -- */

/* фото «неуправляемой страницы»: у пользователя картинку отдаёт user/avatar.php,
   здесь файл лежит в cluberdata/collective/pages — заглушка как у карточек */
.cb-up-photo-stub {
  display: flex;
  width: 100%;
  height: 200px;
  align-items: center;
  justify-content: center;
  background: #f2f6f8;
  border: 1px solid #e7edf1;
  border-radius: 8px;
  font-size: 64px;
  font-weight: 700;
  color: #b9c7cf;
  text-transform: uppercase;
}

.cb-up-managed {
  display: inline-block;
  font-size: 13px;
  color: #8a6d3b;
  background: #fff8e6;
  border: 1px solid #f3e2b8;
  border-radius: 8px;
  padding: 8px 12px;
  margin-top: 14px;
}

.cb-up-claim-note { font-size: 13px; color: #6b7b84; margin-bottom: 12px; max-width: 760px; line-height: 1.55; }

.cb-up-collectives { display: flex; flex-wrap: wrap; gap: 12px; }
.cb-up-collective {
  display: block;
  width: 250px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  text-decoration: none;
}
.cb-up-collective:hover { border-color: #bfe0f2; box-shadow: 0 6px 16px rgba(20,40,60,.10); }
.cb-up-collective-name { display: block; font-size: 15px; font-weight: 700; color: #1d2b33; margin-bottom: 4px; }
.cb-up-collective-type { display: block; font-size: 12px; color: #7d8b93; margin-bottom: 4px; }
.cb-up-collective-role { display: block; font-size: 12px; color: #00aeef; }

/* ============================================== COL-2: редактор коллектива -- */

.cb-edit-page { padding-bottom: 50px; }
.cb-edit-head { padding: 16px 0 6px; }
.cb-edit-title { font-size: 26px; margin: 0 0 6px; color: #16232b; }
.cb-edit-sub { font-size: 13px; color: #7d8b93; }
.cb-edit-sub a { color: #00aeef; }

.cb-edit-section {
  background: #fff;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  padding: 18px;
  margin: 18px 0;
}
.cb-edit-section-title {
  font-size: 18px;
  font-weight: 700;
  color: #16232b;
  margin: 0 0 6px;
}
.cb-edit-section-hint { font-size: 12px; color: #8a949c; margin-bottom: 14px; }
/* подсказка под полем (например «сейчас указан город из старого списка») */
.cb-edit-field-hint { font-size: 12px; color: #8a949c; margin-top: 6px; line-height: 1.35; }

.cb-edit-ok {
  background: #eafaf1;
  border: 1px solid #b7e4c7;
  color: #1b7a43;
  border-radius: 8px;
  padding: 10px 14px;
  margin: 12px 0;
  font-size: 14px;
}

.cb-edit-fieldset { display: flex; gap: 14px; flex-wrap: wrap; }
.cb-edit-fieldset > div { flex: 1 1 220px; }
.cb-edit-fieldset .cb-edit-wide { flex: 1 1 100%; }
.cb-edit-fieldset label { display: block; font-size: 12px; color: #6b7b84; margin-bottom: 4px; }

.cb-edit-section input[type="text"],
.cb-edit-section input[type="number"],
.cb-edit-section input[type="file"],
.cb-edit-section select,
.cb-edit-section textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 12px;
  font-size: 14px;
  color: #2b3a42;
  border: 1px solid #dfe6ea;
  border-radius: 8px;
  background: #fff;
  outline: none;
}
.cb-edit-section input::placeholder,
.cb-edit-section textarea::placeholder { color: #a8b4bb; }
.cb-edit-section input[type="text"]:focus,
.cb-edit-section input[type="number"]:focus,
.cb-edit-section select:focus,
.cb-edit-section textarea:focus { border-color: #00aeef; box-shadow: 0 0 0 3px rgba(0,174,239,.16); }

.cb-edit-inline { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cb-edit-inline > * { flex: 0 1 auto; }
.cb-edit-inline input[type="text"], .cb-edit-inline select { width: auto; min-width: 150px; }

.cb-edit-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 12px; }

.cb-edit-btn {
  display: inline-block;
  padding: 8px 16px;
  border: 0;
  border-radius: 18px;
  background: #00aeef;
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
}
.cb-edit-btn:hover { background: #0099d2; }
.cb-edit-btn-grey { background: #eef1f4; color: #2b3a42; }
.cb-edit-btn-grey:hover { background: #e3e9ee; }
.cb-edit-btn-del { background: #fdecec; color: #b3261e; }
.cb-edit-btn-del:hover { background: #f8d7d7; }
.cb-edit-btn-small { padding: 5px 12px; font-size: 12px; }

.cb-edit-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.cb-edit-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px 5px 12px;
  border-radius: 14px;
  background: #eaf8fd;
  color: #0099d2;
  font-size: 13px;
}
.cb-edit-chip button {
  border: 0;
  background: none;
  color: #0099d2;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}
.cb-edit-chip button:hover { color: #b3261e; }
.cb-edit-chip form { display: inline; margin: 0; }

.cb-edit-members { display: flex; flex-wrap: wrap; gap: 14px; }
.cb-edit-member {
  width: 360px;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  padding: 12px;
  background: #f9fbfc;
}
.cb-edit-member-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.cb-edit-member-photo {
  width: 54px;
  height: 54px;
  border-radius: 8px;
  overflow: hidden;
  background: #eef1f4;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 22px;
  font-weight: 700;
  color: #b9c7cf;
  text-transform: uppercase;
}
.cb-edit-member-photo img { width: 100%; height: 100%; object-fit: cover; }
.cb-edit-member-name { font-size: 14px; font-weight: 700; color: #1d2b33; }
.cb-edit-member-kind { font-size: 11px; color: #8a949c; }
.cb-edit-member form { margin: 0; }
.cb-edit-member-row { margin-bottom: 8px; }
.cb-edit-member-row label { display: block; font-size: 11px; color: #6b7b84; margin-bottom: 3px; }
.cb-edit-member-row.two { display: flex; gap: 8px; }
.cb-edit-member-row.two > div { flex: 1 1 0; min-width: 0; }
.cb-edit-member-check { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #33454e; }
.cb-edit-member-check input { flex: 0 0 auto; width: auto; }

.cb-edit-find { margin-top: 10px; }
.cb-edit-find-results { margin-top: 12px; border-top: 1px dashed #dfe6ea; padding-top: 12px; }
.cb-edit-find-item { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 13px; }
.cb-edit-find-item label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.cb-edit-find-item input[type="radio"] { width: auto; flex: 0 0 auto; }
.cb-edit-find-empty { font-size: 13px; color: #8a949c; }

.cb-edit-note {
  font-size: 12px;
  color: #8a6d3b;
  background: #fff8e6;
  border: 1px solid #f3e2b8;
  border-radius: 8px;
  padding: 8px 12px;
  margin: 10px 0;
}

.cb-edit-denied {
  background: #fff8e6;
  border: 1px solid #f3e2b8;
  color: #8a6d3b;
  border-radius: 10px;
  padding: 16px 18px;
  font-size: 14px;
}
.cb-edit-denied a { color: #0099d2; }

/* ============ COL-2, вторая часть: роли, лидер, основное фото, ссылки ============ */

/* --- обложка: она больше логотипа, потому что это кадр, а не знак --- */
.cb-collective-head-cover {
  width: 320px;
  height: 220px;
  border-radius: 12px;
}
.cb-collective-logo-cover { height: 150px; }
.cb-collective-logo-cover img { object-fit: cover; }

/* --- роли участника на странице коллектива (их может быть несколько) --- */
.cb-collective-member-roles { display: flex; flex-wrap: wrap; gap: 4px; }
.cb-collective-member-role {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  background: #eaf8fd;
  color: #0099d2;
  font-size: 11px;
}
.cb-collective-member-leader {
  border-color: #f0c36d;
  box-shadow: 0 0 0 2px rgba(240, 195, 109, .35);
}
.cb-collective-leader-badge {
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 9px;
  border-radius: 10px;
  background: #fff3d6;
  color: #9a6b00;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

/* --- ссылки на внешние ресурсы в шапке страницы коллектива --- */
.cb-collective-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 10px; }
.cb-collective-link {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #dfe6ea;
  color: #2b3a42;
  font-size: 13px;
  text-decoration: none;
}
.cb-collective-link:hover { border-color: #00aeef; color: #0099d2; }

/* --- «основное фото» в блоке фотографий --- */
.cb-collective-album-main { border-color: #00aeef; box-shadow: 0 0 0 2px rgba(0,174,239, .25); }
.cb-collective-album-link { display: block; text-decoration: none; color: inherit; }
.cb-collective-album-mark {
  display: block;
  margin: 0 12px 10px;
  padding: 3px 9px;
  border-radius: 10px;
  background: #eaf6fd;
  color: #0099d2;
  font-size: 11px;
  text-align: center;
}
.cb-collective-album-form { margin: 0 12px 10px; }
.cb-collective-album-btn {
  display: block;
  width: 100%;
  padding: 6px 10px;
  border: 1px dashed #9fd3ec;
  border-radius: 8px;
  background: none;
  color: #00aeef;
  font-size: 12px;
  cursor: pointer;
}
.cb-collective-album-btn:hover { background: #f2fafe; }
.cb-collective-album { display: flex; flex-direction: column; }

/* --- редактор: таблетки ролей --- */
.cb-edit-role-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.cb-edit-role-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px 3px 10px;
  border-radius: 12px;
  background: #eaf8fd;
  color: #0099d2;
  font-size: 12px;
}
.cb-edit-role-pill form { display: inline; margin: 0; }
.cb-edit-role-pill button {
  border: 0;
  background: none;
  color: #0099d2;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}
.cb-edit-role-pill button:hover { color: #b3261e; }
.cb-edit-role-add { margin-top: 6px; }
.cb-edit-role-add-row { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; }
.cb-edit-role-add-row select { flex: 1 1 160px; }
.cb-edit-role-add input[type="text"] { margin-bottom: 6px; }
.cb-edit-leader-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 9px;
  background: #fff3d6;
  color: #9a6b00;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.cb-edit-member-leader { border-color: #f0c36d; }

/* --- кнопки в шапке раздела (.header-action объявлен только в persons.css,
   которого на страницах коллективов нет: без этого ссылки наследовали от
   .section-header шрифт 30pt UPPERCASE и выглядели как заголовок) --- */
.section-header .header-action {
  font-family: 'Proxima Nova Regular', Arial, sans-serif;
  font-size: 20px;
  font-style: normal;
  text-transform: none;
  color: #00aeef;
  text-decoration: none;
}
.section-header .header-action:hover { opacity: .75; }
.section-header .header-action .ico { vertical-align: middle; }

/* --- дата образования: три поля дд / мм / гггг (COL-2) --- */
.cb-edit-date { display: flex; gap: 8px; align-items: center; }
.cb-edit-date input[type="text"] { flex: 1 1 0; min-width: 0; text-align: center; }
.cb-edit-date input[name="c_founded_year"] { flex: 1.4 1 0; }
.cb-edit-date-hint { font-size: 11px; color: #9aa7ae; margin-top: 4px; }

/* --- редактор: роли участника строками + переключатель «основная» (COL-2) --- */
.cb-edit-role-rows { margin-bottom: 8px; }
.cb-edit-role-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.cb-edit-role-row input[type="text"] { flex: 1 1 auto; min-width: 120px; }
.cb-edit-role-main {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #6b7b84;
  white-space: nowrap;
  cursor: pointer;
}
.cb-edit-role-main input[type="radio"] { width: auto; flex: 0 0 auto; }
.cb-edit-role-row-main { border-left: 3px solid #00aeef; padding-left: 6px; }
.cb-edit-role-row-main .cb-edit-role-main { color: #0099d2; font-weight: 700; }
.cb-edit-role-del {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 13px;
  background: #fdecec;
  color: #b3261e;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}
.cb-edit-role-del:hover { background: #f8d7d7; }
.cb-edit-role-row-new input[type="text"] { border-style: dashed; }
.cb-edit-role-dict { margin-top: 8px; }
.cb-edit-role-dict select { width: 100%; }

/* --- страница коллектива: основная роль выделена --- */
.cb-collective-member-role-main {
  background: #dceffa;
  color: #1c6f9c;
  font-weight: 700;
}

/* --- редактор: блок «Ссылки» --- */
.cb-edit-links-list { margin-bottom: 14px; }
.cb-edit-link-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px dashed #e7edf1;
  font-size: 13px;
}
.cb-edit-link-row form { margin: 0; }
.cb-edit-link-name { flex: 0 0 160px; color: #33454e; }
.cb-edit-link-url {
  flex: 1 1 auto;
  color: #0099d2;
  text-decoration: none;
  word-break: break-all;
  font-size: 12px;
}
.cb-edit-link-input { display: flex; gap: 10px; margin-bottom: 8px; }
.cb-edit-link-input select { flex: 0 0 190px; }
.cb-edit-link-input input[type="text"] { flex: 1 1 auto; }

/* --- редактор: выбор основного фото --- */
.cb-edit-albums { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.cb-edit-album {
  width: 180px;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  background: #f9fbfc;
  overflow: hidden;
  padding-bottom: 10px;
}
.cb-edit-album-current { border-color: #00aeef; box-shadow: 0 0 0 2px rgba(0,174,239, .25); }
.cb-edit-album-cover { display: block; height: 110px; background: #eef1f4; overflow: hidden; }
.cb-edit-album-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-edit-album-empty {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #9aa7ae;
}
.cb-edit-album-name { display: block; padding: 8px 10px 4px; font-size: 13px; font-weight: 600; color: #1d2b33; }
.cb-edit-album form { margin: 0 10px; }
.cb-edit-album .cb-edit-btn { width: 100%; }
.cb-edit-album-mark {
  display: block;
  margin: 0 10px;
  padding: 3px 8px;
  border-radius: 9px;
  background: #eaf6fd;
  color: #0099d2;
  font-size: 11px;
  text-align: center;
}

@media (max-width: 1269px) {
  .cb-collective-head-cover { width: 100%; height: 200px; }
  .cb-edit-link-input { flex-wrap: wrap; }
  .cb-edit-link-input select { flex: 1 1 100%; }
}
/* ===================== COL-5: фото и фотоотчёты коллектива (23.09.2026) ===== */
/* Один блок, дописанный в конец общего файла. Повторный прогон _c5_css.py
   перезаписывает его целиком (маркер ниже), чужие правила не трогаются. */

.cb-collective-note {
  font-size: 13px;
  color: #8a949c;
  padding: 4px 0 8px;
}

.cb-collective-block-title { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cb-collective-block-actions { margin-left: auto; }
.cb-collective-block-actions .cb-collective-album-btn { margin: 0; }

.cb-collective-afisha-report { margin-top: 4px; font-size: 12px; }
.cb-collective-afisha-report a { color: #00aeef; text-decoration: none; }
.cb-collective-afisha-report a:hover { text-decoration: underline; }

.cb-collective-album-nofile {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f6f8;
  border-bottom: 1px solid #eef1f4;
}

/* плитка-заглушка «нет фото» вместо чёрного квадрата */
.cb-photo-empty-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  height: 26px;
  padding: 0 10px;
  border: 1px dashed #cfd8dd;
  border-radius: 13px;
  background: #fff;
  color: #9aa7ae;
  font-size: 12px;
  letter-spacing: .2px;
}

/* --- строка кнопок над блоком «Основное фото» --- */
.cb-photo-topbar { margin: 0 0 14px; }
.cb-photo-topbar-hint { margin: 0 0 0 4px; }

/* --- текущее основное фото --- */
.cb-photo-main { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; margin-bottom: 6px; }
.cb-photo-main-img {
  display: block;
  width: 210px;
  height: 140px;
  border-radius: 10px;
  overflow: hidden;
  background: #f4f6f8;
  border: 1px solid #e7edf1;
}
.cb-photo-main-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-photo-main-info { flex: 1 1 320px; }
.cb-photo-main-title { font-size: 14px; font-weight: 600; color: #1d2b33; margin-bottom: 4px; }

/* --- плитки кадров (редактор и менеджер фотографий) --- */
.cb-photo-grid { display: flex; flex-wrap: wrap; gap: 12px; margin: 6px 0 14px; }
.cb-photo-tile {
  width: 150px;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  background: #f9fbfc;
  overflow: hidden;
  padding-bottom: 8px;
}
.cb-photo-tile-main { border-color: #00aeef; box-shadow: 0 0 0 2px rgba(0,174,239, .25); }
.cb-photo-tile-img { display: block; height: 105px; background: #eef1f4; overflow: hidden; }
.cb-photo-tile-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-photo-tile-desc {
  display: block;
  padding: 6px 8px 2px;
  font-size: 11px;
  color: #6b7b84;
  line-height: 1.3;
  max-height: 30px;
  overflow: hidden;
}
.cb-photo-tile form { margin: 6px 8px 0; }
.cb-photo-tile .cb-edit-btn { width: 100%; }
.cb-photo-tile .cb-collective-album-mark { margin: 6px 8px 0; }

/* сетка миниатюр внутри плитки альбома в редакторе */
.cb-edit-album-with-photos { width: 330px; }
.cb-edit-album-sub { display: block; padding: 0 10px 6px; font-size: 11px; color: #8a949c; }
.cb-photo-mini { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 10px 8px; }
.cb-photo-mini-item {
  width: 92px;
  border: 1px solid #e7edf1;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  padding-bottom: 6px;
}
.cb-photo-mini-main { border-color: #00aeef; box-shadow: 0 0 0 2px rgba(0,174,239, .22); }
.cb-photo-mini-img { display: block; height: 64px; background: #eef1f4; overflow: hidden; }
.cb-photo-mini-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-photo-mini-item form { margin: 5px 6px 0; }
.cb-photo-mini-item .cb-edit-btn { width: 100%; padding: 4px 6px; font-size: 10px; }
.cb-photo-mini-item .cb-edit-album-mark { margin: 5px 6px 0; font-size: 10px; padding: 2px 4px; }
.cb-edit-album-foot { display: flex; gap: 6px; padding: 0 10px; flex-wrap: wrap; }
.cb-edit-album-foot .cb-edit-btn { width: auto; }

/* --- «нет фото» в блоках менеджера --- */
.cb-photo-empty { display: flex; gap: 14px; align-items: center; padding: 14px; border: 1px dashed #dfe6ea; border-radius: 10px; background: #fbfcfd; }
.cb-photo-empty-title { font-size: 14px; font-weight: 600; color: #1d2b33; }

/* компактная карточка пустого альбома внутри плитки редактора (180 px) */
.cb-edit-album-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px 10px; }
.cb-edit-album-empty .cb-photo-empty-title { font-size: 12px; line-height: 1.25; }
.cb-edit-album-empty-note { font-size: 11px; color: #9aa7ae; line-height: 1.3; }
.cb-edit-album-empty .cb-edit-btn { width: auto; }
.cb-edit-album-empty form { margin: 0; }
.cb-edit-album-empty .cb-edit-btn-del { width: auto; }

/* --- выбор прошедшего события для фотоотчёта --- */
.cb-photo-find { margin-bottom: 12px; }
.cb-photo-events { display: flex; flex-direction: column; gap: 8px; max-height: 330px; overflow-y: auto; margin-bottom: 14px; }
.cb-photo-event {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid #e7edf1;
  border-radius: 10px;
  background: #f9fbfc;
  cursor: pointer;
}
.cb-photo-event:hover { border-color: #cfe6f4; background: #f4fafd; }
.cb-photo-event-body { display: block; }
.cb-photo-event-title { display: block; font-size: 14px; font-weight: 600; color: #1d2b33; }
.cb-photo-event-meta { display: block; font-size: 12px; color: #7d8b93; }
.cb-photo-event-report { display: block; font-size: 12px; color: #0099d2; margin-top: 2px; }

/* --- таблица подписей и порядка --- */
.cb-photo-edit { margin-top: 6px; }
.cb-photo-edit-head { font-size: 12px; color: #8a949c; margin-bottom: 8px; }
.cb-photo-table { width: 100%; border-collapse: collapse; }
.cb-photo-table th {
  text-align: left;
  font-size: 12px;
  color: #6b7b84;
  font-weight: 600;
  padding: 6px 8px;
  border-bottom: 1px solid #e7edf1;
}
.cb-photo-table td { padding: 6px 8px; border-bottom: 1px solid #f1f4f6; vertical-align: middle; }
.cb-photo-table-img { width: 90px; }
.cb-photo-table-img img { width: 74px; height: 56px; object-fit: cover; border-radius: 6px; display: block; }
.cb-photo-table input[type="text"] { width: 100%; }
.cb-photo-table input[type="number"] { width: 80px; }
.cb-photo-table-del { width: 70px; text-align: center; }
