/* =========================================================================
   FUKOT – Rezervácia obhliadky (widget fukot-booking + sekcia v pokladni)
   Všetko je pod .fk-bk / .fk-bk-step / .fk-bk-orderbox – žiadne globálne triedy.
   Farby sú CSS premenné (widget ich nastavuje v záložke Štýl). Bez zaoblení.
   ========================================================================= */
.fk-bk{
  --fk-accent:#7c2fff;--fk-accent-dark:#591ec8;--fk-soft:#f5f0ff;--fk-soft-line:#e4d6ff;
  --fk-ink:#0a0a0a;--fk-text:#333;--fk-muted:#7a7a7a;--fk-line:#e2e2e2;--fk-bg:#fff;--fk-field:#fff;
  --fk-held:#b45309;--fk-held-bg:#fff7ed;--fk-held-line:#fbd9a8;--fk-booked:#9a9a9a;--fk-booked-bg:#f3f3f3;
  --fk-ok:#12b76a;--fk-err:#d92d20;
  --fk-font-head:"transducer-variable","Montserrat",sans-serif;--fk-font-body:"Montserrat",sans-serif;
  container-type:inline-size;width:100%;font-family:var(--fk-font-body);font-size:15px;line-height:1.55;color:var(--fk-text);-webkit-font-smoothing:antialiased;text-align:left;
}
.fk-bk,.fk-bk *,.fk-bk *::before,.fk-bk *::after{box-sizing:border-box}
.fk-bk :where(h2,h3,h4,p,ol,ul,li,fieldset,legend){margin:0;padding:0}
.fk-bk :where(ol,ul){list-style:none}
.fk-bk :where(button){font:inherit;color:inherit;background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;appearance:none;-webkit-appearance:none;text-transform:none;letter-spacing:normal;min-height:0;line-height:inherit;margin:0;padding:0}
.fk-bk [hidden]{display:none !important}
.fk-bk svg{display:block;width:1em;height:1em}

/* ---------------- karta ---------------- */
.fk-bk__card{position:relative;padding:36px;background:var(--fk-bg);border:1px solid var(--fk-line)}
.fk-bk-stripe-yes .fk-bk__card::before{content:"";position:absolute;left:-1px;top:-1px;width:72px;height:4px;background:var(--fk-accent)}
.fk-bk__head{margin-bottom:22px}
.fk-bk__eyebrow{display:block;margin-bottom:8px;font-family:var(--fk-font-head);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--fk-accent)}
.fk-bk .fk-bk__title{margin:0;font-family:var(--fk-font-head);font-size:28px;font-weight:700;line-height:1.1;letter-spacing:.5px;text-transform:uppercase;color:var(--fk-ink)}
.fk-bk__sub{margin-top:10px;max-width:640px;font-size:15px;color:var(--fk-muted)}

/* kroky */
.fk-bk__steps{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--fk-line)}
.fk-bk__steps li{display:flex;align-items:center;gap:10px;font-family:var(--fk-font-head);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--fk-muted)}
.fk-bk__steps b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--fk-line);font-size:12px;font-weight:700;color:var(--fk-muted);background:var(--fk-bg)}
.fk-bk__steps li.is-on{color:var(--fk-ink)}
.fk-bk__steps li.is-on b{background:var(--fk-accent);border-color:var(--fk-accent);color:#fff}
.fk-bk__steps li.is-done b{background:var(--fk-ink);border-color:var(--fk-ink);color:#fff}

/* info box */
.fk-bk__info{display:flex;gap:14px;align-items:flex-start;margin:0 0 20px;padding:14px 18px;background:var(--fk-soft);border-left:4px solid var(--fk-accent);color:var(--fk-ink);font-size:14px;line-height:1.55}
.fk-bk__info svg{flex:none;width:22px;height:22px;margin-top:1px;color:var(--fk-accent)}
.fk-bk__info p{margin:0}
.fk-bk__note{margin:0 0 16px;font-size:13px;color:var(--fk-muted)}

/* ---------------- kalendár ---------------- */
.fk-bk__picker{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
.fk-bk-layout-stack .fk-bk__picker{grid-template-columns:minmax(0,1fr)}
@container (max-width: 680px){ .fk-bk__picker{grid-template-columns:minmax(0,1fr);gap:22px} }
.fk-bk__cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.fk-bk__month{flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--fk-font-head);font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--fk-ink)}
.fk-bk .fk-bk__nav{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--fk-line);background:var(--fk-bg);color:var(--fk-ink);font-size:18px;transition:border-color .2s,color .2s,background-color .2s}
.fk-bk .fk-bk__nav:hover:not(:disabled){border-color:var(--fk-accent);color:var(--fk-accent);background:var(--fk-bg)}
.fk-bk .fk-bk__nav:disabled{opacity:.3;cursor:default}
.fk-bk__dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px}
.fk-bk__dow span{text-align:center;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--fk-muted)}
.fk-bk__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;transition:opacity .2s}
.fk-bk__days.is-loading{opacity:.45}
.fk-bk .fk-bk__day{position:relative;display:flex;align-items:center;justify-content:center;height:clamp(38px,6.2cqi,58px);padding:0;border:1px solid transparent;background:transparent;font-size:14px;font-weight:600;color:#c2c2c2;transition:border-color .15s,background-color .15s,color .15s}
.fk-bk .fk-bk__day.is-pad{visibility:hidden}
.fk-bk .fk-bk__day.is-open{border-color:var(--fk-line);background:var(--fk-bg);color:var(--fk-ink);font-weight:700}
.fk-bk .fk-bk__day.is-open::after{content:"";position:absolute;left:50%;bottom:6px;width:14px;height:2px;margin-left:-7px;background:var(--fk-accent)}
.fk-bk .fk-bk__day.is-open:hover{border-color:var(--fk-accent);color:var(--fk-accent);background:var(--fk-bg)}
.fk-bk .fk-bk__day.is-full{background:var(--fk-booked-bg);color:var(--fk-booked);text-decoration:line-through;cursor:not-allowed}
.fk-bk .fk-bk__day.is-closed{cursor:default}
.fk-bk .fk-bk__day.is-off{background:repeating-linear-gradient(-45deg,var(--fk-booked-bg) 0 5px,var(--fk-bg) 5px 10px);color:var(--fk-booked);cursor:not-allowed}
.fk-bk .fk-bk__day:disabled:hover{border-color:transparent}
.fk-bk .fk-bk__day.is-today span{border-bottom:2px solid var(--fk-ink)}
.fk-bk .fk-bk__day.has-mine{border:2px solid var(--fk-accent);color:var(--fk-accent)}
.fk-bk .fk-bk__day.is-sel,.fk-bk .fk-bk__day.is-sel:hover{background:var(--fk-accent);border-color:var(--fk-accent);color:#fff}
.fk-bk .fk-bk__day.is-sel::after{background:#fff}

.fk-bk__times-title{font-family:var(--fk-font-head);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--fk-muted)}
.fk-bk__times-day{min-height:1.4em;margin:6px 0 12px;font-family:var(--fk-font-head);font-size:15px;font-weight:700;color:var(--fk-ink)}
.fk-bk__times-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.fk-bk .fk-bk__time{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:10px 14px;border:1px solid var(--fk-line);background:var(--fk-bg);color:var(--fk-ink);text-align:left;transition:border-color .15s,background-color .15s,color .15s}
.fk-bk__time-l{font-size:15px;font-weight:700;line-height:1.25;white-space:nowrap}
.fk-bk__time-s{font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1.3;text-transform:uppercase}
.fk-bk .fk-bk__time.is-free:hover{border-color:var(--fk-accent);color:var(--fk-accent);background:var(--fk-bg)}
.fk-bk .fk-bk__time.is-sel,.fk-bk .fk-bk__time.is-sel:hover,.fk-bk .fk-bk__time.is-mine{border-color:var(--fk-accent);background:var(--fk-accent);color:#fff}
.fk-bk .fk-bk__time.is-held{border-color:var(--fk-held-line);background:repeating-linear-gradient(-45deg,var(--fk-held-bg) 0 8px,#fff 8px 16px);color:var(--fk-held);cursor:not-allowed}
.fk-bk .fk-bk__time.is-booked{border-color:var(--fk-line);background:var(--fk-booked-bg);color:var(--fk-booked);cursor:not-allowed}
.fk-bk .fk-bk__time.is-booked .fk-bk__time-l{text-decoration:line-through}
.fk-bk .fk-bk__time.is-off{border-color:var(--fk-line);background:repeating-linear-gradient(-45deg,var(--fk-booked-bg) 0 8px,var(--fk-bg) 8px 16px);color:var(--fk-booked);cursor:not-allowed}
.fk-bk__hint{grid-column:1/-1;padding:16px;border:1px dashed var(--fk-line);font-size:14px;color:var(--fk-muted)}
.fk-bk__err{grid-column:1/-1;color:var(--fk-err);font-size:14px}

.fk-bk__legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;padding-top:14px;border-top:1px solid var(--fk-line);font-size:12px;color:var(--fk-muted)}
.fk-bk__lg{display:inline-flex;align-items:center;gap:8px}
.fk-bk__lg::before{content:"";width:14px;height:14px;border:1px solid var(--fk-line);background:var(--fk-bg)}
.fk-bk__lg--mine::before{background:var(--fk-accent);border-color:var(--fk-accent)}
.fk-bk__lg--held::before{border-color:var(--fk-held-line);background:repeating-linear-gradient(-45deg,var(--fk-held-bg) 0 3px,#fff 3px 6px)}
.fk-bk__lg--booked::before{background:var(--fk-booked-bg)}
.fk-bk__lg--off::before{background:repeating-linear-gradient(-45deg,var(--fk-booked-bg) 0 3px,var(--fk-bg) 3px 6px)}

/* ---------------- správy ---------------- */
.fk-bk__msg{margin:0 0 16px;padding:12px 16px;border-left:4px solid var(--fk-err);background:#fef3f2;color:#912018;font-size:14px;font-weight:600}
.fk-bk__msg.is-ok{border-color:var(--fk-ok);background:#ecfdf3;color:#05603a}

/* ---------------- tlačidlá ---------------- */
.fk-bk__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px}
.fk-bk__actions--split{justify-content:space-between}
.fk-bk .fk-bk__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:16px 30px;border:1px solid var(--fk-accent);background:var(--fk-accent);color:#fff;font-family:var(--fk-font-head);font-size:12px;font-weight:700;letter-spacing:2px;line-height:1.2;text-transform:uppercase;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,opacity .2s}
.fk-bk .fk-bk__btn:hover:not(:disabled){background:var(--fk-accent-dark);border-color:var(--fk-accent-dark);color:#fff}
.fk-bk .fk-bk__btn:disabled{opacity:.4;cursor:not-allowed}
.fk-bk .fk-bk__btn--ghost{background:transparent;border-color:var(--fk-line);color:var(--fk-ink)}
.fk-bk .fk-bk__btn--ghost:hover:not(:disabled){background:transparent;border-color:var(--fk-ink);color:var(--fk-ink)}
.fk-bk .fk-bk__link{padding:0;border:0;background:none;color:var(--fk-accent);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.fk-bk .fk-bk__link:hover{background:none;color:var(--fk-accent-dark)}
.fk-bk.is-sending .fk-bk__btn[type=submit]{opacity:.6;pointer-events:none}

/* ---------------- vybraný termín ---------------- */
.fk-bk__chosen,.fk-bk__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin:0 0 20px;padding:14px 18px;background:var(--fk-soft);border:1px solid var(--fk-soft-line);border-left:4px solid var(--fk-accent)}
.fk-bk__chosen-l,.fk-bk__summary-l{display:block;margin-bottom:2px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--fk-accent)}
.fk-bk__chosen-v,.fk-bk__summary-v{display:block;font-family:var(--fk-font-head);font-size:16px;font-weight:700;color:var(--fk-ink)}

/* ---------------- formulár ---------------- */
.fk-bk__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
@container (max-width: 560px){ .fk-bk__grid{grid-template-columns:minmax(0,1fr)} }
.fk-bk__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.fk-bk__field--full{grid-column:1/-1}
.fk-bk__field--zip{max-width:none}
.fk-bk__label{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--fk-ink)}
.fk-bk__label i{font-style:normal;color:var(--fk-accent)}
.fk-bk .fk-bk__form .fk-bk__field input.fk-bk__input,
.fk-bk .fk-bk__form .fk-bk__field textarea.fk-bk__input{display:block;width:100%;height:50px;margin:0;padding:0 14px;border:1px solid var(--fk-line);border-radius:0;background:var(--fk-field);box-shadow:none;outline:0;font-family:var(--fk-font-body);font-size:15px;line-height:1.4;color:var(--fk-ink);transition:border-color .2s}
.fk-bk .fk-bk__form .fk-bk__field textarea.fk-bk__input{height:auto;min-height:96px;padding:12px 14px;resize:vertical}
.fk-bk .fk-bk__form .fk-bk__field .fk-bk__input:focus{border-color:var(--fk-accent);box-shadow:0 0 0 1px var(--fk-accent)}
.fk-bk .fk-bk__form .fk-bk__field .fk-bk__input::placeholder{color:#a8a8a8;opacity:1}
.fk-bk .fk-bk__form .fk-bk__field.is-invalid .fk-bk__input{border-color:var(--fk-err);box-shadow:0 0 0 1px var(--fk-err)}
.fk-bk__check{display:flex;gap:12px;align-items:flex-start;margin-top:4px;font-size:13px;line-height:1.55;color:var(--fk-text);cursor:pointer}
.fk-bk .fk-bk__form .fk-bk__check input[type=checkbox]{flex:none;position:relative;width:20px;height:20px;min-height:0;margin:1px 0 0;padding:0;border:1px solid #b9b9b9;border-radius:0;background:var(--fk-field);box-shadow:none;appearance:none;-webkit-appearance:none;cursor:pointer}
.fk-bk .fk-bk__form .fk-bk__check input[type=checkbox]:checked{background:var(--fk-accent);border-color:var(--fk-accent)}
.fk-bk .fk-bk__form .fk-bk__check input[type=checkbox]:checked::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fk-bk .fk-bk__form .fk-bk__check input[type=checkbox]:focus-visible{outline:2px solid var(--fk-accent);outline-offset:2px}
.fk-bk__field.is-invalid .fk-bk__check input[type=checkbox]{border-color:var(--fk-err)}
.fk-bk__check a{color:var(--fk-accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.fk-bk__hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

/* ---------------- potvrdenie ---------------- */
.fk-bk__done{padding:8px 0;text-align:left}
.fk-bk__done-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;margin-bottom:18px;background:var(--fk-accent);color:#fff;font-size:28px}
.fk-bk .fk-bk__done-title{font-family:var(--fk-font-head);font-size:24px;font-weight:700;line-height:1.15;letter-spacing:.5px;text-transform:uppercase;color:var(--fk-ink)}
.fk-bk__done-when{display:inline-block;margin:14px 0 10px;padding:10px 16px;background:var(--fk-soft);border-left:4px solid var(--fk-accent);font-family:var(--fk-font-head);font-size:16px;font-weight:700;color:var(--fk-ink)}
.fk-bk__done-code{margin:8px 0 12px;font-size:13px;color:var(--fk-muted,#555)}.fk-bk__done-code:empty{display:none}.fk-bk__done-code b{color:var(--fk-ink,#0a0a0a);letter-spacing:.5px}
.fk-bk__done-text{max-width:620px;font-size:15px;color:var(--fk-text)}
.fk-bk__done .fk-bk__actions{justify-content:flex-start}

@container (max-width: 520px){
  .fk-bk__card{padding:22px 18px}
  .fk-bk .fk-bk__title{font-size:22px}
  .fk-bk__times-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fk-bk__actions{flex-direction:column-reverse;align-items:stretch}
  .fk-bk .fk-bk__btn{width:100%}
  .fk-bk__steps li span{display:none}
}

/* ---------------- pokladňa ---------------- */
.fk-bk .fk-bk__optin{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px;padding:16px 18px;border:1px solid var(--fk-soft-line);border-left:4px solid var(--fk-accent);background:var(--fk-soft);cursor:pointer;transition:background-color .2s,border-color .2s}
.fk-bk.fk-bk--checkout .fk-bk__optin input[type=checkbox]{flex:none;position:relative;width:22px;height:22px;min-height:0;margin:1px 0 0;padding:0;border:1px solid #b9b9b9;border-radius:0;background:#fff;box-shadow:none;appearance:none;-webkit-appearance:none;cursor:pointer}
.fk-bk.fk-bk--checkout .fk-bk__optin input[type=checkbox]:checked{background:var(--fk-accent);border-color:var(--fk-accent)}
.fk-bk.fk-bk--checkout .fk-bk__optin input[type=checkbox]:checked::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fk-bk.fk-bk--checkout .fk-bk__optin input[type=checkbox]:focus-visible{outline:2px solid var(--fk-accent);outline-offset:2px}
.fk-bk__optin-t{display:flex;flex-direction:column;gap:3px}
.fk-bk__optin-t strong{font-family:var(--fk-font-head);font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--fk-ink)}
.fk-bk__optin-t small{font-size:13px;line-height:1.5;color:var(--fk-text)}
.fk-bk-step.is-optout .fk-bk__optin{background:var(--fk-bg);border-color:var(--fk-line);border-left-color:var(--fk-line)}
.fk-bk__optout{margin:0;padding:0 2px;font-size:13px;line-height:1.55;color:var(--fk-muted)}
.fk-bk-step .fk-bk--checkout{margin-top:4px}
.fk-bk-step__req{color:var(--fk-accent,#7c2fff)}
.fk-bk-step.is-busy .fk-bk__times-list{opacity:.55;pointer-events:none}
.fk-bk--checkout .fk-bk__picker{gap:20px}
.fk-bk--checkout .fk-bk__times-list{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.fk-bk-step--classic{margin:28px 0}
.fk-bk-step--classic .fk-bk-step__title{margin:0 0 14px}

/* ---------------- ďakovná stránka / Môj účet ---------------- */
.fk-bk-orderbox{margin:0 0 28px;padding:18px 22px;background:#f5f0ff;border:1px solid #e4d6ff;border-left:4px solid #7c2fff;font-family:"Montserrat",sans-serif}
.fk-bk-orderbox__eyebrow{display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#7c2fff}
.fk-bk-orderbox__when{display:block;font-family:"transducer-variable","Montserrat",sans-serif;font-size:18px;font-weight:700;color:#0a0a0a}
.fk-bk-orderbox__code{display:block;margin-top:4px;font-size:13px;color:#555}.fk-bk-orderbox__code b{color:#0a0a0a;letter-spacing:.5px}
.fk-bk-orderbox__text{margin:8px 0 0;font-size:14px;line-height:1.55;color:#555}
