:root.ksc-dialog-open {
  overflow: hidden !important;
}
.ksc-root {
  --ksc-primary: #00b386;
  --ksc-text: #16221d;
  --ksc-bg: rgba(255, 255, 255, 0.82);
  --ksc-backdrop: rgba(5, 24, 18, 0.34);
  position: fixed;
  inset: 0;
  z-index: 2147483500;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color: var(--ksc-text);
  line-height: 1.45;
  box-sizing: border-box;
}
.ksc-root[hidden] {
  display: none !important;
}
.ksc-root *,
.ksc-root *::before,
.ksc-root *::after {
  box-sizing: border-box;
  font-family: inherit;
}
.ksc-backdrop {
  position: absolute;
  inset: 0;
  background: var(--ksc-backdrop);
}
.ksc-dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(94vw, 690px);
  max-height: min(90vh, 860px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.94),
    rgba(245, 250, 248, 0.82)
  );
  color: var(--ksc-text);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 24px;
  box-shadow:
    0 34px 90px rgba(8, 35, 26, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  outline: none;
}
.ksc-dialog::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 0%, rgba(0, 179, 134, 0.14), transparent 30%),
    radial-gradient(
      circle at 94% 10%,
      rgba(108, 201, 169, 0.12),
      transparent 28%
    );
  z-index: 0;
}
.ksc-dialog > * {
  position: relative;
  z-index: 1;
}
.ksc-position-bottom .ksc-dialog {
  top: auto;
  bottom: 20px;
  transform: translateX(-50%);
}
.ksc-position-bottom-left .ksc-dialog {
  left: 20px;
  top: auto;
  bottom: 20px;
  transform: none;
}
.ksc-position-bottom-right .ksc-dialog {
  left: auto;
  right: 20px;
  top: auto;
  bottom: 20px;
  transform: none;
}
.ksc-close {
  position: absolute;
  right: 14px;
  top: 13px;
  z-index: 5;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(28, 51, 43, 0.08);
  background: rgba(255, 255, 255, 0.6);
  color: #46574f;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  box-shadow: 0 7px 18px rgba(20, 50, 40, 0.09);
  transition: 0.2s;
}
.ksc-close:hover,
.ksc-close:focus {
  background: #fff;
  color: var(--ksc-primary);
  outline: 3px solid rgba(0, 179, 134, 0.18);
}
.ksc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 25px 58px 17px 24px;
}
.ksc-title-group {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}
.ksc-header-icon-wrap {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  border-radius: 14px;
  background: linear-gradient(
    145deg,
    rgba(0, 179, 134, 0.18),
    rgba(255, 255, 255, 0.68)
  );
  color: #008e6c;
  border: 1px solid rgba(0, 179, 134, 0.19);
  box-shadow:
    inset 0 1px 0 #fff,
    0 9px 25px rgba(0, 179, 134, 0.1);
}
.ksc-header-icon {
  width: 25px;
  height: 25px;
}
.ksc-header h2 {
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: 23px;
  line-height: 1.18;
  font-weight: 780;
  letter-spacing: -0.025em;
}
.ksc-policy-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 1px;
  color: #008f6e;
  font-size: 12.5px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}
.ksc-policy-icon {
  width: 15px;
  height: 15px;
}
.ksc-policy-link:hover,
.ksc-policy-link:focus {
  text-decoration: underline;
}
.ksc-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin: 0 22px;
  padding: 5px;
  border: 1px solid rgba(26, 58, 47, 0.08);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.48);
  box-shadow: inset 0 1px 2px rgba(20, 50, 40, 0.04);
}
.ksc-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 0;
  margin: 0;
  padding: 10px 8px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #44544d;
  font-size: 12.5px;
  font-weight: 690;
  cursor: pointer;
  transition: 0.2s;
}
.ksc-tab-icon {
  width: 17px;
  height: 17px;
  opacity: 0.75;
}
.ksc-tabs button[aria-selected="true"] {
  color: #008f6e;
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 8px 22px rgba(20, 50, 40, 0.09),
    inset 0 -2px 0 var(--ksc-primary);
}
.ksc-tabs button[aria-selected="true"] .ksc-tab-icon {
  opacity: 1;
}
.ksc-tabs button:focus {
  outline: 3px solid rgba(0, 179, 134, 0.18);
}
.ksc-content {
  min-height: 210px;
  padding: 20px 24px 5px;
  overflow: auto;
  overscroll-behavior: contain;
}
.ksc-panel[hidden] {
  display: none !important;
}
.ksc-intro {
  margin: 0 0 16px;
  color: #415047;
  font-size: 13.5px;
}
.ksc-subtitle {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 780;
  color: #25332d;
}
.ksc-category {
  margin: 0 0 11px;
  padding: 12px 13px;
  border: 1px solid rgba(28, 60, 49, 0.1);
  border-radius: 16px;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.76),
    rgba(248, 251, 250, 0.56)
  );
  box-shadow:
    0 10px 24px rgba(24, 57, 46, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.ksc-category:hover {
  transform: translateY(-1px);
  border-color: rgba(0, 179, 134, 0.22);
  box-shadow:
    0 14px 30px rgba(24, 57, 46, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}
.ksc-category-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ksc-category-icon-wrap {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  border-radius: 13px;
  background: rgba(0, 179, 134, 0.095);
  color: #008f6e;
}
.ksc-category[data-category="performance"] .ksc-category-icon-wrap {
  background: rgba(53, 132, 228, 0.1);
  color: #2c76c8;
}
.ksc-category[data-category="functional"] .ksc-category-icon-wrap {
  background: rgba(132, 91, 220, 0.1);
  color: #7652c6;
}
.ksc-category[data-category="advertising"] .ksc-category-icon-wrap {
  background: rgba(231, 92, 72, 0.1);
  color: #cf5947;
}
.ksc-category-icon {
  width: 22px;
  height: 22px;
}
.ksc-category-expand {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  min-width: 0;
}
.ksc-category-copy {
  display: block;
  min-width: 0;
}
.ksc-category-title {
  display: block;
  font-size: 14.5px;
  font-weight: 780;
}
.ksc-category-inline-desc {
  display: block;
  margin-top: 3px;
  color: #617068;
  font-size: 11.8px;
  line-height: 1.35;
}
.ksc-category-chevron {
  font-size: 18px;
  color: #65736d;
  transition: transform 0.2s ease;
}
.ksc-category-expand[aria-expanded="true"] .ksc-category-chevron {
  transform: rotate(180deg);
}
.ksc-category-more {
  margin: 11px 1px 0 54px;
  padding-top: 11px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  color: #506057;
  font-size: 12px;
}
.ksc-category-more[hidden] {
  display: none !important;
}
.ksc-switch {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 24px;
}
.ksc-switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.ksc-switch-track {
  position: absolute;
  inset: 0;
  display: block;
  background: #c8ced0;
  border-radius: 999px;
  cursor: pointer;
  transition: 0.22s;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.11);
}
.ksc-switch-thumb {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
  transition: transform 0.22s;
}
.ksc-switch input:checked + .ksc-switch-track {
  background: linear-gradient(135deg, #02bd8e, #008f6e);
  box-shadow: 0 5px 13px rgba(0, 179, 134, 0.28);
}
.ksc-switch input:checked + .ksc-switch-track .ksc-switch-thumb {
  transform: translateX(20px);
}
.ksc-switch input:focus + .ksc-switch-track {
  outline: 3px solid rgba(0, 179, 134, 0.22);
  outline-offset: 2px;
}
.ksc-switch input:disabled + .ksc-switch-track {
  opacity: 0.78;
  cursor: not-allowed;
}
.ksc-service-list {
  margin-top: 10px;
  display: grid;
  gap: 7px;
}
.ksc-service {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(100px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.52);
  border: 1px solid rgba(28, 60, 49, 0.07);
  border-radius: 11px;
}
.ksc-service span {
  color: #65736c;
}
.ksc-service a {
  color: #008f6e;
  font-weight: 700;
  text-decoration: none;
}
.ksc-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 16px 24px 23px;
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.88),
    rgba(255, 255, 255, 0.5)
  );
  border-top: 1px solid rgba(22, 55, 44, 0.07);
}
.ksc-button {
  min-height: 47px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 16px;
  border: 1px solid rgba(0, 179, 134, 0.55);
  border-radius: 13px;
  font-size: 13.5px;
  font-weight: 780;
  cursor: pointer;
  transition:
    transform 0.12s ease,
    box-shadow 0.15s ease;
}
.ksc-button-icon {
  width: 19px;
  height: 19px;
}
.ksc-button:hover {
  box-shadow: 0 10px 25px rgba(0, 179, 134, 0.1);
}
.ksc-button:active {
  transform: translateY(1px);
}
.ksc-button:focus {
  outline: 3px solid rgba(0, 179, 134, 0.22);
  outline-offset: 2px;
}
.ksc-primary {
  background: linear-gradient(135deg, #04bd8e, #008f6e);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 12px 28px rgba(0, 179, 134, 0.25);
}
.ksc-secondary {
  background: rgba(255, 255, 255, 0.72);
  color: #008f6e;
}
.ksc-outline {
  background: rgba(255, 255, 255, 0.45);
  color: #3d4e46;
  border-color: rgba(46, 70, 61, 0.16);
}
.ksc-accept {
  grid-column: 1/-1;
}
.ksc-table-wrap {
  overflow: auto;
  border: 1px solid rgba(28, 60, 49, 0.09);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.55);
}
.ksc-cookie-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11.7px;
}
.ksc-cookie-table th,
.ksc-cookie-table td {
  padding: 11px 10px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(28, 60, 49, 0.08);
}
.ksc-cookie-table tr:last-child td {
  border-bottom: 0;
}
.ksc-cookie-table th {
  position: sticky;
  top: 0;
  background: rgba(245, 250, 248, 0.95);
  font-weight: 780;
  color: #405047;
}
.ksc-cookie-table small {
  display: block;
  margin-top: 3px;
  color: #008f6e;
  font-weight: 700;
}
.ksc-policy-panel {
  font-size: 13.2px;
}
.ksc-policy-panel > p {
  margin-top: 0;
  color: #485850;
}
.ksc-floating-button {
  position: fixed;
  z-index: 2147483400;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #04bd8e, #007c60) !important;
  box-shadow: 0 10px 28px rgba(0, 90, 68, 0.3);
  cursor: pointer;
}
.ksc-floating-icon {
  width: 26px;
  height: 26px;
}
.ksc-floating-bottom-left {
  left: 18px;
  bottom: 18px;
}
.ksc-floating-bottom-right {
  right: 18px;
  bottom: 18px;
}
.ksc-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 2147483600;
  transform: translate(-50%, 20px);
  max-width: 90vw;
  padding: 12px 18px;
  background: #18232c;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 9px 30px rgba(0, 0, 0, 0.25);
  opacity: 0;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
  font:
    600 13px/1.4 Arial,
    sans-serif;
}
.ksc-toast-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}
.ksc-debug-panel {
  position: fixed;
  z-index: 2147483640;
  right: 12px;
  bottom: 12px;
  width: min(420px, calc(100vw - 24px));
  max-height: 80vh;
  overflow: auto;
  padding: 14px;
  background: #101820;
  color: #f5f7f9;
  border: 1px solid #53606b;
  border-radius: 10px;
  box-shadow: 0 14px 45px rgba(0, 0, 0, 0.45);
  font:
    12px/1.35 Consolas,
    Monaco,
    monospace;
}
.ksc-debug-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.ksc-debug-head button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}
.ksc-debug-status {
  margin: 10px 0;
  padding: 7px 9px;
  border-radius: 5px;
  font-weight: 800;
  text-align: center;
}
.ksc-debug-status.is-ok {
  background: #136f3a;
}
.ksc-debug-status.is-error {
  background: #a12b2b;
}
.ksc-debug-panel dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 10px;
  margin: 0;
}
.ksc-debug-panel dt {
  opacity: 0.72;
}
.ksc-debug-panel dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.ksc-debug-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}
.ksc-debug-actions button {
  flex: 1;
  min-width: 110px;
  padding: 7px;
  border: 1px solid #83909b;
  border-radius: 5px;
  background: #26333e;
  color: #fff;
  cursor: pointer;
}
@media (max-width: 640px) {
  .ksc-dialog,
  .ksc-position-bottom .ksc-dialog,
  .ksc-position-bottom-left .ksc-dialog,
  .ksc-position-bottom-right .ksc-dialog {
    left: 8px;
    right: 8px;
    top: auto;
    bottom: 8px;
    width: auto;
    max-height: 94vh;
    transform: none;
    border-radius: 21px;
  }
  .ksc-header {
    padding: 18px 48px 13px 16px;
    align-items: flex-start;
  }
  .ksc-header-icon-wrap {
    width: 39px;
    height: 39px;
    flex-basis: 39px;
  }
  .ksc-header-icon {
    width: 22px;
    height: 22px;
  }
  .ksc-header h2 {
    font-size: 18px;
  }
  .ksc-policy-link {
    position: absolute;
    right: 48px;
    top: 66px;
    font-size: 10.5px;
  }
  .ksc-tabs {
    margin: 11px 12px 0;
    gap: 3px;
  }
  .ksc-tabs button {
    padding: 9px 4px;
    font-size: 10.5px;
    gap: 4px;
  }
  .ksc-tab-icon {
    width: 14px;
    height: 14px;
  }
  .ksc-content {
    padding: 15px 13px 2px;
  }
  .ksc-category {
    padding: 10px;
  }
  .ksc-category-icon-wrap {
    width: 37px;
    height: 37px;
    flex-basis: 37px;
  }
  .ksc-category-icon {
    width: 20px;
    height: 20px;
  }
  .ksc-category-title {
    font-size: 13.5px;
  }
  .ksc-category-inline-desc {
    font-size: 10.8px;
  }
  .ksc-category-more {
    margin-left: 49px;
  }
  .ksc-actions {
    padding: 12px 13px 16px;
    gap: 8px;
  }
  .ksc-button {
    min-height: 44px;
    padding: 9px 8px;
    font-size: 12px;
  }
  .ksc-service {
    grid-template-columns: 1fr;
  }
  .ksc-cookie-table {
    min-width: 650px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ksc-root *,
  .ksc-toast {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* ============================================================
   SMART CONSENT 1.0.5 — PERFORMANCE & MOBILE
   Łatwe sekcje: root / dialog / karty / akcje / mobile.
   ============================================================ */
.ksc-root {
  contain: layout style paint;
}
.ksc-dialog {
  contain: layout style;
  will-change: auto;
}
.ksc-content {
  overscroll-behavior: contain;
}
.ksc-category,
.ksc-service,
.ksc-cookie-table tr {
  content-visibility: auto;
  contain-intrinsic-size: auto 64px;
}
.ksc-floating-icon {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.ksc-icon,
.ksc-header-icon,
.ksc-tab-icon,
.ksc-category-icon,
.ksc-button-icon,
.ksc-policy-icon {
  display: block;
  fill: currentColor;
  stroke: currentColor;
}
@media (max-width: 640px) {
  .ksc-dialog {
    max-height: calc(100dvh - 12px) !important;
    bottom: 6px !important;
    left: 6px !important;
    right: 6px !important;
    border-radius: 18px !important;
  }
  .ksc-header {
    padding: 15px 42px 10px 13px !important;
  }
  .ksc-title-group {
    gap: 9px;
  }
  .ksc-header-icon-wrap {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }
  .ksc-header h2 {
    font-size: 17px !important;
    line-height: 1.15;
  }
  .ksc-policy-link {
    position: static !important;
    margin-left: auto;
    font-size: 10px !important;
  }
  .ksc-tabs {
    margin: 8px 9px 0 !important;
  }
  .ksc-tabs button {
    min-height: 38px !important;
    padding: 7px 3px !important;
  }
  .ksc-content {
    padding: 11px 9px 0 !important;
  }
  .ksc-intro {
    font-size: 11.5px !important;
    line-height: 1.45;
  }
  .ksc-subtitle {
    font-size: 12px !important;
  }
  .ksc-category {
    padding: 8px !important;
    margin-bottom: 7px !important;
  }
  .ksc-category-row {
    gap: 8px !important;
  }
  .ksc-category-icon-wrap {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
  }
  .ksc-category-title {
    font-size: 12.5px !important;
  }
  .ksc-category-inline-desc {
    font-size: 10px !important;
    line-height: 1.3;
  }
  .ksc-switch {
    transform: scale(0.88);
    transform-origin: right center;
  }
  .ksc-category-more {
    margin-left: 40px !important;
    font-size: 10.5px !important;
  }
  .ksc-actions {
    position: sticky;
    bottom: 0;
    background: var(--ksc-bg);
    padding: 9px !important;
    gap: 6px !important;
  }
  .ksc-button {
    min-height: 41px !important;
    font-size: 11.5px !important;
    border-radius: 11px !important;
  }
  .ksc-accept {
    grid-column: 1/-1;
  }
  .ksc-table-wrap {
    margin: 0 -2px;
  }
  .ksc-cookie-table {
    min-width: 560px !important;
    font-size: 10px !important;
  }
  .ksc-close {
    top: 9px !important;
    right: 9px !important;
    width: 30px !important;
    height: 30px !important;
  }
  .ksc-service {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 380px) {
  .ksc-tabs span {
    display: none;
  }
  .ksc-tab-icon {
    width: 18px !important;
    height: 18px !important;
  }
  .ksc-button-icon {
    display: none;
  }
  .ksc-category-inline-desc {
    display: none;
  }
  .ksc-category {
    min-height: 52px;
  }
  .ksc-actions {
    grid-template-columns: 1fr;
  }
  .ksc-accept {
    grid-column: auto;
  }
  .ksc-policy-link span {
    display: none;
  }
}


/* Smart Consent 1.0.6: reliable controls and lightweight mobile layout */
.ksc-backdrop { cursor: pointer; touch-action: manipulation; }
.ksc-close { display:flex!important; align-items:center; justify-content:center; }
.ksc-close-icon { width:20px; height:20px; pointer-events:none; }
.ksc-button-icon,.ksc-policy-icon,.ksc-tab-icon,.ksc-floating-icon { display:block; flex:0 0 auto; }
.ksc-button-icon { width:19px; height:19px; }
.ksc-floating-icon { width:28px; height:28px; }
.ksc-policy-icon { width:16px; height:16px; }
.ksc-tab-icon { width:18px; height:18px; }
.ksc-floating-button { display:flex!important; align-items:center; justify-content:center; }

@media (max-width: 700px) {
  .ksc-root { padding: 8px; }
  .ksc-dialog,
  .ksc-position-bottom .ksc-dialog,
  .ksc-position-bottom-left .ksc-dialog,
  .ksc-position-bottom-right .ksc-dialog {
    left: 8px;
    right: 8px;
    top: 8px;
    bottom: 8px;
    width: auto;
    max-height: none;
    height: calc(100dvh - 16px);
    transform: none;
    border-radius: 18px;
  }
  .ksc-header { padding: 17px 50px 12px 15px; gap:10px; align-items:flex-start; }
  .ksc-title-group { gap:9px; }
  .ksc-header-icon-wrap { width:36px; height:36px; flex-basis:36px; border-radius:11px; }
  .ksc-header-icon { width:21px; height:21px; }
  .ksc-header h2 { font-size:18px; }
  .ksc-policy-link { position:absolute; left:15px; top:58px; font-size:11.5px; }
  .ksc-close { right:10px; top:10px; width:34px; height:34px; }
  .ksc-tabs { margin:28px 12px 0; gap:3px; padding:4px; }
  .ksc-tabs button { padding:9px 4px; font-size:11px; gap:4px; }
  .ksc-tabs button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .ksc-content { flex:1 1 auto; min-height:0; padding:13px 12px 3px; }
  .ksc-intro { font-size:12.5px; margin-bottom:10px; }
  .ksc-category { padding:10px; margin-bottom:8px; border-radius:13px; }
  .ksc-category-row { gap:8px; }
  .ksc-category-icon-wrap { width:34px; height:34px; flex-basis:34px; border-radius:10px; }
  .ksc-category-icon { width:19px; height:19px; }
  .ksc-category-title { font-size:13.2px; }
  .ksc-category-inline-desc { font-size:10.7px; line-height:1.25; }
  .ksc-category-chevron { font-size:16px; }
  .ksc-switch { flex-basis:40px; width:40px; height:22px; }
  .ksc-category-more { margin-left:42px; font-size:11px; }
  .ksc-actions { padding:9px 12px 12px; gap:7px; position:sticky; bottom:0; }
  .ksc-button { min-height:43px; padding:10px 8px; font-size:12px; }
  .ksc-button-icon { width:17px; height:17px; }
  .ksc-cookie-table { min-width:620px; }
}

@media (max-width: 390px) {
  .ksc-tabs button { font-size:0; }
  .ksc-tab-icon { width:20px; height:20px; }
  .ksc-category-inline-desc { display:none; }
  .ksc-actions { grid-template-columns:1fr 1fr; }
  .ksc-accept { grid-column:1 / -1; }
}

/* Smart Consent 1.0.7 — highly visible premium inline icons */
#ksc-root .ksc-policy-icon,
#ksc-root .ksc-button-icon,
#ksc-root .ksc-tab-icon,
#ksc-root .ksc-floating-icon {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  color: currentColor !important;
  pointer-events: none;
}
#ksc-root .ksc-policy-icon {
  width: 21px !important;
  height: 21px !important;
  padding: 2px;
  border-radius: 7px;
  color: #008f6e !important;
}
#ksc-root .ksc-policy-link {
  gap: 8px !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(0,143,110,.16);
  border-radius: 11px;
  background: rgba(0,179,134,.06);
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
#ksc-root .ksc-policy-link:hover {
  background: rgba(0,179,134,.11);
  border-color: rgba(0,143,110,.28);
  transform: translateY(-1px);
}
#ksc-root .ksc-button-icon {
  width: 23px !important;
  height: 23px !important;
}
#ksc-root .ksc-accept .ksc-button-icon {
  color: rgba(255,255,255,.98) !important;
  filter: drop-shadow(0 2px 4px rgba(0,70,50,.22));
}
#ksc-root .ksc-outline[data-ksc-action="reject"] .ksc-button-icon {
  color: #d64545 !important;
}
#ksc-root .ksc-outline[data-ksc-action="reject"]:hover {
  border-color: rgba(214,69,69,.32) !important;
  background: rgba(214,69,69,.055) !important;
  color: #b92f2f !important;
}
#ksc-root .ksc-tab-icon {
  width: 21px !important;
  height: 21px !important;
  color: #62736b !important;
}
#ksc-root .ksc-tabs button[aria-selected="true"] .ksc-tab-icon {
  color: #008f6e !important;
  filter: drop-shadow(0 2px 3px rgba(0,143,110,.15));
}
#ksc-root .ksc-floating-button {
  width: 56px !important;
  height: 56px !important;
  border: 2px solid rgba(255,255,255,.75) !important;
  background: linear-gradient(145deg,#10c99a,#007d61) !important;
  box-shadow: 0 12px 30px rgba(0,93,70,.34), inset 0 1px 0 rgba(255,255,255,.35) !important;
}
#ksc-root .ksc-floating-icon {
  width: 33px !important;
  height: 33px !important;
  color: #fff !important;
  filter: drop-shadow(0 2px 4px rgba(0,60,45,.24));
}
#ksc-root .ksc-floating-button:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 16px 34px rgba(0,93,70,.4), inset 0 1px 0 rgba(255,255,255,.4) !important;
}
@media (max-width: 700px) {
  #ksc-root .ksc-policy-link { padding: 6px 8px !important; }
  #ksc-root .ksc-policy-icon { width: 19px !important; height: 19px !important; }
  #ksc-root .ksc-button-icon { width: 21px !important; height: 21px !important; }
  #ksc-root .ksc-tab-icon { width: 20px !important; height: 20px !important; }
  #ksc-root .ksc-floating-button { width: 52px !important; height: 52px !important; }
  #ksc-root .ksc-floating-icon { width: 31px !important; height: 31px !important; }
}

/* Smart Consent 1.0.8 – raster icon pack. These rules intentionally override theme SVG/image resets. */
#ksc-root img.ksc-policy-icon,
#ksc-root img.ksc-button-icon,
#ksc-root img.ksc-tab-icon,
#ksc-root img.ksc-floating-icon {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  object-fit: contain !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
}
#ksc-root img.ksc-policy-icon { width: 30px !important; height: 30px !important; }
#ksc-root img.ksc-button-icon { width: 29px !important; height: 29px !important; }
#ksc-root img.ksc-tab-icon { width: 30px !important; height: 30px !important; }
#ksc-root img.ksc-floating-icon { width: 42px !important; height: 42px !important; }
#ksc-root .ksc-policy-link { gap: 9px !important; }
#ksc-root .ksc-policy-link img { transition: transform .18s ease; }
#ksc-root .ksc-policy-link:hover img { transform: translate(2px,-2px); }
#ksc-root .ksc-button { gap: 10px !important; }
#ksc-root .ksc-tabs button { gap: 8px !important; }
#ksc-floating-button {
  width: 64px !important;
  height: 64px !important;
  padding: 8px !important;
  border: 2px solid rgba(255,255,255,.9) !important;
  box-shadow: 0 12px 30px rgba(0,80,60,.28) !important;
}
#ksc-floating-button:hover { transform: translateY(-2px) scale(1.04); }
@media (max-width: 600px) {
  #ksc-root img.ksc-policy-icon { width: 26px !important; height: 26px !important; }
  #ksc-root img.ksc-button-icon { width: 25px !important; height: 25px !important; }
  #ksc-root img.ksc-tab-icon { width: 27px !important; height: 27px !important; }
  #ksc-root img.ksc-floating-icon { width: 36px !important; height: 36px !important; }
  #ksc-floating-button { width: 56px !important; height: 56px !important; }
}


/* Smart Consent 1.0.9 – requested icon refinements */
#ksc-root .ksc-close {
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(17, 34, 29, .07) !important;
  color: #21312c !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
#ksc-root .ksc-close-symbol {
  display: block !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  line-height: 31px !important;
  width: 34px !important;
  height: 34px !important;
  text-align: center !important;
  transform: translateY(-1px);
  pointer-events: none !important;
}
#ksc-root .ksc-close:hover {
  background: rgba(17, 34, 29, .13) !important;
  transform: none !important;
}
/* Ustawienia: restore the original lightweight sliders SVG instead of PNG. */
#ksc-root .ksc-tabs button[data-ksc-tab="settings"] svg.ksc-tab-icon {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 21px !important;
  height: 21px !important;
  color: currentColor !important;
}
/* Make the cookie artwork fill the floating control much more clearly. */
#ksc-floating-button {
  width: 68px !important;
  height: 68px !important;
  padding: 5px !important;
}
#ksc-root #ksc-floating-button img.ksc-floating-icon,
#ksc-floating-button img.ksc-floating-icon {
  width: 56px !important;
  height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  object-fit: contain !important;
}
@media (max-width: 600px) {
  #ksc-floating-button { width: 60px !important; height: 60px !important; padding: 4px !important; }
  #ksc-root #ksc-floating-button img.ksc-floating-icon,
  #ksc-floating-button img.ksc-floating-icon { width: 50px !important; height: 50px !important; max-width: 50px !important; max-height: 50px !important; }
}


/* Smart Consent 1.0.10 – close alignment and compact floating button */
#ksc-root .ksc-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  line-height: 1 !important;
}
#ksc-root .ksc-close-symbol {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 0 2px 0 !important;
  font-size: 25px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-align: center !important;
  transform: none !important;
}
#ksc-floating-button {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  padding: 6px !important;
  border-width: 2px !important;
}
#ksc-root #ksc-floating-button img.ksc-floating-icon,
#ksc-floating-button img.ksc-floating-icon {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
}
@media (max-width: 600px) {
  #ksc-root .ksc-close {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
  }
  #ksc-root .ksc-close-symbol {
    font-size: 23px !important;
    padding-bottom: 2px !important;
  }
  #ksc-floating-button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 6px !important;
  }
  #ksc-root #ksc-floating-button img.ksc-floating-icon,
  #ksc-floating-button img.ksc-floating-icon {
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }
}

/* Smart Consent 1.0.11 — compact mobile modal, never full-screen */
@media (max-width: 700px) {
  #ksc-root .ksc-dialog,
  #ksc-root.ksc-position-bottom .ksc-dialog,
  #ksc-root.ksc-position-bottom-left .ksc-dialog,
  #ksc-root.ksc-position-bottom-right .ksc-dialog {
    top: 50% !important;
    bottom: auto !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    height: auto !important;
    max-height: min(82dvh, 700px) !important;
    transform: translateY(-50%) !important;
    border-radius: 16px !important;
  }
  #ksc-root .ksc-header {
    padding: 12px 42px 8px 12px !important;
  }
  #ksc-root .ksc-header-icon-wrap {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }
  #ksc-root .ksc-header h2 {
    font-size: 16px !important;
  }
  #ksc-root .ksc-policy-link {
    position: static !important;
    margin: 4px 0 0 39px !important;
    padding: 4px 7px !important;
    font-size: 10px !important;
    width: fit-content !important;
  }
  #ksc-root .ksc-tabs {
    margin: 5px 8px 0 !important;
    padding: 3px !important;
  }
  #ksc-root .ksc-tabs button {
    min-height: 32px !important;
    padding: 5px 2px !important;
    font-size: 9.5px !important;
  }
  #ksc-root .ksc-tab-icon {
    width: 15px !important;
    height: 15px !important;
  }
  #ksc-root .ksc-content {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    max-height: 49dvh !important;
    padding: 8px 8px 0 !important;
    overflow-y: auto !important;
  }
  #ksc-root .ksc-intro {
    margin-bottom: 7px !important;
    font-size: 10.5px !important;
  }
  #ksc-root .ksc-category {
    padding: 7px !important;
    margin-bottom: 5px !important;
    border-radius: 11px !important;
  }
  #ksc-root .ksc-category-icon-wrap {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
  }
  #ksc-root .ksc-category-icon {
    width: 16px !important;
    height: 16px !important;
  }
  #ksc-root .ksc-category-title {
    font-size: 11.5px !important;
  }
  #ksc-root .ksc-category-inline-desc {
    font-size: 9.3px !important;
    line-height: 1.2 !important;
  }
  #ksc-root .ksc-switch {
    transform: scale(.78) !important;
    transform-origin: right center !important;
  }
  #ksc-root .ksc-category-more {
    margin-left: 36px !important;
    font-size: 9.5px !important;
  }
  #ksc-root .ksc-actions {
    position: static !important;
    padding: 7px 8px 9px !important;
    gap: 5px !important;
  }
  #ksc-root .ksc-button {
    min-height: 36px !important;
    padding: 7px 6px !important;
    font-size: 10.5px !important;
    border-radius: 9px !important;
  }
  #ksc-root .ksc-button-icon {
    width: 16px !important;
    height: 16px !important;
  }
}

@media (max-width: 390px) {
  #ksc-root .ksc-dialog {
    left: 8px !important;
    right: 8px !important;
    max-height: 86dvh !important;
  }
  #ksc-root .ksc-category-inline-desc {
    display: block !important;
  }
}


/* Smart Consent: hide the TrustMate floating review sticker only while the consent dialog is open. */
html.ksc-dialog-open .tm-muskrat2__sticker-wrapper,
html.ksc-dialog-open .tm-muskrat2__sticker {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
