/* FunnelHub — global landing icon compatibility layer.
   Renders flaticon-* classes from imported ThemeForest packs without any
   external CDN, font file, or paid Flaticon licence. Uses inline SVG via
   CSS `mask-image` so the icon color follows `color` and size follows
   `font-size` (or width/height overrides). Coexists with FontAwesome,
   Bootstrap Icons, Tabler, Remix, Phosphor, Lucide, Heroicons, raw SVGs
   and any other icon pack — the selector targets only `[class*="flaticon-"]`.
   Loaded by `resources/views/funnelhub/public/partials/_landing-icons.blade.php`. */

[class*="flaticon-"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    speak: none;
    background-color: currentColor;
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-image: var(--fh-icon, none);
            mask-image: var(--fh-icon, none);
}

/* If a legacy `flaticon` font ever DOES get loaded (paid licence), its
   glyph would render via `::before { content: '\eXXX' }`. Suppress those
   pseudos so our SVG-mask fallback is the single source of truth. */
[class*="flaticon-"]::before,
[class*="flaticon-"]::after {
    content: none !important;
}

/* ───── Core glyphs (Lucide-derived, MIT licensed) ───── */

.flaticon-layout {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='9'/><rect x='14' y='3' width='7' height='5'/><rect x='14' y='12' width='7' height='9'/><rect x='3' y='16' width='7' height='5'/></svg>");
}

.flaticon-check,
.flaticon-checkmark,
.flaticon-tick,
.flaticon-check-mark {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}

.flaticon-shopping-cart,
.flaticon-cart,
.flaticon-shopping-bag,
.flaticon-bag {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/></svg>");
}

.flaticon-phone-call,
.flaticon-phone,
.flaticon-call,
.flaticon-telephone {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z'/></svg>");
}

.flaticon-star,
.flaticon-rating,
.flaticon-favorite {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>");
}

/* ───── Aliases for commonly-imported variants ───── */

.flaticon-truck,
.flaticon-delivery,
.flaticon-shipping,
.flaticon-free-shipping {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='1' y='3' width='15' height='13'/><polygon points='16 8 20 8 23 11 23 16 16 16 16 8'/><circle cx='5.5' cy='18.5' r='2.5'/><circle cx='18.5' cy='18.5' r='2.5'/></svg>");
}

.flaticon-shield,
.flaticon-secure,
.flaticon-security,
.flaticon-guarantee,
.flaticon-protect,
.flaticon-protection {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/></svg>");
}

.flaticon-heart,
.flaticon-like,
.flaticon-love,
.flaticon-favorites {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>");
}

.flaticon-mail,
.flaticon-email,
.flaticon-envelope,
.flaticon-message {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
}

.flaticon-user,
.flaticon-account,
.flaticon-profile,
.flaticon-person {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>");
}

.flaticon-search,
.flaticon-magnifier,
.flaticon-find {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
}

.flaticon-clock,
.flaticon-time,
.flaticon-watch {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>");
}

.flaticon-location,
.flaticon-map,
.flaticon-pin,
.flaticon-marker,
.flaticon-place {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
}

.flaticon-info,
.flaticon-info-circle,
.flaticon-question {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>");
}

.flaticon-arrow,
.flaticon-arrow-right,
.flaticon-right-arrow,
.flaticon-next {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");
}

.flaticon-menu,
.flaticon-hamburger,
.flaticon-bars {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='3' y1='12' x2='21' y2='12'/><line x1='3' y1='6' x2='21' y2='6'/><line x1='3' y1='18' x2='21' y2='18'/></svg>");
}

.flaticon-close,
.flaticon-cancel,
.flaticon-cross,
.flaticon-x {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}

.flaticon-plus,
.flaticon-add {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='5' x2='12' y2='19'/><line x1='5' y1='12' x2='19' y2='12'/></svg>");
}

.flaticon-minus,
.flaticon-remove {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/></svg>");
}

/* Catch-all — any `flaticon-*` class without a specific mapping above falls
   back to a neutral dot so the layout doesn't break. Keeps the icon's text
   color + reserves the same 1em footprint as a mapped glyph. */
[class*="flaticon-"]:not(.flaticon-layout):not(.flaticon-check):not(.flaticon-checkmark):not(.flaticon-tick):not(.flaticon-check-mark):not(.flaticon-shopping-cart):not(.flaticon-cart):not(.flaticon-shopping-bag):not(.flaticon-bag):not(.flaticon-phone-call):not(.flaticon-phone):not(.flaticon-call):not(.flaticon-telephone):not(.flaticon-star):not(.flaticon-rating):not(.flaticon-favorite):not(.flaticon-truck):not(.flaticon-delivery):not(.flaticon-shipping):not(.flaticon-free-shipping):not(.flaticon-shield):not(.flaticon-secure):not(.flaticon-security):not(.flaticon-guarantee):not(.flaticon-protect):not(.flaticon-protection):not(.flaticon-heart):not(.flaticon-like):not(.flaticon-love):not(.flaticon-favorites):not(.flaticon-mail):not(.flaticon-email):not(.flaticon-envelope):not(.flaticon-message):not(.flaticon-user):not(.flaticon-account):not(.flaticon-profile):not(.flaticon-person):not(.flaticon-search):not(.flaticon-magnifier):not(.flaticon-find):not(.flaticon-clock):not(.flaticon-time):not(.flaticon-watch):not(.flaticon-location):not(.flaticon-map):not(.flaticon-pin):not(.flaticon-marker):not(.flaticon-place):not(.flaticon-info):not(.flaticon-info-circle):not(.flaticon-question):not(.flaticon-arrow):not(.flaticon-arrow-right):not(.flaticon-right-arrow):not(.flaticon-next):not(.flaticon-menu):not(.flaticon-hamburger):not(.flaticon-bars):not(.flaticon-close):not(.flaticon-cancel):not(.flaticon-cross):not(.flaticon-x):not(.flaticon-plus):not(.flaticon-add):not(.flaticon-minus):not(.flaticon-remove) {
    --fh-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='none'><circle cx='12' cy='12' r='3'/></svg>");
}
