/**
 * Lucide icon font for the Button block's icon picker.
 *
 * This is a plain, static stylesheet - it is intentionally NOT part of the
 * src/ Sass build pipeline. It is enqueued directly (see
 * Chairforce\Lucide_Icons in /lib/class-lucide-icons.php) on the
 * `enqueue_block_assets` hook, which loads it globally on the frontend and
 * inside the block editor's iframed canvas alike.
 *
 * The header, @font-face and base rules below are hand-written. The glyph
 * rules between the generated-region markers at the bottom of this file
 * are GENERATED - do not edit them by hand. See "To add a new icon".
 *
 * Why a static file instead of building it: when this same content was
 * compiled through the theme's webpack/Sass/cssnano pipeline, cssnano's
 * production minification silently stripped the `content: "\eXXX"` glyph
 * values (reproducible only inside the real build, not in isolation - a
 * tooling bug we couldn't pin down). Since icons are used on nearly every
 * screen, and this file has no reason to change often, hand-authoring it
 * as a static asset sidesteps that bug entirely and matches the approach
 * used by other working WordPress icon-font implementations (see the
 * reference `jksn-button-icon-fonts` plugin).
 *
 * Font source: lucide-static (https://github.com/lucide-icons/lucide).
 * assets/fonts/lucide/lucide.woff2 + .woff are NOT the upstream files -
 * they are generated by tools/generate-icon-surfaces.mjs, subset to
 * exactly the curated glyphs, in the same run that writes the codepoints
 * below. Upstream ships ~2,000 glyphs in a 274KB woff2; the subset is
 * around 15KB. Never hand-copy a font out of node_modules over these, or
 * a lucide-static upgrade can shift codepoints out from under this file.
 *
 * Icon set is intentionally curated (not the full ~2,000 Lucide library)
 * to match the project's Figma design system. That curation is also what
 * makes the subsetting above possible.
 *
 * All classes use a `cf-` prefix (instead of generic names like
 * `has-icon`/`icon-left`, which the `jksn-button-icon-fonts` reference
 * plugin used as `ic-*`) to avoid colliding with similarly-generic
 * class names from other plugins/themes.
 *
 * Each button glyph rule is duplicated with an `.editor-styles-wrapper`
 * ancestor prefix for defensive editor compatibility (matching the
 * `jksn-button-icon-fonts` reference plugin's technique), plus a third,
 * context-free `.cf-icon-preview` selector so the same glyph can be
 * rendered as a standalone swatch anywhere in the admin UI - e.g. the
 * icon picker's ComboboxControl in src/js-admin/button-icons.js - not
 * just inside a `.wp-block-button__link`.
 *
 * To add a new icon:
 * 1. Add `{ slug: '...', label: '...' }` to CHAIRFORCE_LUCIDE_ICON_OPTIONS
 *    in src/js-admin/lucide-icon-options.js.
 * 2. Run `npm run build:icons`. That rewrites the glyph rules here, the
 *    Sass codepoint map, the Icon Block entries, the menu ACF choices,
 *    and re-subsets the webfonts.
 *
 * Custom Figma icons (not in the Lucide font) use an SVG mask instead -
 * see `.cf-icon-paper-plane` at the bottom of this file.
 */

@font-face {
  font-family: 'Lucide';
  src:
    url('../fonts/lucide/lucide.woff2?v=6afe00e3') format('woff2'),
    url('../fonts/lucide/lucide.woff?v=6afe00e3') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.wp-block-button.cf-has-icon .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.cf-has-icon .wp-block-button__link {
  display: inline-flex;
  align-items: inherit;
  gap: 0.5em;
  justify-content: inherit;
}

.wp-block-button.cf-has-icon .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-has-icon .wp-block-button__link::before {
  font-family: 'Lucide' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-size: 1em;
  /* Icon is first (left) by default; .cf-icon-right flips it via order. */
  order: -1;
}

.wp-block-button.cf-has-icon.cf-icon-right .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-has-icon.cf-icon-right .wp-block-button__link::before {
  order: 1;
}

/**
 * Standalone icon preview swatch, used outside the Button block (e.g. in
 * the icon picker's ComboboxControl, header utility nav, cart icon).
 * Usage: <span class="cf-icon-preview cf-icon-{slug}" />
 *
 * Uses an inline-flex 1em square box centered on its own ::before glyph
 * (pseudo-elements are treated as flex children), rather than relying on
 * text-line-height metrics, so the glyph is reliably centered regardless
 * of context/font-size.
 */
.cf-icon-preview {
  font-family: 'Lucide' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
}

/* --- Icon glyphs (one rule per slug in CHAIRFORCE_LUCIDE_ICON_OPTIONS) --- */
/* cf-icons:start - generated by tools/generate-icon-surfaces.mjs */
.wp-block-button.cf-icon-arrow-left .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-arrow-left .wp-block-button__link::before,
.cf-icon-preview.cf-icon-arrow-left::before {
  content: "\e048";
}

.wp-block-button.cf-icon-arrow-right .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-arrow-right .wp-block-button__link::before,
.cf-icon-preview.cf-icon-arrow-right::before {
  content: "\e049";
}

.wp-block-button.cf-icon-chevron-up .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-chevron-up .wp-block-button__link::before,
.cf-icon-preview.cf-icon-chevron-up::before {
  content: "\e070";
}

.wp-block-button.cf-icon-chevron-down .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-chevron-down .wp-block-button__link::before,
.cf-icon-preview.cf-icon-chevron-down::before {
  content: "\e06d";
}

.wp-block-button.cf-icon-chevron-left .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-chevron-left .wp-block-button__link::before,
.cf-icon-preview.cf-icon-chevron-left::before {
  content: "\e06e";
}

.wp-block-button.cf-icon-chevron-right .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-chevron-right .wp-block-button__link::before,
.cf-icon-preview.cf-icon-chevron-right::before {
  content: "\e06f";
}

.wp-block-button.cf-icon-menu .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-menu .wp-block-button__link::before,
.cf-icon-preview.cf-icon-menu::before {
  content: "\e115";
}

.wp-block-button.cf-icon-x .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-x .wp-block-button__link::before,
.cf-icon-preview.cf-icon-x::before {
  content: "\e1b2";
}

.wp-block-button.cf-icon-check .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-check .wp-block-button__link::before,
.cf-icon-preview.cf-icon-check::before {
  content: "\e06c";
}

.wp-block-button.cf-icon-check-circle .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-check-circle .wp-block-button__link::before,
.cf-icon-preview.cf-icon-check-circle::before {
  content: "\e07c";
}

.wp-block-button.cf-icon-badge-check .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-badge-check .wp-block-button__link::before,
.cf-icon-preview.cf-icon-badge-check::before {
  content: "\e241";
}

.wp-block-button.cf-icon-clipboard-list .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-clipboard-list .wp-block-button__link::before,
.cf-icon-preview.cf-icon-clipboard-list::before {
  content: "\e086";
}

.wp-block-button.cf-icon-filter .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-filter .wp-block-button__link::before,
.cf-icon-preview.cf-icon-filter::before {
  content: "\e0dc";
}

.wp-block-button.cf-icon-minus .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-minus .wp-block-button__link::before,
.cf-icon-preview.cf-icon-minus::before {
  content: "\e11c";
}

.wp-block-button.cf-icon-plus .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-plus .wp-block-button__link::before,
.cf-icon-preview.cf-icon-plus::before {
  content: "\e13d";
}

.wp-block-button.cf-icon-search .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-search .wp-block-button__link::before,
.cf-icon-preview.cf-icon-search::before {
  content: "\e151";
}

.wp-block-button.cf-icon-sliders-horizontal .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-sliders-horizontal .wp-block-button__link::before,
.cf-icon-preview.cf-icon-sliders-horizontal::before {
  content: "\e29a";
}

.wp-block-button.cf-icon-trash-2 .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-trash-2 .wp-block-button__link::before,
.cf-icon-preview.cf-icon-trash-2::before {
  content: "\e18e";
}

.wp-block-button.cf-icon-grid-2x2 .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-grid-2x2 .wp-block-button__link::before,
.cf-icon-preview.cf-icon-grid-2x2::before {
  content: "\e4ff";
}

.wp-block-button.cf-icon-grid-3x3 .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-grid-3x3 .wp-block-button__link::before,
.cf-icon-preview.cf-icon-grid-3x3::before {
  content: "\e0e9";
}

.wp-block-button.cf-icon-list .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-list .wp-block-button__link::before,
.cf-icon-preview.cf-icon-list::before {
  content: "\e106";
}

.wp-block-button.cf-icon-eye .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-eye .wp-block-button__link::before,
.cf-icon-preview.cf-icon-eye::before {
  content: "\e0ba";
}

.wp-block-button.cf-icon-hand-heart .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-hand-heart .wp-block-button__link::before,
.cf-icon-preview.cf-icon-hand-heart::before {
  content: "\e5b9";
}

.wp-block-button.cf-icon-handshake .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-handshake .wp-block-button__link::before,
.cf-icon-preview.cf-icon-handshake::before {
  content: "\e5c0";
}

.wp-block-button.cf-icon-heart .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-heart .wp-block-button__link::before,
.cf-icon-preview.cf-icon-heart::before {
  content: "\e0f2";
}

.wp-block-button.cf-icon-smile .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-smile .wp-block-button__link::before,
.cf-icon-preview.cf-icon-smile::before {
  content: "\e164";
}

.wp-block-button.cf-icon-smile-plus .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-smile-plus .wp-block-button__link::before,
.cf-icon-preview.cf-icon-smile-plus::before {
  content: "\e301";
}

.wp-block-button.cf-icon-thumbs-up .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-thumbs-up .wp-block-button__link::before,
.cf-icon-preview.cf-icon-thumbs-up::before {
  content: "\e18a";
}

.wp-block-button.cf-icon-user .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-user .wp-block-button__link::before,
.cf-icon-preview.cf-icon-user::before {
  content: "\e19f";
}

.wp-block-button.cf-icon-user-plus .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-user-plus .wp-block-button__link::before,
.cf-icon-preview.cf-icon-user-plus::before {
  content: "\e1a2";
}

.wp-block-button.cf-icon-mail .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-mail .wp-block-button__link::before,
.cf-icon-preview.cf-icon-mail::before {
  content: "\e10f";
}

.wp-block-button.cf-icon-mail-open .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-mail-open .wp-block-button__link::before,
.cf-icon-preview.cf-icon-mail-open::before {
  content: "\e363";
}

.wp-block-button.cf-icon-megaphone .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-megaphone .wp-block-button__link::before,
.cf-icon-preview.cf-icon-megaphone::before {
  content: "\e235";
}

.wp-block-button.cf-icon-message-circle-check .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-message-circle-check .wp-block-button__link::before,
.cf-icon-preview.cf-icon-message-circle-check::before {
  content: "\e6ba";
}

.wp-block-button.cf-icon-messages-square .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-messages-square .wp-block-button__link::before,
.cf-icon-preview.cf-icon-messages-square::before {
  content: "\e40d";
}

.wp-block-button.cf-icon-notebook-pen .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-notebook-pen .wp-block-button__link::before,
.cf-icon-preview.cf-icon-notebook-pen::before {
  content: "\e596";
}

.wp-block-button.cf-icon-phone .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-phone .wp-block-button__link::before,
.cf-icon-preview.cf-icon-phone::before {
  content: "\e133";
}

.wp-block-button.cf-icon-share-2 .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-share-2 .wp-block-button__link::before,
.cf-icon-preview.cf-icon-share-2::before {
  content: "\e156";
}

.wp-block-button.cf-icon-layers .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-layers .wp-block-button__link::before,
.cf-icon-preview.cf-icon-layers::before {
  content: "\e529";
}

.wp-block-button.cf-icon-briefcase .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-briefcase .wp-block-button__link::before,
.cf-icon-preview.cf-icon-briefcase::before {
  content: "\e062";
}

.wp-block-button.cf-icon-credit-card .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-credit-card .wp-block-button__link::before,
.cf-icon-preview.cf-icon-credit-card::before {
  content: "\e0aa";
}

.wp-block-button.cf-icon-package .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-package .wp-block-button__link::before,
.cf-icon-preview.cf-icon-package::before {
  content: "\e129";
}

.wp-block-button.cf-icon-percent .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-percent .wp-block-button__link::before,
.cf-icon-preview.cf-icon-percent::before {
  content: "\e132";
}

.wp-block-button.cf-icon-shopping-bag .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-shopping-bag .wp-block-button__link::before,
.cf-icon-preview.cf-icon-shopping-bag::before {
  content: "\e15b";
}

.wp-block-button.cf-icon-shopping-cart .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-shopping-cart .wp-block-button__link::before,
.cf-icon-preview.cf-icon-shopping-cart::before {
  content: "\e15c";
}

.wp-block-button.cf-icon-store .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-store .wp-block-button__link::before,
.cf-icon-preview.cf-icon-store::before {
  content: "\e3e4";
}

.wp-block-button.cf-icon-tag .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-tag .wp-block-button__link::before,
.cf-icon-preview.cf-icon-tag::before {
  content: "\e17f";
}

.wp-block-button.cf-icon-truck .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-truck .wp-block-button__link::before,
.cf-icon-preview.cf-icon-truck::before {
  content: "\e194";
}

.wp-block-button.cf-icon-wallet .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-wallet .wp-block-button__link::before,
.cf-icon-preview.cf-icon-wallet::before {
  content: "\e204";
}

.wp-block-button.cf-icon-album .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-album .wp-block-button__link::before,
.cf-icon-preview.cf-icon-album::before {
  content: "\e03b";
}

.wp-block-button.cf-icon-book-open .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-book-open .wp-block-button__link::before,
.cf-icon-preview.cf-icon-book-open::before {
  content: "\e05f";
}

.wp-block-button.cf-icon-file-text .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-file-text .wp-block-button__link::before,
.cf-icon-preview.cf-icon-file-text::before {
  content: "\e0cc";
}

.wp-block-button.cf-icon-pencil .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-pencil .wp-block-button__link::before,
.cf-icon-preview.cf-icon-pencil::before {
  content: "\e1f9";
}

.wp-block-button.cf-icon-map-pin .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-map-pin .wp-block-button__link::before,
.cf-icon-preview.cf-icon-map-pin::before {
  content: "\e111";
}

.wp-block-button.cf-icon-map-pinned .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-map-pinned .wp-block-button__link::before,
.cf-icon-preview.cf-icon-map-pinned::before {
  content: "\e53d";
}

.wp-block-button.cf-icon-map-plus .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-map-plus .wp-block-button__link::before,
.cf-icon-preview.cf-icon-map-plus::before {
  content: "\e63f";
}

.wp-block-button.cf-icon-clock .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-clock .wp-block-button__link::before,
.cf-icon-preview.cf-icon-clock::before {
  content: "\e087";
}

.wp-block-button.cf-icon-gauge .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-gauge .wp-block-button__link::before,
.cf-icon-preview.cf-icon-gauge::before {
  content: "\e1bf";
}

.wp-block-button.cf-icon-trending-up .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-trending-up .wp-block-button__link::before,
.cf-icon-preview.cf-icon-trending-up::before {
  content: "\e191";
}

.wp-block-button.cf-icon-award .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-award .wp-block-button__link::before,
.cf-icon-preview.cf-icon-award::before {
  content: "\e04f";
}

.wp-block-button.cf-icon-circle-star .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-circle-star .wp-block-button__link::before,
.cf-icon-preview.cf-icon-circle-star::before {
  content: "\e68d";
}

.wp-block-button.cf-icon-medal .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-medal .wp-block-button__link::before,
.cf-icon-preview.cf-icon-medal::before {
  content: "\e36f";
}

.wp-block-button.cf-icon-star .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-star .wp-block-button__link::before,
.cf-icon-preview.cf-icon-star::before {
  content: "\e176";
}

.wp-block-button.cf-icon-trophy .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-trophy .wp-block-button__link::before,
.cf-icon-preview.cf-icon-trophy::before {
  content: "\e373";
}

.wp-block-button.cf-icon-shield .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-shield .wp-block-button__link::before,
.cf-icon-preview.cf-icon-shield::before {
  content: "\e158";
}

.wp-block-button.cf-icon-shield-check .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-shield-check .wp-block-button__link::before,
.cf-icon-preview.cf-icon-shield-check::before {
  content: "\e1ff";
}

.wp-block-button.cf-icon-drill .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-drill .wp-block-button__link::before,
.cf-icon-preview.cf-icon-drill::before {
  content: "\e58d";
}

.wp-block-button.cf-icon-gavel .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-gavel .wp-block-button__link::before,
.cf-icon-preview.cf-icon-gavel::before {
  content: "\e0e0";
}

.wp-block-button.cf-icon-hammer .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-hammer .wp-block-button__link::before,
.cf-icon-preview.cf-icon-hammer::before {
  content: "\e0ec";
}

.wp-block-button.cf-icon-leaf .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-leaf .wp-block-button__link::before,
.cf-icon-preview.cf-icon-leaf::before {
  content: "\e2de";
}

.wp-block-button.cf-icon-lightbulb .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-lightbulb .wp-block-button__link::before,
.cf-icon-preview.cf-icon-lightbulb::before {
  content: "\e1c2";
}

.wp-block-button.cf-icon-recycle .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-recycle .wp-block-button__link::before,
.cf-icon-preview.cf-icon-recycle::before {
  content: "\e2e9";
}

.wp-block-button.cf-icon-wrench .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-wrench .wp-block-button__link::before,
.cf-icon-preview.cf-icon-wrench::before {
  content: "\e1b1";
}

.wp-block-button.cf-icon-wrench-off .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-wrench-off .wp-block-button__link::before,
.cf-icon-preview.cf-icon-wrench-off::before {
  content: "\e70b";
}

.wp-block-button.cf-icon-zap .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-zap .wp-block-button__link::before,
.cf-icon-preview.cf-icon-zap::before {
  content: "\e1b4";
}

/* --- Custom Figma icons (SVG mask, not Lucide font) --- */

.wp-block-button.cf-icon-paper-plane .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.cf-icon-paper-plane .wp-block-button__link::before,
.cf-icon-preview.cf-icon-paper-plane::before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  mask: url('../icons/paper-plane.svg') no-repeat center / contain;
  -webkit-mask: url('../icons/paper-plane.svg') no-repeat center / contain;
}
/* cf-icons:end */
