/* OV Business Directory - Native icon system
 * Self-contained: no icon font and no third-party CDN required.
 */
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :where(i[class*="fa-"]) {
    --ovsl-native-icon: url("icons/store.svg");
    width: 1.08em !important;
    height: 1.08em !important;
    min-width: 1.08em;
    display: inline-block !important;
    flex: 0 0 1.08em;
    margin: 0;
    background: currentColor !important;
    font-family: inherit !important;
    font-size: 1em !important;
    font-style: normal !important;
    line-height: 1 !important;
    vertical-align: -0.16em;
    -webkit-mask: var(--ovsl-native-icon) center / contain no-repeat !important;
    mask: var(--ovsl-native-icon) center / contain no-repeat !important;
}
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :where(i[class*="fa-"])::before { content: none !important; display: none !important; }

/* Core */
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-search { --ovsl-native-icon:url("icons/search.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-times,.fa-xmark) { --ovsl-native-icon:url("icons/close.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-chevron-down { --ovsl-native-icon:url("icons/chevron-down.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-crosshairs,.fa-location-crosshairs) { --ovsl-native-icon:url("icons/locate.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-map-marker-alt,.fa-location-dot) { --ovsl-native-icon:url("icons/map-pin.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-map-marked-alt,.fa-map) { --ovsl-native-icon:url("icons/map.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-star { --ovsl-native-icon:url("icons/star.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-arrow-right { --ovsl-native-icon:url("icons/arrow-right.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-external-link-alt { --ovsl-native-icon:url("icons/external-link.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-utensils { --ovsl-native-icon:url("icons/menu.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-whatsapp,.fa-comment) { --ovsl-native-icon:url("icons/whatsapp.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-route { --ovsl-native-icon:url("icons/navigation.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-phone { --ovsl-native-icon:url("icons/phone.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-envelope { --ovsl-native-icon:url("icons/mail.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-clock { --ovsl-native-icon:url("icons/clock.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-globe { --ovsl-native-icon:url("icons/globe.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-link { --ovsl-native-icon:url("icons/link.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-instagram { --ovsl-native-icon:url("icons/instagram.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-facebook-f { --ovsl-native-icon:url("icons/facebook.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-exclamation-triangle { --ovsl-native-icon:url("icons/warning.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-spinner { --ovsl-native-icon:url("icons/spinner.svg"); animation:ovsl-native-icon-spin .8s linear infinite !important; }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-th { --ovsl-native-icon:url("icons/grid.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-store) { --ovsl-native-icon:url("icons/store.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-box,.fa-box-open) { --ovsl-native-icon:url("icons/box.svg"); }

/* UX 3.1 */
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-heart { --ovsl-native-icon:url("icons/heart.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-share-alt,.fa-share-nodes) { --ovsl-native-icon:url("icons/share.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) :is(.fa-sliders-h,.fa-sliders) { --ovsl-native-icon:url("icons/sliders.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-truck { --ovsl-native-icon:url("icons/truck.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-car { --ovsl-native-icon:url("icons/car.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-wifi { --ovsl-native-icon:url("icons/wifi.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-wheelchair { --ovsl-native-icon:url("icons/wheelchair.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-credit-card { --ovsl-native-icon:url("icons/credit-card.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-calendar-check { --ovsl-native-icon:url("icons/calendar-check.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-paw { --ovsl-native-icon:url("icons/paw.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-shopping-bag { --ovsl-native-icon:url("icons/shopping-bag.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-chevron-left { --ovsl-native-icon:url("icons/chevron-left.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-chevron-right { --ovsl-native-icon:url("icons/chevron-right.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-check-circle { --ovsl-native-icon:url("icons/check-circle.svg"); }


:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-images { --ovsl-native-icon:url("icons/images.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-info-circle { --ovsl-native-icon:url("icons/info.svg"); }

/* Category icons */
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-laptop { --ovsl-native-icon:url("icons/laptop.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-tshirt { --ovsl-native-icon:url("icons/shirt.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-basketball-ball { --ovsl-native-icon:url("icons/ball.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-home { --ovsl-native-icon:url("icons/home.svg"); }
:where(.ovsl-search-module, .ovsl-stores-list-module, .ovsl-map-module, .ovsl-product-filter-module, .ovsl-business-page, .ovsl-lightbox, #ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-coffee { --ovsl-native-icon:url("icons/coffee.svg"); }

/* Admin actions */
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-edit { --ovsl-native-icon:url("icons/edit.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-trash { --ovsl-native-icon:url("icons/trash.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-eye { --ovsl-native-icon:url("icons/eye.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-eye-slash { --ovsl-native-icon:url("icons/eye-off.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-upload { --ovsl-native-icon:url("icons/upload.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-images { --ovsl-native-icon:url("icons/images.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-info-circle { --ovsl-native-icon:url("icons/info.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-id-card { --ovsl-native-icon:url("icons/id-card.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-save { --ovsl-native-icon:url("icons/save.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-check-circle { --ovsl-native-icon:url("icons/check-circle.svg"); }
:where(#ovsl-admin-container, .ovsl-modal, .ovsl-confirm-modal, .ovsl-notice) .fa-exclamation-circle { --ovsl-native-icon:url("icons/alert-circle.svg"); }

@keyframes ovsl-native-icon-spin { to { transform:rotate(360deg); } }

/* Polished sizing in public business page */
.ovsl-business-button i[class*="fa-"] { width:1.05rem !important; height:1.05rem !important; min-width:1.05rem; }
.ovsl-business-info-row i[class*="fa-"] { width:1.05rem !important; height:1.05rem !important; min-width:1.05rem; margin-top:.22rem; }
.ovsl-business-socials a i[class*="fa-"] { width:1.15rem !important; height:1.15rem !important; min-width:1.15rem; }
