/* ============================================================
   IZBA · «Найти» → Котельническая (вариант 4b)
   Кнопка из 7 золотых колонн. При наведении колонны вырастают
   в силуэт высотки над кнопкой, золото темнеет до чёрного камня,
   окна загораются этажами, на шпиле вспыхивает звезда.
   Состояние «включено» — класс .is-on (ставит izba-find-hover.js
   на наведение мышью и на фокус с клавиатуры).
   Переходы в базовых правилах — это обратный ход (уход курсора),
   в правилах .is-on — прямой ход (наведение).
   ============================================================ */
.izb-kt{
  position:relative;flex:1 1 160px;min-height:52px;height:58px;
  border:none;background:transparent!important;padding:0!important;cursor:pointer;
  font-family:inherit;overflow:visible;z-index:5;
  -webkit-tap-highlight-color:transparent;
}
.izb-kt:focus-visible{outline:2px solid rgb(253,190,31);outline-offset:3px;border-radius:12px}

/* сцена поднимается над кнопкой на 220 px */
.izb-kt__stage{position:absolute;left:0;right:0;bottom:0;top:-220px;transform-origin:50% 100%;pointer-events:none}
.izb-kt.is-on .izb-kt__stage{animation:izbKtIn .56s ease-out both}
.izb-kt.is-touched:not(.is-on) .izb-kt__stage{animation:izbKtOut .48s ease-out both}

/* ---- колонны: в покое вместе дают обычную золотую кнопку 58 px ---- */
.izb-kt__col{
  position:absolute;bottom:0;left:var(--l);width:var(--w);height:58px;
  border-radius:var(--r0);overflow:hidden;pointer-events:auto;
  background:linear-gradient(135deg,rgb(253,203,77),rgb(253,190,31));
  background-size:var(--bs);background-position:var(--bp);
  transition:height .34s cubic-bezier(.5,0,.3,1) var(--dout),border-radius .22s ease calc(var(--dout) + .2s);
}
.izb-kt.is-on .izb-kt__col{
  height:var(--h);border-radius:3px 3px 0 0;
  transition:height .46s cubic-bezier(.3,1.35,.45,1) var(--din),border-radius .24s ease var(--din);
}
.izb-kt__col i{position:absolute;display:block}
.izb-kt__stone{inset:0;background:rgb(28,28,31);opacity:0;transition:opacity .26s ease .12s}
.izb-kt__cornice{left:0;right:0;top:0;height:2px;background:rgb(253,190,31);opacity:0;transition:opacity .26s ease .12s}
.izb-kt.is-on .izb-kt__stone,.izb-kt.is-on .izb-kt__cornice{opacity:1;transition:opacity .38s ease .16s}

/* окна: тусклая сетка + светлая, которая растёт снизу вверх (этажами) */
.izb-kt__win,.izb-kt__lit{left:14%;right:14%;--wb:10px}
.izb-kt__col--tower .izb-kt__win,.izb-kt__col--tower .izb-kt__lit{--wb:26px}
.izb-kt__win{top:12px;bottom:var(--wb);background:conic-gradient(from 270deg at 2.5px 4px,rgba(253,190,31,.22) 25%,transparent 0) 0 100%/8px 10px;opacity:0;transition:opacity .12s ease}
.izb-kt__lit{bottom:var(--wb);height:0;max-height:calc(100% - 12px - var(--wb));background:conic-gradient(from 270deg at 2.5px 4px,rgb(253,203,77) 25%,transparent 0) 0 100%/8px 10px;filter:drop-shadow(0 0 2px rgba(253,190,31,.8));opacity:0;transition:height 0s linear .2s,opacity .12s ease}
.izb-kt.is-on .izb-kt__win{opacity:1;transition:opacity .26s ease .38s}
.izb-kt.is-on .izb-kt__lit{height:100%;opacity:1;transition:height .9s linear .46s,opacity .26s ease .38s}

/* ---- надстройки: башенки, пинакли, обелиски, ярус, фонарь, шпиль ---- */
.izb-kt__pop{
  position:absolute;display:block;left:var(--l);width:var(--w);bottom:var(--b);height:var(--h);
  clip-path:var(--clip);transform-origin:50% 100%;transform:scaleY(0);
  transition:transform .2s ease-in var(--dout);
}
.izb-kt__pop--stone{background:rgb(28,28,31)}
.izb-kt__pop--gold{background:linear-gradient(135deg,rgb(253,203,77),rgb(253,190,31))}
.izb-kt.is-on .izb-kt__pop{transform:scaleY(1);transition:transform .32s cubic-bezier(.3,1.6,.5,1) var(--din)}

.izb-kt__colonnade{position:absolute;left:45.5%;width:9%;bottom:158px;height:15px;display:flex;justify-content:center;gap:4px;padding-top:3px;opacity:0;transition:opacity .1s ease}
.izb-kt__colonnade i{width:2px;height:9px;border-radius:1px;background:rgb(255,247,222)}
.izb-kt.is-on .izb-kt__colonnade{opacity:1;transition:opacity .2s ease .62s}

/* ---- звезда, свечение, кольцо, табличка ---- */
.izb-kt__glow{position:absolute;left:50%;bottom:188px;width:60px;height:60px;margin-left:-30px;border-radius:50%;background:radial-gradient(closest-side,rgba(253,203,77,.7),rgba(253,203,77,0));opacity:0;transition:opacity .3s ease}
.izb-kt.is-on .izb-kt__glow{opacity:1;animation:izbKtGlow 2.4s ease-in-out .7s infinite both}
.izb-kt__ring{position:absolute;left:50%;bottom:193px;width:50px;height:50px;margin-left:-25px;border-radius:50%;border:1.5px dashed rgba(253,203,77,.9);opacity:0}
.izb-kt.is-on .izb-kt__ring{animation:izbKtRays .8s ease-out .64s both}
.izb-kt__star{position:absolute;left:50%;bottom:208px;width:20px;height:20px;margin-left:-10px;filter:drop-shadow(0 0 5px rgba(253,190,31,.95));transform:translateY(40px) scale(0) rotate(-120deg);transition:transform .2s ease-in}
.izb-kt__star svg{display:block}
.izb-kt.is-on .izb-kt__star{transform:translateY(0) scale(1) rotate(0deg);transition:transform .52s cubic-bezier(.3,1.6,.5,1) .6s}
.izb-kt.is-on .izb-kt__star svg{animation:izbKtTwinkle 2.4s ease-in-out 1.3s infinite}
.izb-kt__plate{position:absolute;left:37%;width:26%;bottom:9px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.14em;color:rgb(253,203,77);opacity:0;transition:opacity .1s ease}
.izb-kt.is-on .izb-kt__plate{opacity:1;transition:opacity .3s ease .7s}

/* ---- подпись кнопки ---- */
.izb-kt__label{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:16px;font-weight:600;color:rgb(28,28,31);pointer-events:none;
  transition:opacity .22s ease .38s,transform .32s cubic-bezier(.3,1.5,.5,1) .38s;
}
.izb-kt.is-on .izb-kt__label{opacity:0;transform:translateY(6px) scale(.6);transition:opacity .14s ease,transform .2s ease}

/* мгновенный сброс (служебный, для скриншотов и повторного показа) */
.izb-kt--instant,.izb-kt--instant *{transition:none!important;animation:none!important}

@keyframes izbKtIn{0%{transform:scale(1,1)}16%{transform:scale(1.06,.84)}42%{transform:scale(.97,1.05)}68%{transform:scale(1.01,.99)}100%{transform:scale(1,1)}}
@keyframes izbKtOut{0%{transform:scale(1,1)}30%{transform:scale(1.04,.9)}60%{transform:scale(.99,1.03)}100%{transform:scale(1,1)}}
@keyframes izbKtRays{0%{transform:scale(.3);opacity:0}30%{transform:scale(1);opacity:1}100%{transform:scale(1.7);opacity:0}}
@keyframes izbKtTwinkle{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.18) rotate(18deg)}}
@keyframes izbKtGlow{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:.9;transform:scale(1.12)}}

@media (prefers-reduced-motion:reduce){
  .izb-kt *,.izb-kt__stage{transition-duration:1ms!important;transition-delay:0s!important;animation:none!important}
}

/* ============================================================
   izbalux.com overrides (TZ_buttons_v3 par.2.1), not part of the handoff.
   1) The search fields next to the button are 60 px high: button 60 px (handoff: 58 px).
      The idle columns follow the button height, otherwise a 2 px strip stays empty on top.
      Specificity 0,2,0: lower than .izb-kt.is-on .izb-kt__col (0,3,0), so the hover heights are unchanged.
      Scene parts are placed with bottom:...px from the button bottom, so they do not move.
   2) The plate shows the localized {$findLabelEsc}; upper case is made here (handoff: hardcoded upper-case text).
   ============================================================ */
#findBtn.izb-kt{height:60px}
.izb-kt .izb-kt__col{height:60px}
.izb-kt__plate{text-transform:uppercase}
