/* cookie-consent.css — Plac Zabaw Mokadi — self-hosted, brak zależności zewnętrznych */
#ccBanner, #ccModal {
  font-family: Arial, sans-serif;
  box-sizing: border-box;
}
#ccBanner *, #ccModal * { box-sizing: border-box; }

#ccBanner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 999999;
  background-color: #1B3742;
  color: #ffffff;
  padding: 18px 20px;
  box-shadow: 0 -2px 10px rgba(0,0,0,.35);
  display: none;
}
#ccBanner.cc-visible { display: block; }

#ccBanner .cc-inner {
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
#ccBanner .cc-text {
  flex: 1 1 420px;
  font-size: 13px;
  line-height: 1.5;
}
#ccBanner .cc-text a { color: #7fd7ff; text-decoration: underline; }

#ccBanner .cc-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.cc-btn {
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 9px 16px;
  font-size: 13px;
  font-family: Arial, sans-serif;
  white-space: nowrap;
}
.cc-btn-accept   { background-color: #800000; color: #fff; }
.cc-btn-accept:hover { background-color: #660000; }
.cc-btn-reject   { background-color: transparent; color: #fff; border-color: #ffffff88; }
.cc-btn-reject:hover { border-color: #fff; }
.cc-btn-settings { background-color: transparent; color: #cfe8ff; text-decoration: underline; border: none; padding: 9px 4px; }

/* Modal ustawień */
#ccModal {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  background: rgba(0,0,0,.55);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
#ccModal.cc-visible { display: flex; }

#ccModal .cc-box {
  background: #ffffff;
  color: #222;
  max-width: 520px;
  width: 100%;
  border-radius: 6px;
  padding: 22px 24px;
  max-height: 85vh;
  overflow-y: auto;
}
#ccModal h2 { margin: 0 0 12px; font-size: 18px; color: #1B3742; }
#ccModal p { font-size: 13px; line-height: 1.5; margin: 0 0 16px; }

.cc-category {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid #eee;
}
.cc-category:first-of-type { border-top: none; }
.cc-category-name { font-weight: bold; font-size: 13px; color: #1B3742; }
.cc-category-desc { font-size: 12px; color: #555; margin-top: 4px; }

.cc-switch { position: relative; width: 42px; height: 24px; flex: 0 0 auto; }
.cc-switch input { opacity: 0; width: 0; height: 0; }
.cc-switch .cc-slider {
  position: absolute; inset: 0; cursor: pointer;
  background-color: #ccc; border-radius: 24px; transition: .15s;
}
.cc-switch .cc-slider:before {
  content: ""; position: absolute; height: 18px; width: 18px;
  left: 3px; bottom: 3px; background-color: #fff; border-radius: 50%; transition: .15s;
}
.cc-switch input:checked + .cc-slider { background-color: #800000; }
.cc-switch input:checked + .cc-slider:before { transform: translateX(18px); }
.cc-switch input:disabled + .cc-slider { opacity: .5; cursor: not-allowed; }

#ccModal .cc-modal-actions {
  display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px;
}

@media (max-width: 560px) {
  #ccBanner .cc-inner { flex-direction: column; align-items: stretch; }
  #ccBanner .cc-actions { justify-content: flex-end; }
}
