/* Playbook Cookie Consent
 * Colors are driven by CSS variables set inline by the plugin:
 * --pcc-bg, --pcc-text, --pcc-accent, --pcc-accent-text, --pcc-secondary
 */

:root{
	--pcc-bg:#0f1115;
	--pcc-text:#ffffff;
	--pcc-accent:#2e7d32;
	--pcc-accent-text:#ffffff;
	--pcc-secondary:#3a3f47;
	--pcc-radius:10px;
	--pcc-maxw:1200px;
	--pcc-z:2147483600;
}

/* ---------- Banner ---------- */
.pcc-banner{
	position:fixed;
	left:0;right:0;
	z-index:var(--pcc-z);
	background:var(--pcc-bg);
	color:var(--pcc-text);
	box-shadow:0 -2px 18px rgba(0,0,0,.35);
	padding:18px 20px;
	font-size:14px;
	line-height:1.5;
	display:none;
}
.pcc-banner.pcc-visible{display:block;}
.pcc-bar.pcc-bottom .pcc-banner{bottom:0;}
.pcc-bar.pcc-top .pcc-banner{top:0;box-shadow:0 2px 18px rgba(0,0,0,.35);}

.pcc-banner-inner{
	max-width:var(--pcc-maxw);
	margin:0 auto;
	display:flex;
	gap:20px;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
}
.pcc-banner-text{flex:1 1 420px;min-width:280px;}
.pcc-banner-text h2{margin:0 0 6px;font-size:16px;color:var(--pcc-text);}
.pcc-banner-text p{margin:0;color:var(--pcc-text);opacity:.92;}
.pcc-banner-text a{color:var(--pcc-accent);text-decoration:underline;}
.pcc-banner-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

/* Corner box layout */
.pcc-box .pcc-banner{
	left:auto;right:20px;bottom:20px;
	max-width:420px;
	border-radius:var(--pcc-radius);
	box-shadow:0 10px 40px rgba(0,0,0,.45);
}
.pcc-box .pcc-banner-inner{flex-direction:column;align-items:stretch;}
.pcc-box .pcc-banner-actions{justify-content:stretch;}
.pcc-box .pcc-banner-actions .pcc-btn{flex:1 1 100%;}

/* ---------- Buttons ---------- */
.pcc-btn{
	cursor:pointer;
	border:0;
	border-radius:8px;
	padding:10px 16px;
	font-size:14px;
	font-weight:600;
	line-height:1.2;
	font-family:inherit;
}
.pcc-btn-primary{background:var(--pcc-accent);color:var(--pcc-accent-text);}
.pcc-btn-secondary{background:var(--pcc-secondary);color:var(--pcc-text);}
.pcc-btn-link{background:transparent;color:var(--pcc-text);text-decoration:underline;padding:10px 6px;}
.pcc-btn:hover{filter:brightness(1.08);}
.pcc-btn:focus-visible{outline:3px solid var(--pcc-accent);outline-offset:2px;}

/* ---------- Modal / Preference center ---------- */
.pcc-modal{
	position:fixed;inset:0;z-index:calc(var(--pcc-z) + 1);
	display:none;
	align-items:center;justify-content:center;
	padding:20px;
}
.pcc-modal.pcc-visible{display:flex;}
.pcc-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);}
.pcc-dialog{
	position:relative;
	background:var(--pcc-bg);
	color:var(--pcc-text);
	width:100%;
	max-width:640px;
	max-height:86vh;
	overflow:auto;
	border-radius:var(--pcc-radius);
	box-shadow:0 20px 60px rgba(0,0,0,.5);
	padding:24px;
}
.pcc-dialog h2{margin:0 0 8px;font-size:20px;color:var(--pcc-text);}
.pcc-dialog .pcc-intro{margin:0 0 16px;opacity:.9;}
.pcc-close{
	position:absolute;top:12px;right:14px;
	background:transparent;border:0;color:var(--pcc-text);
	font-size:24px;line-height:1;cursor:pointer;opacity:.8;
}
.pcc-close:hover{opacity:1;}

.pcc-cat{
	border:1px solid rgba(255,255,255,.12);
	border-radius:8px;
	padding:14px 16px;
	margin-bottom:12px;
}
.pcc-cat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
.pcc-cat-title{font-weight:700;font-size:15px;}
.pcc-cat-desc{margin:8px 0 0;font-size:13px;opacity:.85;}

/* Toggle */
.pcc-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto;}
.pcc-switch input{opacity:0;width:0;height:0;}
.pcc-slider{
	position:absolute;inset:0;cursor:pointer;
	background:var(--pcc-secondary);
	border-radius:26px;transition:.2s;
}
.pcc-slider:before{
	content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;
	background:#fff;border-radius:50%;transition:.2s;
}
.pcc-switch input:checked + .pcc-slider{background:var(--pcc-accent);}
.pcc-switch input:checked + .pcc-slider:before{transform:translateX(20px);}
.pcc-switch input:disabled + .pcc-slider{opacity:.6;cursor:not-allowed;}
.pcc-switch input:focus-visible + .pcc-slider{outline:3px solid var(--pcc-accent);outline-offset:2px;}
.pcc-always{font-size:12px;font-weight:700;color:var(--pcc-accent);align-self:center;white-space:nowrap;}

.pcc-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.pcc-dialog-actions .pcc-btn{flex:1 1 auto;}

/* ---------- Revisit button ---------- */
.pcc-revisit{
	position:fixed;bottom:16px;z-index:calc(var(--pcc-z) - 1);
	background:var(--pcc-accent);color:var(--pcc-accent-text);
	border:0;border-radius:30px;
	padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;
	box-shadow:0 6px 20px rgba(0,0,0,.3);
	font-family:inherit;
}
.pcc-revisit:hover{filter:brightness(1.08);}
.pcc-revisit-left{left:16px;}
.pcc-revisit-right{right:16px;}

/* ---------- Footer links ---------- */
.pcc-footer-links{text-align:center;padding:10px;font-size:13px;}
.pcc-footer-links a{cursor:pointer;}

/* ---------- Responsive ---------- */
@media (max-width:640px){
	.pcc-banner-actions{width:100%;}
	.pcc-banner-actions .pcc-btn{flex:1 1 100%;}
	.pcc-box .pcc-banner{left:10px;right:10px;bottom:10px;max-width:none;}
	.pcc-dialog{padding:18px;}
}
