/* Frankenplatz — «Голоса форума» (voices.html). Только эта страница.
   Разметка — site/Voices.jsx. Цвета, радиусы, тени — токены из styles.css. */

/* ── Герой ── */
.kit .vc-h1{max-width:14ch;margin:0 0 18px;font-size:var(--fs-hero)}
.kit .vc-lede{max-width:56ch;margin:0 0 30px}
.kit .vc-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line-strong)}
.kit .vc-dates li{min-width:0;padding:18px 28px 4px 0}
.kit .vc-dates li+li{padding-left:28px;border-left:1px solid var(--line)}
.kit .vc-dates__d{display:block;margin-bottom:5px;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:15.5px;color:var(--gold-bright)}
.kit .vc-dates__p{display:block;font-size:14px;line-height:1.45;color:var(--muted)}

/* ── Секция, вкладки дней ── */
.kit .vc-hero{padding-bottom:0}
.kit .vc-sec{padding-top:88px}
.kit .vc-h2{margin:0 0 22px;font-size:clamp(24px,2.6vw,30px)}
.kit .vc-days{display:flex;width:max-content;max-width:100%;margin:0 0 26px;padding:5px;list-style:none;overflow-x:auto;scrollbar-width:none;background:var(--glass);border:1px solid var(--line);border-radius:var(--r-pill)}
.kit .vc-days::-webkit-scrollbar{display:none}
.kit .vc-days li{flex:none}
.kit .vc-days button{min-height:44px;padding:10px 20px;border:0;border-radius:var(--r-pill);background:none;color:var(--muted);font:inherit;font-size:14.5px;font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast)}
.kit .vc-days__m{display:none}
.kit .vc-days button:hover{color:var(--text)}
.kit .vc-days button.is-on{background:var(--grad-gold-lila);color:var(--ink-on-gold);font-weight:var(--fw-bold)}
.kit .vc-empty{padding:34px 4px;font-size:15px;color:var(--muted-2)}

/* ── Сетка плиток ── */
.kit .vc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:18px;margin:0;padding:0;list-style:none}
.kit .vc-grid>li{display:flex;min-width:0}
.kit .vc-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:320px;padding:24px;overflow:hidden;container-type:inline-size;text-align:left;color:inherit;cursor:pointer;background:var(--glass);border:1px solid var(--line);border-radius:var(--r-xl);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base),box-shadow var(--dur-base)}
.kit .vc-tile:focus-visible{outline:2px solid var(--lila-bright);outline-offset:3px}
.kit .vc-tile:hover{transform:var(--lift-card);border-color:var(--line-strong);box-shadow:var(--shadow-lila)}
.kit .vc-tile>*{position:relative;z-index:1}

.kit .vc-cat,.kit .vc-seal{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:5px 12px;border-radius:var(--r-pill);font-size:12.5px;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase}
.kit .vc-cat{color:var(--lila-bright);background:rgba(154,111,212,.12);border:1px solid rgba(154,111,212,.3)}
.kit .vc-seal{color:var(--gold-bright);background:rgba(230,180,80,.09);border:1px dashed rgba(245,201,105,.5);font-weight:var(--fw-black);letter-spacing:.1em}
.kit .vc-seal::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 12px var(--gold-bright)}

.kit .vc-when{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}
.kit .vc-when__d{font-size:14px;font-weight:var(--fw-bold);color:var(--gold-bright)}
.kit .vc-when__also{color:var(--gold);font-weight:var(--fw-semibold)}
.kit .vc-when__t{font-size:14px;color:var(--muted-2);font-variant-numeric:tabular-nums}
.kit .vc-topic{margin:0 0 14px;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:min(19px,7.4cqi);line-height:1.28;letter-spacing:-.015em;color:var(--heading);text-wrap:wrap;width:100%}

.kit .vc-who{margin:0;font-size:min(14.5px,5.2cqi);line-height:1.45;color:var(--muted)}
.kit .vc-who b{display:flex;align-items:center;gap:8px;margin-bottom:3px;font-size:15.5px;font-weight:var(--fw-semibold);color:var(--text)}
.kit .vc-who b span{min-width:0}
.kit .vc-mask{font-family:var(--font-display);font-weight:var(--fw-black);font-size:15px!important;letter-spacing:.34em;color:var(--muted-2)!important}
.kit .vc-flag{flex:none;width:1.15em;height:1.15em;border-radius:50%;border:1px solid var(--line-strong);overflow:hidden}

.kit .vc-mono{position:absolute!important;z-index:0!important;right:16px;bottom:10px;font-family:var(--font-display);font-weight:var(--fw-black);font-size:74px;line-height:1;letter-spacing:-.05em;color:rgba(185,139,255,.05);pointer-events:none;user-select:none}
/* Имя, регалии и «О спикере» прижаты к низу карточки. Тема занимает две или
   три строки, и раньше имя у соседних карточек стояло на разной высоте —
   разбег доходил до 25px. Теперь низ выровнен у всей строки. */
.kit .vc-who{margin-top:auto}
.kit .vc-more{margin-top:0;padding-top:16px;font-size:13.5px;font-weight:var(--fw-bold);color:var(--lila-bright)}
.kit .vc-more::after{content:" →"}

/* секретная: ниже по светлоте, в фиолетовой гамме; отличие — золотая рамка и печать */
.kit .is-secret{background:rgba(12,5,20,.30);border-color:rgba(245,201,105,.32)}
.kit .vc-tile.is-secret:hover{border-color:rgba(245,201,105,.55);box-shadow:0 20px 50px rgba(123,63,228,.18)}
.kit .is-secret .vc-topic{color:var(--gold-bright)}
.kit .is-secret .vc-mono{color:rgba(245,201,105,.07)}
.kit .is-secret .vc-facts li{border-color:rgba(245,201,105,.16)}
.kit .is-secret .vc-facts li::before{color:var(--gold)}

/* подсказка про закрытые имена */
.kit .vc-hint{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start;max-width:70ch;margin:34px 0 0;padding:16px 18px;background:rgba(230,180,80,.06);border:1px dashed rgba(245,201,105,.34);border-radius:var(--r-lg);color:var(--muted);font-size:14.5px;line-height:1.5}
.kit .vc-hint::before{content:"";width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 12px var(--gold-bright)}
.kit .vc-hint b{color:var(--text);font-weight:var(--fw-semibold)}

/* ── Шторка-досье ── */
.kit .vc-sheet{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px}
.kit .vc-sheet__scrim{position:absolute;inset:0;background:rgba(10,5,18,.72);backdrop-filter:blur(6px)}
.kit .vc-sheet__card{position:relative;z-index:1;width:100%;max-width:560px;max-height:86vh;overflow:auto;padding:34px 30px;background:linear-gradient(160deg,var(--panel),var(--bg-2));border:1px solid var(--line-strong);border-radius:var(--r-3xl);box-shadow:0 40px 90px rgba(0,0,0,.6)}
.kit .vc-sheet__card.is-secret{background:linear-gradient(160deg,var(--bg-2),var(--bg))}
.kit .vc-sheet__x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;background:var(--glass);border:1px solid var(--line);color:var(--text);font-size:17px;line-height:1;cursor:pointer}
.kit .vc-sheet__x:hover{border-color:var(--lila-bright)}
.kit .vc-bio{margin:16px 0 0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.kit .vc-facts{display:flex;flex-direction:column;margin:14px 0 0;padding:0;list-style:none}
.kit .vc-facts li{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--text)}
.kit .vc-facts li:first-child{border-top:1px solid var(--line)}
.kit .vc-facts li::before{content:"→";flex:none;color:var(--lila)}
.kit .vc-facts li>span{min-width:0}
.kit .vc-sprog{margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.kit .vc-sprog__lbl{margin:0 0 12px;font-size:11.5px;font-weight:var(--fw-black);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.kit .vc-sprog ul{margin:0;padding:0;list-style:none}
.kit .vc-sprog li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:11px 0;border-bottom:1px solid var(--line)}
.kit .vc-sprog li:last-child{border-bottom:0;padding-bottom:0}
.kit .vc-sprog__d{font-size:13px;font-weight:var(--fw-bold);color:var(--gold-bright);white-space:nowrap;font-variant-numeric:tabular-nums}
.kit .vc-sprog__t{font-size:14.5px;line-height:1.4;color:var(--text)}
.kit .vc-sprog__x{grid-column:2;font-size:12.5px;color:var(--muted-2)}

@media (max-width:899px){
  .kit .vc-dates{display:block;border-top:1px solid var(--line)}
  .kit .vc-dates li{padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
  .kit .vc-dates li+li{padding-left:0;border-left:0}
  .kit .vc-dates__d{margin-bottom:3px;font-size:15px}
  .kit .vc-dates__p{font-size:14px}
}
@media (max-width:640px){
  .kit .vc-h1{font-size:clamp(46px,14vw,60px)}
  .kit .vc-days{display:flex;flex-wrap:wrap;gap:8px;width:auto;padding:0;overflow:visible;background:none;border:0;border-radius:0}
  .kit .vc-days button{padding:10px 18px;border:1px solid var(--line-strong);background:var(--glass);font-size:14px}
  .kit .vc-days button.is-on{border-color:transparent}
  .kit .vc-days__l{display:none}
  .kit .vc-days__m{display:inline}
  .kit .vc-tile{min-height:0}
  .kit .vc-sheet{padding:12px;align-items:flex-end}
  .kit .vc-sheet__card{padding:28px 20px;max-height:90vh}
}
@media (max-width:360px){
  .kit .vc-topic{hyphens:auto;-webkit-hyphens:auto}
}
@media (max-width:420px){
  .kit .vc-sprog li{grid-template-columns:minmax(0,1fr);gap:3px}
  .kit .vc-sprog__x{grid-column:1}
}
@media (prefers-reduced-motion:reduce){.kit .vc-tile{transition:none}}

.kit .vc-topic__l{display:block}

/* Плашка вечера под Лозанной: текст и кнопка записи в лист ожидания.
   Показывается только на вкладке Лозанны — билетов на этот вечер ещё нет. */
.kit .vc-lau{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:0 0 22px;padding:16px 20px;
  font-size:15px;line-height:1.55;color:var(--text);
  background:rgba(230,180,80,.08);border:1px dashed rgba(245,201,105,.45);border-radius:var(--r-md)}
.kit .vc-lau>span{flex:1 1 320px;min-width:0;max-width:74ch}
.kit .vc-lau .fp-btn{flex:none;padding:12px 22px;font-size:14px}
@media(max-width:560px){.kit .vc-lau .fp-btn{width:100%}}

/* Призыв под карточками. Текст описания крупнее общего .fp-band__body —
   это единственное место на странице, где человека зовут действовать. */
.kit .vc-cta{margin:36px 0 8px}
.kit .vc-cta .fp-band__body{font-size:17.5px;line-height:1.55;max-width:56ch}
@media(max-width:560px){.kit .vc-cta .fp-band__body{font-size:16.5px}}
