:root{
  --cc-blue:#0b4193;
  --cc-blue-2:#1769d2;
  --cc-blue-soft:#eaf3ff;
  --cc-blue-softer:#f6f9fe;
  --cc-text:#17243a;
  --cc-muted:#66758e;
  --cc-border:#dce5f1;
  --cc-shadow:0 22px 60px rgba(21,46,82,.18);
}

/* ============================================================
   RESET / IZOLACJA — ogranicza wpływ CSS strony
   ============================================================ */
#ccBanner,
#ccBanner *,
#ccModal,
#ccModal *{
  box-sizing:border-box;
}

#ccBanner.cc-banner[hidden],
#ccModal.cc-modal[hidden],
#ccSettingsTrigger.cc-settings-trigger[hidden]{display:none !important}

#ccBanner button,
#ccModal button,
#ccBanner a,
#ccModal a{
  font-family:Inter,Arial,Helvetica,sans-serif !important;
}

[hidden]{display:none!important}
body.cc-lock{overflow:hidden}

/* Stały skrót do ponownej zmiany zapisanej zgody */
#ccSettingsTrigger.cc-settings-trigger{
  position:fixed !important;
  z-index:2147482999 !important;
  right:auto !important;
  left:22px !important;
  bottom:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.7) !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,var(--cc-blue-2),var(--cc-blue)) !important;
  color:#fff !important;
  box-shadow:0 10px 28px rgba(11,65,147,.3) !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  line-height:1 !important;
  text-transform:none !important;
  cursor:pointer !important;
  transition:transform .16s ease,box-shadow .16s ease !important;
}

#ccSettingsTrigger.cc-settings-trigger:hover,
#ccSettingsTrigger.cc-settings-trigger:focus-visible{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 34px rgba(11,65,147,.38) !important;
  outline:3px solid rgba(23,105,210,.24) !important;
  outline-offset:3px !important;
}

#ccSettingsTrigger svg{
  width:29px !important;
  height:29px !important;
  margin:0 !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  pointer-events:none !important;
}

#ccSettingsTrigger svg circle{
  fill:currentColor !important;
  stroke:none !important;
}

#ccSettingsTrigger > span{
  position:absolute !important;
  right:auto !important;
  left:64px !important;
  width:max-content !important;
  max-width:180px !important;
  margin:0 !important;
  padding:8px 10px !important;
  border-radius:7px !important;
  background:#17243a !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .16s ease !important;
}

#ccSettingsTrigger:hover > span,
#ccSettingsTrigger:focus-visible > span{
  opacity:1 !important;
  visibility:visible !important;
}

/* ============================================================
   BANNER — PRAWA STRONA, MAX 400 PX
   ============================================================ */
#ccBanner.cc-banner{
  position:fixed !important;
  z-index:2147483000 !important;
  right:22px !important;
  left:auto !important;
  bottom:22px !important;
  width:calc(100% - 44px) !important;
  max-width:400px !important;

  margin:0 !important;
  padding:26px !important;

  background:#fff !important;
  color:var(--cc-text) !important;
  border:1px solid rgba(11,65,147,.11) !important;
  border-radius:20px !important;
  box-shadow:var(--cc-shadow) !important;

  font-family:Inter,Arial,Helvetica,sans-serif !important;
  text-align:left !important;
  line-height:1.5 !important;
  overflow:hidden !important;
}

#ccBanner.cc-banner::after{
  content:"";
  position:absolute;
  right:-72px;
  bottom:-84px;
  width:205px;
  height:140px;
  border-radius:50%;
  background:linear-gradient(135deg,#eff6ff 5%,#a9d0ff 100%);
  opacity:.72;
  pointer-events:none;
}

/* Cookie icon */
#ccBanner .cc-icon{
  position:absolute !important;
  z-index:1 !important;
  top:20px !important;
  right:20px !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:var(--cc-blue-soft) !important;
}

#ccBanner .cc-icon svg{
  width:25px !important;
  height:25px !important;
  fill:none !important;
  stroke:var(--cc-blue-2) !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

#ccBanner .cc-icon svg circle{
  fill:var(--cc-blue-2) !important;
  stroke:none !important;
}

#ccBanner h2{
  margin:0 0 12px 0 !important;
  padding:4px 58px 0 0 !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:23px !important;
  line-height:1.24 !important;
  font-weight:700 !important;
  letter-spacing:-.35px !important;
  color:#17243a !important;
}

#ccBanner > p{
  margin:0 0 13px 0 !important;
  padding:0 !important;
  color:var(--cc-muted) !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:13.5px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
}

#ccBanner .cc-policy{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 0 16px 0 !important;
  padding:0 !important;

  color:var(--cc-blue-2) !important;
  background:none !important;
  border:0 !important;

  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

#ccBanner .cc-policy:hover{text-decoration:underline !important}
#ccBanner .cc-policy span{
  font-size:20px !important;
  line-height:1 !important;
}

/* Mniejsze odstępy pomiędzy przyciskami */
#ccBanner .cc-actions{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
}

#ccBanner .cc-btn,
#ccModal .cc-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;

  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:12px 15px !important;

  border-radius:9px !important;
  border:1px solid transparent !important;

  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;

  text-transform:none !important;
  text-decoration:none !important;
  cursor:pointer !important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease !important;
}

#ccBanner .cc-btn:hover,
#ccModal .cc-btn:hover{
  transform:translateY(-1px) !important;
}

#ccBanner .cc-btn span,
#ccModal .cc-btn span{
  margin:0 !important;
  font-size:17px !important;
  line-height:1 !important;
}

#ccBanner .cc-btn-primary,
#ccModal .cc-btn-primary{
  background:linear-gradient(135deg,var(--cc-blue-2),var(--cc-blue)) !important;
  color:#fff !important;
  border-color:var(--cc-blue) !important;
}

#ccBanner .cc-btn-primary:hover,
#ccModal .cc-btn-primary:hover{
  box-shadow:0 7px 18px rgba(11,65,147,.20) !important;
}

#ccBanner .cc-btn-outline,
#ccModal .cc-btn-outline{
  background:#fff !important;
  color:var(--cc-blue-2) !important;
  border-color:#4d89dc !important;
}

#ccBanner .cc-btn-soft{
  background:var(--cc-blue-soft) !important;
  color:var(--cc-blue-2) !important;
  border-color:transparent !important;
}

#ccBanner .cc-rodo{
  position:relative !important;
  z-index:1 !important;
  margin:17px 0 0 0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#8a96a8 !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:10px !important;
  line-height:1.4 !important;
  font-weight:400 !important;
}

/* ============================================================
   MODAL USTAWIEŃ
   ============================================================ */
#ccModal.cc-modal{
  position:fixed !important;
  z-index:2147483001 !important;
  inset:0 !important;
  display:grid !important;
  place-items:center !important;
  padding:22px !important;
  margin:0 !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
}

#ccModal .cc-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(8,25,50,.65) !important;
  backdrop-filter:blur(5px) !important;
}

#ccModal .cc-dialog{
  position:relative !important;
  z-index:1 !important;
  width:min(760px,100%) !important;
  max-height:calc(100vh - 44px) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:auto !important;

  background:#fff !important;
  color:var(--cc-text) !important;
  border:1px solid rgba(11,65,147,.10) !important;
  border-radius:20px !important;
  box-shadow:0 32px 100px rgba(0,0,0,.28) !important;

  font-family:Inter,Arial,Helvetica,sans-serif !important;
  text-align:left !important;
}

#ccModal .cc-dialog header{
  margin:0 !important;
  padding:30px 34px 18px !important;
  background:#fff !important;
}

#ccModal .cc-dialog header h2{
  margin:0 45px 10px 0 !important;
  padding:0 !important;

  color:#17243a !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:25px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:-.35px !important;
}

#ccModal .cc-dialog header p{
  max-width:620px !important;
  margin:0 !important;
  padding:0 !important;

  color:var(--cc-muted) !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:13.5px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
}

#ccModal .cc-close{
  position:absolute !important;
  right:20px !important;
  top:18px !important;
  width:38px !important;
  height:38px !important;
  margin:0 !important;
  padding:0 !important;

  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#20314b !important;

  font-family:Arial,sans-serif !important;
  font-size:29px !important;
  font-weight:300 !important;
  line-height:38px !important;
  text-align:center !important;
  cursor:pointer !important;
}

#ccModal .cc-close:hover{background:var(--cc-blue-soft) !important}
#ccModal.cc-consent-required .cc-close{display:none !important}

/* Bez ikon kategorii */
#ccModal .cc-category{
  margin:0 34px !important;
  padding:21px 4px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:20px !important;
  align-items:center !important;
  border-bottom:1px solid var(--cc-border) !important;
}

#ccModal .cc-category .cc-cat-copy{
  min-width:0 !important;
}

#ccModal .cc-cat-title{
  margin:0 !important;
  padding:0 !important;

  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:9px !important;

  color:#17243a !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}

#ccModal .cc-cat-copy p{
  margin:5px 0 0 0 !important;
  padding:0 !important;
  color:var(--cc-muted) !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:12.5px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}

#ccModal .cc-always{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:4px 8px !important;

  border-radius:20px !important;
  background:var(--cc-blue-soft) !important;
  color:var(--cc-blue-2) !important;

  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}

#ccModal .cc-switch{
  position:relative !important;
  display:block !important;
  width:48px !important;
  height:27px !important;
  flex:0 0 48px !important;
  margin:0 !important;
}

#ccModal .cc-switch input{
  position:absolute !important;
  opacity:0 !important;
}

#ccModal .cc-switch span{
  position:absolute !important;
  inset:0 !important;
  margin:0 !important;
  padding:0 !important;

  border-radius:30px !important;
  background:#b8c1ce !important;
  cursor:pointer !important;
  transition:.2s !important;
}

#ccModal .cc-switch span::before{
  content:"";
  position:absolute;
  width:21px;
  height:21px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
  transition:.2s;
}

#ccModal .cc-switch input:checked + span{
  background:linear-gradient(135deg,var(--cc-blue-2),var(--cc-blue)) !important;
}

#ccModal .cc-switch input:checked + span::before{
  transform:translateX(21px);
}

#ccModal .cc-footer{
  margin:0 !important;
  padding:20px 34px 18px !important;
  background:#fff !important;
}

#ccModal .cc-footer-buttons{
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}

#ccModal .cc-footer .cc-btn{
  width:auto !important;
  min-width:190px !important;
}

#ccModal .cc-footer .cc-rodo{
  margin:18px 0 0 0 !important;
  padding:16px 0 0 0 !important;
  border-top:1px solid var(--cc-border) !important;

  text-align:center !important;
  color:#8a96a8 !important;
  font-family:Inter,Arial,Helvetica,sans-serif !important;
  font-size:10px !important;
  line-height:1.4 !important;
}

/* Szeroki panel ustawień w stylu nowoczesnego CMP */
#ccModal .cc-dialog{width:min(900px,100%) !important;border-radius:10px !important}
#ccModal .cc-dialog .cc-modal-head{min-height:78px !important;padding:17px 70px 14px 22px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:24px !important;border-bottom:1px solid var(--cc-border) !important}
#ccModal .cc-modal-head h2{margin:0 !important;font-size:18px !important;letter-spacing:0 !important;text-align:right !important}
#ccModal .cc-brand{display:flex !important;align-items:center !important;margin:0 !important;min-width:0 !important}
#ccModal .cc-brand img{display:block !important;width:auto !important;height:auto !important;max-width:180px !important;max-height:48px !important;margin:0 !important;padding:0 !important;object-fit:contain !important}
#ccModal .cc-tabs{height:54px !important;display:grid !important;grid-template-columns:repeat(3,1fr) !important;margin:0 !important;padding:0 !important;border-bottom:1px solid var(--cc-border) !important}
#ccModal .cc-tabs button,#ccModal .cc-tabs a{position:relative !important;display:flex !important;align-items:center !important;justify-content:center !important;height:54px !important;margin:0 !important;padding:0 12px !important;border:0 !important;background:#fff !important;color:#32435f !important;font-size:13px !important;font-weight:700 !important;line-height:1.2 !important;text-decoration:none !important}
#ccModal .cc-tabs .active{color:var(--cc-blue-2) !important}
#ccModal .cc-tabs .active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--cc-blue-2)}
#ccModal .cc-intro{margin:0 !important;padding:24px 22px !important;border-bottom:1px solid var(--cc-border) !important}
#ccModal .cc-intro strong{display:block !important;margin:0 0 8px !important;color:var(--cc-text) !important;font-size:14px !important}
#ccModal .cc-intro p{margin:0 !important;padding:0 !important;color:var(--cc-muted) !important;font-size:13px !important;line-height:1.6 !important}
#ccModal .cc-categories-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;margin:0 !important;padding:0 !important;border-bottom:1px solid var(--cc-border) !important}
#ccModal .cc-categories-grid .cc-category{min-height:126px !important;margin:0 !important;padding:18px 16px !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:10px !important;text-align:center !important;border:0 !important;border-right:1px solid var(--cc-border) !important}
#ccModal .cc-categories-grid .cc-category:last-child{border-right:0 !important}
#ccModal .cc-categories-grid .cc-cat-title{justify-content:center !important;font-size:13px !important}
#ccModal .cc-categories-grid small{min-height:14px !important;color:var(--cc-muted) !important;font-size:10px !important;line-height:1.35 !important}
#ccModal .cc-category-required .cc-switch span{background:var(--cc-blue-2) !important;cursor:not-allowed !important}
#ccModal .cc-categories-grid .cc-switch{position:relative !important;display:block !important;width:50px !important;height:28px !important;min-width:50px !important;min-height:28px !important;max-width:50px !important;max-height:28px !important;margin:0 !important;padding:0 !important;border:0 !important;border-radius:30px !important;overflow:visible !important}
#ccModal .cc-categories-grid .cc-switch span{position:absolute !important;inset:0 !important;width:50px !important;height:28px !important;margin:0 !important;padding:0 !important;border-radius:30px !important}
#ccModal .cc-categories-grid .cc-switch span::before{width:22px !important;height:22px !important;left:3px !important;top:3px !important}
#ccModal .cc-categories-grid .cc-switch input:checked + span::before{transform:translateX(22px) !important}
#ccModal .cc-footer{padding:16px 22px 12px !important}
#ccModal .cc-footer-buttons{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:9px !important}
#ccModal .cc-footer .cc-btn{width:100% !important;min-width:0 !important;border-radius:4px !important}
#ccModal .cc-footer .cc-rodo{margin-top:12px !important;padding-top:11px !important}

/* ============================================================
   MOBILE
   ============================================================ */
@media(max-width:600px){
  #ccSettingsTrigger.cc-settings-trigger{
    right:auto !important;
    left:10px !important;
    bottom:10px !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
  }

  #ccBanner.cc-banner{
    right:10px !important;
    left:auto !important;
    bottom:10px !important;
    width:calc(100% - 20px) !important;
    max-width:none !important;
    padding:21px !important;
    border-radius:16px !important;
  }

  #ccBanner h2{
    font-size:21px !important;
  }

  #ccModal.cc-modal{
    padding:8px !important;
  }

  #ccModal .cc-dialog{
    max-height:calc(100vh - 16px) !important;
    border-radius:15px !important;
  }

  #ccModal .cc-dialog header{
    padding:25px 20px 15px !important;
  }

  #ccModal .cc-category{
    margin:0 20px !important;
    padding:17px 0 !important;
    gap:12px !important;
  }

  #ccModal .cc-footer{
    padding:18px 20px !important;
  }

  #ccModal .cc-footer-buttons{
    display:grid !important;
  }

  #ccModal .cc-footer .cc-btn{
    width:100% !important;
    min-width:0 !important;
  }
}

@media(max-width:700px){
  #ccModal .cc-dialog .cc-modal-head{min-height:0 !important;padding:16px 54px 14px 16px !important;display:block !important}
  #ccModal .cc-brand img{max-width:155px !important;max-height:42px !important}
  #ccModal .cc-modal-head h2{margin-top:12px !important;font-size:19px !important;text-align:left !important}
  #ccModal .cc-tabs{height:48px !important}
  #ccModal .cc-tabs button,#ccModal .cc-tabs a{height:48px !important;padding:0 5px !important;font-size:11px !important}
  #ccModal .cc-intro{padding:17px 16px !important}
  #ccModal .cc-categories-grid{grid-template-columns:1fr !important}
  #ccModal .cc-categories-grid .cc-category{min-height:74px !important;padding:13px 16px !important;display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:4px 12px !important;text-align:left !important;border-right:0 !important;border-bottom:1px solid var(--cc-border) !important}
  #ccModal .cc-categories-grid .cc-category:last-child{border-bottom:0 !important}
  #ccModal .cc-categories-grid .cc-cat-title{justify-content:flex-start !important}
  #ccModal .cc-categories-grid .cc-switch{grid-column:2 !important;grid-row:1 / span 2 !important}
  #ccModal .cc-categories-grid small{grid-column:1 !important;min-height:0 !important}
  #ccModal .cc-footer{padding:12px 16px !important}
  #ccModal .cc-footer-buttons{grid-template-columns:1fr !important}
}

@media(prefers-reduced-motion:reduce){
  #ccBanner .cc-btn,
  #ccModal .cc-btn,
  #ccModal .cc-switch span,
  #ccModal .cc-switch span::before{
    transition:none !important;
  }

  #ccSettingsTrigger.cc-settings-trigger{
    transition:none !important;
  }
}
