.kf-max { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.kf-max-ikona { font-size:21px; line-height:1; }
.kf-pod-plotnem { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-top:12px; }
.kf-pod-plotnem .kf-widoki, .kf-pod-plotnem .kf-rownaj { margin:0; }
.kf-pod-plotnem .kf-brelok-nota, .kf-pod-plotnem .nota--wzor { flex-basis:100%; order:3; margin:0; font-size:13px; line-height:1.5; }
.w-skora .kf-pasek-el { width:max-content; max-width:calc(100% - 12px); gap:2px; padding:5px; flex-wrap:wrap; justify-content:center; }
.w-skora .kf-pasek-el button { width:40px; height:40px; min-width:40px; min-height:40px; }
.kf-edytor { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:0; border:0; border-radius:0; padding:0; margin:0; background:transparent; color:inherit; font:inherit; line-height:inherit; resize:none; overflow:hidden; outline:0; }
.kf-el--edycja { outline:2px solid var(--w-marka-tekst); outline-offset:3px; cursor:text; }
.kf-el--edycja .kf-uchwyt, .kf-el--edycja .kf-obrotka { display:none; }
.kf-edytor:focus-visible { outline:0; }
#kfOknoTekst #kfFontyInfo { display:block; block-size:5.6em; line-height:1.4; overflow:auto; }
.kf-scena.kf--max { position:fixed; inset:0; z-index:80; display:flex; flex-direction:column; gap:10px; padding:12px 18px; padding-bottom:max(12px,env(safe-area-inset-bottom)); background:var(--w-plotno); overflow:hidden; }
.w-skora .kf-scena.kf--max .wrap { width:100%; max-width:none; padding-inline:0; }
.w-skora .kf-scena.kf--max .kf-gora { flex:0 0 auto; padding:0 0 8px; margin:0; align-items:center; border-bottom:1px solid var(--w-linia); }
.kf--max .kf-editor-label { font-size:20px; }
.w-skora .kf--max .kf-uklad { flex:1 1 auto; min-height:0; padding:0; align-items:stretch; gap:18px; }
.w-skora .kf--max #kfKomunikat, .w-skora .kf--max #kfOstrzezenie { flex:0 0 auto; margin:0; }
.w-skora .kf--max .kf-narzedzia { position:static; top:auto; overflow:auto; }
.w-skora .kf--max .kf-panel { position:static; top:auto; max-height:100%; min-height:0; overflow:auto; padding-right:6px; overscroll-behavior:contain; }
.kf--max .kf-plotno-kol { min-height:0; display:flex; flex-direction:column; overflow:auto; overscroll-behavior:contain; }
.kf--max .kf-plotno { flex:0 0 auto; margin-inline:auto; max-width:100%; }
.kf--max .kf-nazwa-produktu { display:none; }
.kf--max .kf-pod-plotnem { justify-content:center; flex:0 0 auto; }
.kf--max .kf-plotno-kol > .nota, .kf--max .kf-skroty { font-size:12px; margin-block:8px; }
body.kf-body-max { overflow:hidden; }
@media(min-width:901px) {
  .w-skora .kf-scena .kf-uklad { grid-template-columns:78px minmax(0,1fr) 286px; }
  .kf-scena:not(.kf--max) .kf-plotno { width:100%; max-width:none; margin-inline:auto; }
  .kf-scena:not(.kf--max) .kf-pod-plotnem { justify-content:center; }
}
@media(max-width:900px) {
  .w-skora .kf--max .kf-uklad { display:block; overflow:auto; overscroll-behavior:contain; }
  .w-skora .kf--max .kf-narzedzia { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; overflow:visible; padding:0 0 12px; mask-image:none; -webkit-mask-image:none; }
  .w-skora .kf--max .kf-narzedzie { min-width:0; padding:10px 3px; font-size:12.5px; }
  .kf--max .kf-plotno-kol { overflow:visible; }
  .kf--max .kf-rownaj .kf-widoki-etykieta { flex-basis:100%; }
  .w-skora .kf--max .kf-panel { max-height:none; overflow:visible; padding:0; margin-top:20px; }
  .kf-scena.kf--max { padding:10px; padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .kf--max .kf-editor-label { display:none; }
  .w-skora .kf--max .kf-gora-akcje { gap:6px; width:100%; }
  .w-skora .kf--max .kf-gora-akcje .btn { padding-inline:12px; font-size:12px; }
  .w-skora .kf--max .kf-gora-akcje .kf-max { margin-left:auto; }
}
@media(pointer:coarse) { .w-skora .kf-pasek-el button { width:44px; height:44px; min-width:44px; min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .kf-scena, .kf-scena * { transition:none !important; } }

/* White board is the editing workspace; the dashed rectangle is the production area. */
.w-skora .kf-plotno .kf-pole { overflow:visible; }
.w-skora .kf-plotno { isolation:isolate; background:#fff; }
.kf-el { touch-action:none; }
.kf-el--poza.akt { border-color:#a65518; }
.kf-kontekst { display:flex; align-items:center; gap:16px; margin-bottom:12px; }
.w-skora .kf-kontekst .kf-nazwa-produktu { margin:0; font-size:13px; line-height:1.5; font-weight:600; letter-spacing:0; text-transform:none; color:var(--w-tekst); }
.kf-kontekst button { flex:0 0 auto; margin-left:auto; padding:10px 0 10px 12px; min-height:44px; border:0; background:none; color:var(--w-marka-tekst); font:600 13px/1.4 var(--w-font-ui); cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.kf-pomoc-plotna { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; }
.kf-pomoc-plotna p { margin:0; max-width:52ch; color:var(--w-przygaszony); font-size:12px; line-height:1.6; }
.kf-pomoc-plotna p span { font-size:18px; margin-right:5px; color:var(--w-marka-tekst); }
.kf-pomoc-plotna button { flex:0 0 auto; border:1px solid var(--w-linia); background:var(--w-karta); border-radius:24px; min-height:44px; padding:9px 14px; font:600 12px/1.4 var(--w-font-ui); color:var(--w-tekst); cursor:pointer; }
.kf-pomoc-plotna button:disabled { opacity:.45; cursor:default; }
.w-skora .kf-wybrany-produkt { display:flex; flex-direction:column; padding:20px; gap:12px; }
.kf-panel-etykieta { margin:0; font:700 11px/1.4 var(--w-font-ui); letter-spacing:.1em; text-transform:uppercase; color:var(--w-marka-tekst); }
.kf-wybrany-produkt .kf-panel-etykieta { order:0; }
.w-skora .kf-wybrany-produkt #kfAktualnyProdukt { order:1; width:100%; height:142px; margin:0; border-radius:8px; }
.w-skora .kf-wybrany-produkt .kf-blok-tyt { order:2; margin:0; font-size:15px; line-height:1.5; letter-spacing:0; text-transform:none; }
.w-skora .kf-wybrany-produkt .wybor-nazwa { font-weight:600; color:var(--w-tekst); }
.w-skora .kf-wybrany-produkt .kf-zmien-produkt { order:3; width:100%; display:flex; justify-content:space-between; gap:10px; }
.w-skora #kfPusto { max-width:calc(100% - 24px); white-space:normal; text-align:center; border:1px solid var(--w-linia); font-size:12px; padding:10px 14px; }
.kf--max .kf-kontekst { flex:0 0 auto; justify-content:flex-end; margin-bottom:4px; }
.kf--max .kf-pomoc-plotna { flex:0 0 auto; }

/* Preview magnification changes the view, not the engraving coordinates. */
.kf-plotno-kol { min-width:0; max-width:100%; }
.kf-preview-controls { display:flex; align-items:center; justify-content:flex-end; flex:0 0 auto; gap:6px; width:100%; min-width:0; margin:0 0 10px; padding:6px; border:1px solid var(--w-linia); border-radius:14px; background:var(--w-karta); }
.kf-preview-controls button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--w-linia); border-radius:9px; background:var(--w-plotno); color:var(--w-tekst); font:600 14px/1.2 var(--w-font-ui); cursor:pointer; }
.kf-preview-controls button:focus-visible { outline:3px solid var(--w-marka-tekst); outline-offset:2px; }
.kf-preview-controls button:disabled { opacity:.4; cursor:default; }
#kfZoomOut, #kfZoomIn { width:44px; padding-inline:0; font-size:23px; }
#kfZoomReset { flex:1 1 auto; min-width:78px; max-width:148px; }
#kfZoomValue { flex:0 0 48px; min-width:48px; text-align:center; color:var(--w-tekst); font:600 12px/1.3 var(--w-font-ui); font-variant-numeric:tabular-nums; }
.kf-preview-viewport { width:100%; min-width:0; max-width:100%; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--w-marka-tekst) var(--w-plotno); border-radius:var(--w-r-lg); background:#fff; }
.kf-preview-viewport > .kf-plotno { flex-shrink:0; }
.kf--max .kf-preview-controls, .kf--max .kf-preview-viewport { flex:0 0 auto; }
.w-skora .kf-el.akt { border-color:#245142; box-shadow:0 0 0 1px #fff; }
.w-skora .kf-plotno .kf-uchwyt { position:absolute; right:-22px; bottom:-22px; z-index:5; display:block; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:12px; background:transparent; box-shadow:none; cursor:nwse-resize; touch-action:none; user-select:none; -webkit-user-select:none; }
.w-skora .kf-plotno .kf-uchwyt::before { content:""; position:absolute; inset:9px; border:2px solid #fff; border-radius:7px; background:var(--w-marka-ciemna); box-shadow:0 0 0 1px var(--w-zloto, #E9C86C),0 2px 7px rgba(16,35,31,.24); pointer-events:none; }
.w-skora .kf-plotno .kf-uchwyt::after { content:"↘"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font:700 19px/1 Arial,Helvetica,sans-serif; pointer-events:none; }
.w-skora .kf-plotno .kf-uchwyt:focus-visible { outline:3px solid var(--w-marka-tekst); outline-offset:1px; }
.w-skora .kf-plotno .kf-el--edycja .kf-uchwyt { display:none; }
@media(hover:hover) { .kf-preview-controls button:not(:disabled):hover { border-color:var(--w-marka-tekst); } .w-skora .kf-plotno .kf-uchwyt:hover::before { background:#245142; } }
@media(max-width:900px) {
  .w-skora .kf-scena .kf-uklad { grid-template-columns:minmax(0,1fr); }
  .w-skora .kf-scena:not(.kf--max) .kf-uklad { width:calc(100% - 20px); max-width:none; margin-inline:auto; padding-inline:0; }
  .kf-preview-controls { justify-content:space-between; }
  #kfZoomReset { max-width:none; }
}

/* Product library shares the store's cream, green and gold palette. */
.w-skora #kfOknoProdukty { padding:32px; z-index:150; background:rgba(10,25,21,.56); }
.w-skora #kfOknoProdukty .kf-katalog { display:flex; flex-direction:column; width:min(1100px,100%); max-width:1100px; height:min(850px,calc(100dvh - 64px)); max-height:calc(100dvh - 64px); padding:0; overflow:hidden; border-radius:24px; box-shadow:0 24px 80px rgba(0,0,0,.18); background:var(--w-plotno); }
.kf-katalog .kf-okno-gora { flex:0 0 auto; margin:0; padding:24px 28px 18px; align-items:center; gap:16px; }
.kf-katalog .kf-okno-gora h2 { margin:7px 0 0; font:600 30px/1.15 var(--w-font-naglowki); letter-spacing:-.03em; }
.kf-katalog .kf-okno-x { min-width:44px; min-height:44px; border-radius:50%; border:1px solid var(--w-linia); background:var(--w-karta); }
.kf-katalog-filtry { flex:0 0 auto; padding:0 28px 12px; border-bottom:1px solid var(--w-linia); }
.kf-katalog-szukaj { display:block; }
.kf-katalog-szukaj > span { display:block; font-size:12px; font-weight:600; margin-bottom:6px; }
.kf-katalog-szukaj input { width:100%; min-height:48px; border:1px solid var(--w-linia); border-radius:12px; background:var(--w-karta); padding:12px 16px; font:400 16px/1.4 var(--w-font-ui); color:var(--w-tekst); }
.kf-katalog-szukaj input:focus { outline:2px solid var(--w-marka-tekst); outline-offset:2px; }
.kf-katalog-kategorie { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 10px; max-height:104px; overflow:auto; }
.kf-katalog-kategorie button { border:1px solid var(--w-linia); background:transparent; padding:10px 15px; min-height:44px; border-radius:24px; white-space:nowrap; font:500 12px/1.4 var(--w-font-ui); color:var(--w-tekst); cursor:pointer; }
.kf-katalog-kategorie button[aria-pressed=true] { background:var(--w-marka-ciemna); border-color:var(--w-marka-ciemna); color:#fff; }
.kf-katalog-wynik { margin:0; font-size:12px; color:var(--w-przygaszony); }
.kf-katalog-przewijanie { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; padding:22px 28px; }
.w-skora #kfProduktyLista { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
#kfProduktyLista > li { min-width:0; display:flex; }
.kf-katalog-karta { display:flex; flex-direction:column; align-items:stretch; width:100%; text-align:left; padding:12px; border:1px solid var(--w-linia); border-radius:16px; background:var(--w-karta); color:var(--w-tekst); font:inherit; cursor:pointer; }
.kf-katalog-karta.akt { border:2px solid var(--w-marka-ciemna); padding:11px; }
.kf-katalog-karta:focus-visible { outline:3px solid var(--w-marka-tekst); outline-offset:3px; }
.kf-katalog-foto { display:flex; align-items:center; justify-content:center; position:relative; height:170px; background:#fff; border-radius:9px; margin-bottom:14px; overflow:hidden; }
.kf-katalog-foto img { width:100%; height:100%; object-fit:contain; padding:8px; }
.kf-katalog-wybrany { position:absolute; top:8px; left:8px; padding:6px 10px; background:var(--w-marka-ciemna); color:#fff; border-radius:20px; font-size:10px; font-weight:600; }
.kf-katalog-kategoria { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--w-marka-tekst); margin-bottom:6px; }
.kf-katalog-karta > strong { font-size:13px; line-height:1.55; font-weight:600; margin-bottom:16px; overflow-wrap:anywhere; }
.kf-katalog-stopka { margin-top:auto; border-top:1px solid var(--w-linia); padding-top:12px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.kf-katalog-stopka b { font-size:16px; }
.kf-katalog-stopka > span { font-size:11px; color:var(--w-przygaszony); }
.kf-katalog-nota { flex:0 0 auto; margin:0; padding:14px 28px; border-top:1px solid var(--w-linia); font-size:11px; line-height:1.6; color:var(--w-przygaszony); }
#kfProduktyWiecej { display:block; margin:24px auto 0; }
#kfProduktyWiecej[hidden], #kfProduktyPusto[hidden] { display:none; }
.kf-katalog-pusto { padding:35px 16px; text-align:center; }
.kf-katalog-pusto h3 { font-size:23px; margin:0 0 12px; }
.kf-katalog-pusto p { font-size:14px; margin-bottom:22px; }
@media(hover:hover) { .kf-katalog-karta:hover { border-color:var(--w-marka-tekst); } .kf-kontekst button:hover { color:var(--w-tekst); } }
@media(max-width:900px) {
  .kf-kontekst { align-items:flex-start; gap:8px; }
  .kf-pomoc-plotna { flex-wrap:wrap; }
  .kf-pomoc-plotna p { flex:1 1 200px; }
  .w-skora .kf-wybrany-produkt { display:grid; grid-template-columns:80px minmax(0,1fr); gap:8px 16px; }
  .kf-wybrany-produkt .kf-panel-etykieta { grid-column:2; grid-row:1; }
  .w-skora .kf-wybrany-produkt #kfAktualnyProdukt { width:80px; height:100px; grid-column:1; grid-row:1 / 4; }
  .w-skora .kf-wybrany-produkt .kf-blok-tyt { grid-column:2; grid-row:2; }
  .w-skora .kf-wybrany-produkt .kf-zmien-produkt { grid-column:2; grid-row:3; }
}
@media(max-width:600px) {
  .w-skora #kfOknoProdukty { padding:0; }
  .w-skora #kfOknoProdukty .kf-katalog { width:100%; height:100dvh; max-height:100dvh; border-radius:0; margin:0; }
  .kf-katalog .kf-okno-gora { padding:20px 18px 16px; }
  .kf-katalog .kf-okno-gora h2 { font-size:27px; }
  .kf-katalog-filtry { padding:0 18px 10px; }
  .kf-katalog-kategorie { flex-wrap:nowrap; max-height:none; margin:12px -18px 8px; padding:0 18px 5px; scrollbar-width:thin; }
  .kf-katalog-przewijanie { padding:16px 14px; }
  .w-skora #kfProduktyLista { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .kf-katalog-karta { padding:9px; border-radius:12px; }
  .kf-katalog-karta.akt { padding:8px; }
  .kf-katalog-foto { height:135px; margin-bottom:10px; }
  .kf-katalog-foto img { padding:4px; }
  .kf-katalog-karta > strong { font-size:11px; line-height:1.5; margin-bottom:10px; }
  .kf-katalog-stopka { display:block; padding-top:8px; }
  .kf-katalog-stopka b { display:block; font-size:15px; margin-bottom:5px; }
  .kf-katalog-kategoria { font-size:9px; letter-spacing:0; }
  .kf-katalog-nota { font-size:10px; padding:10px 18px max(10px,env(safe-area-inset-bottom)); }
  .w-skora .kf-kontekst .kf-nazwa-produktu { font-size:11px; line-height:1.6; }
  .kf-kontekst button { padding-top:0; font-size:12px; }
  .kf-pomoc-plotna { gap:8px; }
  .kf-pomoc-plotna p { font-size:11px; }
  .kf-pomoc-plotna button { font-size:11px; }
}
