/* Site-wide BwGradual typography (forms, third-party widgets, etc.) */
/* @font-face rules are injected by Plugin::enqueue_global_typography() with absolute URLs. */

body,
body :where(
	h1, h2, h3, h4, h5, h6,
	p, a, li, span, label, button, input, textarea, select,
	.elementor-heading-title,
	.elementor-icon-list-text,
	.icesco-motion-text-split__text,
	.ld-fh-element,
	.lqd-iconbox-heading,
	.iconbox .contents p,
	.emwp-event-card__title,
	.emwp-event-card__excerpt,
	.emwp-event-card__link,
	.icesco-event-grid__title,
	.icesco-event-grid__excerpt,
	.icesco-waitlist-button__label
) {
	font-family: "BwGradual", sans-serif;
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

._frm-b1,
._frm-b1 :where(p, span, label, input, textarea, select, button, a),
[id^="bitforms_"] form,
[id^="bitforms_"] form :where(p, span, label, input, textarea, select, button, a) {
	font-family: "BwGradual", sans-serif !important;
	font-synthesis: none;
}

/* Brand link + inline highlight colors in post content */
:root {
	--icesco-brand-primary: #00968b;
	--icesco-brand-primary-dark: #007a70;
	--icesco-brand-navy: #062f42;
}

.elementor-widget-theme-post-content a,
.elementor-widget-theme-post-content a.icesco-brand-link,
.single .entry-content a,
.icesco-brand-link {
	color: var(--icesco-brand-primary);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
	transition: color 0.2s ease;
}

.elementor-widget-theme-post-content a:hover,
.elementor-widget-theme-post-content a:focus-visible,
.elementor-widget-theme-post-content a.icesco-brand-link:hover,
.elementor-widget-theme-post-content a.icesco-brand-link:focus-visible,
.single .entry-content a:hover,
.single .entry-content a:focus-visible,
.icesco-brand-link:hover,
.icesco-brand-link:focus-visible {
	color: var(--icesco-brand-primary-dark);
}

/* Map leftover Gutenberg highlight classes to brand colors */
.elementor-widget-theme-post-content mark.has-inline-color,
.single .entry-content mark.has-inline-color {
	background: transparent;
	color: inherit;
}

.elementor-widget-theme-post-content mark.has-vivid-green-cyan-color,
.elementor-widget-theme-post-content .has-vivid-green-cyan-color,
.single .entry-content mark.has-vivid-green-cyan-color,
.single .entry-content .has-vivid-green-cyan-color {
	color: var(--icesco-brand-primary) !important;
}

.elementor-widget-theme-post-content mark.has-black-color,
.elementor-widget-theme-post-content .has-black-color,
.single .entry-content mark.has-black-color,
.single .entry-content .has-black-color {
	color: var(--icesco-brand-navy) !important;
}

/* News single: tighten post body spacing and list readability */
.elementor-widget-theme-post-content > .elementor-widget-container > :first-child {
	margin-block-start: 0;
}

.elementor-widget-theme-post-content p {
	margin-block: 0 1em;
}

.elementor-widget-theme-post-content p:last-child {
	margin-block-end: 0;
}

.elementor-widget-theme-post-content ul.wp-block-list,
.elementor-widget-theme-post-content ol.wp-block-list,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
	margin-block: 0.5em 1em;
	padding-inline-start: 1.35em;
}

.elementor-widget-theme-post-content li {
	margin-block: 0.35em;
}

.elementor-widget-theme-post-content .wp-block-image,
.elementor-widget-theme-post-content figure {
	margin-block: 1em;
}

.elementor-widget-theme-post-content .wp-block-image img,
.elementor-widget-theme-post-content figure img {
	display: block;
	height: auto;
	max-width: 100%;
}
