/* =========================================================
   УКРАИНСКИЕ ПРАВА В ГЕРМАНИИ — панель-хаб
   Строится на tokens.css сайта (--paper/--ink/--accent/--line/--f-*).
   Своих цветов не вводит, кроме акцентов состояния (ok/wait/none).
   ========================================================= */

.tku{
  --tku-ok:#1f7a4d;
  --tku-wait:#b5761a;
  --tku-none:#8a8a8a;
  color:var(--ink);
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.65;
  background:var(--paper);
}
.tku *{box-sizing:border-box}
.tku-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- шапка раздела ---------- */
.tku-mast{border-bottom:1px solid var(--line);background:var(--paper)}
.tku-mast-in{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 24px}
.tku-cycle{font-size:13.5px;color:var(--ink-2)}
.tku-badge{
  font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:4px 11px;color:var(--ink-2);
}
.tku-badge--live{border-color:var(--tku-ok);color:var(--tku-ok)}

.tku-hero{padding:44px 0 34px;border-bottom:1px solid var(--line)}
.tku-eyebrow{
  font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);margin:0 0 10px;font-weight:600;
}
.tku-hero h1{font-family:var(--f-display);font-size:clamp(30px,5vw,46px);line-height:1.12;margin:0 0 16px}
.tku-standfirst{max-width:70ch;font-size:19px;color:var(--ink-2);margin:0}

/* ---------- прямой ответ (те же классы, что у статей: движок article-extras
     свой CSS на страницы не отдаёт, поэтому дублируем стиль здесь) ---------- */
.tku .tk-kratko{max-width:760px;margin:22px 0 0;background:#f7fbe0;border:1px solid #d4ed07;
  border-radius:12px;padding:16px 20px}
.tku .tk-kratko-lbl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;color:#3a5a00;margin-bottom:6px}
.tku .tk-kratko-txt{font-size:16px;line-height:1.55;color:#161616}
.tku .tk-kratko-txt p{margin:0}

/* ---------- быстрые факты ---------- */
.tku-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;margin:30px 0 8px;padding:0;list-style:none;
}
.tku-fact{border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:#fff}
.tku-fact b{display:block;font-family:var(--f-display);font-size:23px;line-height:1.2;margin-bottom:4px}
.tku-fact span{font-size:14px;color:var(--ink-2);line-height:1.45;display:block}

/* ---------- маршруты ---------- */
.tku-routes{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:16px;margin:22px 0 0;padding:0;list-style:none;
}
.tku-route{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.tku-route > a{display:block;padding:20px 21px;color:inherit;text-decoration:none;height:100%}
.tku-route > a:hover{background:rgba(0,0,0,.02)}
.tku-route-n{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);font-weight:600}
.tku-route-name{font-family:var(--f-display);font-size:22px;margin:7px 0 8px;line-height:1.2}
.tku-route-sub{font-size:15px;color:var(--ink-2);margin:0 0 12px}
.tku-route-links{margin:0;padding:0;list-style:none;font-size:15px}
.tku-route-links li{margin:6px 0}
.tku-route-links a{color:var(--accent);text-decoration:none}
.tku-route-links a:hover{text-decoration:underline}

/* ---------- таблицы ---------- */
.tku-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0}
.tku-table{border-collapse:collapse;width:100%;min-width:540px;font-size:15.5px}
.tku-table th,.tku-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.tku-table thead th{background:rgba(0,0,0,.03);font-size:14px;letter-spacing:.02em}
.tku-state{font-weight:600;white-space:nowrap}
.tku-state--ok{color:var(--tku-ok)}
.tku-state--wait{color:var(--tku-wait)}
.tku-state--none{color:var(--tku-none)}

/* ---------- шаги ---------- */
.tku-steps{counter-reset:s;list-style:none;margin:20px 0 0;padding:0}
.tku-steps li{
  counter-increment:s;position:relative;padding:0 0 0 46px;margin:0 0 16px;
}
.tku-steps li::before{
  content:counter(s);position:absolute;left:0;top:-2px;
  width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;
  font-family:var(--f-display);font-size:16px;display:flex;align-items:center;justify-content:center;
}
.tku-steps b{display:block;margin-bottom:2px}

/* ---------- FAQ-аккордеон ---------- */
.tku-faq-group{margin:0 0 30px}
.tku-faq-group > h3{
  font-family:var(--f-display);font-size:21px;margin:0 0 6px;
}
.tku-faq-group > p.tku-faq-src{font-size:14px;color:var(--ink-2);margin:0 0 12px}
.tku-faq-group > p.tku-faq-src a{color:var(--accent)}
.tku-q{border:1px solid var(--line);border-radius:11px;background:#fff;margin:0 0 9px;overflow:hidden}
.tku-q > summary{
  cursor:pointer;list-style:none;padding:14px 44px 14px 17px;position:relative;
  font-weight:600;font-size:16.5px;line-height:1.45;
}
.tku-q > summary::-webkit-details-marker{display:none}
.tku-q > summary::after{
  content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);
  transform:translateY(-70%) rotate(45deg);transition:transform .18s ease;
}
.tku-q[open] > summary::after{transform:translateY(-30%) rotate(-135deg)}
.tku-q > summary:hover{background:rgba(0,0,0,.02)}
.tku-q-a{padding:0 17px 15px;font-size:16px;color:var(--ink-2)}
.tku-q-a p{margin:0}

/* ---------- список статей ---------- */
.tku-arts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:22px 0 0;padding:0;list-style:none}
.tku-art{border:1px solid var(--line);border-radius:12px;background:#fff}
.tku-art a{display:block;padding:16px 18px;color:inherit;text-decoration:none;height:100%}
.tku-art a:hover{background:rgba(0,0,0,.02)}
.tku-art-name{font-family:var(--f-display);font-size:18.5px;line-height:1.25;margin:0 0 6px}
.tku-art-sub{font-size:14.5px;color:var(--ink-2);margin:0}
.tku-art-go{display:inline-block;margin-top:9px;font-size:14px;color:var(--accent)}

/* ---------- интерактивный помощник ---------- */
.tku-helper{margin-top:52px}
.tkh{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;margin:22px 0 0}
.tkh-q{border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px 17px;margin:0}
.tkh-q legend{font-weight:600;font-size:15.5px;padding:0 4px;line-height:1.35}
.tkh-q label{display:flex;align-items:flex-start;gap:9px;font-size:15px;color:var(--ink-2);
  margin:9px 0 0;cursor:pointer;line-height:1.4}
.tkh-q input{margin-top:3px;flex-shrink:0;accent-color:var(--accent)}
.tkh-q label:hover{color:var(--ink)}
.tkh-go{grid-column:1/-1;justify-self:start;margin-top:4px;cursor:pointer;
  font-family:var(--f-body);font-weight:600;font-size:16px;padding:13px 26px;
  border:none;border-radius:999px;background:var(--accent);color:#fff;transition:transform .15s,opacity .15s}
.tkh-go:hover{transform:translateY(-1px);opacity:.92}

.tkh-result{border:1px solid var(--line);border-radius:14px;background:#fff;
  padding:22px 24px;margin:22px 0 0}
.tkh-head{font-size:17.5px;line-height:1.4;padding:13px 16px;border-radius:10px;margin-bottom:14px}
.tkh-head.is-ok{background:#eef7ee;border:1px solid #bcdcbc}
.tkh-head.is-check{background:#fdf4e3;border:1px solid #e8cf9a}
.tkh-result h3{font-family:var(--f-display);font-size:19px;margin:20px 0 8px}
.tkh-result ul,.tkh-result ol{margin:0;padding-left:22px}
.tkh-result li{margin:7px 0;line-height:1.55}
.tkh-result p{margin:0 0 4px}
.tkh-links a{color:var(--accent)}
.tkh-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);
  font-size:14px;color:var(--ink-2);line-height:1.5}

/* ---------- PDF ---------- */
.tku-pdf{display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:14px;
  background:#fff;padding:20px 24px;margin:24px 0 0}
.tku-pdf-txt{flex:1 1 300px;min-width:0}
.tku-pdf-txt b{display:block;font-family:var(--f-display);font-size:20px;margin-bottom:5px}
.tku-pdf-txt span{font-size:15px;color:var(--ink-2);line-height:1.5;display:block}
.tku-pdf-btn{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  font-weight:600;font-size:15.5px;padding:13px 24px;border-radius:999px;
  background:var(--accent);color:#fff;text-decoration:none;transition:transform .15s,opacity .15s}
.tku-pdf-btn:hover{transform:translateY(-1px);opacity:.92;color:#fff}

/* ---------- заметка / дисклеймер ---------- */
.tku-note{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;
  padding:17px 19px;background:#fff;margin:26px 0 0}
.tku-note h3{font-family:var(--f-display);font-size:19px;margin:0 0 8px}
.tku-note p{font-size:15px;color:var(--ink-2);margin:0 0 8px}
.tku-note p:last-child{margin-bottom:0}

.tku h2{font-family:var(--f-display);font-size:clamp(23px,3.4vw,30px);margin:52px 0 6px;line-height:1.2}
.tku h2 + p.tku-lead{max-width:70ch;color:var(--ink-2);margin:0 0 4px}

.tku-sources{font-size:14.5px;color:var(--ink-2);margin:14px 0 0;padding:0 0 0 20px}
.tku-sources li{margin:5px 0}
.tku-sources a{color:var(--accent)}

@media (max-width:640px){
  .tku{font-size:16.5px}
  .tku-wrap{padding:0 17px}
  .tku-mast-in{padding:11px 17px}
  .tku-hero{padding:32px 0 26px}
  .tku h2{margin-top:42px}
}
