:root {
	--wpcp-bg: #1f2937;
	--wpcp-text: #f9fafb;
	--wpcp-title: #ffffff;
	--wpcp-link: #93c5fd;
	--wpcp-link-hover: #bfdbfe;
	--wpcp-primary-bg: #2563eb;
	--wpcp-primary-bg-hover: #1d4ed8;
	--wpcp-primary-text: #ffffff;
	--wpcp-secondary-text: #f9fafb;
	--wpcp-secondary-bg-hover: #374151;
	--wpcp-border: rgba(255, 255, 255, 0.15);
	--wpcp-radius: 12px;
}

.wpcp-banner {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 999999;
	background: var(--wpcp-bg);
	color: var(--wpcp-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.25);
}

.wpcp-pos-bottom { bottom: 0; }
.wpcp-pos-top    { top: 0; box-shadow: 0 2px 16px rgba(0, 0, 0, 0.25); }

.wpcp-layout-box.wpcp-banner {
	left: auto;
	right: 16px;
	max-width: 420px;
	border-radius: var(--wpcp-radius);
	margin: 16px;
}
.wpcp-layout-box.wpcp-pos-bottom { bottom: 0; }

.wpcp-inner {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 16px 24px;
	flex-wrap: wrap;
}

.wpcp-layout-box .wpcp-inner {
	flex-direction: column;
	align-items: stretch;
	padding: 20px;
}

.wpcp-text { flex: 1 1 320px; min-width: 0; }
.wpcp-title { margin: 0 0 4px; font-size: 16px; color: var(--wpcp-title); }
.wpcp-message p { margin: 0 0 6px; }
.wpcp-message a { color: var(--wpcp-link); text-decoration: underline; }

.wpcp-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.wpcp-btn {
	appearance: none;
	border: 1px solid transparent;
	border-radius: var(--wpcp-radius);
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	line-height: 1;
}
.wpcp-btn-primary   { background: var(--wpcp-primary-bg); color: var(--wpcp-primary-text); transition: background-color .15s ease; }
.wpcp-btn-primary:hover { background: var(--wpcp-primary-bg-hover); }
.wpcp-btn-secondary { background: transparent; color: var(--wpcp-secondary-text); border-color: var(--wpcp-border); transition: background-color .15s ease; }
.wpcp-btn-secondary:hover { background: var(--wpcp-secondary-bg-hover); }
.wpcp-btn-link      { background: transparent; color: var(--wpcp-link); padding: 10px 4px; transition: color .15s ease; }
.wpcp-btn-link:hover { color: var(--wpcp-link-hover); text-decoration: underline; }
.wpcp-message a:hover { color: var(--wpcp-link-hover); }

.wpcp-prefs {
	border-top: 1px solid var(--wpcp-border);
	padding: 16px 24px;
}
.wpcp-prefs h3 { margin: 0 0 12px; font-size: 15px; color: var(--wpcp-title); }
.wpcp-categories {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	display: grid;
	gap: 8px;
}
.wpcp-categories li label {
	display: grid;
	grid-template-columns: 24px 1fr;
	column-gap: 8px;
	align-items: start;
	cursor: pointer;
}
.wpcp-categories input[type="checkbox"] { margin-top: 3px; }
.wpcp-categories strong { display: block; color: var(--wpcp-title); }
.wpcp-categories span   { display: block; color: var(--wpcp-text); opacity: 0.85; font-size: 13px; }

@media (max-width: 600px) {
	.wpcp-inner { flex-direction: column; align-items: stretch; }
	.wpcp-actions { justify-content: flex-end; }
	.wpcp-layout-box.wpcp-banner { right: 0; left: 0; margin: 0; border-radius: 0; }
}
