#cceu-banner {
	position: fixed;
	z-index: 999999;
	background: var(--cceu-bg, #1f2937);
	color: var(--cceu-text, #f9fafb);
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1.5;
	box-shadow: 0 0 24px rgba(0, 0, 0, 0.25);
}

#cceu-banner * {
	box-sizing: border-box;
}

#cceu-banner[hidden] {
	display: none !important;
}

#cceu-banner a {
	color: var(--cceu-link, #93c5fd);
}

/* Layout: barra in basso / alto, larghezza intera */
#cceu-banner.cceu-layout-bar_bottom,
#cceu-banner.cceu-layout-bar_top {
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	padding: 18px 24px;
}
#cceu-banner.cceu-layout-bar_bottom { bottom: 0; }
#cceu-banner.cceu-layout-bar_top { top: 0; }

/* Layout: box in un angolo */
#cceu-banner.cceu-layout-box_bottom_right,
#cceu-banner.cceu-layout-box_bottom_left {
	bottom: 20px;
	width: 380px;
	max-width: calc(100vw - 40px);
	padding: 20px;
	border-radius: 12px;
}
#cceu-banner.cceu-layout-box_bottom_right { right: 20px; }
#cceu-banner.cceu-layout-box_bottom_left { left: 20px; }

.cceu-banner-main {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
}

.cceu-layout-box_bottom_right .cceu-banner-main,
.cceu-layout-box_bottom_left .cceu-banner-main {
	flex-direction: column;
	align-items: stretch;
}

.cceu-banner-text {
	flex: 1 1 320px;
}

.cceu-title {
	margin: 0 0 6px 0;
	font-weight: 600;
	font-size: 16px;
}

.cceu-description {
	margin: 0;
	opacity: 0.92;
}

.cceu-banner-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	flex-shrink: 0;
}

.cceu-btn {
	border: none;
	border-radius: 6px;
	padding: 10px 16px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.cceu-btn-customize {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
	opacity: 0.85;
}

.cceu-btn-reject {
	background: var(--cceu-reject-bg, #374151);
	color: var(--cceu-reject-text, #f9fafb);
}

.cceu-btn-accept {
	background: var(--cceu-accept-bg, #16a34a);
	color: var(--cceu-accept-text, #ffffff);
}

.cceu-btn-save {
	background: var(--cceu-accept-bg, #16a34a);
	color: var(--cceu-accept-text, #ffffff);
}

.cceu-panel {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	display: grid;
	gap: 14px;
}

.cceu-panel[hidden] {
	display: none;
}

.cceu-category-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	cursor: pointer;
}

.cceu-category-desc {
	margin: 4px 0 0 24px;
	opacity: 0.85;
	font-size: 13px;
}

.cceu-panel-actions {
	display: flex;
	justify-content: flex-end;
}

.cceu-manage-preferences-btn {
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 6px;
	padding: 6px 12px;
	cursor: pointer;
	font-size: 13px;
}

table.cceu-public-cookie-table {
	width: 100%;
	border-collapse: collapse;
}

table.cceu-public-cookie-table th,
table.cceu-public-cookie-table td {
	border: 1px solid #ddd;
	padding: 8px 10px;
	text-align: left;
	font-size: 14px;
}

table.cceu-public-cookie-table th {
	background: #f5f5f5;
}

/* Pulsante flottante sempre visibile */
#cceu-floating-btn {
	position: fixed;
	bottom: 20px;
	z-index: 999998;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: none;
	background: var(--cceu-float-bg, #1f2937);
	color: var(--cceu-float-icon, #f9fafb);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}
#cceu-floating-btn.cceu-floating-bottom-left { left: 20px; }
#cceu-floating-btn.cceu-floating-bottom-right { right: 20px; }
#cceu-floating-btn:hover { opacity: 0.9; }

/* Segnaposto per iframe bloccati (YouTube, Vimeo, Google Maps) */
.cceu-embed-placeholder {
	position: relative;
	width: 100%;
}
.cceu-embed-frame {
	width: 100%;
}
.cceu-embed-frame[hidden] {
	display: none;
}
.cceu-embed-overlay {
	background: #1f2937;
	color: #f9fafb;
	padding: 24px;
	border-radius: 8px;
	text-align: center;
}
.cceu-embed-overlay[hidden] {
	display: none;
}
.cceu-embed-overlay p {
	margin: 0 0 14px 0;
	font-size: 14px;
}
.cceu-embed-overlay-actions {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}
.cceu-embed-overlay-actions button {
	border: none;
	border-radius: 6px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.cceu-embed-overlay-actions button[data-cceu-action="load-embed-once"] {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
}
.cceu-embed-overlay-actions button[data-cceu-action="accept-and-load"] {
	background: #16a34a;
	color: #fff;
}

@media (max-width: 600px) {
	#cceu-banner.cceu-layout-box_bottom_right,
	#cceu-banner.cceu-layout-box_bottom_left {
		left: 12px;
		right: 12px;
		width: auto;
	}
	.cceu-banner-actions {
		width: 100%;
	}
	.cceu-btn {
		flex: 1 1 auto;
	}
}
