.snapweb-cookies-dialog .snapweb-cookies-panel {
	border-radius: var(--snapweb-cookies-panel-radius, 14px) !important;
}

.snapweb-cookies-dialog.is-managing .snapweb-cookies-panel {
	border-radius: var(--snapweb-cookies-expanded-panel-radius, 14px) !important;
}

/* Consent actions follow the host's public button geometry, not Element Plus. */
.snapweb-cookies-dialog .snapweb-cookies-actions button.el-button {
	height: auto;
	min-height: 40px;
	padding: 10px 14px;
	border-radius: var(--snapweb-button-radius, var(--snapweb-control-radius, 10px)) !important;
	font-size: 13px;
	line-height: 1.2;
}

/* Bridge SnapWeb's canonical theme tokens into the optional community-native controls. */
html[data-snapweb-color-mode="dark"] .snapweb-cookies-dialog {
	--fcom-card-bg: var(--snapweb-color-surface, #191b1f);
	--fcom-primary-bg: var(--snapweb-color-surface, #191b1f);
	--fcom-secondary-bg: var(--snapweb-color-surface-muted, #23262c);
	--fcom-primary-text: var(--snapweb-color-heading, #fafafa);
	--fcom-secondary-text: var(--snapweb-color-text, #d1d5db);
	--fcom-border-color: var(--snapweb-color-border, #343840);
}

/* External SVG images do not inherit the button's currentColor. Keep both
 * compact expand and close controls legible on the canonical dark surface. */
html[data-snapweb-color-mode="dark"] .snapweb-cookies-icon-button {
	opacity: 0.78;
}

html[data-snapweb-color-mode="dark"] .snapweb-cookies-icon-button:hover,
html[data-snapweb-color-mode="dark"] .snapweb-cookies-icon-button:focus-visible {
	opacity: 1;
}

html[data-snapweb-color-mode="dark"] .snapweb-cookies-icon-button img {
	filter: brightness(0) invert(1);
	opacity: 1;
}

/* Disclosures are reading text, not disabled labels. Use the regular text token. */
.snapweb-cookies-dialog .snapweb-cookies-services summary,
.snapweb-cookies-dialog .snapweb-cookies-service > small,
.snapweb-cookies-dialog .snapweb-cookies-service > p,
.snapweb-cookies-dialog .snapweb-cookies-service li span,
.snapweb-cookies-dialog .snapweb-cookies-service li small {
	color: var(--fcom-secondary-text, var(--el-text-color-regular, #606266));
}

#snapweb-session-consent-status {
	position: fixed;
	inset: auto 16px 16px auto;
	z-index: 2147482999;
	box-sizing: border-box;
	width: min(400px, calc(100vw - 32px));
	padding: 16px;
	border: 1px solid var(--snapweb-color-border, #c8ccd3);
	border-radius: 12px;
	background: var(--snapweb-color-surface, #fff);
	color: var(--snapweb-color-text, #303133);
	font: 14px/1.5 system-ui, sans-serif;
	box-shadow: 0 4px 24px rgb(0 0 0 / 12%);
}
#snapweb-session-consent-status[hidden] { display: none; }
#snapweb-session-consent-status p { margin: 0 0 12px; }
#snapweb-session-consent-status button { min-height: 40px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 6px; color: inherit; background: transparent; font: inherit; cursor: pointer; }
#snapweb-session-consent-status button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
html[data-snapweb-color-mode="dark"] #snapweb-session-consent-status { background: var(--snapweb-color-surface, #191b1f); color: var(--snapweb-color-text, #d1d5db); border-color: var(--snapweb-color-border, #343840); }
