/* === K STYL · ANIMACE (Tier 1 + 2 + 3) === */
/* Univerzální animation set pro premium investment bank vibe */
/* Respektuje prefers-reduced-motion */

/* === TYPOGRAFICKÁ KOMPENZACE === */
/* Fraunces italic má menší x-height než Manrope sans-serif, takže když
   .italic-serif použijeme uvnitř běžného odstavce, opticky vypadá menší.
   Tahle kompenzace srovná velikost na pohled. */
p .italic-serif,
li .italic-serif,
li > span .italic-serif,
.italic-serif {
  font-size: 1.06em;
  line-height: inherit;
}
/* Nadpisy už ve Fraunces jsou — kompenzace by je předimenzovala */
h1 .italic-serif, h2 .italic-serif, h3 .italic-serif, h4 .italic-serif,
.heading-display .italic-serif, .heading-xl .italic-serif,
.heading-lg .italic-serif, .heading-md .italic-serif,
.text-mega .italic-serif {
  font-size: inherit;
}

/* === SCROLL REVEAL === */
/* Použití: <div data-reveal> nebo <div data-reveal="delay-100"> */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}
[data-reveal].is-revealed {
  opacity: 1;
  transform: translateY(0);
}
[data-reveal="delay-100"] { transition-delay: .1s; }
[data-reveal="delay-200"] { transition-delay: .2s; }
[data-reveal="delay-300"] { transition-delay: .3s; }
[data-reveal="delay-400"] { transition-delay: .4s; }
[data-reveal="delay-500"] { transition-delay: .5s; }

/* Reveal varianty */
[data-reveal-x="left"] { transform: translateX(-32px); }
[data-reveal-x="left"].is-revealed { transform: translateX(0); }
[data-reveal-x="right"] { transform: translateX(32px); }
[data-reveal-x="right"].is-revealed { transform: translateX(0); }

[data-reveal-scale] {
  opacity: 0;
  transform: scale(.96);
  transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
}
[data-reveal-scale].is-revealed { opacity: 1; transform: scale(1); }

/* === STAGGERED CHILDREN === */
[data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}
[data-reveal-stagger].is-revealed > *:nth-child(1) { opacity: 1; transform: translateY(0); transition-delay: 0s; }
[data-reveal-stagger].is-revealed > *:nth-child(2) { opacity: 1; transform: translateY(0); transition-delay: .08s; }
[data-reveal-stagger].is-revealed > *:nth-child(3) { opacity: 1; transform: translateY(0); transition-delay: .16s; }
[data-reveal-stagger].is-revealed > *:nth-child(4) { opacity: 1; transform: translateY(0); transition-delay: .24s; }
[data-reveal-stagger].is-revealed > *:nth-child(5) { opacity: 1; transform: translateY(0); transition-delay: .32s; }
[data-reveal-stagger].is-revealed > *:nth-child(6) { opacity: 1; transform: translateY(0); transition-delay: .4s; }
[data-reveal-stagger].is-revealed > *:nth-child(7) { opacity: 1; transform: translateY(0); transition-delay: .48s; }
[data-reveal-stagger].is-revealed > *:nth-child(8) { opacity: 1; transform: translateY(0); transition-delay: .56s; }

/* === LEAD CARD FLOAT (subtle, hero side) === */
@keyframes lead-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.feed-stack { animation: lead-float 6s ease-in-out infinite; }

/* === BUTTON GOLD SWEEP === */
.btn-primary {
  position: relative;
  overflow: hidden;
}
.btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transition: left .7s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
  z-index: 1;
}
.btn-primary:hover::before { left: 100%; }
.btn-primary > * { position: relative; z-index: 2; }

/* === BUTTON GHOST GOLD GLOW === */
.btn-ghost {
  position: relative;
  transition: all .35s cubic-bezier(.4,0,.2,1), box-shadow .35s ease;
}
.btn-ghost:hover {
  box-shadow: 0 0 0 1px rgba(194,154,80,.4), 0 12px 28px -10px rgba(194,154,80,.3);
}

/* === NAV CTA BUTTON SHADOW PULSE === */
@keyframes nav-cta-pulse {
  0%, 100% { box-shadow: 0 8px 24px -8px rgba(194,154,80,.5); }
  50% { box-shadow: 0 12px 32px -8px rgba(194,154,80,.65); }
}
.btn-nav { animation: nav-cta-pulse 3.5s ease-in-out infinite; }

/* === MARQUEE PAUSE ON HOVER === */
.marquee-wrap:hover .marquee { animation-play-state: paused; }
.marquee { animation-duration: 36s; } /* zrychlený z 48s */

/* === COUNTER PLACEHOLDER === */
/* Počítadla mají [data-counter="17184"] atribut. JS animuje od 0. */
[data-counter] { display: inline-block; }

/* === PARALLAX HERO ORBS === */
/* Tělo background gradient orbs se hýbe podle scrollY. JS čte CSS proměnnou --scroll-y. */
body::before {
  transform: translate3d(0, calc(var(--scroll-y, 0px) * 0.15), 0);
  transition: transform .1s linear;
}
body::after {
  transform: translate3d(0, calc(var(--scroll-y, 0px) * -0.08), 0);
}

/* === CURSOR GLOW (hero only) === */
.cursor-glow {
  position: fixed;
  pointer-events: none;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(194,154,80,.12), transparent 70%);
  transform: translate(-50%, -50%) translate3d(var(--cursor-x, 0px), var(--cursor-y, 0px), 0);
  z-index: 1;
  opacity: 0;
  transition: opacity .5s ease;
  mix-blend-mode: screen;
}
.cursor-glow.is-active { opacity: 1; }

/* === LOGO ENTRANCE === */
.nav-logo {
  opacity: 0;
  transform: translateY(-8px);
  animation: logo-entrance .8s .2s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes logo-entrance {
  to { opacity: 1; transform: translateY(0); }
}
.nav-logo em {
  opacity: 0;
  display: inline-block;
  animation: logo-em-entrance .6s .55s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes logo-em-entrance {
  from { opacity: 0; transform: translateX(-4px); }
  to { opacity: 1; transform: translateX(0); }
}

/* === CUSTOM DROPDOWN (K-styl, prémiový) === */
.cf-dropdown { position: relative; width: 100%; }
.cf-dropdown.is-open { z-index: 100; }
.cf-dropdown select { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }

.cf-trigger {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: .95rem 1.2rem;
  background: linear-gradient(180deg, rgba(236,227,208,.04), rgba(236,227,208,.01));
  border: 1px solid rgba(194,154,80,.28);
  color: #ECE3D0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 17px; font-weight: 400; letter-spacing: -.015em;
  cursor: pointer; text-align: left;
  transition: all .25s;
  position: relative;
}
.cf-trigger::before {
  content: ''; position: absolute; inset: 6px;
  border: 1px solid rgba(194,154,80,.12);
  pointer-events: none;
}
.cf-trigger:hover { border-color: rgba(194,154,80,.5); }
.cf-trigger:focus, .cf-dropdown.is-open .cf-trigger {
  outline: none;
  border-color: #C29A50;
  box-shadow: 0 0 0 1px rgba(194,154,80,.3), 0 12px 32px -10px rgba(194,154,80,.25);
}
.cf-trigger > * { position: relative; z-index: 1; }
.cf-value { display: inline-flex; align-items: center; gap: .65rem; }
.cf-arrow {
  width: 14px; height: 14px; color: #C29A50;
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  flex-shrink: 0;
}
.cf-dropdown.is-open .cf-arrow { transform: rotate(180deg); }

.cf-menu {
  position: fixed; z-index: 99999;
  background-color: #0A1530 !important;
  background-image: linear-gradient(180deg, #0E1B3D, #07101F) !important;
  border: 1px solid rgba(194,154,80,.4);
  padding: .5rem; max-height: 340px; overflow-y: auto;
  opacity: 0;
  transform: translateY(-8px) scale(.98);
  transform-origin: top center;
  pointer-events: none;
  transition: opacity .25s, transform .25s cubic-bezier(.34,1.56,.64,1);
  box-shadow:
    0 24px 60px -12px rgba(0,0,0,.95),
    0 0 0 1px rgba(7,16,31,.7);
  font-family: 'Fraunces', Georgia, serif;
  isolation: isolate;
}
.cf-menu::before {
  content: ''; position: absolute; inset: 7px;
  border: 1px solid rgba(194,154,80,.15);
  pointer-events: none;
}
.cf-dropdown.is-open .cf-menu,
.cf-menu.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Scrollbar uvnitř menu */
.cf-menu::-webkit-scrollbar { width: 6px; }
.cf-menu::-webkit-scrollbar-track { background: transparent; }
.cf-menu::-webkit-scrollbar-thumb { background: rgba(194,154,80,.3); border-radius: 999px; }
.cf-menu::-webkit-scrollbar-thumb:hover { background: rgba(194,154,80,.5); }

.cf-option {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  padding: .7rem 1rem;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 15.5px; font-weight: 400; letter-spacing: -.01em;
  color: rgba(236,227,208,.85);
  cursor: pointer;
  border: 1px solid transparent;
  transition: all .18s;
  z-index: 1;
}
.cf-option:hover, .cf-option.is-focus {
  color: #ECE3D0;
  background: rgba(194,154,80,.08);
}
.cf-option.is-selected {
  color: #C29A50;
  font-style: italic;
  font-weight: 500;
  background: rgba(194,154,80,.06);
  border-color: rgba(194,154,80,.25);
}
.cf-option.is-selected::after {
  content: '✓';
  color: #C29A50;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 14px;
}
.cf-option-separator {
  height: 1px; margin: .35rem .65rem;
  background: rgba(194,154,80,.15);
}

@media (prefers-reduced-motion: reduce) {
  .cf-arrow { transition: none !important; }
  .cf-menu { transition: opacity .15s !important; transform: none !important; }
  .cf-dropdown.is-open .cf-menu,
  .cf-menu.is-open { transform: none !important; }
}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal-scale], [data-reveal-stagger] > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .feed-stack { animation: none !important; }
  .btn-nav { animation: none !important; }
  .btn-primary::before { display: none !important; }
  body::before, body::after { transform: none !important; }
  .cursor-glow { display: none !important; }
  .nav-logo, .nav-logo em { animation: none !important; opacity: 1 !important; transform: none !important; }
}
