/* =========================================================================
   FUKOT – Montáž a servis (widget fukot-services). Všetko pod .fk-svc, bez zaoblení.
   Farby sú CSS premenné nastaviteľné v Elementore.
   ========================================================================= */
.fk-svc{
  --fk-accent:#7c2fff;--fk-ink:#0a0a0a;--fk-muted:#555;--fk-line:#e2e2e2;--fk-bg:#fff;--fk-soft:#f5f0ff;--fk-price:#7c2fff;--fk-radio:20px;
  --fk-font-head:"transducer-variable","Montserrat",sans-serif;--fk-font-body:"Montserrat",sans-serif;
  --fk-btn-bg:var(--fk-accent);--fk-btn-c:#fff;--fk-dlg-w:780px;--fk-remind-bg:var(--fk-accent);
  width:100%;font-family:var(--fk-font-body);color:var(--fk-ink);-webkit-font-smoothing:antialiased;text-align:left;
  container:fk-svc / inline-size;
}
.fk-svc,.fk-svc *,.fk-svc *::before,.fk-svc *::after{box-sizing:border-box}
.fk-svc :where(ul,li,p){margin:0;padding:0}
.fk-svc [hidden]{display:none !important}
.fk-svc__label{display:block;margin:0 0 8px;font-size:14px;font-weight:600;color:var(--fk-ink)}
.fk-svc__box{background:var(--fk-bg);border:1px solid var(--fk-line)}
.fk-svc.is-open.fk-svc--dropdown .fk-svc__box{border-color:var(--fk-ink)}

/* súhrn */
.fk-svc .fk-svc__head{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;margin:0;padding:14px 18px;border:0;border-radius:0;background:var(--fk-bg);box-shadow:none;color:var(--fk-ink);font:inherit;text-align:left;text-transform:none;letter-spacing:normal;cursor:pointer;transition:background-color .2s}
.fk-svc .fk-svc__head:hover,.fk-svc .fk-svc__head:focus{background:var(--fk-bg);color:var(--fk-ink)}
.fk-svc .fk-svc__head:focus-visible{outline:2px solid var(--fk-accent);outline-offset:-2px}
.fk-svc__summary{flex:1;min-width:0;font-family:var(--fk-font-head);font-size:13px;font-weight:700;letter-spacing:.5px;line-height:1.35;text-transform:uppercase;color:var(--fk-ink)}
.fk-svc__total{flex:none;font-family:var(--fk-font-head);font-size:15px;font-weight:700;color:var(--fk-price);white-space:nowrap}
.fk-svc__chev{flex:none;width:18px;height:18px;color:var(--fk-ink);transition:transform .2s}
.fk-svc.is-open .fk-svc__head .fk-svc__chev{transform:rotate(180deg)}

/* rozbalená časť */
.fk-svc__panel{padding:6px 18px 18px;border-top:1px solid var(--fk-line)}
.fk-svc--open .fk-svc__panel{border-top:0;padding-top:18px}
.fk-svc__group + .fk-svc__group{margin-top:18px}
.fk-svc__gtitle{margin:12px 0 10px;font-family:var(--fk-font-head);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--fk-accent)}
.fk-svc__opts{display:flex;flex-direction:column;gap:8px}
.fk-svc__opt{position:relative;display:flex;gap:12px;align-items:flex-start;margin:0;padding:12px 14px;border:1px solid var(--fk-line);background:var(--fk-bg);cursor:pointer;transition:border-color .15s,background-color .15s}
.fk-svc__opt:hover{border-color:var(--fk-accent)}
.fk-svc__opt.is-sel{border-color:var(--fk-accent);background:var(--fk-soft)}
.fk-svc .fk-svc__opt input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.fk-svc__radio{flex:none;position:relative;width:var(--fk-radio);height:var(--fk-radio);margin-top:1px;border:1px solid #b9b9b9;background:#fff}
.fk-svc__opt.is-sel .fk-svc__radio{border-color:var(--fk-accent);background:var(--fk-accent)}
.fk-svc__opt.is-sel .fk-svc__radio::after{content:"";position:absolute;left:50%;top:45%;width:28%;height:52%;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}
.fk-svc .fk-svc__opt input[type=radio]:focus-visible + .fk-svc__radio{outline:2px solid var(--fk-accent);outline-offset:2px}
.fk-svc__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.fk-svc__name{font-size:15px;font-weight:700;line-height:1.35;color:var(--fk-ink)}
.fk-svc__desc{display:flex;flex-direction:column;gap:4px;list-style:none}
.fk-svc__desc li{position:relative;padding-left:16px;font-size:13px;line-height:1.5;color:var(--fk-muted)}
.fk-svc__desc li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--fk-accent)}
.fk-svc-bullet-dash .fk-svc__desc li::before{top:.75em;width:8px;height:2px}
.fk-svc-bullet-check .fk-svc__desc li::before{top:.35em;width:4px;height:8px;background:none;border:solid var(--fk-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.fk-svc-bullet-none .fk-svc__desc li{padding-left:0}
.fk-svc-bullet-none .fk-svc__desc li::before{display:none}
.fk-svc__price{font-size:14px;color:var(--fk-ink)}
.fk-svc__price b{font-weight:700;color:var(--fk-price)}
.fk-svc__price small{font-size:12px;color:var(--fk-muted)}
.fk-svc__notice{padding:12px 14px;border:1px dashed var(--fk-line);font-size:13px;color:var(--fk-muted)}

/* položky z cenníka (práce a materiál navyše) */
.fk-svc__opts + .fk-svc__items{margin-top:10px}
.fk-svc .fk-svc__itoggle{display:flex;align-items:center;gap:10px;width:100%;min-height:0;margin:0;padding:10px 12px;border:1px solid var(--fk-line);border-radius:0;background:var(--fk-bg);box-shadow:none;color:var(--fk-ink);font:inherit;font-size:13px;font-weight:600;line-height:1.3;text-align:left;text-transform:none;letter-spacing:normal;cursor:pointer;transition:border-color .15s}
.fk-svc .fk-svc__itoggle:hover,.fk-svc .fk-svc__itoggle:focus{background:var(--fk-bg);color:var(--fk-ink);border-color:var(--fk-accent)}
.fk-svc .fk-svc__itoggle:focus-visible{outline:2px solid var(--fk-accent);outline-offset:-2px}
.fk-svc__iplus{position:relative;flex:none;width:18px;height:18px;background:var(--fk-accent)}
.fk-svc__iplus::before,.fk-svc__iplus::after{content:"";position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}
.fk-svc__iplus::before{width:10px;height:2px}.fk-svc__iplus::after{width:2px;height:10px;transition:opacity .15s}
.fk-svc__items.is-open .fk-svc__iplus::after{opacity:0}
.fk-svc__ititle{flex:1;min-width:0}
.fk-svc__icount{font-weight:400;color:var(--fk-muted)}
.fk-svc__itoggle .fk-svc__chev{width:16px;height:16px}
.fk-svc__items.is-open .fk-svc__itoggle .fk-svc__chev{transform:rotate(180deg)}
.fk-svc__items.is-open .fk-svc__itoggle{border-bottom-color:transparent}
.fk-svc__ibody{border:1px solid var(--fk-line);border-top:0;padding:0 12px 4px}
.fk-svc__inote{margin:0;padding:10px 0 2px;font-size:12px;line-height:1.45;color:var(--fk-muted)}
.fk-svc__ilist{max-height:300px;margin:6px 0 0;padding:0;overflow-y:auto;overscroll-behavior:contain;list-style:none}
.fk-svc__it{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:16px;margin:0;padding:9px 6px;border-top:1px solid var(--fk-line)}
.fk-svc__it:first-child{border-top:0}
.fk-svc__itname{font-size:13px;font-weight:600;line-height:1.4;color:var(--fk-ink)}
.fk-svc__itprice{justify-self:end;font-size:12px;line-height:1.4;color:var(--fk-muted);white-space:nowrap;text-align:right}
.fk-svc__itprice b{font-size:13px;font-weight:700;color:var(--fk-ink)}
/* úzky box (mobil): menšie písmo súhrnu */
@container fk-svc (max-width: 380px) {
  .fk-svc .fk-svc__head{padding:12px 14px;gap:10px}
  .fk-svc__summary{font-size:12px}
  .fk-svc__panel{padding-left:14px;padding-right:14px}
  .fk-svc__ibody{padding:0 8px 4px}
  .fk-svc__it{padding:8px 2px;column-gap:10px}
}

/* ---------- režim popup: pruh pri produkte ---------- */
.fk-svc__bar{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border:1px solid var(--fk-line);background:var(--fk-bg)}
.fk-svc.has-choice .fk-svc__bar{border-color:var(--fk-accent)}
.fk-svc .fk-svc__barinfo{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--fk-ink);font:inherit;text-align:left;text-transform:none;letter-spacing:normal;cursor:pointer}
.fk-svc .fk-svc__barinfo:hover,.fk-svc .fk-svc__barinfo:focus{background:none;color:var(--fk-ink)}
.fk-svc__bar .fk-svc__summary{font-size:12px}
.fk-svc__barhint{font-size:12px;line-height:1.3;color:var(--fk-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.fk-svc.has-choice .fk-svc__barhint{display:none}
.fk-svc__bar .fk-svc__total:empty{display:none}
.fk-svc .fk-svc__open{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:0;margin:0;padding:12px 18px;border:0;border-radius:0;background:var(--fk-btn-bg);box-shadow:none;color:var(--fk-btn-c);font:700 12px/1.2 var(--fk-font-body);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:filter .15s}
.fk-svc .fk-svc__open:hover,.fk-svc .fk-svc__open:focus{background:var(--fk-btn-bg);color:var(--fk-btn-c);filter:brightness(1.12)}
.fk-svc .fk-svc__open:focus-visible{outline:2px solid var(--fk-ink);outline-offset:2px}
.fk-svc__open svg{width:16px;height:16px}
.fk-svc.has-pulse .fk-svc__open::after{content:"";position:absolute;inset:0;border:2px solid var(--fk-btn-bg);animation:fk-svc-pulse 2.2s ease-out infinite;pointer-events:none}
@keyframes fk-svc-pulse{0%{opacity:.9;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.18,1.45)}}
@media (prefers-reduced-motion:reduce){.fk-svc.has-pulse .fk-svc__open::after{animation:none;display:none}}
@container fk-svc (max-width: 420px) {
  .fk-svc__bar{flex-wrap:wrap;padding:12px}
  .fk-svc .fk-svc__open{flex:1 1 100%}
}
html.fk-svc-lock{overflow:hidden}

/* ---------- popup ---------- */
.fk-svc__dlg{width:min(var(--fk-dlg-w),calc(100vw - 32px));max-width:none;max-height:min(90vh,920px);margin:auto;padding:0;border:0;border-radius:0;background:var(--fk-bg);color:var(--fk-ink);box-shadow:0 30px 90px rgba(0,0,0,.4);overflow:hidden;container:fk-svc / inline-size}
.fk-svc__dlg[open]{display:flex;flex-direction:column}
.fk-svc__dlg::backdrop{background:rgba(10,10,10,.62)}
.fk-svc__dlg[open]{animation:fk-svc-in .22s ease-out}
@keyframes fk-svc-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fk-svc__dlg[open]{animation:none}}
.fk-svc__dlghead{display:flex;align-items:flex-start;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--fk-line);border-top:4px solid var(--fk-accent)}
.fk-svc__dlghd{flex:1;min-width:0}
.fk-svc__dlgtitle{display:block;font-family:var(--fk-font-head);font-size:19px;font-weight:700;line-height:1.25;letter-spacing:.3px;text-transform:uppercase;color:var(--fk-ink)}
.fk-svc__dlgsub{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--fk-muted)}
.fk-svc .fk-svc__dlgx{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;min-height:0;margin:0;padding:0;border:1px solid var(--fk-line);border-radius:0;background:var(--fk-bg);box-shadow:none;color:var(--fk-ink);cursor:pointer}
.fk-svc .fk-svc__dlgx:hover,.fk-svc .fk-svc__dlgx:focus{border-color:var(--fk-accent);background:var(--fk-bg);color:var(--fk-accent)}
.fk-svc__dlgx svg{width:18px;height:18px}
.fk-svc__remind{display:flex;gap:14px;align-items:flex-start;margin:0;padding:14px 24px;background:var(--fk-remind-bg);color:#fff}
.fk-svc__remind[hidden]{display:none}
.fk-svc__remindic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:2px solid #fff;font:800 15px/1 Arial,sans-serif}
.fk-svc__remind strong{display:block;font-size:15px;line-height:1.3}
.fk-svc__remind p{margin:3px 0 0;font-size:13px;line-height:1.45;opacity:.92}
.fk-svc__dlgbody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 24px 20px}
.fk-svc__dlgbody .fk-svc__panel{padding:0;border-top:0}
.fk-svc__dlgbody .fk-svc__gtitle{margin-top:18px}
.fk-svc--popup .fk-svc__ilist{max-height:none;overflow:visible}
.fk-svc__dlgfoot{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--fk-line);background:var(--fk-bg)}
.fk-svc__dlgsum{display:flex;flex-direction:column;gap:2px}
.fk-svc__dlgsum span{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--fk-muted)}
.fk-svc__dlgsum b{font-family:var(--fk-font-head);font-size:20px;font-weight:700;line-height:1.2;color:var(--fk-price)}
.fk-svc__dlgbtns{display:flex;gap:10px;flex-wrap:wrap}
.fk-svc .fk-svc__btn,.fk-svc .fk-svc__btn2{display:inline-flex;align-items:center;justify-content:center;min-height:0;margin:0;padding:13px 22px;border:1px solid var(--fk-btn-bg);border-radius:0;box-shadow:none;font:700 12px/1.2 var(--fk-font-body);letter-spacing:.6px;text-transform:uppercase;cursor:pointer}
.fk-svc .fk-svc__btn{background:var(--fk-btn-bg);color:var(--fk-btn-c)}
.fk-svc .fk-svc__btn:hover,.fk-svc .fk-svc__btn:focus{background:var(--fk-btn-bg);color:var(--fk-btn-c);filter:brightness(1.12)}
.fk-svc .fk-svc__btn2{background:var(--fk-bg);color:var(--fk-ink);border-color:var(--fk-line)}
.fk-svc .fk-svc__btn2:hover,.fk-svc .fk-svc__btn2:focus{background:var(--fk-bg);color:var(--fk-accent);border-color:var(--fk-accent)}
.fk-svc__dlgbtns [hidden]{display:none !important}
/* mobil: popup na celú obrazovku */
@media (max-width: 600px) {
  .fk-svc__dlg{width:100vw;height:100dvh;max-height:100dvh;margin:0}
  .fk-svc__dlghead{padding:16px 16px 12px}
  .fk-svc__dlgtitle{font-size:16px}
  .fk-svc__dlgsub{font-size:12px}
  .fk-svc__remind{padding:12px 16px}
  .fk-svc__dlgbody{padding:2px 16px 16px}
  .fk-svc__dlgfoot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .fk-svc__dlgbtns{flex:1 1 100%}
  .fk-svc .fk-svc__btn,.fk-svc .fk-svc__btn2{flex:1}
}

/* klasický košík: množstvo služby bez úpravy */
.fk-svc-qty{display:inline-block;min-width:2em;text-align:center}
