/* Ciambella Privacy Suite - stile pagine Privacy/Cookie Policy generate */
.cps-policy {
	--cps-accent: #0b5cab;
	--cps-ink: #1d2430;
	--cps-muted: #5b6573;
	--cps-line: #e6e9ef;
	max-width: 820px;
	margin: 0 auto;
	color: var(--cps-ink);
	line-height: 1.65;
	font-size: 16px;
}

.cps-policy h2 {
	font-size: 1.4em;
	letter-spacing: -.01em;
	margin: 2em 0 .4em;
	padding-top: .3em;
	border-top: 1px solid var(--cps-line);
	color: #0f172a;
}
.cps-policy h2:first-of-type { border-top: 0; }
.cps-policy h3 {
	font-size: 1.1em;
	margin: 1.4em 0 .3em;
	color: #0f172a;
}
.cps-policy p,
.cps-policy li { color: #2b3340; }
.cps-policy ul { padding-left: 1.3em; }
.cps-policy li { margin-bottom: .4em; }
.cps-policy a { color: var(--cps-accent); text-underline-offset: 2px; }
.cps-policy em { color: var(--cps-muted); }

/* Blocco "Titolare" (primo paragrafo dopo l'H2 Titolare) e in cookie policy */
.cps-policy h2 + p strong:first-child { color: #0f172a; }

/* Tabelle servizi */
.cps-policy .cps-policy-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0 1.6em;
	font-size: .92em;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0 0 1px var(--cps-line);
}
.cps-policy .cps-policy-table th,
.cps-policy .cps-policy-table td {
	border: 1px solid var(--cps-line);
	padding: 10px 13px;
	text-align: left;
	vertical-align: top;
}
.cps-policy .cps-policy-table th {
	background: #f6f8fb;
	font-weight: 600;
	color: #0f172a;
}
.cps-policy .cps-policy-table tr:nth-child(even) td { background: #fafbfc; }

/* Pulsante "Gestisci le preferenze cookie" dentro la policy */
.cps-policy .cps-manage-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--cps-accent);
	color: #fff;
	border: 0;
	border-radius: 11px;
	padding: 13px 22px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 6px 16px -6px color-mix(in srgb, var(--cps-accent) 75%, transparent);
	transition: filter .15s ease, transform .08s ease;
	font-family: inherit;
}
.cps-policy .cps-manage-btn:hover { filter: brightness(1.06); }
.cps-policy .cps-manage-btn:active { transform: translateY(1px); }

@media (max-width: 640px) {
	.cps-policy { font-size: 15px; }
	.cps-policy .cps-policy-table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Tabelle come blocco Gutenberg: la classe è sulla <figure>, lo stile va sulla <table> interna. */
.cps-policy figure.cps-policy-table { margin: 1em 0 1.5em; overflow-x: auto; border: 0; }
.cps-policy figure.cps-policy-table table { width: 100%; border-collapse: collapse; font-size: .95em; }
.cps-policy figure.cps-policy-table th,
.cps-policy figure.cps-policy-table td { padding: 10px 12px; border-bottom: 1px solid #e5e7eb; text-align: left; vertical-align: top; }
.cps-policy figure.cps-policy-table th { background: #f3f4f6; font-weight: 600; }
