/* ============================================================
   BANER ZGODY NA COOKIES (Consent Mode v2)
   Tokeny z theme.css (--ink, --gold, --paper…) z fallbackami.
   ============================================================ */
.km-consent{
  position:fixed;z-index:120;inset:auto 0 0 0;pointer-events:none;
  font-family:var(--sans,system-ui,-apple-system,"Segoe UI",sans-serif);
  color:var(--paper,#F8F8F5);line-height:1.55;
}
.km-consent[hidden]{display:none}

.km-consent__dialog{
  pointer-events:auto;position:relative;
  background:var(--ink,#1A4D38);color:var(--paper,#F8F8F5);
  border:1px solid var(--line-dk,rgba(248,248,245,.14));border-top:3px solid var(--gold,#B07C4B);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6);
  padding:28px 28px 26px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;
  opacity:0;transform:translateY(18px);
  transition:opacity .35s var(--ease,cubic-bezier(.2,.7,.2,1)),transform .35s var(--ease,cubic-bezier(.2,.7,.2,1));
}
.km-consent.is-open .km-consent__dialog{opacity:1;transform:none}

/* --- Karta w rogu --- */
.km-consent--card{inset:auto auto 20px 20px;width:min(440px,calc(100vw - 40px))}
.km-consent--card.km-consent--right{inset:auto 20px 20px auto}
.km-consent--card .km-consent__dialog{border-radius:10px}

/* --- Pasek na dole --- */
.km-consent--bar .km-consent__dialog{border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:22px 32px}
.km-consent--bar .km-consent__view{max-width:var(--wrap,1240px);margin:0 auto}
.km-consent--bar [data-km-view="main"]{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:center}
.km-consent--bar [data-km-view="main"] .km-consent__kicker,
.km-consent--bar [data-km-view="main"] .km-consent__title,
.km-consent--bar [data-km-view="main"] .km-consent__text{grid-column:1}
.km-consent--bar [data-km-view="main"] .km-consent__actions{grid-column:2;grid-row:1 / span 3;margin-top:0;flex-direction:column;align-items:stretch}
.km-consent--bar [data-km-view="main"] .km-consent__title{font-size:1.35rem}
.km-consent--bar [data-km-view="main"] .km-consent__text{margin-bottom:0}
.km-consent--bar [data-km-view="settings"]{max-width:760px}

/* --- Okno na środku --- */
.km-consent--modal{inset:0;display:grid;place-items:center;padding:20px}
.km-consent--modal[hidden]{display:none}
.km-consent__backdrop{
  position:absolute;inset:0;pointer-events:auto;
  background:rgba(24,32,58,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  opacity:0;transition:opacity .3s var(--ease,ease);
}
.km-consent.is-open .km-consent__backdrop{opacity:1}
.km-consent--modal .km-consent__dialog{width:100%;max-width:560px;border-radius:12px;transform:translateY(24px) scale(.98)}
.km-consent--modal.is-open .km-consent__dialog{transform:none}
html.km-consent-lock{overflow:hidden;overscroll-behavior:none}
html.km-consent-lock body{overflow:hidden;touch-action:none;overscroll-behavior:none}
html.km-consent-lock [inert]{pointer-events:none;user-select:none}
.km-consent--modal .km-consent__backdrop{background:rgba(24,32,58,.62)}

/* --- Treść --- */
.km-consent__kicker{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;
  font-family:var(--mono,inherit);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-soft,#CA9A6C);
}
.km-consent__kicker::before{content:"";width:8px;height:8px;background:var(--gold,#B07C4B);border-radius:1px;flex:none}
.km-consent__title{
  margin:0 0 10px;font-family:var(--disp,Georgia,serif);font-weight:700;font-size:1.55rem;line-height:1.12;letter-spacing:-.015em;
  color:var(--paper,#F8F8F5);
}
.km-consent__text{margin:0 0 20px;font-size:.92rem;color:rgba(248,248,245,.78)}
.km-consent__text a{color:var(--gold-soft,#CA9A6C);text-decoration:underline;text-underline-offset:2px}
.km-consent__text a:hover{color:var(--paper,#F8F8F5)}
.km-consent__privacy{white-space:nowrap}

.km-consent__close{
  position:absolute;top:12px;right:12px;width:36px;height:36px;
  border:1px solid var(--line-dk,rgba(248,248,245,.14));border-radius:5px;background:transparent;
  color:var(--paper,#F8F8F5);font-size:1.25rem;line-height:1;cursor:pointer;transition:.2s;
}
.km-consent__close:hover{border-color:var(--gold,#B07C4B);color:var(--gold-soft,#CA9A6C)}
.km-consent__close[hidden]{display:none}

/* --- Przyciski --- */
.km-consent__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.km-consent__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 20px;border-radius:4px;border:1px solid transparent;cursor:pointer;
  font-family:inherit;font-size:.88rem;font-weight:600;letter-spacing:-.01em;line-height:1.2;
  transition:.22s var(--ease,ease);
}
.km-consent__btn--primary{background:var(--gold,#B07C4B);border-color:var(--gold,#B07C4B);color:#fff;font-weight:700}
.km-consent__btn--primary:hover{background:var(--paper,#F8F8F5);border-color:var(--paper,#F8F8F5);color:var(--ink,#1A4D38)}
.km-consent__btn--ghost{background:transparent;border-color:rgba(248,248,245,.35);color:var(--paper,#F8F8F5)}
.km-consent__btn--ghost:hover{border-color:var(--paper,#F8F8F5);background:rgba(248,248,245,.08)}
.km-consent__btn--link{background:transparent;color:rgba(248,248,245,.8);padding-left:6px;padding-right:6px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(248,248,245,.4)}
.km-consent__btn--link:hover{color:var(--gold-soft,#CA9A6C);text-decoration-color:currentColor}
.km-consent__btn:focus-visible,.km-consent__close:focus-visible,.km-consent__switch input:focus-visible+.km-consent__track{outline:2px solid var(--gold,#B07C4B);outline-offset:3px}

/* --- Kategorie / przełączniki --- */
.km-consent__cats{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--line-dk,rgba(248,248,245,.14))}
.km-consent__cat{padding:14px 0;border-bottom:1px solid var(--line-dk,rgba(248,248,245,.14))}
.km-consent__switch{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;font-size:.95rem}
.km-consent__switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.km-consent__track{
  position:relative;flex:none;width:44px;height:24px;border-radius:12px;
  background:rgba(248,248,245,.22);transition:background .2s var(--ease,ease);
}
.km-consent__track::after{
  content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:var(--paper,#F8F8F5);transition:transform .2s var(--ease,ease);
}
.km-consent__switch input:checked+.km-consent__track{background:var(--gold,#B07C4B)}
.km-consent__switch input:checked+.km-consent__track::after{transform:translateX(20px)}
.km-consent__switch input:disabled+.km-consent__track{opacity:.55;cursor:not-allowed}
.km-consent__switch input:disabled~.km-consent__cat-title{opacity:.85}
.km-consent__cat-text{margin:8px 0 0 56px;font-size:.84rem;color:rgba(248,248,245,.68)}

/* --- Przycisk pływający (po decyzji) --- */
.km-consent-fab{
  position:fixed;left:20px;bottom:20px;z-index:110;width:48px;height:48px;border-radius:50%;
  background:var(--ink,#1A4D38);color:var(--gold-soft,#CA9A6C);border:1px solid var(--gold,#B07C4B);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 40px -18px rgba(0,0,0,.6);transition:.2s;
}
.km-consent-fab:hover{background:var(--gold,#B07C4B);color:var(--ink,#1A4D38)}
.km-consent-fab[hidden]{display:none}

/* --- Link w stopce --- */
.foot .bottom .km-consent-open{margin-left:18px}

/* --- Mobile --- */
@media(max-width:760px){
  .km-consent--card,.km-consent--card.km-consent--right{inset:auto 10px 10px 10px;width:auto}
  .km-consent__dialog{padding:22px 20px 20px}
  .km-consent--bar .km-consent__dialog{padding:22px 20px}
  .km-consent--bar [data-km-view="main"]{grid-template-columns:1fr}
  .km-consent--bar [data-km-view="main"] .km-consent__actions{grid-column:1;grid-row:auto;margin-top:16px;flex-direction:row}
  .km-consent--bar [data-km-view="main"] .km-consent__text{margin-bottom:0}
  .km-consent__title{font-size:1.35rem}
  .km-consent__actions{flex-direction:column;align-items:stretch}
  .km-consent__btn{width:100%}
  .km-consent__cat-text{margin-left:0}
  .foot .bottom .km-consent-open{margin-left:0;display:block;margin-top:8px}
  .km-consent-fab{left:12px;bottom:12px}
}

@media(prefers-reduced-motion:reduce){
  .km-consent__dialog,.km-consent__backdrop,.km-consent__track,.km-consent__track::after{transition:none}
}
