/* ls-consent: baner i okno ustawien zgod */
.ls-consent[hidden],
.ls-consent [hidden] { display: none !important; }

.ls-consent { font-family: "Mulish", Arial, sans-serif; color: #121212; font-size: 14px; line-height: 1.5; }

.ls-consent__bar {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 100000;
  max-width: 1100px; margin: 0 auto; padding: 18px 22px;
  background: #fff; border-radius: 10px; box-shadow: 0 6px 32px rgba(0, 0, 0, .28);
  display: flex; align-items: center; gap: 22px;
}
.ls-consent__text { flex: 1 1 auto; min-width: 0; }
.ls-consent__title { margin: 0 0 4px; font-size: 18px; line-height: 1.3; font-weight: 800; }
.ls-consent__text p { margin: 0; }
.ls-consent a { color: #EC174C; text-decoration: underline; }

.ls-consent__actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; }
.ls-consent__btn {
  appearance: none; cursor: pointer; border-radius: 6px; padding: 11px 18px;
  font: inherit; font-weight: 800; line-height: 1.2; white-space: nowrap;
}
/* Akceptuj i odrzuc maja ten sam wyglad (rowna waga wyboru). */
.ls-consent__btn--main { background: #EC174C; color: #fff; border: 2px solid #EC174C; }
.ls-consent__btn--main:hover { background: #c9113d; border-color: #c9113d; }
.ls-consent__btn--link { background: transparent; color: #121212; border: 2px solid transparent; text-decoration: underline; }
.ls-consent__btn:focus-visible, .ls-consent__close:focus-visible, .ls-consent-open:focus-visible { outline: 3px solid #121212; outline-offset: 2px; }

.ls-consent__modal {
  position: fixed; inset: 0; z-index: 100001; background: rgba(0, 0, 0, .55);
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.ls-consent__panel {
  position: relative; width: 100%; max-width: 640px; max-height: calc(100vh - 32px); overflow-y: auto;
  background: #fff; border-radius: 10px; padding: 26px 26px 22px; outline: none;
}
.ls-consent__close {
  position: absolute; top: 8px; right: 12px; background: transparent; border: 0; cursor: pointer;
  font-size: 30px; line-height: 1; color: #121212;
}
.ls-consent__lead { margin: 4px 0 14px; }
.ls-consent__cat { border-top: 1px solid #e3e3e3; padding: 12px 0; }
.ls-consent__cat p { margin: 4px 0 0; font-size: 13px; color: #333; }
.ls-consent__cat-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ls-consent__cat-head label { margin: 0; cursor: pointer; }
.ls-consent__always { font-size: 12px; font-weight: 800; color: #555; }
.ls-consent__cat code { font-size: 12px; background: #f3f3f3; padding: 0 4px; border-radius: 3px; }
.ls-consent__note { margin: 6px 0 14px; padding-top: 12px; border-top: 1px solid #e3e3e3; font-size: 12px; color: #444; }

.ls-consent__switch {
  appearance: none; -webkit-appearance: none; flex: 0 0 auto; position: relative; cursor: pointer;
  width: 46px; height: 26px; border-radius: 13px; background: #9a9a9a; border: 0; margin: 0; transition: background .15s;
}
.ls-consent__switch::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .15s;
}
.ls-consent__switch:checked { background: #EC174C; }
.ls-consent__switch:checked::after { transform: translateX(20px); }
.ls-consent__switch:focus-visible { outline: 3px solid #121212; outline-offset: 2px; }
.ls-consent__actions--modal { justify-content: flex-end; }

html.ls-consent-lock { overflow: hidden; }

.ls-consent-footer { padding: 10px 16px 14px; text-align: center; font-size: 13px; }
.ls-consent-footer a, .ls-consent-open { color: inherit; text-decoration: underline; }
.ls-consent-open { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }

.ls-embed { position: relative; width: 100%; padding-bottom: 56.25%; background: #f3f3f3; }
.ls-embed .ls-embed-ph { position: absolute; inset: 0; }
.video-container > .ls-embed { position: absolute; inset: 0; padding: 0; }
.ls-embed-ph {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  padding: 16px; text-align: center; background: #f3f3f3; color: #121212; min-height: 160px; font-size: 14px;
}
.ls-embed-ph p { margin: 0; max-width: 420px; }
#map > .ls-embed-ph { width: 100%; height: 100%; min-height: 320px; }

@media (max-width: 760px) {
  .ls-consent__bar { flex-direction: column; align-items: stretch; gap: 12px; left: 8px; right: 8px; bottom: 8px; padding: 14px; max-height: 80vh; overflow-y: auto; }
  .ls-consent__actions { justify-content: stretch; }
  .ls-consent__actions .ls-consent__btn--main { flex: 1 1 calc(50% - 5px); }
  .ls-consent__actions .ls-consent__btn--link { flex: 1 1 100%; text-align: center; }
  .ls-consent__actions--modal .ls-consent__btn { flex: 1 1 100%; }
}
