/* ==========================================================================
   AI-ПОИСК  —  /search/ai
   --------------------------------------------------------------------------
   Лист одной страницы. Прежних было три — catalog-v404a, ai-search-v511 и
   ai-page-v520, — и первый из них тянул сюда всё оформление старого
   каталога ради одной сетки.

   Общее с остальным сайтом (.k-sect, .k-head, .k-h2, .k-sub, .k-page__kick)
   лежит в kino/*.css и здесь не повторяется.
   ========================================================================== */

.k-aip__sect { margin-top: 72px; }

/*
 * Когда ответ на экране, объясняющая половина уже не то, что читают: она
 * гаснет, пока к ней не вернутся.
 */
.k-aip__seo { transition: opacity .4s ease; }
.k-aip__seo.is-quiet { opacity: .35; }
.k-aip__seo.is-quiet:hover, .k-aip__seo.is-quiet:focus-within { opacity: 1; }

/* --------------------------------------------------------------------------
   ВОПРОС.
   -------------------------------------------------------------------------- */

/*
 * Ширина разговора.
 *
 * Страница широкая, а вопрос и ответ — колонка текста. Во всю ширину поле
 * вопроса выглядит баннером, а строка «почему выбрали» растягивается на
 * полторы сотни знаков, и глаз теряет начало следующей. Всё, что относится
 * к диалогу, живёт в одной мере; объясняющая половина ниже — во всю.
 */
.k-ai { display: block; --k-ai-col: 880px; }

.k-ai__ask,
.k-ai__ex,
.k-ai__unlock,
.k-ai__think,
.k-ai__answer,
.k-ai__state { max-width: var(--k-ai-col); }

.k-ai__head { max-width: 30ch; margin-bottom: 30px; }

/* Значок стоит в строке подписи, поэтому она перестаёт быть блоком. */
.k-ai__head .k-page__kick {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--kt-accent-ink);
}

.k-ai__h {
    margin: 0 0 12px;
    font-family: var(--kt-font-display);
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.02em;
    text-wrap: balance;
}

.k-ai__lead {
    margin: 0;
    max-width: 60ch;
    font-size: 15px;
    line-height: 1.6;
    color: var(--kt-muted);
    text-wrap: pretty;
}

/*
 * Поле вопроса.
 *
 * Прежнее светилось фиолетовым ореолом — цветом, которого на сайте больше
 * нигде нет. Здесь та же поверхность, что у всех карточек, и единственный
 * цвет — акцент на рамке, когда в поле пишут, и на кнопке «спросить».
 */
.k-ai__ask { margin-top: 34px; }

.k-ai__box {
    padding: 18px 18px 14px;
    border: 1px solid var(--kt-line-2);
    border-radius: var(--kt-r-xl);
    background: var(--kt-surface);
    transition: border-color .25s ease, box-shadow .25s ease;
}

.k-ai__box:focus-within {
    border-color: var(--kt-accent);
    box-shadow: 0 0 0 4px rgba(var(--kt-accent-rgb), .1);
}

/* Кадр тащат мышью — поле говорит, что готово его принять. */
.k-ai__ask.is-drop .k-ai__box {
    border-style: dashed;
    border-color: var(--kt-accent);
    background: rgba(var(--kt-accent-rgb), .05);
}

.k-ai__in {
    display: block;
    width: 100%;
    min-height: 62px;
    max-height: 220px;
    padding: 0;
    border: 0;
    outline: none;
    resize: none;
    background: transparent;
    color: var(--kt-ink);
    font-family: var(--kt-font);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -.015em;
}

.k-ai__in::placeholder { color: var(--kt-muted); }

.k-ai__bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

.k-ai__spring { flex: 1; min-width: 6px; }

.k-ai__hint {
    font-family: var(--kt-font-mono);
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--kt-muted);
}

.k-ai__count { font-family: var(--kt-font-mono); font-size: 11px; color: var(--kt-muted); }

.k-ai__clip {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--kt-line);
    border-radius: 50%;
    background: transparent;
    color: var(--kt-muted);
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.k-ai__clip:hover { border-color: var(--kt-line-2); color: var(--kt-ink); }
.k-ai__clip.is-on { border-color: var(--kt-accent); background: var(--kt-accent); color: var(--kt-on-accent); }

.k-ai__go {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--kt-accent);
    color: var(--kt-on-accent);
    cursor: pointer;
    transition: transform .2s var(--kt-ease), opacity .2s ease;
}

.k-ai__go:hover { transform: translateX(2px); }
.k-ai__go:disabled { opacity: .4; cursor: default; transform: none; }

/* Прикреплённый кадр — над строкой вопроса, а не вместо неё. */
.k-ai__shot {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 8px 10px;
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-md);
    background: var(--kt-surface-2);
}

.k-ai__shotimg { width: 54px; height: 36px; object-fit: cover; border-radius: 7px; flex: 0 0 auto; }
.k-ai__shotbody { flex: 1; min-width: 0; }
.k-ai__shott { display: block; font-size: 13px; font-weight: 700; }
.k-ai__shots { display: block; font-family: var(--kt-font-mono); font-size: 10.5px; color: var(--kt-muted); }

.k-ai__shotx {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--kt-muted);
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}

.k-ai__shotx:hover { background: var(--kt-surface-3); color: var(--kt-ink); }

/* --------------------------------------------------------------------------
   СКОЛЬКО ЗАПРОСОВ ОСТАЛОСЬ.
   -------------------------------------------------------------------------- */

.k-ai__usage { position: relative; flex: 0 0 auto; }

.k-ai__ring {
    display: block;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.k-ai__ring svg { width: 28px; height: 28px; transform: rotate(-90deg); }
.k-ai__ringbg { fill: none; stroke: var(--kt-surface-3); stroke-width: 3; }

/*
 * Дуга рисуется штрихом длиной во всю окружность, который сдвигают: без
 * stroke-dasharray сдвигать нечего, и кольцо оставалось сплошным кругом
 * при любом остатке. Оно и выглядело всегда полным.
 *
 * 65.97 — это 2ПИr при r = 10.5, то же число знает скрипт.
 */
.k-ai__ringfg {
    fill: none;
    stroke: var(--kt-accent);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 65.97;
    transition: stroke-dashoffset .5s var(--kt-ease), stroke .3s ease;
}

/* Ближе к концу — теплее: цвет предупреждает раньше, чем цифра. */
.k-ai__ring.is-warn .k-ai__ringfg { stroke: #E8B54B; }
.k-ai__ring.is-full .k-ai__ringfg { stroke: #E2604F; }

.k-ai__ringsr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.k-ai__upanel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 12px);
    z-index: 30;
    width: 288px;
    padding: 14px;
    border: 1px solid var(--kt-line-2);
    border-radius: var(--kt-r-lg);
    background: var(--kt-surface-2);
    box-shadow: var(--kt-shadow-pop);
    animation: kAiPop .2s var(--kt-ease);
}

@keyframes kAiPop {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}

.k-ai__uhead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.k-ai__uplan { font-size: 12.5px; font-weight: 700; }
.k-ai__ureset { font-family: var(--kt-font-mono); font-size: 10px; color: var(--kt-muted); }

.k-ai__urows { display: flex; flex-direction: column; gap: 11px; }

.k-aiu__top {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 5px;
    font-size: 11.5px;
}

.k-aiu__name { flex: 1; min-width: 0; color: var(--kt-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-aiu__reset { font-family: var(--kt-font-mono); font-size: 9.5px; color: var(--kt-muted); }
.k-aiu__pct { font-family: var(--kt-font-mono); font-size: 10px; color: var(--kt-ink); }

.k-aiu__bar { display: block; height: 4px; border-radius: 4px; background: var(--kt-surface-3); overflow: hidden; }
.k-aiu__fill { display: block; height: 100%; border-radius: 4px; background: var(--kt-accent); transition: width .4s var(--kt-ease); }

.k-aiu.is-warn .k-aiu__fill { background: #E8B54B; }
.k-aiu.is-full .k-aiu__fill { background: #E2604F; }
.k-aiu--free .k-aiu__name { color: var(--kt-accent-ink); }

.k-ai__uup {
    display: block;
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid var(--kt-line);
    color: var(--kt-accent-ink);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

/* --------------------------------------------------------------------------
   ПРИМЕРЫ.
   -------------------------------------------------------------------------- */

.k-ai__ex {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 10px;
    margin-top: 22px;
}

.k-ai__exi {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-md);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s var(--kt-ease);
}

.k-ai__exi:hover {
    border-color: var(--kt-line-2);
    background: var(--kt-surface);
    transform: translateY(-2px);
}

.k-ai__exico {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    border-radius: 10px;
    background: var(--kt-surface-2);
    color: var(--kt-accent-ink);
}

.k-ai__exi:hover .k-ai__exico { background: rgba(var(--kt-accent-rgb), .12); }

.k-ai__exbody { flex: 1; min-width: 0; }

.k-ai__exkind {
    display: block;
    font-family: var(--kt-font-mono);
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--kt-muted);
}

.k-ai__exq {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.k-ai__exgo { flex: 0 0 auto; color: var(--kt-muted); opacity: 0; transition: opacity .2s ease, transform .2s var(--kt-ease); }
.k-ai__exi:hover .k-ai__exgo { opacity: 1; transform: translateX(2px); }

/* --------------------------------------------------------------------------
   ЗАКРЫТЫЙ РЕЖИМ.
   -------------------------------------------------------------------------- */

.k-ai__unlock {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid var(--kt-accent);
    border-radius: var(--kt-r-lg);
    background: rgba(var(--kt-accent-rgb), .06);
}

.k-ai__unlock.is-pulse { animation: kAiPulse .9s ease; }

@keyframes kAiPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(var(--kt-accent-rgb), 0); }
    35%      { box-shadow: 0 0 0 7px rgba(var(--kt-accent-rgb), .22); }
}

.k-ai__unlockico { flex: 0 0 auto; color: var(--kt-accent-ink); }
.k-ai__unlockbody { flex: 1; min-width: 0; }
.k-ai__unlockt { display: block; font-size: 14.5px; font-weight: 700; letter-spacing: -.015em; }
.k-ai__unlockd { display: block; margin-top: 3px; font-size: 13px; color: var(--kt-muted); }

.k-ai__unlockcta {
    flex: 0 0 auto;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--kt-accent);
    color: var(--kt-on-accent);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s var(--kt-ease);
}

.k-ai__unlockcta:hover { transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   ПОКА ДУМАЕТ.
   -------------------------------------------------------------------------- */

.k-ai__think { margin-top: 40px; }

.k-ai__thead { display: flex; align-items: center; gap: 11px; margin-bottom: 22px; }

.k-ai__orb { display: inline-flex; gap: 4px; }

.k-ai__orb i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--kt-accent);
    animation: kAiOrb 1.1s ease-in-out infinite;
}

.k-ai__orb i:nth-child(2) { animation-delay: .16s; }
.k-ai__orb i:nth-child(3) { animation-delay: .32s; }

@keyframes kAiOrb {
    0%, 100% { opacity: .25; transform: translateY(0); }
    45%      { opacity: 1; transform: translateY(-4px); }
}

.k-ai__status { font-size: 13.5px; font-weight: 600; color: var(--kt-muted); }

.k-ai__tgrid { display: flex; flex-direction: column; gap: 14px; }

.k-ai__skel {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 8px 16px;
    padding: 14px;
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-lg);
}

.k-ai__skelart { grid-row: 1 / -1; aspect-ratio: 2 / 3; border-radius: 10px; }
.k-ai__skell1 { height: 13px; width: 42%; }
.k-ai__skell2 { height: 11px; width: 24%; }
.k-ai__skell3 { height: 11px; width: 76%; }

.k-ai__skelart, .k-ai__skell1, .k-ai__skell2, .k-ai__skell3 {
    display: block;
    border-radius: 7px;
    background: linear-gradient(100deg, var(--kt-surface) 30%, var(--kt-surface-2) 50%, var(--kt-surface) 70%);
    background-size: 300% 100%;
    animation: kAiSkel 1.25s ease-in-out infinite;
}

@keyframes kAiSkel {
    from { background-position: 140% 0; }
    to   { background-position: -40% 0; }
}

/* --------------------------------------------------------------------------
   ОТВЕТ.
   -------------------------------------------------------------------------- */

.k-ai__answer { margin-top: 40px; }

.k-ai__intro {
    margin: 0 0 24px;
    max-width: 74ch;
    font-size: 16px;
    line-height: 1.65;
    text-wrap: pretty;
}

/* Ответ печатается, а не появляется целиком: курсор показывает, что фраза
   ещё пишется, и её не начинают читать с середины. */
.k-ai__intro.is-typing::after {
    content: '';
    display: inline-block;
    width: 2px;
    height: 1em;
    margin-left: 2px;
    vertical-align: -.14em;
    background: var(--kt-accent);
    animation: kAiCaret .8s steps(1) infinite;
}

@keyframes kAiCaret { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }

.k-ai__grid { display: flex; flex-direction: column; gap: 12px; }

/*
 * Карточка ответа — лежачая, а не афиша в сетке.
 *
 * У неё есть то, чего нет ни у одной карточки на сайте: строка о том,
 * почему её выбрали. Эта строка и есть смысл AI-ответа, и под афишей
 * шириной в постер её пришлось бы резать до обрывка.
 */
.k-aic {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 16px;
    padding: 14px;
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-r-lg);
    background: var(--kt-surface);
    color: inherit;
    text-decoration: none;
    transition: border-color .2s ease, transform .25s var(--kt-ease), box-shadow .25s ease;
    animation: kAicIn .4s var(--kt-ease) backwards;
}

@keyframes kAicIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: none; }
}

.k-aic:hover {
    border-color: var(--kt-line-2);
    transform: translateY(-3px);
    box-shadow: var(--kt-shadow);
}

.k-aic__art {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 2 / 3;
    border-radius: 10px;
    overflow: hidden;
    background: var(--kt-surface-2);
}

.k-aic__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-aic__ph { font-size: 22px; font-weight: 800; color: var(--kt-muted); }

/* Порядковый номер — ответ упорядочен, и это видно. */
.k-aic__rank {
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 2;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 6px;
    background: var(--kt-accent);
    color: var(--kt-on-accent);
    font-family: var(--kt-font-mono);
    font-size: 10px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
}

.k-aic__body { display: block; min-width: 0; align-self: center; }

.k-aic__t {
    display: block;
    font-size: 15.5px;
    font-weight: 700;
    letter-spacing: -.02em;
    transition: color .2s ease;
}

.k-aic:hover .k-aic__t { color: var(--kt-accent-ink); }

.k-aic__sub { display: block; margin-top: 3px; font-size: 12.5px; color: var(--kt-muted); }
.k-aic__sub b { color: var(--kt-accent-ink); font-weight: 700; }

.k-aic__why {
    display: block;
    margin-top: 9px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--kt-ink);
    text-wrap: pretty;
}

.k-aic__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }

.k-aic__tag {
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--kt-surface-2);
    font-family: var(--kt-font-mono);
    font-size: 9.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--kt-muted);
}

.k-ai__note { margin: 20px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--kt-muted); }

.k-ai__follow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 26px;
}

.k-ai__followlab {
    margin-right: 4px;
    font-family: var(--kt-font-mono);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--kt-muted);
}

.k-ai__followitems { display: contents; }

.k-aichip {
    padding: 7px 13px;
    border: 1px solid var(--kt-line);
    border-radius: 999px;
    background: transparent;
    color: var(--kt-muted);
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.k-aichip:hover { border-color: var(--kt-accent); background: rgba(var(--kt-accent-rgb), .07); color: var(--kt-ink); }

.k-ai__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-top: 28px;
    padding-top: 16px;
    border-top: 1px solid var(--kt-line);
    font-size: 11.5px;
    color: var(--kt-muted);
}

.k-ai__badge {
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--kt-surface-2);
    font-family: var(--kt-font-mono);
    font-size: 9.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.k-ai__quota { font-family: var(--kt-font-mono); font-size: 10.5px; }
.k-ai__disc { flex: 1; min-width: 200px; }

/* --------------------------------------------------------------------------
   ПУСТО, ОШИБКА, ЛИМИТ.
   -------------------------------------------------------------------------- */

.k-ai__state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
    padding: 56px 24px;
    border: 1px dashed var(--kt-line);
    border-radius: 20px;
    background: var(--kt-surface);
    text-align: center;
}

.k-ai__stateico { color: var(--kt-muted); }
.k-ai__statet { font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.k-ai__stated { max-width: 46ch; font-size: 13.5px; line-height: 1.55; color: var(--kt-muted); }

.k-ai__statecta {
    margin-top: 12px;
    padding: 10px 20px;
    border-radius: 999px;
    background: var(--kt-accent);
    color: var(--kt-on-accent);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s var(--kt-ease);
}

.k-ai__statecta:hover { transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   О ЧЁМ МОЖНО СПРОСИТЬ.
   -------------------------------------------------------------------------- */

.k-topics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 28px;
}

.k-topic__t { margin: 0 0 5px; font-size: 15.5px; font-weight: 700; letter-spacing: -.02em; }
.k-topic__d { margin: 0 0 14px; font-size: 13px; line-height: 1.5; color: var(--kt-muted); }

.k-topic__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }

.k-topic__q {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 7px 9px;
    margin: 0 -9px;
    border-radius: 9px;
    color: var(--kt-muted);
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.k-topic__q svg { flex: 0 0 auto; margin-top: 3px; color: var(--kt-accent-ink); }
.k-topic__q:hover { background: var(--kt-surface); color: var(--kt-ink); }

/* --------------------------------------------------------------------------
   КАК ЭТО РАБОТАЕТ.
   -------------------------------------------------------------------------- */

.k-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
}

.k-step { padding-top: 18px; border-top: 2px solid var(--kt-line-2); }

.k-step__n {
    display: block;
    margin-bottom: 12px;
    font-family: var(--kt-font-display);
    font-size: 34px;
    line-height: 1;
    color: var(--kt-accent-ink);
}

.k-step__t { margin: 0 0 6px; font-size: 15px; font-weight: 700; letter-spacing: -.02em; }
.k-step__d { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--kt-muted); text-wrap: pretty; }

/* --------------------------------------------------------------------------
   ПОИСК ПО КАДРУ и ПЕРЕХОД В ОБЫЧНЫЙ ПОИСК.
   -------------------------------------------------------------------------- */

.k-shotpitch,
.k-cross {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 30px 32px;
    border: 1px solid var(--kt-line);
    border-radius: 22px;
    background: var(--kt-surface);
}

.k-shotpitch > div, .k-cross > div { flex: 1; min-width: 0; }
.k-shotpitch .k-sub, .k-cross .k-sub { margin-top: 8px; max-width: 74ch; line-height: 1.6; }

.k-shotpitch__ic { flex: 0 0 auto; width: 76px; height: 76px; color: var(--kt-accent-ink); opacity: .5; }

.k-cross__btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 12px 20px;
    border-radius: 999px;
    background: var(--kt-accent);
    color: var(--kt-on-accent);
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s var(--kt-ease);
}

.k-cross__btn:hover { transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   ЧАСТЫЕ ВОПРОСЫ.
   -------------------------------------------------------------------------- */

.k-faq { border-top: 1px solid var(--kt-line); }
.k-fq { border-bottom: 1px solid var(--kt-line); }

.k-fq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -.02em;
    cursor: pointer;
    list-style: none;
    transition: color .2s ease;
}

.k-fq__q::-webkit-details-marker { display: none; }
.k-fq__q:hover { color: var(--kt-accent-ink); }

.k-fq__chev { flex: 0 0 auto; color: var(--kt-muted); transition: transform .3s var(--kt-ease), color .2s ease; }
.k-fq[open] .k-fq__chev { transform: rotate(180deg); color: var(--kt-accent-ink); }

.k-fq__a {
    margin: 0;
    padding: 0 0 20px;
    max-width: 82ch;
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--kt-muted);
    text-wrap: pretty;
}

/* --------------------------------------------------------------------------
   УЗКИЕ ЭКРАНЫ.
   -------------------------------------------------------------------------- */

@media (max-width: 760px) {
    .k-aip__sect { margin-top: 56px; }
    .k-ai__box { padding: 15px 15px 12px; }
    .k-ai__in { font-size: 16px; min-height: 54px; }

    /* Подсказка «Enter — чтобы спросить» на телефоне неверна: там нет
       Enter, там есть кнопка. Место под неё тоже лишнее. */
    .k-ai__hint { display: none; }

    .k-ai__unlock { flex-direction: column; align-items: flex-start; gap: 14px; }
    .k-ai__unlockcta { width: 100%; text-align: center; }

    .k-aic, .k-ai__skel { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; padding: 12px; }

    .k-shotpitch, .k-cross { flex-direction: column; align-items: flex-start; gap: 20px; padding: 24px 20px; }
    .k-shotpitch__ic { width: 54px; height: 54px; }
    .k-cross__btn { width: 100%; justify-content: center; }

    .k-ai__upanel { width: min(288px, calc(100vw - 48px)); }
}
