.nzcw{
  --nzcw-panel-bg:#f3f3f3;
  --nzcw-item-bg:#f7f7f7;
  --nzcw-subitem-bg:#fbfbfb;
  --nzcw-hover-bg:#e9e9e9;
  --nzcw-active-bg:#dedede;
  --nzcw-text:#2b2b2b;
  --nzcw-hover-text:#111;
  --nzcw-active-text:#111;
  --nzcw-border:#ddd;
  --nzcw-arrow:#6f6f6f;
  --nzcw-count-bg:#e1e1e1;
  --nzcw-count-text:#555;
  --nzcw-radius:0px;
  --nzcw-row-gap:3px;
  --nzcw-indent:16px;
  --nzcw-font-size:14px;
  --nzcw-title-size:18px;
  box-sizing:border-box;
  width:100%;
  padding:12px;
  background:var(--nzcw-panel-bg);
  border:1px solid var(--nzcw-border);
  border-radius:var(--nzcw-radius);
}
.nzcw *{box-sizing:border-box}
.nzcw-title{margin:0 0 10px;padding:0 4px 10px;border-bottom:1px solid var(--nzcw-border);color:var(--nzcw-text);font-size:var(--nzcw-title-size);font-weight:700;line-height:1.3}
.nzcw-list{list-style:none!important;margin:0!important;padding:0!important}
.nzcw-item{position:relative;margin:0 0 var(--nzcw-row-gap)!important;padding:0!important}
.nzcw-item:last-child{margin-bottom:0!important}
.nzcw-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;min-height:44px;background:var(--nzcw-item-bg);border:1px solid var(--nzcw-border);border-radius:var(--nzcw-radius);overflow:hidden;transition:background-color .18s ease,border-color .18s ease}
.nzcw-children>.nzcw-item>.nzcw-row{background:var(--nzcw-subitem-bg)}
.nzcw-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;color:var(--nzcw-text)!important;text-decoration:none!important;font-size:var(--nzcw-font-size);line-height:1.35;transition:color .18s ease}
.nzcw-level-0>.nzcw-item>.nzcw-row>.nzcw-link{font-weight:650}
.nzcw-name{min-width:0;overflow-wrap:anywhere}
.nzcw-count{flex:0 0 auto;padding:2px 7px;background:var(--nzcw-count-bg);color:var(--nzcw-count-text);border-radius:999px;font-size:11px;font-weight:600;line-height:1.5}
.nzcw-toggle{display:flex;align-items:center;justify-content:center;width:42px;min-width:42px;margin:0!important;padding:0!important;border:0!important;border-left:1px solid var(--nzcw-border)!important;border-radius:0!important;background:transparent!important;color:var(--nzcw-arrow)!important;cursor:pointer;box-shadow:none!important}
.nzcw-toggle span{display:block;position:relative;width:22px;height:22px;font-size:22px;font-weight:400;line-height:22px;transform:rotate(0deg);transition:transform .2s ease,color .18s ease}
.nzcw-toggle span::before{display:block;width:100%;height:100%;text-align:center;line-height:20px;content:'›'}
.nzcw-children{display:none;margin:var(--nzcw-row-gap) 0 0 var(--nzcw-indent)!important;padding-left:8px!important;border-left:1px solid var(--nzcw-border)}
.nzcw-is-open>.nzcw-children,.nzcw-is-hover-open>.nzcw-children{display:block}
.nzcw-toggle-chevron .nzcw-is-open>.nzcw-row>.nzcw-toggle span,.nzcw-toggle-chevron .nzcw-is-hover-open>.nzcw-row>.nzcw-toggle span,.nzcw-toggle-triangle .nzcw-is-open>.nzcw-row>.nzcw-toggle span,.nzcw-toggle-triangle .nzcw-is-hover-open>.nzcw-row>.nzcw-toggle span{transform:rotate(90deg)}
.nzcw-current>.nzcw-row,.nzcw-current-ancestor>.nzcw-row{background:var(--nzcw-active-bg)}
.nzcw-current>.nzcw-row>.nzcw-link,.nzcw-current-ancestor>.nzcw-row>.nzcw-link{color:var(--nzcw-active-text)!important}
.nzcw-row:hover,.nzcw-row:focus-within{background:var(--nzcw-hover-bg)}
.nzcw-row:hover>.nzcw-link,.nzcw-row:focus-within>.nzcw-link{color:var(--nzcw-hover-text)!important}
.nzcw-toggle:focus-visible,.nzcw-link:focus-visible{outline:2px solid currentColor!important;outline-offset:-3px}
@media (hover:hover) and (pointer:fine){
  .nzcw-hover-enabled.nzcw-toggle-chevron .nzcw-has-children:hover>.nzcw-row>.nzcw-toggle span,.nzcw-hover-enabled.nzcw-toggle-triangle .nzcw-has-children:hover>.nzcw-row>.nzcw-toggle span{transform:rotate(90deg)}
  .nzcw-hover-enabled .nzcw-has-children:hover>.nzcw-children{display:block}
}
@media(max-width:767px){
  .nzcw{padding:9px}
  .nzcw-row{min-height:46px}
  .nzcw-link{padding:11px 10px}
  .nzcw-toggle{width:46px;min-width:46px}
}


/* Typ znacznika rozwijającego */
.nzcw-toggle-chevron .nzcw-toggle span::before{content:'›';font-size:25px;font-weight:300}
.nzcw-toggle-triangle .nzcw-toggle span::before{content:'▶';font-size:13px;line-height:22px}
.nzcw-toggle-plus .nzcw-toggle span::before,
.nzcw-toggle-square-plus .nzcw-toggle span::before,
.nzcw-toggle-circle-plus .nzcw-toggle span::before{content:'+';font-size:22px;font-weight:400;line-height:20px}
.nzcw-toggle-plus .nzcw-is-open>.nzcw-row>.nzcw-toggle span::before,
.nzcw-toggle-plus .nzcw-is-hover-open>.nzcw-row>.nzcw-toggle span::before,
.nzcw-toggle-square-plus .nzcw-is-open>.nzcw-row>.nzcw-toggle span::before,
.nzcw-toggle-square-plus .nzcw-is-hover-open>.nzcw-row>.nzcw-toggle span::before,
.nzcw-toggle-circle-plus .nzcw-is-open>.nzcw-row>.nzcw-toggle span::before,
.nzcw-toggle-circle-plus .nzcw-is-hover-open>.nzcw-row>.nzcw-toggle span::before{content:'−'}
.nzcw-toggle-square-plus .nzcw-toggle span{border:1px solid currentColor;border-radius:2px;width:20px;height:20px}
.nzcw-toggle-circle-plus .nzcw-toggle span{border:1px solid currentColor;border-radius:50%;width:21px;height:21px}
.nzcw-toggle-square-plus .nzcw-toggle span::before,
.nzcw-toggle-circle-plus .nzcw-toggle span::before{font-size:17px;line-height:17px}

/* 1. Karty z pełną ramką - styl domyślny */
.nzcw-presentation-cards .nzcw-row{background:var(--nzcw-item-bg);border:1px solid var(--nzcw-border)}
.nzcw-presentation-cards .nzcw-children>.nzcw-item>.nzcw-row{background:var(--nzcw-subitem-bg)}

/* 2. Miękkie tło bez ramek */
.nzcw-presentation-soft{border:0}
.nzcw-presentation-soft .nzcw-row{border:0;background:var(--nzcw-item-bg)}
.nzcw-presentation-soft .nzcw-toggle{border-left:0!important}
.nzcw-presentation-soft .nzcw-children>.nzcw-item>.nzcw-row{background:var(--nzcw-subitem-bg)}

/* 3. Cienkie linie oddzielające */
.nzcw-presentation-separators{padding-top:8px;padding-bottom:8px;border:0}
.nzcw-presentation-separators .nzcw-item{margin-bottom:0!important}
.nzcw-presentation-separators .nzcw-row{border:0;border-bottom:1px solid var(--nzcw-border);border-radius:0;background:transparent;overflow:visible}
.nzcw-presentation-separators .nzcw-item:last-child>.nzcw-row{border-bottom:0}
.nzcw-presentation-separators .nzcw-toggle{border-left:0!important}
.nzcw-presentation-separators .nzcw-children{margin-top:0!important}
.nzcw-presentation-separators .nzcw-children>.nzcw-item>.nzcw-row{background:transparent}
.nzcw-presentation-separators .nzcw-row:hover,.nzcw-presentation-separators .nzcw-row:focus-within{background:var(--nzcw-hover-bg)}

/* 4. Minimalistyczna lista */
.nzcw-presentation-minimal{padding:4px 0;background:transparent;border:0}
.nzcw-presentation-minimal .nzcw-title{padding-left:0;padding-right:0}
.nzcw-presentation-minimal .nzcw-item{margin-bottom:0!important}
.nzcw-presentation-minimal .nzcw-row{min-height:38px;border:0;border-radius:0;background:transparent;overflow:visible}
.nzcw-presentation-minimal .nzcw-link{padding-top:7px;padding-bottom:7px}
.nzcw-presentation-minimal .nzcw-toggle{border-left:0!important;width:36px;min-width:36px}
.nzcw-presentation-minimal .nzcw-children{margin-top:0!important}
.nzcw-presentation-minimal .nzcw-children>.nzcw-item>.nzcw-row{background:transparent}
.nzcw-presentation-minimal .nzcw-row:hover,.nzcw-presentation-minimal .nzcw-row:focus-within{background:var(--nzcw-hover-bg)}

/* 5. Drzewo kategorii */
.nzcw-presentation-tree{padding:8px 10px;background:transparent;border:0}
.nzcw-presentation-tree .nzcw-title{padding-left:0;padding-right:0}
.nzcw-presentation-tree .nzcw-item{margin-bottom:0!important}
.nzcw-presentation-tree .nzcw-row{min-height:40px;border:0;border-radius:0;background:transparent;overflow:visible}
.nzcw-presentation-tree .nzcw-link{padding-top:8px;padding-bottom:8px}
.nzcw-presentation-tree .nzcw-toggle{border-left:0!important;width:38px;min-width:38px}
.nzcw-presentation-tree .nzcw-children{margin-top:0!important;padding-left:10px!important;border-left:1px solid var(--nzcw-border)}
.nzcw-presentation-tree .nzcw-children>.nzcw-item>.nzcw-row{background:transparent}
.nzcw-presentation-tree .nzcw-row:hover,.nzcw-presentation-tree .nzcw-row:focus-within{background:var(--nzcw-hover-bg)}


/* Stany aktywny i hover mają pierwszeństwo przed wybranym typem prezentacji */
.nzcw .nzcw-current>.nzcw-row,.nzcw .nzcw-current-ancestor>.nzcw-row{background:var(--nzcw-active-bg)}
.nzcw .nzcw-current>.nzcw-row>.nzcw-link,.nzcw .nzcw-current-ancestor>.nzcw-row>.nzcw-link{color:var(--nzcw-active-text)!important}
.nzcw .nzcw-row:hover,.nzcw .nzcw-row:focus-within{background:var(--nzcw-hover-bg)}
.nzcw .nzcw-row:hover>.nzcw-link,.nzcw .nzcw-row:focus-within>.nzcw-link{color:var(--nzcw-hover-text)!important}
