/* =========================================================
   PROFIstudny – Cookie lišta
   Brand: zelená #4AC281 / navy #2C2677 / text #222 / font houschka-pro
   ========================================================= */

.pcc-root{
	--pcc-green:#4ac281;
	--pcc-green-dark:#3aa96e;
	--pcc-navy:#2c2677;
	--pcc-ink:#222222;
	--pcc-muted:#666666;
	--pcc-line:#e6e9ee;
	--pcc-tint:rgba(157,222,187,.19);
	--pcc-radius:6px;
	--pcc-font:"houschka-pro","Helvetica Neue",Helvetica,Arial,sans-serif;

	position:fixed;
	inset:0;
	z-index:2147483000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px 16px;
	font-family:var(--pcc-font);
	-webkit-font-smoothing:antialiased;
}
.pcc-root[hidden]{display:none!important;}

/* jemné ztmavení pozadí – neblokuje čtení webu, jen fokusuje na lištu */
.pcc-veil{
	position:fixed;
	inset:0;
	background:rgba(18,22,32,.5);
	backdrop-filter:blur(6px) saturate(.9);
	-webkit-backdrop-filter:blur(6px) saturate(.9);
	opacity:0;
	animation:pcc-fade .35s ease forwards;
}
@keyframes pcc-fade{to{opacity:1}}

.pcc-panel{
	position:relative;
	width:min(680px, 100%);
	max-height:calc(100dvh - 48px);
	display:flex;
	flex-direction:column;
	margin:0;
	background:#fff;
	border-radius:var(--pcc-radius);
	box-shadow:0 18px 50px rgba(16,22,40,.28), 0 2px 6px rgba(16,22,40,.12);
	overflow:hidden;
	transform:translateY(14px) scale(.985);
	opacity:0;
	animation:pcc-up .4s cubic-bezier(.22,.85,.3,1) .05s forwards;
}
@keyframes pcc-up{to{transform:translateY(0) scale(1);opacity:1}}

/* zelený proužek nahoře – odkaz na brand */
.pcc-panel::before{
	content:"";
	position:absolute;
	inset:0 0 auto 0;
	height:4px;
	background:linear-gradient(90deg,var(--pcc-green) 0%,var(--pcc-green) 55%,var(--pcc-navy) 100%);
}

.pcc-view{padding:28px 30px 24px;display:flex;flex-direction:column;min-height:0;}
.pcc-view[hidden]{display:none!important;}

/* ---------- hlavička ---------- */
.pcc-head{display:flex;align-items:center;gap:12px;margin:0 0 10px;}
.pcc-drop{
	display:inline-flex;align-items:center;justify-content:center;
	width:38px;height:38px;flex:0 0 38px;
	border-radius:50%;
	background:var(--pcc-tint);
	color:var(--pcc-green);
}
.pcc-root .pcc-title{
	margin:0;padding:0;
	font-family:var(--pcc-font);
	font-size:19px;line-height:1.25;
	font-weight:900;
	color:var(--pcc-navy);
	letter-spacing:0;
	text-transform:none;
}
.pcc-back{
	display:inline-flex;align-items:center;justify-content:center;
	width:34px;height:34px;flex:0 0 34px;
	border:1px solid var(--pcc-line);
	border-radius:50%;
	background:#fff;color:var(--pcc-navy);
	cursor:pointer;padding:0;
	transition:background .18s ease,border-color .18s ease;
}
.pcc-back:hover{background:var(--pcc-tint);border-color:var(--pcc-green);}

.pcc-root .pcc-desc{
	margin:0 0 20px;
	font-size:14.5px;line-height:1.65;
	color:var(--pcc-muted);
	max-width:74ch;
}
.pcc-root a.pcc-link{
	color:var(--pcc-green-dark);
	font-weight:700;
	text-decoration:underline;
	text-underline-offset:2px;
}
.pcc-root a.pcc-link:hover{color:var(--pcc-navy);}

/* ---------- tlačítka ---------- */
.pcc-actions{
	display:flex;gap:10px;flex-wrap:wrap;justify-content:stretch;
	flex:0 0 auto;
}
.pcc-root .pcc-actions .pcc-btn{flex:1 1 0;min-width:150px;}
.pcc-root .pcc-btn{
	appearance:none;
	font-family:var(--pcc-font);
	font-size:12px;
	font-weight:800;
	letter-spacing:1px;
	text-transform:uppercase;
	line-height:1;
	padding:14px 26px;
	border-radius:3px;
	border:2px solid transparent;
	cursor:pointer;
	transition:background .2s ease,color .2s ease,border-color .2s ease,transform .12s ease;
}
.pcc-root .pcc-btn:active{transform:translateY(1px);}
.pcc-root .pcc-btn--primary{
	background:var(--pcc-green);
	border-color:var(--pcc-green);
	color:#fff;
	box-shadow:0 6px 16px rgba(74,194,129,.32);
}
.pcc-root .pcc-btn--primary:hover{background:var(--pcc-green-dark);border-color:var(--pcc-green-dark);}
.pcc-root .pcc-btn--ghost{
	background:#fff;
	border-color:var(--pcc-line);
	color:var(--pcc-navy);
}
.pcc-root .pcc-btn--ghost:hover{border-color:var(--pcc-navy);background:#fafbfc;}
.pcc-root .pcc-btn:focus-visible,
.pcc-back:focus-visible{outline:3px solid rgba(44,38,119,.35);outline-offset:2px;}

/* ---------- kategorie ---------- */
.pcc-scroll{
	flex:1 1 auto;
	min-height:0;
	max-height:min(52vh,440px);
	overflow-y:auto;
	margin:4px -6px 20px;
	padding:0 6px 2px;
	overscroll-behavior:contain;
	-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 26px),transparent 100%);
	mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 26px),transparent 100%);
}
.pcc-scroll.is-end{-webkit-mask-image:none;mask-image:none;}
.pcc-scroll::-webkit-scrollbar{width:8px}
.pcc-scroll::-webkit-scrollbar-thumb{background:#dfe3ea;border-radius:8px}

.pcc-cat{
	border:1px solid var(--pcc-line);
	border-radius:5px;
	padding:14px 16px;
	margin-bottom:10px;
	background:#fff;
	transition:border-color .18s ease;
}
.pcc-cat:hover{border-color:#cfd6e0;}
.pcc-cat--locked{background:#fafbfc;}

.pcc-cat__row{
	display:flex;align-items:flex-start;gap:18px;
	justify-content:space-between;
	cursor:pointer;margin:0;
}
.pcc-cat--locked .pcc-cat__row{cursor:default;}
.pcc-root .pcc-cat__name{
	margin:0 0 3px;padding:0;
	font-size:15px;font-weight:800;line-height:1.3;
	color:var(--pcc-ink);
	text-transform:none;letter-spacing:0;
}
.pcc-root .pcc-cat__desc{
	margin:0;
	font-size:13.5px;line-height:1.55;
	color:var(--pcc-muted);
}
.pcc-always{
	flex:0 0 auto;
	font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
	color:var(--pcc-green-dark);
	background:var(--pcc-tint);
	padding:7px 11px;border-radius:3px;
	white-space:nowrap;
}

/* ---------- přepínač ---------- */
.pcc-switch{position:relative;flex:0 0 auto;display:inline-block;width:48px;height:27px;}
.pcc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2;}
.pcc-switch__track{
	position:absolute;inset:0;
	background:#d3d8e0;border-radius:99px;
	transition:background .22s ease;
}
.pcc-switch__knob{
	position:absolute;top:3px;left:3px;
	width:21px;height:21px;border-radius:50%;
	background:#fff;
	box-shadow:0 1px 3px rgba(0,0,0,.25);
	transition:transform .22s cubic-bezier(.3,.8,.4,1);
}
.pcc-switch input:checked + .pcc-switch__track{background:var(--pcc-green);}
.pcc-switch input:checked + .pcc-switch__track .pcc-switch__knob{transform:translateX(21px);}
.pcc-switch input:focus-visible + .pcc-switch__track{outline:3px solid rgba(44,38,119,.35);outline-offset:2px;}

/* ---------- detail cookies ---------- */
.pcc-det{margin-top:10px;}
.pcc-det > summary{
	list-style:none;cursor:pointer;
	display:inline-flex;align-items:center;gap:6px;
	font-size:12px;font-weight:700;letter-spacing:.3px;
	color:var(--pcc-navy);
	padding:3px 0;
}
.pcc-det > summary::-webkit-details-marker{display:none;}
.pcc-det > summary::after{
	content:"";width:6px;height:6px;
	border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:rotate(45deg) translateY(-2px);
	transition:transform .2s ease;
}
.pcc-det[open] > summary::after{transform:rotate(-135deg) translateY(-2px);}
.pcc-det > summary:hover{color:var(--pcc-green-dark);}
.pcc-root .pcc-tbl{
	width:100%;border-collapse:collapse;margin-top:8px;
	font-size:12.5px;color:var(--pcc-muted);
	background:none;
}
.pcc-root .pcc-tbl th,
.pcc-root .pcc-tbl td{
	text-align:left;padding:6px 10px 6px 0;
	border-bottom:1px solid #f0f2f6;
	vertical-align:top;background:none;
}
.pcc-root .pcc-tbl th{font-weight:800;color:var(--pcc-ink);font-size:11px;text-transform:uppercase;letter-spacing:.5px;}

.pcc-root .pcc-fineprint{
	margin:14px 2px 0;font-size:12.5px;color:var(--pcc-muted);line-height:1.6;
}

/* ---------- plovoucí tlačítko ---------- */
.pcc-fab{
	position:fixed;left:18px;bottom:18px;
	z-index:2147482000;
	width:42px;height:42px;padding:0;
	display:inline-flex;align-items:center;justify-content:center;
	border:1px solid rgba(44,38,119,.12);
	border-radius:50%;
	background:#fff;color:var(--pcc-navy);
	box-shadow:0 4px 14px rgba(16,22,40,.16);
	cursor:pointer;opacity:.55;
	transition:opacity .2s ease,transform .2s ease,color .2s ease;
}
.pcc-fab:hover{opacity:1;transform:translateY(-2px);color:var(--pcc-green-dark);}
.pcc-fab[hidden]{display:none!important;}

/* ---------- mobil ---------- */
@media (max-width:782px){
	.pcc-root{padding:16px 12px;align-items:center;}
	.pcc-panel{width:100%;margin:0;max-height:calc(100dvh - 28px);}
	.pcc-view{padding:22px 18px 18px;}
	.pcc-root .pcc-title{font-size:17px;}
	.pcc-root .pcc-desc{font-size:14px;margin-bottom:16px;}
	.pcc-actions{flex-direction:column-reverse;gap:8px;}
	.pcc-root .pcc-btn{width:100%;padding:15px 18px;flex:1 1 auto;}
	.pcc-cat__row{gap:12px;}
	.pcc-scroll{max-height:none;}
	.pcc-fab{left:12px;bottom:12px;width:38px;height:38px;}
}

@media (prefers-reduced-motion:reduce){
	.pcc-panel,.pcc-veil{animation:none;opacity:1;transform:none;}
	.pcc-switch__knob,.pcc-root .pcc-btn{transition:none;}
}

.pcc-panel:focus{outline:none;}

/* zámek scrollu, dokud návštěvník lištu nepotvrdí */
html.pcc-locked, body.pcc-locked{overflow:hidden!important;}

/* upozornění, že je potřeba volbu potvrdit */
@keyframes pcc-pulse{
	0%,100%{transform:translateX(0)}
	18%{transform:translateX(-7px)}
	38%{transform:translateX(6px)}
	58%{transform:translateX(-4px)}
	78%{transform:translateX(2px)}
}
.pcc-panel.pcc-pulse{
	animation:pcc-pulse .42s ease;
	box-shadow:0 18px 50px rgba(16,22,40,.28), 0 0 0 3px rgba(74,194,129,.55);
}
@media (prefers-reduced-motion:reduce){
	.pcc-panel.pcc-pulse{animation:none;}
}
