/* ===== GoCap Aurora UI — design system (native Elementor helper classes) ===== */

/* JetBrains Mono — self-hosted (GDPR), latin + latin-ext */
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/wp-content/uploads/gocap/fonts/jbm-latin-ext-400.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/wp-content/uploads/gocap/fonts/jbm-latin-400.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/wp-content/uploads/gocap/fonts/jbm-latin-ext-500.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/wp-content/uploads/gocap/fonts/jbm-latin-500.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/wp-content/uploads/gocap/fonts/jbm-latin-ext-700.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/wp-content/uploads/gocap/fonts/jbm-latin-700.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  --au-blue:#0080ff;
  --au-magenta:#ff1493;
  --au-cyan:#00ffff;
  --au-ink:#0e1420;        /* off-black charcoal, ne čistá černá */
  --au-ink-dim:#5a6474;
  --au-surface:#ffffff;
  --au-surface-2:#f5f8fd;
  --au-line:rgba(14,20,32,.10);
  --au-mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ---- Aurora animované mesh pozadí (jen transform → GPU, ~12s smyčka) ---- */
.gc-aurora { position:relative; overflow:hidden; isolation:isolate; }
.gc-aurora::before, .gc-aurora::after {
  content:""; position:absolute; inset:-40%; z-index:-1; pointer-events:none;
  filter:blur(70px); will-change:transform;
}
.gc-aurora::before {
  background:
    radial-gradient(35% 45% at 20% 25%, var(--au-blue), transparent 60%),
    radial-gradient(40% 40% at 80% 30%, var(--au-magenta), transparent 60%),
    radial-gradient(45% 45% at 50% 88%, var(--au-cyan), transparent 60%);
  opacity:.85;
  animation:gc-drift1 12s ease-in-out infinite alternate;
}
.gc-aurora::after {
  background:
    radial-gradient(30% 40% at 72% 18%, var(--au-cyan), transparent 60%),
    radial-gradient(35% 42% at 24% 78%, var(--au-magenta), transparent 60%);
  opacity:.5;
  animation:gc-drift2 11s ease-in-out infinite alternate;
}
@keyframes gc-drift1 { from{transform:translate3d(0,0,0) scale(1);} to{transform:translate3d(6%,5%,0) scale(1.15);} }
@keyframes gc-drift2 { from{transform:translate3d(0,0,0) scale(1.08);} to{transform:translate3d(-6%,6%,0) scale(1.2);} }
@media (prefers-reduced-motion: reduce) {
  .gc-aurora::before, .gc-aurora::after { animation:none; }
}

/* ---- Iridescentní gradientový text ---- */
.gc-grad-text {
  background:linear-gradient(100deg, var(--au-blue), var(--au-magenta) 55%, var(--au-cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---- Skleněná karta ---- */
.gc-glass {
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.55);
  border-radius:.75rem;
  box-shadow:0 2px 12px rgba(14,20,32,.06), 0 20px 50px -30px rgba(14,20,32,.35);
}

/* ---- Monospace helper (metadata / časové kódy) ---- */
.gc-mono, .gc-mono * { font-family:var(--au-mono) !important; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }

/* ---- Eyebrow label ---- */
.gc-eyebrow { font-family:var(--au-mono); font-size:.75rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }

/* ---- Vstupní animace (fade + up), spouštěné při scrollu ---- */
.gc-reveal { opacity:0; transform:translateY(16px); transition:opacity .48s ease-out, transform .48s ease-out; }
.gc-reveal.gc-in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .gc-reveal { opacity:1; transform:none; transition:none; } }

/* ---- Utility ---- */
.gc-narrow { max-width:820px; margin-inline:auto; }

/* ---- Screenshot aplikace ---- */
.gc-shot img { border-radius:16px !important; box-shadow:0 26px 64px -34px rgba(14,20,32,.42) !important; }

/* ---- Přepínač jazyků (fixní vpravo nahoře) ---- */
.gc-langsw { position:fixed; top:16px; right:16px; z-index:1000; font-family:var(--au-mono); }
.gc-langsw details { position:relative; }
.gc-langsw summary { list-style:none; cursor:pointer; padding:7px 14px; border-radius:999px;
  background:rgba(255,255,255,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(14,20,32,.12); font-size:.8rem; font-weight:500; color:var(--au-ink);
  display:inline-flex; align-items:center; gap:6px; box-shadow:0 6px 18px -10px rgba(14,20,32,.4); }
.gc-langsw summary::-webkit-details-marker { display:none; }
.gc-langsw summary::after { content:"\25be"; font-size:.7rem; opacity:.6; }
.gc-langsw-menu { position:absolute; right:0; margin-top:8px; min-width:170px; padding:6px;
  background:rgba(255,255,255,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(14,20,32,.12); border-radius:12px; box-shadow:0 14px 34px -14px rgba(14,20,32,.35);
  display:flex; flex-direction:column; }
.gc-langsw-menu a { padding:8px 12px; border-radius:8px; text-decoration:none; color:var(--au-ink); font-size:.82rem; white-space:nowrap; }
.gc-langsw-menu a:hover { background:rgba(0,128,255,.10); }
.gc-langsw-menu a[aria-current] { color:var(--au-blue); font-weight:700; }

/* Design je ukotven na světlou variantu (aurora na bílé). Tmavou lze doplnit později. */
