/* ---- moved from _parts/vianocny-klub.main.html by _externalize-inline.cjs ---- */
  /* Rozsvietenie citátu — obrázok vstúpi stmavený → zažne sa (ignite z plameňa sviečky) → dýcha.
     Scoped (.quote--ignite), reuse Plamienok IntersectionObserver cez data-flame. NEzasahuje homepage. */
  .quote--ignite .quote-bg img{filter:brightness(.58) saturate(.82);transition:filter 1.8s var(--ease)}
  .quote--ignite.lit .quote-bg img{filter:brightness(1) saturate(1)}
  .quote--ignite .ignite-bloom{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;mix-blend-mode:screen;
    background:radial-gradient(circle at var(--fx,84%) var(--fy,55%), rgba(230,197,102,.62), rgba(230,197,102,.18) 26%, transparent 54%)}
  .quote--ignite.lit .ignite-bloom{animation:qIgnite 2.4s var(--ease) forwards, qBreathe 6s ease-in-out 2.4s infinite}
  @keyframes qIgnite{0%{opacity:0}36%{opacity:.92}100%{opacity:.34}}
  @keyframes qBreathe{0%,100%{opacity:.3}50%{opacity:.46}}
  @media (prefers-reduced-motion:reduce){
    .quote--ignite .quote-bg img{filter:none;transition:none}
    .quote--ignite .ignite-bloom{animation:none!important;opacity:.28}
  }

/* ---- moved from _parts/vianocny-klub.main.html by _externalize-inline.cjs ---- */
  /* ====== KF — svetelný registračný formulár (scoped, prefix .kf*) ====== */
  .kf{margin-top:54px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:clamp(28px,4vw,64px);align-items:start}
  .kf-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:clamp(24px,3.4vw,44px);position:relative;overflow:visible}

  /* — svetelná niť (progres polí) — */
  .kf-string{display:flex;align-items:center;gap:0;margin-bottom:30px}
  .kf-string .seg{flex:1;height:1px;background:var(--line);position:relative;transition:background .8s var(--ease)}
  .kf-string .bulb{width:10px;height:10px;border-radius:50%;background:transparent;border:1px solid var(--muted);position:relative;flex:none;transition:all .7s var(--ease)}
  .kf-string .bulb::after{content:"";position:absolute;inset:-9px;border-radius:50%;background:radial-gradient(circle,rgba(230,197,102,.55),transparent 70%);opacity:0;transition:opacity .9s var(--ease)}
  .kf-string .bulb.on{background:var(--gold-lum);border-color:var(--gold-lum);box-shadow:0 0 6px rgba(230,197,102,.8)}
  .kf-string .bulb.on::after{opacity:1}
  .kf-string .seg.on{background:rgba(174,138,34,.5)}
  .kf-stringlbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:600}

  .kf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .kf-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;position:relative}
  .kf-lbl{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink)}
  .kf-lbl .req{color:var(--gold);font-weight:600}

  /* — info svetielko + okienko — */
  .kf-info{appearance:none;border:0;background:none;cursor:help;width:18px;height:18px;border-radius:50%;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none}
  .kf-info .dot{width:7px;height:7px;border-radius:50%;background:var(--gold-soft);opacity:.55;transition:all .45s var(--ease)}
  .kf-info::before{content:"";position:absolute;inset:-4px;border-radius:50%;background:radial-gradient(circle,rgba(230,197,102,.6),transparent 72%);opacity:0;transition:opacity .45s var(--ease)}
  .kf-info:hover .dot,.kf-info:focus-visible .dot,.kf-info.open .dot{opacity:1;background:var(--gold-lum);box-shadow:0 0 8px rgba(230,197,102,.9)}
  .kf-info:hover::before,.kf-info:focus-visible::before,.kf-info.open::before{opacity:1}
  .kf-info:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .kf-tip{position:absolute;left:0;top:calc(100% + 10px);z-index:30;width:min(320px,82vw);background:var(--dark);color:rgba(245,241,232,.92);font-size:13px;line-height:1.6;font-weight:400;padding:14px 16px;border-radius:3px;border:1px solid rgba(230,197,102,.35);box-shadow:0 14px 38px rgba(20,18,14,.35), 0 0 0 1px rgba(20,18,14,.08), inset 0 0 22px rgba(230,197,102,.07);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;pointer-events:none}
  .kf-tip::before{content:"";position:absolute;left:18px;top:-5px;width:9px;height:9px;background:var(--dark);border-left:1px solid rgba(230,197,102,.35);border-top:1px solid rgba(230,197,102,.35);transform:rotate(45deg)}
  .kf-field:has(.kf-info:hover) .kf-tip,
  .kf-field:has(.kf-info:focus-visible) .kf-tip,
  .kf-field:has(.kf-info.open) .kf-tip{opacity:1;visibility:visible;transform:translateY(0)}

  .kf-in{font-family:var(--body);font-size:15px;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:2px;padding:14px 16px;transition:border-color .35s var(--ease),box-shadow .35s var(--ease);width:100%}
  .kf-in::placeholder{color:rgba(117,108,93,.6)}
  .kf-in:focus{outline:none;border-color:var(--gold-soft);box-shadow:0 0 0 3px rgba(198,162,58,.14)}
  .kf-field.ok .kf-in{border-color:rgba(174,138,34,.55)}
  .kf-field.err .kf-in{border-color:#B2502F;box-shadow:0 0 0 3px rgba(178,80,47,.12)}
  .kf-err{font-size:12px;color:#9C4426;display:none}
  .kf-field.err .kf-err{display:block}

  select.kf-in{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23756C5D' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer;color:var(--ink)}
  select.kf-in:invalid{color:rgba(117,108,93,.75)}

  /* — súhlasy: gulôčky-ozdoby — */
  .kf-cons{margin-top:10px;border-top:1px solid var(--line);padding-top:22px}
  .kf-cons h3{font-family:var(--body);font-size:13.5px;font-weight:600;letter-spacing:.04em;margin-bottom:14px}
  .kf-check{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;cursor:pointer;font-size:13.5px;line-height:1.6;color:var(--muted)}
  .kf-check input{position:absolute;opacity:0;pointer-events:none}
  .kf-orn{flex:none;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--muted);margin-top:1px;position:relative;transition:all .45s var(--ease);background:transparent}
  .kf-orn::before{content:"";position:absolute;top:-4px;left:50%;width:5px;height:3px;transform:translateX(-50%);border:1px solid var(--muted);border-bottom:0;border-radius:2px 2px 0 0;transition:border-color .45s var(--ease)} /* mini cap ozdoby */
  .kf-orn::after{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle at 35% 30%, var(--gold-lum), var(--gold) 70%);opacity:0;transform:scale(.4);transition:all .45s var(--ease)}
  .kf-check input:checked + .kf-orn{border-color:var(--gold)}
  .kf-check input:checked + .kf-orn::before{border-color:var(--gold)}
  .kf-check input:checked + .kf-orn::after{opacity:1;transform:scale(1)}
  .kf-check input:focus-visible + .kf-orn{outline:2px solid var(--gold);outline-offset:2px}
  .kf-check a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
  .kf-check.err-c{color:#9C4426}
  .kf-check.err-c .kf-orn{border-color:#B2502F}

  /* — tlačidlo, ktoré sa zapáli — */
  .kf-submit{margin-top:24px}
  .kf-btn{appearance:none;border:0;cursor:pointer;font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:.02em;padding:17px 34px;border-radius:2px;display:inline-flex;align-items:center;gap:10px;background:var(--green);color:var(--cream);transition:all .8s var(--ease);width:100%;justify-content:center}
  .kf-btn .arr{transition:transform .35s var(--ease)}
  .kf-btn:hover .arr{transform:translateX(4px)}
  .kf-btn.lit{background:linear-gradient(135deg,var(--green),var(--green-deep));color:var(--cream);box-shadow:0 6px 26px rgba(62,74,56,.42), 0 0 16px rgba(81,96,74,.30)}
  .kf-done{display:none;margin-top:14px;font-size:13.5px;line-height:1.6;color:var(--green);background:rgba(81,96,74,.08);border:1px solid rgba(81,96,74,.25);border-radius:2px;padding:12px 14px}
  .kf-done.show{display:block}
  .kf-micro{margin-top:18px;font-size:11.5px;line-height:1.65;color:var(--muted)}
  .kf-micro a{color:var(--muted)}

  /* — pravý stĺpec: kroky + osobne — */
  .kf-side .lead{font-family:var(--display);font-size:clamp(20px,2.2vw,26px);font-weight:500;line-height:1.3}
  .kf-steps{margin-top:26px;display:flex;flex-direction:column;gap:0}
  .kf-step{display:flex;gap:16px;position:relative;padding-bottom:26px}
  .kf-step::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:1px;background:var(--line)}
  .kf-step:last-child::before{display:none}
  .kf-stepn{flex:none;width:27px;height:27px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:center;background:var(--cream)}
  .kf-stept b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
  .kf-stept span{font-size:13px;line-height:1.6;color:var(--muted)}
  .kf-osobne{margin-top:34px;border-top:1px solid var(--line);padding-top:22px}

  @media (max-width:860px){
    .kf{grid-template-columns:1fr}
    .kf-row{grid-template-columns:1fr}
    .kf-side{order:2}
  }
  @media (prefers-reduced-motion: reduce){
    .kf-in,.kf-info .dot,.kf-info::before,.kf-tip,.kf-string .seg,.kf-string .bulb,.kf-string .bulb::after,.kf-orn,.kf-orn::after,.kf-btn,.kf-btn .arr{transition:none !important;animation:none !important}
  }
