/* Connected Community — оргструктура.
   Часть оформления портала. Файлы подключаются в templates/index.html по порядку номеров: поздние правила перебивают ранние. */
/* =========================================================
   ОРГ СТРУКТУРА — полосы подразделений, отделы колонками
   ========================================================= */
.body-row.org-mode .side-widgets{display:none;}
.body-row.org-mode{max-width:1400px;}

.org-ava{
  width:30px;height:30px;flex-shrink:0;border-radius:50%;
  background:var(--orange-soft);color:var(--orange-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:11.5px;font-weight:700;letter-spacing:0.02em;
}
.org-ava.orange{background:var(--orange);color:#fff;}
.org-ava.big{width:46px;height:46px;font-size:16px;background:var(--orange);color:#fff;}
.org-name{font-weight:600;font-size:13.5px;line-height:1.25;}
.org-pos{font-size:12px;color:var(--ink-soft);line-height:1.3;margin-top:1px;}
.org-code{
  font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.05em;
  background:var(--orange-soft);color:var(--orange-dark);padding:3px 9px;border-radius:999px;white-space:nowrap;
}
.org-count{font-size:12px;font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.og-tools{display:flex;gap:8px;}
.og-tools .btn{padding:8px 14px;font-size:12.5px;}

/* гендиректор */
.org-ceo{
  display:flex;align-items:center;gap:14px;
  max-width:440px;margin:0 auto;
  background:var(--ink);color:#fff;border-radius:14px;padding:16px 24px;
  box-shadow:0 8px 24px rgba(21,24,27,0.18);
}
.org-ceo-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--orange);}
.org-ceo-name{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:700;font-size:21px;margin-top:2px;}
.org-ceo-sub{font-size:12.5px;color:rgba(255,255,255,0.65);margin-top:3px;}
.org-connector{width:2px;height:26px;background:var(--orange);margin:0 auto;}

/* полосы подразделений */
.og-bands{display:flex;flex-direction:column;gap:14px;}
.og-band{
  background:var(--surface);border:1px solid var(--border);border-radius:14px;
  border-left:5px solid var(--orange);overflow:hidden;
}
.og-band-head{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:14px 18px;cursor:pointer;
  background:linear-gradient(90deg,var(--orange-tint) 0%,var(--surface) 55%);
}
.og-band-head.static{cursor:default;background:var(--bg-soft);}
.og-band-head:hover .og-chevron{color:var(--orange);}
.og-band-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:700;font-size:17px;min-width:200px;}
.og-band-lead{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;}
.og-vacant{font-size:13px;color:var(--ink-soft);font-style:italic;}
.og-chevron{font-size:16px;color:var(--ink-soft);width:18px;text-align:center;}

/* отделы колонками */
.og-groups{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;
  padding:14px 18px 18px;border-top:1px solid var(--border);
}
.og-group{
  background:var(--bg-soft);border:1px solid var(--border);border-radius:11px;
  padding:10px 12px 8px;display:flex;flex-direction:column;gap:4px;
}
.og-group-title{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;
  color:var(--orange-dark);padding:0 2px 6px;border-bottom:1px solid var(--border);margin-bottom:4px;
}
.og-row{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:8px;}
.og-row.lead{background:var(--surface);border:1px solid var(--orange-soft);}
.og-row-text{min-width:0;}
.og-row:not(.lead) .org-ava{width:26px;height:26px;font-size:10.5px;}

@media (max-width:860px){
  .og-band-title{min-width:0;}
  .og-groups{grid-template-columns:1fr;}
}

/* ---- оргструктура: шрифт Manrope, крупнее; руководители заметнее ---- */
.org-ceo,.og-band,.og-tools{font-family:'Samsung Sans','Golos Text','Roboto',system-ui,sans-serif;}
.org-ceo-name{font-family:'Samsung Sans','Golos Text',sans-serif;font-size:26px;font-weight:800;letter-spacing:-0.01em;}
.org-ceo-label{font-size:12px;}
.org-ceo-sub{font-size:13.5px;}
.org-ceo .org-ava.big{width:52px;height:52px;font-size:18px;}

.og-band-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-size:21px;font-weight:800;letter-spacing:-0.01em;}
.og-band-lead .org-name{font-size:18px;font-weight:800;}
.og-band-lead .org-pos{font-size:13.5px;}
.og-band-lead .org-ava{width:38px;height:38px;font-size:13.5px;}
.org-code{font-family:'Samsung Sans','Golos Text',sans-serif;font-size:12px;padding:4px 10px;}
.org-count{font-size:13px;}

.og-group-title{font-size:12.5px;letter-spacing:0.06em;}
.og-row .org-name{font-size:15px;font-weight:600;}
.og-row .org-pos{font-size:13px;}
.og-row.lead .org-name{font-size:16.5px;font-weight:800;}
.og-row.lead .org-ava{width:34px;height:34px;font-size:12.5px;}
.og-row:not(.lead) .org-ava{width:28px;height:28px;font-size:11px;}
.og-groups{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}

/* ---- оргструктура: шапка полосы одной строкой, карточка руководителя, кнопка раскрытия ---- */
.og-band-head{flex-wrap:nowrap;gap:14px;padding:12px 16px 12px 18px;}
.og-band-title{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.og-leader{
  display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto;
  background:var(--surface);border:1.5px solid var(--orange);border-radius:12px;
  padding:6px 16px 6px 8px;box-shadow:0 3px 12px rgba(255,102,0,0.16);
  max-width:46%;
}
.og-leader.vacant{border-style:dashed;border-color:var(--border);box-shadow:none;}
.og-leader .org-ava{width:42px;height:42px;font-size:14px;}
.og-leader-text{min-width:0;}
.og-leader-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--orange-dark);line-height:1.2;}
.og-leader .org-name{font-size:18px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.og-leader .org-pos{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.og-expand{
  flex-shrink:0;font-family:inherit;font-size:13px;font-weight:700;
  padding:9px 14px;border-radius:999px;cursor:pointer;
  background:var(--orange);color:#fff;border:none;white-space:nowrap;
}
.og-expand:hover{background:var(--orange-dark);}
.og-band.collapsed .og-expand{background:var(--surface);color:var(--orange-dark);border:1.5px solid var(--orange);}
.og-band.collapsed .og-expand:hover{background:var(--orange-tint);}
.og-units{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 12px;}
.og-units span{font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--bg-soft);border:1px solid var(--border);padding:3px 10px;border-radius:999px;}
.og-chevron{display:none;}
@media (max-width:860px){
  .og-band-head{flex-wrap:wrap;}
  .og-leader{max-width:none;margin-left:0;}
}

/* ---- карточка руководителя в одну строку ---- */
.og-leader{padding:6px 14px 6px 8px;max-width:58%;}
.og-leader .org-ava{width:36px;height:36px;font-size:13px;}
.og-leader-text{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap;}
.og-leader-label{
  flex-shrink:0;font-size:10px;letter-spacing:0.08em;line-height:1;
  background:var(--orange);color:#fff;padding:4px 7px;border-radius:999px;
}
.og-leader.vacant .og-leader-label{background:var(--ink-soft);}
.og-leader .org-name{font-size:18px;flex-shrink:0;}
.og-leader .org-pos{margin-top:0;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.og-leader .org-pos::before{content:"·";margin-right:8px;color:var(--orange);}
.og-leader.vacant .org-pos::before{content:none;}

/* ---- шапка полосы: жёсткая сетка, чтобы всё стояло в ровных колонках ---- */
.og-band-head{
  display:grid;
  grid-template-columns:104px minmax(220px,1fr) minmax(440px,1.5fr) 96px 168px;
  align-items:center;column-gap:16px;
  min-height:76px;padding:12px 16px 12px 18px;
}
.og-band-head .org-code{justify-self:start;min-width:96px;text-align:center;}
.og-band-title{
  white-space:normal;overflow:visible;text-overflow:clip;
  font-size:19px;line-height:1.2;
}
.og-leader{margin-left:0;max-width:100%;justify-self:start;min-height:50px;}
.og-band-head .org-count{text-align:center;}
.og-expand{justify-self:end;width:168px;text-align:center;}
.og-units{padding-left:calc(18px + 104px + 16px);}
/* полоса «Вне структуры» — та же сетка, пустые колонки просто не заполняются */
.og-band-head.static{grid-template-columns:104px 1fr 96px;}
@media (max-width:1180px){
  .og-band-head{grid-template-columns:96px minmax(180px,1fr) minmax(320px,1.4fr) 88px 150px;column-gap:10px;}
  .og-expand{width:150px;}
}
@media (max-width:860px){
  .og-band-head{display:flex;flex-wrap:wrap;min-height:0;}
  .og-units{padding-left:18px;}
}
.og-band-head.static{grid-template-columns:1fr 96px;}

/* ---- карточки руководителей одной ширины — ровные и левый, и правый края ---- */
.og-leader{width:100%;justify-self:stretch;}
.og-leader .org-pos{flex:1 1 auto;}

/* ---- гендиректор: крупная карточка в фирменном градиенте ---- */
.org-ceo{
  max-width:600px;padding:22px 30px;gap:18px;border-radius:18px;
  background:linear-gradient(135deg,#FF7A1F 0%,#FF6600 45%,#E85C00 100%);
  color:#fff;
  box-shadow:0 14px 34px rgba(255,102,0,0.32), 0 2px 0 rgba(255,255,255,0.25) inset;
}
.org-ceo>*{min-width:0;}   /* на узком экране текст ужимается, а не выталкивает карточку за край */
@media (max-width:560px){
  .org-ceo{padding:16px 18px;gap:12px;}
  .org-ceo-label,.org-ceo-name,.org-ceo-sub{white-space:normal;overflow-wrap:anywhere;}
}
.org-ceo .org-ava.big{
  width:62px;height:62px;font-size:21px;
  background:#fff;color:var(--orange-dark);
  box-shadow:0 4px 14px rgba(0,0,0,0.15);
}
.org-ceo-label{
  display:flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:0.08em;color:rgba(255,255,255,0.88);
}
.org-ceo-tag{
  font-size:11px;font-weight:800;letter-spacing:0.1em;line-height:1;
  background:#fff;color:var(--orange-dark);padding:4px 8px;border-radius:999px;
}
.org-ceo-name{font-size:30px;font-weight:800;margin-top:4px;letter-spacing:-0.01em;}
.org-ceo-sub{font-size:13.5px;color:rgba(255,255,255,0.82);margin-top:4px;}
.org-connector{height:30px;background:linear-gradient(180deg,#E85C00,var(--orange));}

/* ---- гендиректор, вариант 2: тёмно-синий градиент ---- */
.org-ceo{
  background:linear-gradient(135deg,#243356 0%,#1B2745 55%,#2B4A7E 100%);
  box-shadow:0 14px 34px rgba(27,39,69,0.30), 0 1px 0 rgba(255,255,255,0.10) inset;
}
.org-ceo .org-ava.big{background:#fff;color:#1B2745;box-shadow:0 4px 14px rgba(0,0,0,0.25);}
.org-ceo-label{color:rgba(255,255,255,0.78);}
.org-ceo-tag{background:var(--orange);color:#fff;}
.org-ceo-sub{color:rgba(255,255,255,0.70);}
.org-connector{background:linear-gradient(180deg,#2B4A7E,var(--orange));}

/* ---- гендиректор, вариант 3: бело-оранжевый, в концепции сайта ---- */
.org-ceo{
  background:linear-gradient(135deg,var(--orange-tint) 0%,#FFFFFF 60%);
  border:2px solid var(--orange);border-top-width:7px;
  color:var(--ink);
  box-shadow:0 12px 30px rgba(255,102,0,0.16);
}
.org-ceo .org-ava.big{background:var(--orange);color:#fff;box-shadow:0 6px 16px rgba(255,102,0,0.35);}
.org-ceo-label{color:var(--orange-dark);}
.org-ceo-tag{background:var(--orange);color:#fff;}
.org-ceo-name{color:var(--ink);}
.org-ceo-sub{color:var(--ink-soft);}
.org-connector{background:var(--orange);}

/* ---- CEO: подпись крупнее; ряд карточек руководителей подразделений ---- */
.org-ceo-label{font-size:16px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;}
.org-ceo-tag{font-size:15px;padding:6px 11px;}
.org-ceo-name{font-size:32px;}

.org-heads{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;
  margin:0 0 28px;
}
.org-head-card{
  background:linear-gradient(180deg,var(--orange-tint) 0%,#FFFFFF 55%);
  border:1.5px solid var(--orange);border-top-width:5px;border-radius:14px;
  padding:14px 12px 12px;text-align:center;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:7px;
  box-shadow:0 6px 18px rgba(255,102,0,0.10);
  transition:transform .15s, box-shadow .15s;
}
.org-head-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,102,0,0.18);}
.org-head-card.vacant{border-style:dashed;border-color:var(--border);background:var(--bg-soft);box-shadow:none;}
.org-head-card .org-ava{width:46px;height:46px;font-size:15px;box-shadow:0 4px 12px rgba(255,102,0,0.3);}
.org-head-card .org-ava.vacant{background:var(--border);color:var(--ink-soft);box-shadow:none;}
.org-head-name{font-weight:800;font-size:15px;line-height:1.2;}
.org-head-pos{font-size:12px;color:var(--ink-soft);line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.org-head-count{margin-top:auto;font-size:11.5px;font-weight:700;color:var(--orange-dark);}
@media (max-width:860px){.org-heads{grid-template-columns:repeat(2,1fr);}}

/* ---- шапка полосы без карточки руководителя: четыре колонки ---- */
.og-band-head{grid-template-columns:104px 1fr 96px 168px;min-height:64px;}
@media (max-width:1180px){.og-band-head{grid-template-columns:96px 1fr 88px 150px;}}

/* ---- шапка полосы: только название и кнопка ---- */
.og-band-head{grid-template-columns:1fr 168px;min-height:60px;padding:10px 16px 10px 22px;}
@media (max-width:1180px){.og-band-head{grid-template-columns:1fr 150px;}}
.og-band-head .og-expand{margin-left:auto;}

/* ---- шапка полосы: название слева, имя руководителя справа, стрелка ---- */
.og-band-head{grid-template-columns:1fr auto 22px;column-gap:14px;}
.og-band-who{font-size:17px;font-weight:800;color:var(--ink);white-space:nowrap;text-align:right;}
.og-band-who.vacant{font-weight:600;color:var(--ink-soft);font-style:italic;}
.og-chevron{display:inline-block;font-size:15px;color:var(--orange);text-align:center;}
@media (max-width:1180px){.og-band-head{grid-template-columns:1fr auto 22px;}}
@media (max-width:860px){.og-band-who{margin-left:auto;}}

/* ---- имя руководителя начинается с середины полосы, в одну линию ---- */
.og-band-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px;}
.og-band-who{text-align:left;justify-self:start;padding-left:8px;}
@media (max-width:1180px){.og-band-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px;}}

/* ---- имя руководителя: чуть левее, в оранжевой рамке ---- */
.og-band-head{grid-template-columns:0.8fr 1fr 22px;}
.og-band-who{
  padding:6px 18px;border:1.5px solid var(--orange);border-radius:999px;
  background:var(--surface);font-size:16px;
}
.og-band-who.vacant{border-style:dashed;border-color:var(--border);background:var(--bg-soft);}
@media (max-width:1180px){.og-band-head{grid-template-columns:0.8fr 1fr 22px;}}

/* ---- линии от гендиректора ко всем подразделениям (шина) ---- */
.org-connector{height:34px;}
.org-heads{position:relative;padding-top:20px;}
.org-heads::before{
  content:"";position:absolute;top:0;
  left:calc((100% - 72px) / 14);right:calc((100% - 72px) / 14);
  border-top:2px solid var(--orange);
}
.org-head-card{position:relative;}
.org-head-card::before{
  content:"";position:absolute;top:-20px;left:50%;height:20px;
  border-left:2px solid var(--orange);transform:translateX(-1px);
}
@media (max-width:860px){
  .org-heads{padding-top:0;}
  .org-heads::before,.org-head-card::before{display:none;}
}

/* ---- дуги от гендиректора к подразделениям (SVG поверх), старая шина выключена ---- */
.org-heads::before,.org-head-card::before{display:none;}
.org-connector{display:none;}
.org-top{position:relative;}
.org-links{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0;}
.org-links path{fill:none;stroke:#FFB07A;stroke-width:2;stroke-linecap:round;}
.org-links circle{fill:var(--orange);}
.org-ceo,.org-heads{position:relative;z-index:1;}
.org-heads{padding-top:0;margin-top:54px;}

/* ---- вместо стрелки — подпись «Показать сотрудников» ---- */
.og-band-head{grid-template-columns:0.8fr 1fr auto;}
.og-chevron{
  font-size:13.5px;font-weight:700;color:var(--orange-dark);
  white-space:nowrap;padding:6px 4px 6px 12px;text-align:right;
}
.og-band-head:hover .og-chevron{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
@media (max-width:1180px){.og-band-head{grid-template-columns:0.8fr 1fr auto;}}

/* ---- шапка полосы: не вылезает за край, подпись «Показать сотрудников» всегда целиком ---- */
.og-band-head{grid-template-columns:minmax(0,0.8fr) minmax(0,1fr) max-content;}
.og-band-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.og-band-who{max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.og-chevron{overflow:visible;}
@media (max-width:1180px){.og-band-head{grid-template-columns:minmax(0,0.8fr) minmax(0,1fr) max-content;}}

/* ---- подпись «Показать сотрудников»: снять старую фиксированную ширину стрелки ---- */
.og-chevron{width:auto;min-width:max-content;}

/* ---- код должности (CTO / COO / CFO …) между именем и подписью ---- */
.og-band-head{grid-template-columns:minmax(0,0.8fr) minmax(0,1fr) 120px max-content;}
.og-band-code{display:flex;justify-content:center;}
.og-band-code .org-code{font-size:12.5px;padding:5px 12px;}
@media (max-width:1180px){.og-band-head{grid-template-columns:minmax(0,0.8fr) minmax(0,1fr) 110px max-content;}}
/* работают в этом офисе, а подразделение другое (16.10.2026) — полупрозрачной колонкой */
.og-group.og-guest{opacity:.55;}
.og-group.og-guest:hover{opacity:.85;}
