/* FixWoodSystem — Cookie Consent (własny silnik), styl pod markę Industrial. */
.fws-cc, .fws-cc *{ box-sizing:border-box; }
.fws-cc[hidden]{ display:none; }

/* ===== BANER (dół, pełna szerokość, nad tab-barem mobilnym) ===== */
.fws-cc-banner{ position:fixed; left:0; right:0; bottom:0; z-index:100000;
	background:var(--graphite,#17191C); color:var(--bone,#F0EDE7);
	border-top:1px solid var(--steel-line,#33383E);
	box-shadow:0 -24px 60px -24px rgba(0,0,0,.6); }
.fws-cc-banner[hidden]{ display:none; }
.fws-cc-banner-in{ max-width:var(--maxw,1480px); margin:0 auto; padding:18px var(--pad,24px);
	display:flex; align-items:center; gap:28px; }
.fws-cc-txt{ flex:1; min-width:0; }
.fws-cc-txt h2{ font-family:var(--display,'Archivo',sans-serif); font-weight:800; font-size:16px; letter-spacing:-.01em; margin:0 0 4px; color:var(--bone,#F0EDE7); }
.fws-cc-txt p{ font-family:var(--body,'IBM Plex Sans',sans-serif); font-size:13px; line-height:1.55; color:var(--zinc,#9AA1A8); margin:0; max-width:88ch; }
.fws-cc-txt a{ color:var(--signal,#E2541C); text-decoration:underline; }
.fws-cc-actions{ flex:none; display:flex; gap:10px; align-items:center; }
.fws-cc-btn{ font-family:var(--display,'Archivo',sans-serif); font-weight:700; font-size:14px; line-height:1;
	padding:13px 18px; border-radius:var(--r,4px); border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:.15s; }
.fws-cc-primary{ background:var(--signal,#E2541C); color:#fff; border-color:var(--signal,#E2541C); }
.fws-cc-primary:hover{ background:var(--signal-deep,#C24411); border-color:var(--signal-deep,#C24411); }
.fws-cc-ghost{ background:transparent; color:var(--bone,#F0EDE7); border-color:var(--steel-line,#33383E); }
.fws-cc-ghost:hover{ border-color:var(--zinc,#9AA1A8); background:var(--steel,#23272C); }

/* ===== MODAL USTAWIEŃ ===== */
.fws-cc-modal{ position:fixed; inset:0; z-index:100001; display:flex; align-items:center; justify-content:center; padding:20px; }
.fws-cc-modal[hidden]{ display:none; }
.fws-cc-scrim{ position:absolute; inset:0; background:rgba(12,13,15,.6); }
.fws-cc-modal-card{ position:relative; z-index:1; width:100%; max-width:540px; max-height:86vh; overflow-y:auto;
	background:var(--paper,#FBFAF7); color:var(--ink,#14161A); border-radius:var(--r,4px); box-shadow:0 40px 90px -30px rgba(0,0,0,.5); }
.fws-cc-modal-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid #ece7dd; position:sticky; top:0; background:var(--paper,#FBFAF7); }
.fws-cc-modal-head h2{ font-family:var(--display,'Archivo',sans-serif); font-weight:800; font-size:18px; margin:0; color:var(--ink,#14161A); }
.fws-cc-x{ background:none; border:none; font-size:24px; line-height:1; color:#8a8d92; cursor:pointer; padding:0 4px; }
.fws-cc-modal-body{ padding:8px 22px; }
.fws-cc-cat{ padding:16px 0; border-bottom:1px solid #ece7dd; }
.fws-cc-cat:last-child{ border-bottom:0; }
.fws-cc-cat-h{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fws-cc-cat-name{ font-family:var(--display,'Archivo',sans-serif); font-weight:700; font-size:15px; color:var(--ink,#14161A); }
.fws-cc-cat-desc{ font-size:13px; line-height:1.5; color:#55585d; margin:7px 0 0; }
.fws-cc-always{ font-family:var(--mono,monospace); font-size:11px; color:var(--ok,#3F8F5B); white-space:nowrap; }
/* przełącznik */
.fws-cc-switch{ position:relative; display:inline-block; width:44px; height:24px; flex:none; cursor:pointer; }
.fws-cc-switch input{ position:absolute; opacity:0; width:0; height:0; }
.fws-cc-slider{ position:absolute; inset:0; background:#cfc9bd; border-radius:24px; transition:.18s; }
.fws-cc-slider::before{ content:""; position:absolute; height:18px; width:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.18s; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.fws-cc-switch input:checked + .fws-cc-slider{ background:var(--signal,#E2541C); }
.fws-cc-switch input:checked + .fws-cc-slider::before{ transform:translateX(20px); }
.fws-cc-modal-foot{ display:flex; gap:10px; padding:16px 22px; border-top:1px solid #ece7dd; position:sticky; bottom:0; background:var(--paper,#FBFAF7); }
.fws-cc-modal-foot .fws-cc-btn{ flex:1; text-align:center; }
.fws-cc-modal-foot .fws-cc-ghost{ color:var(--ink,#14161A); border-color:#d8d2c7; }
.fws-cc-modal-foot .fws-cc-ghost:hover{ border-color:var(--ink,#14161A); background:#fff; }
body.fws-cc-open{ overflow:hidden; }

/* ===== Pływający przycisk cofania — okrągła ikonka ciasteczka (jak „scroll to top") ===== */
.fws-cc-revoke{ position:fixed; left:18px; bottom:18px; z-index:99990; width:46px; height:46px; padding:0;
	display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
	background:var(--graphite,#17191C); color:var(--bone,#F0EDE7); border:1px solid var(--steel-line,#33383E);
	cursor:pointer; box-shadow:0 10px 28px -12px rgba(0,0,0,.55); transition:.15s; }
.fws-cc-revoke[hidden]{ display:none; }
.fws-cc-revoke:hover{ border-color:var(--signal,#E2541C); transform:translateY(-2px); }
.fws-cc-revoke svg{ width:22px; height:22px; color:var(--signal,#E2541C); }
.fws-cc-revoke span{ display:none; }

/* link w stopce */
.fws-cc-footlink{ color:inherit; text-decoration:underline; cursor:pointer; }

/* ===== MOBILE ===== */
@media(max-width:768px){
	.fws-cc-banner-in{ flex-direction:column; align-items:stretch; gap:14px; padding:16px var(--pad,16px) calc(16px + env(safe-area-inset-bottom)); }
	.fws-cc-actions{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
	.fws-cc-actions .fws-cc-primary{ grid-column:1 / -1; order:3; }   /* Akzeptieren pełna szerokość na dole */
	.fws-cc-btn{ padding:13px 12px; }
	/* przycisk cofania nad mobilnym tab-barem (60px) */
	.fws-cc-revoke{ left:12px; bottom:72px; width:42px; height:42px; }
}

/* Consent ID w modalu (do żądań usunięcia/dostępu) */
.fws-cc-cid{ margin-top:16px; padding:13px 14px; background:var(--bone,#F0EDE7); border:1px solid #e2ddd3; border-radius:var(--r,4px); }
.fws-cc-cid[hidden]{ display:none; }
.fws-cc-cid-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.fws-cc-cid-label{ font-family:var(--display,'Archivo',sans-serif); font-weight:700; font-size:12px; color:var(--ink,#14161A); }
.fws-cc-cid-val{ font-family:var(--mono,monospace); font-size:12px; color:var(--ink,#14161A); background:#fff; border:1px solid #e2ddd3; border-radius:3px; padding:2px 7px; word-break:break-all; }
.fws-cc-cid-date{ font-family:var(--mono,monospace); font-size:11px; color:#8a8d92; }
.fws-cc-cid-copy{ margin-left:auto; font-family:var(--body,sans-serif); font-size:12px; font-weight:600; color:var(--signal,#E2541C); background:none; border:1px solid #d8d2c7; border-radius:3px; padding:4px 10px; cursor:pointer; }
.fws-cc-cid-copy:hover{ border-color:var(--signal,#E2541C); }
.fws-cc-cid-hint{ font-size:11.5px; color:#7a7e83; margin:9px 0 0; line-height:1.45; }
