.eucc-banner {
	background: var(--eucc-background, #ffffff);
	border: 1px solid var(--eucc-border, #d4d7dd);
	border-radius: var(--eucc-radius, 0);
	box-shadow: 0 18px 48px rgba(21, 26, 34, 0.18);
	box-sizing: border-box;
	color: var(--eucc-text, #1b1f24);
	display: grid;
	font-family: var(--eucc-font, inherit);
	gap: 18px;
	left: 50%;
	max-width: min(var(--eucc-max-width, 920px), calc(100vw - 32px));
	padding: 20px;
	position: fixed;
	transform: translateX(-50%);
	width: 100%;
	z-index: 99999;
}

.eucc-banner[hidden],
.eucc-banner [hidden] {
	display: none !important;
}

.eucc-banner--bottom {
	bottom: 18px;
}

.eucc-banner--top {
	top: 18px;
}

.eucc-banner__title {
	font-size: var(--eucc-title-size, 20px);
	line-height: 1.25;
	margin: 0 0 8px;
}

.eucc-banner__message {
	font-size: var(--eucc-message-size, 15px);
	line-height: 1.55;
	margin: 0;
}

.eucc-banner__privacy {
	color: var(--eucc-link, #1f2937);
	display: inline-block;
	margin-top: 8px;
}

.eucc-banner__categories {
	display: grid;
	gap: 12px;
	margin-top: 16px;
}

.eucc-category {
	border: 1px solid var(--eucc-border, #e4e7ec);
	border-radius: var(--eucc-radius, 0);
	display: grid;
	gap: 6px;
	padding: 12px;
}

.eucc-category__toggle {
	align-items: center;
	display: flex;
	font-size: var(--eucc-category-size, 15px);
	font-weight: 700;
	gap: 8px;
}

.eucc-category__description {
	color: var(--eucc-muted, #4c5563);
	font-size: var(--eucc-description-size, 14px);
	line-height: 1.45;
}

.eucc-banner__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.eucc-button,
.eucc-preferences-link {
	border: 1px solid var(--eucc-primary-bg, #1f2937);
	border-radius: var(--eucc-radius, 0);
	cursor: pointer;
	font-family: inherit;
	font-size: var(--eucc-button-size, 15px);
	line-height: 1.2;
	min-height: 42px;
	padding: 10px 14px;
}

.eucc-button--primary {
	background: var(--eucc-primary-bg, #1f2937);
	color: var(--eucc-primary-text, #ffffff);
}

.eucc-button--ghost,
.eucc-preferences-link {
	background: var(--eucc-secondary-bg, #ffffff);
	color: var(--eucc-secondary-text, #1f2937);
}

.eucc-preferences-link {
	margin: 0;
}

@media (max-width: 640px) {
	.eucc-banner {
		bottom: 0;
		left: 0;
		max-width: none;
		transform: none;
	}

	.eucc-banner--top {
		bottom: auto;
		top: 0;
	}

	.eucc-banner__actions {
		align-items: stretch;
		flex-direction: column;
	}
}
