/**
 * LWD Material Icons – Icon Styles
 *
 * Basis-Styles für die Material Symbols Outlined Icons in Elementor.
 * Font wird lokal aus dem Plugin geladen – keine externen Ressourcen.
 */

@font-face {
	font-family: 'Material Symbols Outlined';
	font-style: normal;
	font-weight: 100 700;
	font-display: block;
	src: url('../fonts/MaterialSymbolsOutlined.woff2') format('woff2');
}

/* Base class for rendering via ligatures */
.lwd-msym,
.material-symbols-outlined {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: inherit;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: 'liga';

	/* Default variable font settings */
	font-variation-settings:
		'FILL' 0,
		'wght' 200,
		'GRAD' 0,
		'opsz' 24;
}

/* Filled variant */
.material-symbols-outlined.filled,
.lwd-msym.filled {
	font-variation-settings:
		'FILL' 1,
		'wght' 200,
		'GRAD' 0,
		'opsz' 24;
}

/* Elementor icon sizing integration */
.elementor-icon .lwd-msym,
.elementor-icon .material-symbols-outlined {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

/* Editor preview styling */
.elementor-control-media__preview .lwd-msym {
	font-size: 20px;
}

/* Icon picker panel styling */
.elementor-icons-manager__tab__item .lwd-msym {
	font-size: 22px;
}

/*
 * Fallback: When Elementor renders icons without our render_icon filter
 * (e.g., in the icon picker preview), we use CSS ::before to inject the
 * icon name as ligature text.
 */
[class*="lwd-msym-"]::before {
	font-family: 'Material Symbols Outlined';
	font-weight: 200;
	font-style: normal;
	font-size: inherit;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: 'liga';
	font-variation-settings:
		'FILL' 0,
		'wght' 200,
		'GRAD' 0,
		'opsz' 24;
}
