/* Виджеты «Команда» и «Колонки». Подключается последним. Чтобы отключить - уберите <link> на этот файл. */

/* ===== Горизонтальная лента (команда) ===== */
.hs{position:relative}
.hs::before,.hs::after{content:"";position:absolute;top:0;bottom:14px;width:40px;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s}
.hs::before{left:0;background:linear-gradient(90deg,rgba(var(--bkr),.8),transparent)}
.hs::after{right:0;background:linear-gradient(270deg,rgba(var(--bkr),.8),transparent)}
.hs.can-l::before,.hs.can-r::after{opacity:1}

.hscroll{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:14px 6px 18px;
  scroll-snap-type:x proximity;scroll-padding-inline:6px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scrollbar-width:thin;scrollbar-color:rgba(var(--c1r),.55) transparent;cursor:grab;-webkit-user-select:none;user-select:none}
.hscroll::-webkit-scrollbar{height:6px}
.hscroll::-webkit-scrollbar-thumb{background:rgba(var(--c1r),.5);border-radius:6px}
.hscroll:focus-visible{outline:2px solid var(--c2);outline-offset:2px}
.hscroll.drag{cursor:grabbing;scroll-snap-type:none}
.hscroll>:first-child{margin-left:auto}
.hscroll>:last-child{margin-right:auto}   /* мало элементов - по центру, много - прокрутка с начала */

.team.hscroll{grid-template-columns:none;text-align:center}
.team.hscroll figure{flex:0 0 clamp(140px,40vw,190px);scroll-snap-align:start;min-width:0}
.team.hscroll .ava{width:128px;height:128px;flex:none}
.team.hscroll b{overflow-wrap:anywhere}

.hs .hs-btn{display:none;position:absolute;top:calc(50% - 8px);translate:0 -50%;z-index:3;width:44px;height:44px;min-width:0;padding:0;
  border-radius:50%;border:1px solid var(--c1);background:rgba(var(--bkr),.78);color:var(--c1);cursor:pointer;backdrop-filter:blur(6px);
  transition:background .3s,color .3s}
.hs .hs-btn::before{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;border:solid currentColor;border-width:2px 2px 0 0}
.hs .hs-btn.prev{left:-8px}.hs .hs-btn.prev::before{rotate:-135deg;translate:2px 0}
.hs .hs-btn.next{right:-8px}.hs .hs-btn.next::before{rotate:45deg;translate:-2px 0}
.hs .hs-btn:hover{background:var(--c1);color:var(--on1)}
@media (hover:hover) and (pointer:fine){
  .hs.can-l .hs-btn.prev,.hs.can-r .hs-btn.next{display:block}
}

/* ===== Колонки: программа / события ===== */
.evs{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.evs.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ev{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:24px 22px 22px;
  border:1px solid rgba(var(--c1r),.32);border-radius:var(--r,16px);background:rgba(var(--bkr),.62);backdrop-filter:blur(6px);
  transition:border-color .4s,box-shadow .4s}
.ev:hover{border-color:rgba(var(--c1r),.62);box-shadow:0 14px 34px rgba(var(--bkr),.5)}
.ev-tag{align-self:flex-start;padding:6px 11px;border-radius:999px;font:700 12px/1 var(--font,inherit);letter-spacing:.08em;text-transform:uppercase;
  color:var(--on1);background:var(--c1)}
.ev-tag.t2{color:var(--on2);background:var(--c2)}
.ev-tag.to{color:var(--c1);background:transparent;border:1px solid var(--c1)}
.ev h3{margin:0;font-size:clamp(20px,2.3vw,25px);line-height:1.25;color:var(--c1);overflow-wrap:anywhere}
.ev h4{margin:0;font-size:16px;line-height:1.45;font-weight:600;color:var(--tx);overflow-wrap:anywhere}
.ev-meta{list-style:none;display:grid;gap:8px;margin:4px 0 0;padding:12px 0 0;border-top:1px solid rgba(var(--c1r),.2);color:var(--tx2);font-size:15px;line-height:1.4}
.ev-meta li{display:flex;gap:10px;align-items:flex-start;margin:0}
.ev-meta .ic{flex:none;margin-top:1px;color:var(--c1)}
.ev-text{margin:0;color:var(--tx2);font-size:15px;line-height:1.65;white-space:pre-line}
.ev-sp{display:grid;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(var(--c1r),.2)}
.ev-meta+.ev-sp,.ev-text+.ev-sp,.ev h3+.ev-sp,.ev h4+.ev-sp{margin-top:6px}
.ev-sp>div{display:flex;gap:12px;align-items:center}
.ev-sp i{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font:700 16px/1 var(--font,inherit);font-style:normal;
  color:var(--c1);background:rgba(var(--c1r),.12);border:1px solid rgba(var(--c1r),.5)}
.ev-sp span{min-width:0}
.ev-sp b{display:block;font-size:15px;line-height:1.3;color:var(--tx);overflow-wrap:anywhere}
.ev-sp small{display:block;font-size:13px;line-height:1.35;color:var(--mut)}

@media(max-width:980px){.evs.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .evs,.evs.c3{grid-template-columns:minmax(0,1fr);gap:14px}
  .ev{padding:20px 18px 18px}
  /* режим «свайп»: карточки в ряд, следующая выглядывает сбоку */
  .evs.swipe{display:flex;gap:14px;overflow-x:auto;margin-inline:-16px;padding:4px 16px 16px;scroll-snap-type:x mandatory;scroll-padding-inline:16px;
    -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
  .evs.swipe::-webkit-scrollbar{display:none}
  .evs.swipe .ev{flex:0 0 84%;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.hscroll,.evs.swipe{scroll-behavior:auto}}

/* ===== Редактор (панель CMS): повторяющиеся элементы и загрузка фото ===== */
.cms .rep{gap:8px}
.cms .ri{display:grid;gap:10px;padding:8px 10px 12px;border:1px solid #dfe3e3;background:#fafbfb}
.cms .ri-top{display:flex;align-items:center;gap:2px;margin-right:-6px}
.cms .ri-top b{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cms .ri .ib{width:40px;height:40px}
.cms .fl2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cms input[type=date],.cms input[type=time]{min-height:44px}
.cms .up{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center}
.cms .up-prev{width:72px;height:72px;border-radius:50%;border:1px solid #dfe3e3;background:#2a2d2d center/cover no-repeat}
.cms .up-ctl{display:grid;gap:6px}
/* [ev-borders] */
/* Пустая колонка (нет ни одного поля с текстом) - без рамки, фона и тени */
.ev:empty{border:0;background:none;box-shadow:none;backdrop-filter:none;padding-block:0;min-height:0}
.ev:empty:hover{border:0;box-shadow:none}
/* Разделитель рисуется только если над ним есть содержимое */
.ev>.ev-meta:first-child,.ev>.ev-sp:first-child{border-top:0;padding-top:0;margin-top:0}
@media(max-width:700px){.ev:empty{display:none}}
/* [accents] */
/* ===== 5 акцентных цветов колонки ===== */
.ev{--ac:var(--c1);--acr:var(--c1r);--on:var(--on1);border-color:rgba(var(--acr),.32)}
.ev.ac-2{--ac:var(--c2);--acr:var(--c2r);--on:var(--on2)}
.ev.ac-3{--ac:#4da3ff;--acr:77,163,255;--on:#000}
.ev.ac-4{--ac:#ff5fa2;--acr:255,95,162;--on:#000}
.ev.ac-5{--ac:#a78bfa;--acr:167,139,250;--on:#000}
.ev:hover{border-color:rgba(var(--acr),.62)}
.ev-tag{color:var(--on);background:var(--ac)}
.ev-tag.to{color:var(--ac);background:transparent;border:1px solid var(--ac)}
.ev h3{color:var(--ac)}
.ev-meta,.ev-sp{border-top-color:rgba(var(--acr),.2)}
.ev-meta .ic{color:var(--ac)}
.ev-sp i{color:var(--ac);background:rgba(var(--acr),.12);border-color:rgba(var(--acr),.5)}

/* ===== Команда: без полосы прокрутки, только стрелки ===== */
.hscroll{scrollbar-width:none;padding-bottom:14px}
.hscroll::-webkit-scrollbar{display:none}
.hs::before,.hs::after{bottom:0}
.hs .hs-btn{top:50%}
.hs.can-l .hs-btn.prev,.hs.can-r .hs-btn.next{display:block}
@media (hover:none),(pointer:coarse){.hs .hs-btn{width:38px;height:38px;opacity:.92}}
