/*
 * LoginEKO Legal Docs — base styles.
 *
 * Everything visual is a custom property, so a theme restyles the document
 * by setting --logineko-legal-docs-* on .logineko-legal-docs (or higher).
 */

.logineko-legal-docs {
	--logineko-legal-docs-max-width: 48rem;
	--logineko-legal-docs-text: inherit;
	--logineko-legal-docs-link: inherit;
	--logineko-legal-docs-gap: 1em;
	--logineko-legal-docs-notice-background: color-mix(in srgb, #fff 65%, transparent);
	--logineko-legal-docs-notice-border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
	--logineko-legal-docs-notice-radius: 8px;
	--logineko-legal-docs-notice-space-after: 1rem;

	max-width: var(--logineko-legal-docs-max-width);
	color: var(--logineko-legal-docs-text);
	overflow-wrap: anywhere;
}

.logineko-legal-docs--markdown > * + * {
	margin-top: var(--logineko-legal-docs-gap);
}

.logineko-legal-docs--markdown h1 {
	font-size: 2.75em;
}

.logineko-legal-docs--markdown h2 {
	font-size: 1.75em;
}

.logineko-legal-docs--markdown h3 {
	font-size: 1.5em;
	font-family: var(--font-regular);
}

.logineko-legal-docs--markdown h4 {
	font-size: 1.25em;
	font-family: var(--font-regular);
}

/* Translation disclaimer (see logineko_legal_docs_split_notice()). */
.logineko-legal-docs__notice {
	padding: 1em 1.25em;
	border: var(--logineko-legal-docs-notice-border);
	border-radius: var(--logineko-legal-docs-notice-radius);
	background: var(--logineko-legal-docs-notice-background);
	font-size: 0.9em;
	/* Collapses with the next block's gap, so add the gap back in. */
	margin-bottom: calc(var(--logineko-legal-docs-gap) + var(--logineko-legal-docs-notice-space-after));
}

.logineko-legal-docs__notice p:last-child {
	margin-bottom: 0;
}

.logineko-legal-docs__notice > * + * {
	margin-top: 0.5em;
}

.logineko-legal-docs--markdown ul,
.logineko-legal-docs--markdown ol {
	padding-left: 1.5em;
}

.logineko-legal-docs--markdown ul {
	list-style: disc;
}

.logineko-legal-docs--markdown ol {
	list-style: decimal;
}

.logineko-legal-docs--markdown li + li {
	margin-top: 0.4em;
}

.logineko-legal-docs--markdown a {
	color: var(--logineko-legal-docs-link);
	text-decoration: underline;
}

/* Iframe (Google Doc) */

.logineko-legal-docs--iframe {
	--logineko-legal-docs-max-width: none;
}

.logineko-legal-docs__iframe {
	display: block;
	width: 100%;
	height: var(--logineko-legal-docs-iframe-height, 80vh);
	padding: var(--logineko-legal-docs-iframe-padding, 0);
	margin: 0;
	background: var(--logineko-legal-docs-iframe-background, #fff);
	border: var(--logineko-legal-docs-iframe-border, 0);
	border-radius: var(--logineko-legal-docs-iframe-radius, 12px 12px 0 0);
	box-sizing: border-box;
}

/* Editor-only messages */

.logineko-legal-docs__error {
	padding: 0.75em 1em;
	border-left: 4px solid #d63638;
	background: #fcf0f1;
	color: #1e1e1e;
	font-size: 0.9em;
}

.logineko-legal-docs__placeholder {
	padding: 1.5em;
	border: 1px dashed currentColor;
	opacity: 0.7;
}
