/* F-Tech Consent Manager: baner (tokeny DESIGN.md twojacesja.pl) */
.fcm{ --fcm-bg:#16181D; --fcm-bg2:#1C1F26; --fcm-text:#F2F3F5; --fcm-muted:#7A7F8A;
    --fcm-accent:#C6F135; --fcm-accent-ink:#131503; --fcm-line:#262A33; --fcm-line-h:#333945;
    font-family:"Instrument Sans", system-ui, sans-serif; }
.fcm *, .fcm *::before, .fcm *::after{ box-sizing:border-box; margin:0; padding:0; }
/* Guard: atrybut hidden MUSI wygrywac z kazdym display w tym arkuszu
   (lekcja z naglowka v2.3: [hidden] przegrywa z display:flex/grid autora). */
.fcm[hidden], .fcm [hidden]{ display:none !important; }

.fcm__scrim{ position:fixed; top:0; left:0; right:0; height:100dvh; z-index:99997;
    background:rgba(6,7,9,0.6); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.fcm__bar{ position:fixed; inset:auto 0 0 0; z-index:99998; background:var(--fcm-bg);
    border-top:1px solid var(--fcm-line); box-shadow:0 -18px 50px -30px rgba(0,0,0,0.9); }
.fcm__bar-in{ max-width:1200px; margin:0 auto; padding:1.1rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom)); display:grid; gap:0.75rem; }
.fcm__title{ color:var(--fcm-text); font-weight:700; font-size:1rem; }
.fcm__body{ color:var(--fcm-muted); font-size:0.85rem; line-height:1.6; }
.fcm__body a{ color:var(--fcm-accent); text-decoration:underline; text-underline-offset:2px; }
.fcm__actions{ display:flex; flex-wrap:wrap; gap:0.6rem; }
.fcm__btn{ min-height:46px; padding:0 1.3rem; border:1px solid var(--fcm-line-h); border-radius:6px;
    background:transparent; color:var(--fcm-text); font-family:inherit; font-weight:700; font-size:0.9rem;
    cursor:pointer; flex:1 1 auto;
    transition:border-color 0.18s cubic-bezier(0.4,0,0.2,1), color 0.18s cubic-bezier(0.4,0,0.2,1), background-color 0.18s cubic-bezier(0.4,0,0.2,1); }
/* Hover: zawsze pelna limonka z CZARNYM tekstem; selektory .fcm .fcm__btn
   bija globalne style przyciskow Astry (button:hover z paleta motywu). */
.fcm .fcm__btn:hover{
    background:var(--fcm-accent);
    border-color:var(--fcm-accent);
    color:var(--fcm-accent-ink);
}
.fcm .fcm__btn:focus-visible{ outline:2px solid var(--fcm-accent); outline-offset:2px; }
.fcm .fcm__btn--text{ flex:0 1 auto; border-color:transparent; color:var(--fcm-muted); text-decoration:underline; text-underline-offset:3px; }
.fcm .fcm__btn--text:hover{ background:var(--fcm-accent); color:var(--fcm-accent-ink); border-color:var(--fcm-accent); text-decoration:none; }
.fcm .fcm__btn--solid{ background:var(--fcm-accent); border-color:var(--fcm-accent); color:var(--fcm-accent-ink); }
.fcm .fcm__btn--solid:hover{ background:#D4F95C; border-color:#D4F95C; color:var(--fcm-accent-ink); }
@media (min-width:760px){
    .fcm__bar-in{ grid-template-columns:1fr auto; align-items:center; }
    .fcm__title{ grid-column:1; }
    .fcm__body{ grid-column:1; }
    .fcm__actions{ grid-column:2; grid-row:1 / span 2; flex-wrap:nowrap; }
    .fcm__btn{ flex:0 0 auto; }
}

.fcm__overlay{ position:fixed; inset:0; z-index:99999; background:rgba(6,7,9,0.72);
    display:flex; align-items:flex-end; justify-content:center; padding:1rem; }
@media (min-width:640px){ .fcm__overlay{ align-items:center; } }
.fcm__modal{ background:var(--fcm-bg); border:1px solid var(--fcm-line); border-radius:8px;
    width:100%; max-width:640px; max-height:min(86svh, 720px); display:flex; flex-direction:column; outline:none; }
.fcm__modal-head{ display:flex; align-items:center; justify-content:space-between;
    padding:1rem 1.25rem; border-bottom:1px solid var(--fcm-line); }
.fcm__close{ background:none; border:none; color:var(--fcm-muted); font-size:1.6rem; line-height:1;
    cursor:pointer; min-width:44px; min-height:44px; border-radius:6px;
    transition:color 0.18s cubic-bezier(0.4,0,0.2,1); }
.fcm__close:hover{ color:var(--fcm-text); }
.fcm__close:focus-visible{ outline:2px solid var(--fcm-accent); outline-offset:2px; }
.fcm__modal-body{ overflow-y:auto; padding:1rem 1.25rem; display:grid; gap:1.1rem; }
.fcm__cat{ border:1px solid var(--fcm-line); border-radius:6px; padding:0.9rem 1rem; background:var(--fcm-bg2); }
.fcm__cat-head{ display:flex; align-items:center; justify-content:space-between; gap:0.8rem; margin-bottom:0.35rem; }
.fcm__cat-title{ color:var(--fcm-text); font-weight:700; font-size:0.95rem; }
.fcm__always{ color:var(--fcm-accent); font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; }
.fcm__cat-desc{ color:var(--fcm-muted); font-size:0.83rem; line-height:1.55; }
.fcm__switch{ position:relative; display:inline-flex; cursor:pointer; }
.fcm__switch input{ position:absolute; opacity:0; width:100%; height:100%; cursor:pointer; }
.fcm__switch-ui{ width:46px; height:26px; border-radius:13px; background:var(--fcm-line-h);
    position:relative; transition:background-color 0.18s cubic-bezier(0.4,0,0.2,1); }
.fcm__switch-ui::after{ content:""; position:absolute; top:3px; left:3px; width:20px; height:20px;
    border-radius:50%; background:var(--fcm-text); transition:transform 0.18s cubic-bezier(0.4,0,0.2,1); }
.fcm__switch input:checked + .fcm__switch-ui{ background:var(--fcm-accent); }
.fcm__switch input:checked + .fcm__switch-ui::after{ transform:translateX(20px); background:var(--fcm-accent-ink); }
.fcm__switch input:focus-visible + .fcm__switch-ui{ outline:2px solid var(--fcm-accent); outline-offset:2px; }
.fcm__table{ width:100%; border-collapse:collapse; margin-top:0.7rem; font-size:0.78rem; }
.fcm__table th{ text-align:left; color:var(--fcm-muted); font-weight:600; padding:0.35rem 0.5rem 0.35rem 0;
    border-bottom:1px solid var(--fcm-line); text-transform:uppercase; letter-spacing:0.06em; font-size:0.68rem; }
.fcm__table td{ color:var(--fcm-text); padding:0.45rem 0.5rem 0.45rem 0; border-bottom:1px solid var(--fcm-line); vertical-align:top; }
.fcm__third{ color:var(--fcm-muted); }
.fcm__modal-foot{ padding:1rem 1.25rem; border-top:1px solid var(--fcm-line); }
.fcm__modal-foot .fcm__btn--solid{ width:100%; }
@media (prefers-reduced-motion: reduce){ .fcm *{ transition:none !important; } }
