/* ==========================================================================
   Zgody na pliki cookies
   ========================================================================== */
.ck-banner{position:fixed;left:20px;bottom:20px;z-index:1000;width:min(460px,calc(100vw - 40px));padding:24px;border-radius:22px;background:var(--footer);color:#cdd7d1;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 70px -20px rgba(0,0,0,.6);opacity:0;transform:translateY(16px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.ck-banner.is-visible{opacity:1;transform:none}
.ck-banner[hidden]{display:none}
.ck-banner__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ck-banner__icon{width:40px;height:40px;border-radius:12px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ck-banner__title{margin:0;font-size:1.12rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.ck-banner__text{margin:0 0 18px;font-size:.9rem;line-height:1.6}
.ck-banner__text a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ck-banner__text a:hover{color:var(--accent)}
.ck-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ck-banner__actions .ck-btn--link{grid-column:1/-1}

.ck-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border-radius:12px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;border:1px solid transparent;transition:background .2s,border-color .2s,color .2s}
.ck-btn--primary{background:var(--accent);color:#fff}
.ck-btn--primary:hover{background:var(--accent-d)}
.ck-btn--secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.ck-btn--secondary:hover{background:rgba(255,255,255,.1);border-color:#fff}
.ck-btn--link{min-height:36px;background:none;color:#aeb9b2;text-decoration:underline;text-underline-offset:3px}
.ck-btn--link:hover{color:#fff}
.ck-btn:focus-visible,.ck-open:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* okno ustawień */
.ck-modal{width:min(600px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 40px 90px -20px rgba(0,0,0,.5)}
.ck-modal::backdrop{background:rgba(9,14,11,.6);backdrop-filter:blur(3px)}
.ck-modal__inner{padding:30px;margin:0}
.ck-modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.ck-modal__eyebrow{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700}
.ck-modal__title{margin:4px 0 0;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.ck-modal__close{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.ck-modal__close:hover{border-color:var(--accent);color:var(--accent)}
.ck-modal__lead{margin:0 0 20px;color:var(--muted);font-size:.95rem;line-height:1.6}
.ck-cats{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}
.ck-cat{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--bg2)}
.ck-cat__text{display:flex;flex-direction:column;gap:4px}
.ck-cat__text strong{font-size:1rem;color:var(--ink)}
.ck-cat__text span{font-size:.86rem;color:var(--muted);line-height:1.5}
.ck-switch{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;flex-shrink:0}
.ck-switch input{position:absolute;opacity:0;width:1px;height:1px}
.ck-switch__track{position:relative;width:48px;height:28px;border-radius:999px;background:#cfd8d3;transition:background .2s}
.ck-switch__track span{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .2s}
.ck-switch input:checked+.ck-switch__track{background:var(--accent)}
.ck-switch input:checked+.ck-switch__track span{transform:translateX(20px)}
.ck-switch input:focus-visible+.ck-switch__track{outline:3px solid var(--accent);outline-offset:2px}
.ck-switch.is-locked{cursor:default;opacity:.85}
.ck-switch__state{font-size:.66rem;font-weight:700;color:var(--muted);white-space:nowrap}
.ck-modal__foot{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ck-modal__foot .ck-btn--secondary{color:var(--ink);border-color:var(--line)}
.ck-modal__foot .ck-btn--secondary:hover{background:var(--bg2);border-color:var(--ink)}

/* przycisk „Ustawienia cookies” w stopce */
.ck-open{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;transition:color .2s}
.ck-open:hover{color:#fff}
.entry-content .ck-open.btn{color:#fff;text-decoration:none}

/* mapa zablokowana do czasu zgody */
.map-consent{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background-color:#e7ece9;background-image:linear-gradient(rgba(19,31,24,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(19,31,24,.05) 1px,transparent 1px);background-size:40px 40px}
.map-consent.is-loaded{background:none;padding:0}
.map-consent.is-loaded .map-consent__card{display:none}
.map-consent iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.02)}
.map-consent__card{max-width:440px;text-align:center;padding:28px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(19,31,24,.45)}
.map-consent__icon{width:52px;height:52px;margin:0 auto 14px;border-radius:16px;background:var(--footer);color:#fff;display:flex;align-items:center;justify-content:center}
.map-consent__card p{margin:0 0 18px;color:var(--muted);font-size:.92rem;line-height:1.6}
.map-consent__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.map-consent__actions .btn{padding:12px 20px;font-size:.92rem}
.map-consent__ext{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);font-size:.9rem;padding:12px 6px}
.map-consent__ext:hover{color:var(--accent)}

@media(max-width:700px){
  .ck-banner{left:12px;right:12px;bottom:12px;width:auto;padding:20px}
  .ck-banner__actions{grid-template-columns:1fr}
  .ck-modal__inner{padding:22px}
  .ck-modal__foot .ck-btn{flex:1 1 100%}
}
