/* OS Toolkit – cookie lišta. Barvy bere z webu (--o-*), jinak neutrální. Přepsat jde přes --ostc-*. */
.ostc-bar,.ostc-dlg{
	--ostc-bg:var(--o-bg,#fff);
	--ostc-ink:var(--o-ink,#111);
	--ostc-ink-2:var(--o-ink-2,#555);
	--ostc-line:var(--o-line-strong,rgba(127,127,127,.35));
	--ostc-accent:var(--o-accent,#ff3b1f);
	--ostc-mono:var(--o-mono,ui-monospace,SFMono-Regular,Menlo,monospace);
	--ostc-sans:var(--o-sans,system-ui,-apple-system,"Segoe UI",sans-serif);
	font-family:var(--ostc-sans);color:var(--ostc-ink);
	-webkit-font-smoothing:antialiased;
}
.ostc-bar{
	position:fixed;left:16px;bottom:16px;z-index:2147483000;
	width:min(420px,calc(100vw - 32px));box-sizing:border-box;
	padding:18px 18px 16px;background:var(--ostc-bg);border:1px solid var(--ostc-line);
	box-shadow:0 18px 50px -20px rgba(0,0,0,.35);
	opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1);
}
.ostc-bar.on{opacity:1;transform:none}
.ostc-k{margin:0 0 8px;font-family:var(--ostc-mono);font-size:11px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--ostc-ink-2)}
.ostc-k::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;vertical-align:1px;background:var(--ostc-accent)}
.ostc-t{margin:0 0 14px;font-size:14px;line-height:1.45;color:var(--ostc-ink)}
.ostc-link{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ostc-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}
.ostc-btn{
	appearance:none;margin:0;min-height:40px;padding:10px 12px;border:1px solid var(--ostc-ink);border-radius:0;
	background:var(--ostc-ink);color:var(--ostc-bg);cursor:pointer;
	font:500 11px/1 var(--ostc-mono);letter-spacing:.08em;text-transform:uppercase;
	transition:opacity .2s,background .2s,color .2s;
}
.ostc-btn:hover{opacity:.82}
.ostc-btn:focus-visible,.ostc-sw:focus-visible,.ostc-link:focus-visible{outline:2px solid var(--ostc-accent);outline-offset:2px}
.ostc-btn.is-ghost{background:transparent;color:var(--ostc-ink);border-color:var(--ostc-line)}
.ostc-btn.is-ghost:hover{border-color:var(--ostc-ink);opacity:1}

.ostc-dlg{position:fixed;inset:0;z-index:2147483001;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s}
.ostc-dlg.on{opacity:1}
.ostc-box{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;padding:22px 22px 18px;background:var(--ostc-bg);border:1px solid var(--ostc-line)}
.ostc-x{position:absolute;top:10px;right:10px;width:32px;min-height:32px;padding:0;font-size:18px;background:transparent;color:var(--ostc-ink);border-color:transparent}
.ostc-opt{display:block;color:var(--ostc-ink);padding:12px 0;border-top:1px solid var(--ostc-line);cursor:pointer}
.ostc-opt:last-of-type{margin-bottom:14px;border-bottom:1px solid var(--ostc-line)}
.ostc-opt-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ostc-opt-t{font-weight:500;font-size:14px;color:var(--ostc-ink)}
.ostc-opt-d{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--ostc-ink-2)}
.ostc-sw{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:34px;height:20px;margin:0;border:1px solid var(--ostc-line);border-radius:20px;background:transparent;cursor:pointer;transition:background .2s,border-color .2s}
.ostc-sw::after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--ostc-ink-2);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s}
.ostc-sw:checked{background:var(--ostc-ink);border-color:var(--ostc-ink)}
.ostc-sw:checked::after{transform:translateX(14px);background:var(--ostc-bg)}
.ostc-sw:disabled{opacity:.5;cursor:default}

/* Externí obsah před souhlasem (např. 3D scéna ze Spline) */
.ostc-gate{
	position:absolute;left:12px;bottom:12px;z-index:3;max-width:calc(100% - 24px);
	display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:0;border-radius:0;cursor:pointer;
	background:var(--o-ink,#111);color:var(--o-bg,#fff);
	font:500 11px/1.2 var(--o-mono,ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;text-align:left;
}
.ostc-gate:hover{opacity:.85}
.ostc-gate:focus-visible{outline:2px solid var(--o-accent,#ff3b1f);outline-offset:2px}

@media (max-width:520px){
	.ostc-bar{left:8px;right:8px;bottom:8px;width:auto}
	.ostc-row{grid-template-columns:1fr 1fr}
	.ostc-row .is-ghost{grid-column:1 / -1;order:3}
}
@media (prefers-reduced-motion:reduce){.ostc-bar,.ostc-dlg,.ostc-sw::after{transition:none}}
@media print{.ostc-bar,.ostc-dlg{display:none}}
