
.cwcm-root{font-family:var(--cwcm-font);position:relative;z-index:999999}
.cwcm-root,.cwcm-root *{box-sizing:border-box}
.cwcm-root button{font-family:var(--cwcm-font)}
.cwcm-banner{position:fixed;bottom:24px;width:min(var(--cwcm-width),calc(100vw - 32px));background:var(--cwcm-bg);color:var(--cwcm-text-color);border:2px solid var(--cwcm-text-color);border-radius:var(--cwcm-radius);padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.14);z-index:999999;overflow:hidden}
.cwcm-root[data-position="bottom-left"] .cwcm-banner{left:24px}
.cwcm-root[data-position="bottom-right"] .cwcm-banner{right:24px}
.cwcm-root[data-position="bottom-center"] .cwcm-banner{left:50%;transform:translateX(-50%)}
.cwcm-brand{margin:0 0 14px}
.cwcm-brand img{display:block;max-width:150px;max-height:54px;width:auto;height:auto;object-fit:contain}
.cwcm-title{margin:0 0 8px;font:600 26px/1.15 var(--cwcm-font);color:#111}
.cwcm-text{margin:0 0 20px;font:400 14px/1.55 var(--cwcm-font);color:#222}
.cwcm-text a{color:inherit;font-weight:600}
.cwcm-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cwcm-btn{appearance:none!important;-webkit-appearance:none!important;border:2px solid #111!important;background:var(--cwcm-bg)!important;color:var(--cwcm-text-color)!important;border-radius:var(--cwcm-button-radius)!important;padding:10px 12px!important;min-width:0!important;width:100%!important;height:58px!important;min-height:58px!important;font:600 11px/1.15 var(--cwcm-font)!important;text-transform:uppercase!important;letter-spacing:.02em!important;cursor:pointer;transition:.18s ease;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;overflow-wrap:normal!important}
.cwcm-btn:hover,.cwcm-btn:focus-visible{background:var(--cwcm-off)!important;transform:translateY(-1px)}
.cwcm-btn--primary:hover,.cwcm-btn--primary:focus-visible{background:var(--cwcm-on)!important}
.cwcm-backdrop{position:fixed;inset:0;background:rgba(20,20,20,.28);backdrop-filter:blur(4px);z-index:1000000}
.cwcm-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(860px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 32px));background:#fff;border:2px solid #111;border-radius:var(--cwcm-radius);box-shadow:0 22px 60px rgba(0,0,0,.2);overflow:hidden;z-index:1000001}
.cwcm-modal__header,.cwcm-modal__footer{padding:20px 22px;background:#fff}
.cwcm-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #eee}
.cwcm-modal__heading{min-width:0}
.cwcm-brand--modal{margin-bottom:10px}
.cwcm-modal__header h2{margin:0;font:600 24px/1.2 var(--cwcm-font);color:#111}
.cwcm-close{appearance:none!important;border:0!important;background:transparent!important;color:var(--cwcm-text-color)!important;font-size:32px!important;line-height:1!important;cursor:pointer;padding:4px 8px!important;min-width:auto!important}
.cwcm-modal__body{overflow:auto;max-height:calc(100dvh - 210px);background:#fff}
.cwcm-category{border-bottom:1px solid #eee;background:#fff}
.cwcm-category__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 22px 8px}
.cwcm-category__toggle{appearance:none!important;background:transparent!important;border:0!important;color:var(--cwcm-text-color)!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;gap:10px!important;text-align:left!important;font:600 18px/1.25 var(--cwcm-font)!important;cursor:pointer!important;min-width:0!important}
.cwcm-chevron{display:inline-block;width:9px;height:9px;border-right:2px solid #111;border-bottom:2px solid #111;transform:rotate(45deg);transition:.18s ease;flex:0 0 auto;margin-top:-4px}
.cwcm-category__toggle[aria-expanded="true"] .cwcm-chevron{transform:rotate(225deg);margin-top:4px}
.cwcm-category__summary{padding:0 22px 16px 41px;font:400 13px/1.45 var(--cwcm-font);color:#666}
.cwcm-category__details{padding:0 22px 18px 41px}
.cwcm-service-list{display:grid;gap:8px}
.cwcm-service{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(0,1fr);gap:12px;padding:10px 12px;border:1px solid #e7e7e7;border-radius:12px;background:#fafafa}
.cwcm-service strong{font-size:13px}
.cwcm-service span,.cwcm-empty{font-size:12px;line-height:1.4;color:#666;margin:0;overflow-wrap:anywhere}
.cwcm-category__control{display:flex;align-items:center;justify-content:flex-end}
.cwcm-always{font-size:12px;font-weight:600;white-space:nowrap}
.cwcm-switch{display:inline-flex;position:relative;width:50px;height:28px;flex:0 0 auto}
.cwcm-switch input{position:absolute;opacity:0;pointer-events:none}
.cwcm-switch-ui{position:absolute;inset:0;border-radius:999px;background:var(--cwcm-off);border:1px solid #111;transition:.18s}
.cwcm-switch-ui:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border:1px solid #111;border-radius:50%;transition:.18s}
.cwcm-switch input:checked + .cwcm-switch-ui{background:var(--cwcm-on)}
.cwcm-switch input:checked + .cwcm-switch-ui:after{transform:translateX(22px)}
.cwcm-modal__footer{display:flex;justify-content:flex-end}
.cwcm-modal__footer .cwcm-btn{width:auto!important;min-width:220px!important;padding-left:24px!important;padding-right:24px!important}
.cwcm-reopen{position:fixed;left:16px;bottom:16px;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:0!important;border:2px solid #111!important;border-radius:50%!important;background:var(--cwcm-bg)!important;cursor:pointer;z-index:999998;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 8px 20px rgba(0,0,0,.12)!important}
.cwcm-reopen:hover{background:var(--cwcm-off)!important}
.cwcm-cookie-icon{position:relative;display:block;width:24px;height:24px;border:2px solid #111;border-radius:50%;background:var(--cwcm-off)}
.cwcm-cookie-icon:after{content:"";position:absolute;right:-2px;top:-2px;width:9px;height:9px;background:#fff;border-left:2px solid #111;border-bottom:2px solid #111;border-radius:0 10px 0 10px;transform:rotate(-12deg)}
.cwcm-cookie-icon i{position:absolute;width:4px;height:4px;background:#111;border-radius:50%}
.cwcm-cookie-icon i:nth-child(1){left:6px;top:6px}.cwcm-cookie-icon i:nth-child(2){left:7px;bottom:5px}.cwcm-cookie-icon i:nth-child(3){right:5px;bottom:7px}.cwcm-cookie-icon i:nth-child(4){right:7px;top:9px}
.cwcm-root [hidden]{display:none!important}
@media(max-width:1024px){
  .cwcm-banner{left:16px!important;right:16px!important;bottom:16px!important;transform:none!important;width:auto!important}
  .cwcm-actions{grid-template-columns:1fr}
  .cwcm-btn{height:46px!important;min-height:46px!important}
}
@media(max-width:600px){
  .cwcm-banner{left:8px!important;right:8px!important;bottom:8px!important;padding:17px;border-radius:22px;max-height:calc(100dvh - 16px);overflow:auto}
  .cwcm-title{font-size:21px}
  .cwcm-text{font-size:12.5px;margin-bottom:15px}
  .cwcm-actions{gap:7px}
  .cwcm-btn{height:42px!important;min-height:42px!important;font-size:11px!important;padding:9px 12px!important}
  .cwcm-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}
  .cwcm-modal__header,.cwcm-modal__footer{padding:15px}
  .cwcm-modal__header h2{font-size:19px}
  .cwcm-modal__body{max-height:calc(100dvh - 160px)}
  .cwcm-category__top{padding:14px 15px 7px;gap:10px}
  .cwcm-category__toggle{font-size:15px!important}
  .cwcm-category__summary{padding:0 15px 12px 34px;font-size:11.5px}
  .cwcm-category__details{padding:0 15px 14px 34px}
  .cwcm-service{grid-template-columns:1fr;gap:3px;padding:9px 10px}
  .cwcm-always{font-size:10px;white-space:normal;text-align:right;max-width:78px}
  .cwcm-modal__footer .cwcm-btn{width:100%!important;min-width:0!important}
  .cwcm-reopen{left:10px;bottom:10px;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
}


/* ===== 0.1.4 — pełne rozwijane zgody ===== */
.cwcm-modal__intro{
  padding:14px 22px;
  border-bottom:1px solid #eee;
  background:#fafafa;
  color:#666;
  font:400 12px/1.45 var(--cwcm-font);
}
.cwcm-category__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 22px 8px;
}
.cwcm-category__toggle{
  width:auto!important;
  max-width:100%!important;
}
.cwcm-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 9px;
  margin-left:4px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#f7f7f7;
  color:#555;
  font:600 10px/1 var(--cwcm-font);
  white-space:nowrap;
}
.cwcm-category__details{
  padding:0 22px 20px 41px;
}
.cwcm-detail-list{
  display:grid;
  gap:10px;
}
.cwcm-detail-card{
  border:1px solid #e5e5e5;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.cwcm-detail-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #eee;
  background:#fafafa;
}
.cwcm-detail-card__top strong{
  font-size:14px;
}
.cwcm-status{
  padding:4px 8px;
  border-radius:999px;
  background:var(--cwcm-on);
  color:#111;
  font-size:10px;
  font-weight:600;
  white-space:nowrap;
}
.cwcm-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:0;
}
.cwcm-detail-grid>div{
  padding:11px 14px;
  border-bottom:1px solid #eee;
}
.cwcm-detail-grid>div:nth-child(odd):not(.cwcm-detail-grid__wide){
  border-right:1px solid #eee;
}
.cwcm-detail-grid__wide{
  grid-column:1/-1;
}
.cwcm-detail-grid dt{
  margin:0 0 4px;
  color:#888;
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cwcm-detail-grid dd{
  margin:0;
  color:#333;
  font-size:12px;
  line-height:1.45;
}
.cwcm-signal-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.cwcm-signal-list code{
  display:inline-block;
  padding:4px 7px;
  border:1px solid #e2e2e2;
  border-radius:7px;
  background:#f7f7f7;
  color:#333;
  font:500 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.cwcm-empty{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:13px 14px;
  border:1px dashed #ddd;
  border-radius:12px;
  background:#fafafa;
  color:#666;
}
.cwcm-empty strong{color:#333;font-size:12px}
.cwcm-empty span{font-size:11px;line-height:1.4}

@media(max-width:600px){
  .cwcm-modal__intro{padding:11px 15px;font-size:10.5px}
  .cwcm-category__head{padding:14px 15px 7px;gap:8px}
  .cwcm-category__toggle{gap:7px!important;flex-wrap:wrap!important}
  .cwcm-count{font-size:9px;min-height:21px;padding:3px 7px}
  .cwcm-category__details{padding:0 15px 14px 34px}
  .cwcm-detail-grid{grid-template-columns:1fr}
  .cwcm-detail-grid>div,.cwcm-detail-grid__wide{grid-column:1!important;border-right:0!important;padding:9px 10px}
  .cwcm-detail-card__top{padding:10px}
  .cwcm-detail-card__top strong{font-size:12.5px}
  .cwcm-detail-grid dd{font-size:11px}
  .cwcm-signal-list code{font-size:9.5px}
}

/* ===== 0.2.0 — licznik usług/elementów i pełny inwentarz ===== */
.cwcm-count{font-size:9px!important;padding:4px 8px!important}
.cwcm-element-list{display:grid;gap:6px}
.cwcm-element-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid #eee;border-radius:8px;background:#fafafa}
.cwcm-element-kind{display:inline-flex;padding:3px 6px;border-radius:999px;background:#fff;border:1px solid #ddd;font-size:9px;font-weight:600;text-transform:uppercase}
.cwcm-element-row strong{font-size:11px;font-weight:600;overflow-wrap:anywhere}
.cwcm-element-row small{font-size:9px;color:#777;overflow-wrap:anywhere}
@media(max-width:600px){
  .cwcm-count{width:100%;margin-left:25px!important;justify-content:flex-start!important;background:transparent!important;border:0!important;padding:0!important;font-size:9px!important}
  .cwcm-element-row{grid-template-columns:auto minmax(0,1fr)}
  .cwcm-element-row small{grid-column:2}
}


/* ===== 0.4.1 — reopen / stacking context fix ===== */
.cwcm-root{
  z-index:2147482990!important;
  pointer-events:none;
}
.cwcm-root .cwcm-banner,
.cwcm-root .cwcm-modal,
.cwcm-root .cwcm-backdrop,
.cwcm-root .cwcm-reopen{
  pointer-events:auto!important;
}
.cwcm-backdrop{
  z-index:2147483000!important;
}
.cwcm-modal{
  z-index:2147483001!important;
}
.cwcm-reopen{
  z-index:2147482999!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
body.cwcm-preferences-open .cwcm-modal{
  visibility:visible!important;
  opacity:1!important;
}
