/* ==========================================================================
   Firmonaut – živý maskot (logo5)
   Nahrádza celý blok „logo4“ vo firmonaut-interactions.css.

   Stavy na <html> nastavuje firmonaut-interactions.js:
     [data-firmonaut-brand-active]   lupa je vytiahnutá (kurzor je vo vyhľadávaní)
     [data-firmonaut-searching]      astronaut skúma (používateľ práve píše)
     [data-firmonaut-mood]           život mimo vyhľadávania:
        awake    sleduje kurzor hlavou
        look     pozrie sa priamo na nás a žmurkne
        wave     zamáva
        drowsy   zadriemava
        asleep   drieme
        waking   strhne sa a zobudí
     [data-firmonaut-blink]          jedno žmurknutie
     [data-firmonaut-visor-off]      vypne priezor (hlava sa hýbe aj bez neho)

   Premenné na .firmonaut-mark, ktoré JS plynule mení (rozsah -1 až 1):
     --fn-look-x, --fn-look-y        smer pohľadu

   Animovateľné časti SVG:
     [data-firmonaut-figure]         celá postava – náklon pri hľadaní
     [data-firmonaut-head]           prilba + oblúk + priezor – otáča sa v krku
     [data-firmonaut-visor]          priezor – posúva sa za pohľadom, privrie sa
     [data-firmonaut-part=helmet|orbit|suit]  pôvodné tvary
     [data-firmonaut-torso]          trup – náklon, dýchanie
     [data-firmonaut-rig]            ruka + lupa – otáča sa v ramene
     [data-firmonaut-loupe]          lupa (rukoväť, sklo, odlesk) – otáča sa v zápästí
     [data-firmonaut-forearm] / [data-firmonaut-hand]
   ========================================================================== */

html[data-brand="firmonaut"] .firmonaut-mark {
  --fn-mark-scale: 1.36;     /* zväčšenie ikonky počas interakcie */
  --fn-mark-shift: -5px;     /* ikonka ustúpi doľava, aby mala lupa miesto */
  --fn-rig-scale: 1;         /* veľkosť ruky s lupou */
  --fn-ease-out: cubic-bezier(.2, .8, .2, 1);
  --fn-ease-spring: cubic-bezier(.3, 1.4, .45, 1);
  --fn-ease-stow: cubic-bezier(.5, 0, .7, .4);
  --fn-look-x: 0;            /* smer pohľadu, nastavuje JS */
  --fn-look-y: 0;
  overflow: visible;
  transform-origin: left center;
  transition: transform 300ms cubic-bezier(.4, 0, .2, 1) 130ms;
}

/* --- pokoj: ruka zvesená za sakom, lupa zložená, všetko neviditeľné ------ */
html[data-brand="firmonaut"] [data-firmonaut-figure] {
  transform-origin: 640px 800px;
  transition: transform 300ms cubic-bezier(.4, 0, .2, 1) 60ms;
}
html[data-brand="firmonaut"] [data-firmonaut-part="helmet"],
html[data-brand="firmonaut"] [data-firmonaut-part="orbit"] {
  transition: transform 260ms cubic-bezier(.4, 0, .2, 1) 40ms;
}
html[data-brand="firmonaut"] [data-firmonaut-rig] {
  opacity: 0;
  pointer-events: none;
  transform: rotate(74deg) scale(.42);
  transition: transform 300ms var(--fn-ease-stow) 50ms, opacity 110ms linear 240ms;
}
html[data-brand="firmonaut"] [data-firmonaut-loupe] {
  opacity: 0;
  transform: rotate(-60deg) scale(.3);
  transition: transform 260ms var(--fn-ease-stow), opacity 60ms linear 250ms;
}
html[data-brand="firmonaut"] [data-firmonaut-loupe-glint] {
  opacity: 0;
  transition: opacity 100ms linear;
}

/* --- vytiahnutie a držanie ------------------------------------------------ */
html[data-brand="firmonaut"][data-firmonaut-brand-active] .firmonaut-mark {
  transform: translateX(var(--fn-mark-shift)) scale(var(--fn-mark-scale));
  transition: transform 320ms var(--fn-ease-out);
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] [data-firmonaut-figure] {
  transform: rotate(3deg);
  transition: transform 480ms var(--fn-ease-spring) 60ms;
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] [data-firmonaut-part="helmet"] {
  transform: translate(6px, 3px);
  transition: transform 420ms var(--fn-ease-out) 90ms;
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] [data-firmonaut-part="orbit"] {
  transform: translate(-6px, 0);
  transition: transform 420ms var(--fn-ease-out) 90ms;
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] [data-firmonaut-rig] {
  opacity: 1;
  transform: scale(var(--fn-rig-scale));
  transition: transform 520ms var(--fn-ease-spring) 90ms, opacity 90ms linear 90ms;
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] [data-firmonaut-loupe] {
  opacity: 1;
  transform: none;
  transition: transform 560ms cubic-bezier(.3, 1.5, .45, 1) 170ms, opacity 60ms linear 90ms;
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] [data-firmonaut-loupe-glint] {
  opacity: 1;
  transition: opacity 220ms linear 520ms;
}

/* --- nápis a odznak ustúpia ----------------------------------------------- */
html[data-brand="firmonaut"] #portal-sidebar-brand a > span,
html[data-brand="firmonaut"] #portal-sidebar-brand .badge,
html[data-brand="firmonaut"] .portal-vristo-header-logo-name {
  transition: transform 300ms cubic-bezier(.4, 0, .2, 1) 130ms;
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] #portal-sidebar-brand a > span,
html[data-brand="firmonaut"][data-firmonaut-brand-active] #portal-sidebar-brand .badge,
html[data-brand="firmonaut"][data-firmonaut-brand-active] .portal-vristo-header-logo-name {
  transition: transform 320ms cubic-bezier(.2, .8, .2, 1);
}
html[data-brand="firmonaut"][data-firmonaut-brand-active] #portal-sidebar-brand a > span { transform: translateX(9px); }
html[data-brand="firmonaut"][data-firmonaut-brand-active] #portal-sidebar-brand .badge { transform: translateX(4px); }
html[data-brand="firmonaut"][data-firmonaut-brand-active] .portal-vristo-header-logo-name { transform: translateX(7px); }

/* --- skúmanie počas písania ----------------------------------------------
   Animuje samostatnú vlastnosť rotate (nie transform), takže sa skladá
   s pózou a nikdy do nej „neskočí“, ani keď sa píše počas vyťahovania.
   Cyklus má dve zastavenia: bližšie k skúmanému miestu a späť k prilbe.   */
html[data-brand="firmonaut"][data-firmonaut-searching] [data-firmonaut-rig] {
  animation: firmonaut-peer-arm 2000ms cubic-bezier(.45, 0, .3, 1) infinite;
}
html[data-brand="firmonaut"][data-firmonaut-searching] [data-firmonaut-loupe] {
  animation: firmonaut-peer-lens 2000ms cubic-bezier(.45, 0, .3, 1) infinite;
}
html[data-brand="firmonaut"][data-firmonaut-searching] [data-firmonaut-figure] {
  animation: firmonaut-peer-body 2000ms cubic-bezier(.45, 0, .3, 1) infinite;
}
@keyframes firmonaut-peer-arm {
  0%, 100% { rotate: 0deg; }
  20%, 42% { rotate: 5deg; }
  62%, 84% { rotate: -4deg; }
}
@keyframes firmonaut-peer-lens {
  0%, 100% { rotate: 0deg; }
  20%, 42% { rotate: 3deg; }
  62%, 84% { rotate: -1deg; }
}
@keyframes firmonaut-peer-body {
  0%, 100% { rotate: 0deg; }
  20%, 42% { rotate: 2deg; }
  62%, 84% { rotate: -1deg; }
}

/* ==========================================================================
   ŽIVOT MIMO VYHĽADÁVANIA
   ========================================================================== */

/* --- sledovanie kurzora: hlava, priezor, oblúk a trup --------------------
   Samostatné vlastnosti translate / rotate / scale sa skladajú s transform,
   takže sledovanie neprekáža pózam ani lupe.                              */
html[data-brand="firmonaut"] [data-firmonaut-head] {
  transform-origin: 650px 660px;
  translate: calc(var(--fn-look-x) * 14px) calc(var(--fn-look-y) * 10px);
  rotate: calc(var(--fn-look-x) * 5deg);
  transition: transform 420ms var(--fn-ease-spring);
}
html[data-brand="firmonaut"] [data-firmonaut-part="orbit"] {
  translate: calc(var(--fn-look-x) * -9px) calc(var(--fn-look-y) * -6px);
}
html[data-brand="firmonaut"] [data-firmonaut-torso] {
  transform-origin: 623px 1108px;
  rotate: calc(var(--fn-look-x) * 1.2deg);
}
html[data-brand="firmonaut"] [data-firmonaut-visor] {
  opacity: 0;
  transform-origin: 668px 445px;
  translate: calc(var(--fn-look-x) * 48px) calc(var(--fn-look-y) * 34px);
  scale: 1 1;
  transition: opacity 300ms linear, scale 240ms ease-out;
}
html[data-brand="firmonaut"][data-firmonaut-mood] [data-firmonaut-visor] { opacity: 1; }
html[data-brand="firmonaut"][data-firmonaut-visor-off] [data-firmonaut-visor] { display: none; }

/* --- žmurknutie ----------------------------------------------------------- */
html[data-brand="firmonaut"][data-firmonaut-blink] [data-firmonaut-visor] {
  animation: firmonaut-blink 200ms ease-in-out;
}
@keyframes firmonaut-blink {
  45%, 55% { scale: 1 .08; }
}

/* --- pozrie sa priamo na nás (1,8 s) ------------------------------------- */
html[data-brand="firmonaut"][data-firmonaut-mood="look"]:not([data-firmonaut-brand-active]) [data-firmonaut-head] {
  transform: scale(1.07);
}
html[data-brand="firmonaut"][data-firmonaut-mood="look"]:not([data-firmonaut-brand-active]) [data-firmonaut-visor] {
  animation: firmonaut-look-blink 1800ms ease-in-out;
}
@keyframes firmonaut-look-blink {
  0%, 34%, 42%, 54%, 62%, 100% { scale: 1 1; }
  38%, 58% { scale: 1 .08; }
}

/* --- zamáva (2 s): ruka bez lupy ------------------------------------------ */
html[data-brand="firmonaut"][data-firmonaut-mood="wave"]:not([data-firmonaut-brand-active]) [data-firmonaut-rig] {
  opacity: 1;
  transform: rotate(-52deg) scale(.92);
  transition: transform 360ms var(--fn-ease-spring), opacity 90ms linear;
  animation: firmonaut-wave 1300ms ease-in-out 320ms;
}
html[data-brand="firmonaut"][data-firmonaut-mood="wave"]:not([data-firmonaut-brand-active]) [data-firmonaut-head] {
  transform: rotate(-5deg);
}
@keyframes firmonaut-wave {
  0%, 100% { rotate: 0deg; }
  20%, 60% { rotate: -14deg; }
  40%, 80% { rotate: 10deg; }
}

/* --- zadriemava: hlava klesá, priezor sa privrie -------------------------- */
html[data-brand="firmonaut"][data-firmonaut-mood="drowsy"]:not([data-firmonaut-brand-active]) [data-firmonaut-head] {
  transform: rotate(6deg) translate(4px, 14px);
  transition: transform 1400ms cubic-bezier(.45, 0, .4, 1);
}
html[data-brand="firmonaut"][data-firmonaut-mood="drowsy"]:not([data-firmonaut-brand-active]) [data-firmonaut-visor] {
  scale: 1 .45;
  transition: opacity 300ms linear, scale 1200ms ease-in-out;
}

/* --- drieme: pomalé klesanie, krátke strhnutie, dýchanie -------------------
   Po 14 cykloch (asi minúta) sa slučka zastaví v póze spánku, aby stránka
   v pozadí zbytočne nepracovala.                                           */
html[data-brand="firmonaut"][data-firmonaut-mood="asleep"]:not([data-firmonaut-brand-active]) [data-firmonaut-head] {
  transform: rotate(13deg) translate(10px, 30px);
  transition: transform 700ms ease-in-out;
  animation: firmonaut-doze-head 4200ms ease-in-out 700ms 14;
}
html[data-brand="firmonaut"][data-firmonaut-mood="asleep"]:not([data-firmonaut-brand-active]) [data-firmonaut-visor] {
  scale: 1 .12;
  transition: opacity 300ms linear, scale 700ms ease-in-out;
}
html[data-brand="firmonaut"][data-firmonaut-mood="asleep"]:not([data-firmonaut-brand-active]) [data-firmonaut-torso] {
  animation: firmonaut-doze-breathe 4200ms ease-in-out 700ms 14;
}
@keyframes firmonaut-doze-head {
  0%, 100% { transform: rotate(13deg) translate(10px, 30px); }
  58% { transform: rotate(16deg) translate(12px, 40px); }
  70% { transform: rotate(10.5deg) translate(8px, 23px); }
}
@keyframes firmonaut-doze-breathe {
  50% { scale: 1 1.022; }
}

/* --- zobudenie: strhne sa, priezor sa na chvíľu rozšíri -------------------- */
html[data-brand="firmonaut"][data-firmonaut-mood="waking"]:not([data-firmonaut-brand-active]) [data-firmonaut-head] {
  animation: firmonaut-wake-head 460ms var(--fn-ease-spring);
}
html[data-brand="firmonaut"][data-firmonaut-mood="waking"]:not([data-firmonaut-brand-active]) [data-firmonaut-visor] {
  animation: firmonaut-wake-visor 460ms ease-out;
}
@keyframes firmonaut-wake-head {
  0% { transform: rotate(13deg) translate(10px, 30px); }
  55% { transform: rotate(-3deg) translate(0, -12px); }
  100% { transform: none; }
}
@keyframes firmonaut-wake-visor {
  0% { scale: 1 .12; }
  50% { scale: 1.06 1.16; }
  100% { scale: 1 1; }
}

/* --- hlavička na mobile: za ikonkou hneď nasleduje tlačidlo menu --------- */
@media (max-width: 1023px) {
  html[data-brand="firmonaut"] .portal-vristo-header-logo .firmonaut-mark {
    --fn-mark-scale: 1.2;
    --fn-mark-shift: -6px;
    --fn-rig-scale: .95;
  }
}

/* --- obmedzený pohyb: nič sa nehýbe, lupa sa len prelne, život je vypnutý -- */
@media (prefers-reduced-motion: reduce) {
  html[data-brand="firmonaut"] :is(.firmonaut-mark, [data-firmonaut-figure], [data-firmonaut-part], [data-firmonaut-loupe], [data-firmonaut-loupe-glint], #portal-sidebar-brand a > span, #portal-sidebar-brand .badge, .portal-vristo-header-logo-name) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    rotate: none !important;
  }
  html[data-brand="firmonaut"] [data-firmonaut-rig] {
    animation: none !important;
    rotate: none !important;
    transform: scale(.8) !important;
    transition: opacity 180ms linear !important;
  }
  html[data-brand="firmonaut"] :is([data-firmonaut-head], [data-firmonaut-torso], [data-firmonaut-visor], [data-firmonaut-part]) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
  }
  html[data-brand="firmonaut"] [data-firmonaut-visor] { opacity: 0 !important; }
}

html[data-brand="firmonaut"] [data-firmonaut-top] {position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:90;width:44px;height:44px;min-height:44px;padding:9px;border:1px solid var(--color-base-300);border-radius:50%;background:var(--color-base-100);color:var(--color-primary);box-shadow:0 3px 12px color-mix(in srgb,var(--color-base-content) 12%,transparent);}
html[data-brand="firmonaut"] [data-firmonaut-top][hidden] {display:none!important;}
html[data-brand="firmonaut"] [data-firmonaut-top] svg {width:26px;height:26px;overflow:visible;}
html[data-brand="firmonaut"] [data-firmonaut-flame] {opacity:0;transform-origin:center;}
html[data-brand="firmonaut"] [data-firmonaut-top]:is(:hover,:focus-visible) [data-firmonaut-flame] {opacity:1;animation:firmonaut-flame 180ms ease-in-out 3 alternate;}
html[data-brand="firmonaut"] [data-firmonaut-top]:focus-visible {outline:2px solid var(--color-primary);outline-offset:3px;}
html[data-brand="firmonaut"] [data-firmonaut-top][data-launching] svg {animation:firmonaut-launch 420ms ease-in both;}
html[data-brand="firmonaut"] [data-firmonaut-top][data-launching] [data-firmonaut-flame] {opacity:1;}
html[data-brand="firmonaut"] [data-firmonaut-symbol] {display:inline-block;width:20px;height:20px;flex:none;margin-right:8px;color:var(--color-primary);vertical-align:middle;}
html[data-brand="firmonaut"] [data-firmonaut-symbol="loading"] {border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:50%;position:relative;animation:firmonaut-orbit 1.1s linear infinite;}
html[data-brand="firmonaut"] [data-firmonaut-symbol="loading"]::before {content:"";position:absolute;left:7px;top:7px;width:4px;height:4px;border-radius:50%;background:var(--color-primary);}
html[data-brand="firmonaut"] [data-firmonaut-symbol="loading"]::after {content:"";position:absolute;left:7px;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--color-secondary);}
html[data-brand="firmonaut"] [data-firmonaut-symbol="empty"] {width:40px;height:40px;margin:0 12px 0 0;}
html[data-brand="firmonaut"] [data-firmonaut-result="empty"] {display:flex;align-items:center;padding-block:12px;}
html[data-brand="firmonaut"] [data-firmonaut-result="empty"] > span {display:flex;align-items:center;}
html[data-brand="firmonaut"] [data-firmonaut-feedback="success"] {animation:firmonaut-success 480ms ease-out;}
html[data-brand="firmonaut"] [data-firmonaut-constellation] {display:inline-block;width:28px;height:16px;margin-inline:8px;vertical-align:middle;color:var(--color-base-content);opacity:.3;}
@keyframes firmonaut-look {50%{transform:rotate(5deg);}100%{transform:rotate(3deg);}}
@keyframes firmonaut-type {from{transform:translateY(0);}to{transform:translateY(-12px);}}
@keyframes firmonaut-scan {to{transform:rotate(4deg);}}
@keyframes firmonaut-nod {50%{transform:translateY(1px) rotate(3deg);}}
@keyframes firmonaut-orbit {to{transform:rotate(360deg);}}
@keyframes firmonaut-flame {to{transform:scaleY(.7);}}
@keyframes firmonaut-launch {to{transform:translateY(-36px);opacity:0;}}
@keyframes firmonaut-success {50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 20%,transparent);}}
@media (max-width:639px) {html[data-brand="firmonaut"] [data-firmonaut-part] {animation:none!important;}}
@media (prefers-reduced-motion:reduce) {
  html[data-brand="firmonaut"] :is(.firmonaut-mark,[data-firmonaut-part],[data-firmonaut-monitor],[data-firmonaut-keys],[data-firmonaut-symbol],[data-firmonaut-feedback],[data-firmonaut-top] svg,[data-firmonaut-flame]) {animation:none!important;transition:none!important;transform:none!important;}
}

/* One backdrop in the result body, above the separate keyboard footer. */
html[data-brand="firmonaut"] .portal-global-company-result-columns {position:relative;isolation:isolate;}
html[data-brand="firmonaut"] .portal-global-company-result-columns > ul {position:relative;z-index:1;}
html[data-brand="firmonaut"] [data-firmonaut-telescope="results"] {
  position:absolute;right:24px;bottom:20px;z-index:0;display:block;
  width:200px;height:200px;margin:0;padding:0;color:var(--color-primary);
  opacity:.2;pointer-events:none;user-select:none;
}
@media (max-width:767px) {
  html[data-brand="firmonaut"] [data-firmonaut-telescope="results"] {width:112px;height:112px;right:16px;bottom:16px;}
}
