/* Alusyst Cookie Manager - front end */

.acc-root{--acc-bg:#111;--acc-text:#fff;--acc-accent:#ff004f;font-family:inherit}
.acc-root [hidden]{display:none!important}
html.acc-locked{overflow:hidden}

/* ---------- banner ---------- */
.acc-banner{position:fixed;left:50%;transform:translateX(-50%);z-index:99998;width:min(1140px,calc(100% - 32px));
	background:var(--acc-bg);color:var(--acc-text);border-radius:14px;padding:22px 24px;
	box-shadow:0 18px 50px rgba(0,0,0,.32);display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap;
	animation:acc-rise .32s ease both}
.acc-pos-bottom .acc-banner{bottom:18px}
.acc-pos-top .acc-banner{top:18px}
.acc-pos-center .acc-banner{top:50%;transform:translate(-50%,-50%);max-width:620px;flex-direction:column;align-items:flex-start}

@keyframes acc-rise{from{opacity:0;transform:translateX(-50%) translateY(14px)}to{opacity:1}}
.acc-pos-center .acc-banner{animation:none}

.acc-banner__body{flex:1 1 420px;min-width:0}
.acc-banner__title{margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.3;color:var(--acc-text)}
.acc-banner__text{margin:0;font-size:13.5px;line-height:1.65;opacity:.88;color:var(--acc-text)}
.acc-banner__link{color:var(--acc-accent);text-decoration:underline;text-underline-offset:2px}
.acc-banner__link:hover{opacity:.8}

.acc-banner__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.acc-btn{font:inherit;font-size:13.5px;font-weight:600;line-height:1;padding:13px 20px;border-radius:8px;
	border:1px solid rgba(255,255,255,.28);background:transparent;color:var(--acc-text);cursor:pointer;
	transition:background .18s ease,border-color .18s ease,opacity .18s ease;white-space:nowrap}
.acc-btn:hover{background:rgba(255,255,255,.1)}
.acc-btn:focus-visible{outline:2px solid var(--acc-accent);outline-offset:2px}
.acc-btn--solid{background:var(--acc-accent);border-color:var(--acc-accent);color:#fff}
.acc-btn--solid:hover{background:var(--acc-accent);opacity:.86}

/* ---------- preferences modal ---------- */
.acc-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.acc-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.acc-modal__panel{position:relative;background:#fff;color:#171717;border-radius:16px;width:min(640px,100%);
	max-height:86vh;overflow:auto;padding:32px 32px 26px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.acc-modal__close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:26px;line-height:1;
	cursor:pointer;color:#8a8a8a;padding:4px 8px;border-radius:6px}
.acc-modal__close:hover{color:#171717;background:#f2f2f2}
.acc-modal__title{margin:0 0 8px;font-size:21px;font-weight:700;color:#171717}
.acc-modal__intro{margin:0 0 22px;font-size:13.5px;line-height:1.65;color:#5a5a5a}

.acc-cat{border-top:1px solid #ececec;padding:16px 0}
.acc-cat:first-child{border-top:0;padding-top:0}
.acc-cat__head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.acc-cat__label{font-size:14.5px;font-weight:700;color:#171717}
.acc-cat__always{font-size:12px;font-weight:600;color:#7a7a7a;background:#f3f3f3;padding:5px 10px;border-radius:20px}
.acc-cat__desc{margin:7px 0 0;font-size:13px;line-height:1.6;color:#6a6a6a}

.acc-switch{position:relative;display:inline-flex;cursor:pointer;flex:none}
.acc-switch input{position:absolute;opacity:0;width:0;height:0}
.acc-switch__track{width:44px;height:25px;border-radius:25px;background:#d5d5d5;display:block;transition:background .2s ease}
.acc-switch__dot{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;
	box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .2s ease}
.acc-switch input:checked + .acc-switch__track{background:var(--acc-accent)}
.acc-switch input:checked + .acc-switch__track .acc-switch__dot{transform:translateX(19px)}
.acc-switch input:focus-visible + .acc-switch__track{outline:2px solid var(--acc-accent);outline-offset:2px}

.acc-modal__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:24px;
	border-top:1px solid #ececec;padding-top:20px}
.acc-modal__actions .acc-btn{border-color:#d8d8d8;color:#171717}
.acc-modal__actions .acc-btn:hover{background:#f4f4f4}
.acc-modal__actions .acc-btn--solid{background:var(--acc-accent);border-color:var(--acc-accent);color:#fff}
.acc-modal__actions .acc-btn--solid:hover{background:var(--acc-accent);color:#fff;opacity:.86}

/* ---------- blocked embed placeholder ---------- */
.acc-blocked{position:relative;display:flex;align-items:center;justify-content:center;min-height:220px;
	background:#f4f4f5;border:1px dashed #cfcfd2;border-radius:12px;padding:28px;text-align:center}
.acc-blocked__note{margin:0 0 14px;font-size:13.5px;line-height:1.6;color:#5a5a5a;max-width:38ch}
.acc-blocked__btn{font:inherit;font-size:13.5px;font-weight:600;padding:11px 18px;border-radius:8px;border:0;
	background:var(--acc-accent,#ff004f);color:#fff;cursor:pointer}
.acc-blocked__btn:hover{opacity:.88}

/* ---------- privacy policy table ---------- */
.acc-tables__title{margin:32px 0 6px;font-size:18px;font-weight:700}
.acc-tables__desc{margin:0 0 14px;font-size:13.5px;line-height:1.6;color:#666}
.acc-tables__empty{margin:0 0 14px;font-size:13.5px;color:#888;font-style:italic}
.acc-tables__updated{margin:22px 0 0;font-size:12.5px;color:#8a8a8a}
.acc-tables__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.acc-table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.6;min-width:640px}
.acc-table th,.acc-table td{text-align:left;padding:11px 14px;border-bottom:1px solid #ececec;vertical-align:top}
.acc-table thead th{background:#fafafa;font-weight:700;font-size:12.5px;letter-spacing:.02em;
	text-transform:uppercase;color:#555;border-bottom:2px solid #e3e3e3;white-space:nowrap}
.acc-table code{font-size:12.5px;background:#f4f4f5;padding:2px 6px;border-radius:4px;word-break:break-word}
.acc-table tbody tr:hover{background:#fbfbfb}

.acc-openprefs{font:inherit;cursor:pointer;background:none;border:0;padding:0;color:inherit;
	text-decoration:underline;text-underline-offset:2px}
.acc-openprefs:hover{opacity:.75}

/* ---------- responsive ---------- */
@media (max-width:900px){
	.acc-banner{flex-direction:column;align-items:stretch;gap:16px;padding:20px}
	.acc-banner__actions{justify-content:stretch}
	.acc-banner__actions .acc-btn{flex:1 1 auto;text-align:center}
}
@media (max-width:600px){
	.acc-banner{width:calc(100% - 20px);border-radius:12px}
	.acc-pos-bottom .acc-banner{bottom:10px}
	.acc-pos-top .acc-banner{top:10px}
	.acc-modal__panel{padding:26px 20px 20px}
	.acc-modal__actions{justify-content:stretch}
	.acc-modal__actions .acc-btn{flex:1 1 auto}

	.acc-table{min-width:0}
	.acc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.acc-table tr{display:block;border:1px solid #ececec;border-radius:10px;margin-bottom:12px;padding:6px 2px}
	.acc-table td{display:flex;gap:12px;border-bottom:1px solid #f4f4f4;padding:9px 14px}
	.acc-table tr td:last-child{border-bottom:0}
	.acc-table td::before{content:attr(data-label);flex:0 0 34%;font-weight:700;font-size:12px;
		text-transform:uppercase;letter-spacing:.02em;color:#666}
}

@media (prefers-reduced-motion:reduce){
	.acc-banner{animation:none}
	.acc-btn,.acc-switch__track,.acc-switch__dot{transition:none}
}
