/*
 * Page Editor blocks: shortcode/embed, icon list, icon box (#28).
 *
 * Colours come only from the tenant's --fleet-* tokens, with fallbacks. The
 * theme armour is not on ordinary tenant pages, so every link state is declared
 * here, and list/heading resets are explicit so a theme's ul/li/h3 rules do not
 * reshape the blocks.
 */

.ff-embed--note {
	padding: 16px 18px;
	border: 1px dashed var(--fleet-primary-color, #e0a241);
	border-radius: 6px;
	font-size: 14px;
	opacity: .85;
}

/* ── icon list ─────────────────────────────────────────────────────────── */

.ff-icon-list {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: grid;
	gap: 10px;
}
.ff-icon-list--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
}
.ff-icon-list .ff-icon-list__item {
	margin: 0;
	padding: 0;
	list-style: none;
	background: none;
}
.ff-icon-list .ff-icon-list__item::before,
.ff-icon-list .ff-icon-list__item::marker {
	content: none;
}
.ff-icon-list__item,
.ff-icon-list__link {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.5;
}
.ff-icon-list__icon {
	flex: 0 0 auto;
	width: 1.25em;
	height: 1.25em;
	margin-top: .1em;
	color: var(--fleet-primary-color, #e0a241);
}
.ff-icon-list__link,
.ff-icon-list__link:visited {
	color: inherit;
	text-decoration: none;
}
.ff-icon-list__link:hover .ff-icon-list__text,
.ff-icon-list__link:focus-visible .ff-icon-list__text {
	color: var(--fleet-primary-color, #e0a241);
	text-decoration: underline;
}
.ff-icon-list__link:focus-visible {
	outline: 2px solid var(--fleet-primary-color, #e0a241);
	outline-offset: 2px;
	border-radius: 3px;
}

/* ── icon box ──────────────────────────────────────────────────────────── */

.ff-icon-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
	margin: 0 0 16px;
}
.ff-icon-box--align-left {
	align-items: flex-start;
	text-align: left;
}
.ff-icon-box--left {
	flex-direction: row;
	align-items: flex-start;
	text-align: left;
	gap: 16px;
}
.ff-icon-box__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	color: var(--fleet-primary-color, #e0a241);
	background: color-mix(in srgb, var(--fleet-primary-color, #e0a241) 14%, transparent);
}
.ff-icon-box__icon .ff-icon {
	width: 28px;
	height: 28px;
}
.ff-icon-box .ff-icon-box__title {
	margin: 0 0 6px;
	padding: 0;
	font-size: 1.15em;
	line-height: 1.3;
	color: inherit;
}
.ff-icon-box__title a,
.ff-icon-box__title a:visited {
	color: inherit;
	text-decoration: none;
}
.ff-icon-box__title a:hover,
.ff-icon-box__title a:focus-visible {
	color: var(--fleet-primary-color, #e0a241);
	text-decoration: underline;
}
.ff-icon-box__title a:focus-visible {
	outline: 2px solid var(--fleet-primary-color, #e0a241);
	outline-offset: 2px;
}
.ff-icon-box .ff-icon-box__text {
	margin: 0;
	line-height: 1.6;
	opacity: .85;
}

@media (max-width: 680px) {
	.ff-icon-box--left {
		flex-direction: column;
	}
}
