/* Ensure wrapper for custom category exists */
#elementor-panel-category-unlockafe-addons .elementor-element {
  position: relative !important;
}


/* 1) Make the widget icon a positioning context */
.elementor-element-wrapper:not(.elementor-element--promotion)
   [class^="ulicon"], .elementor-element-wrapper:not(.elementor-element--promotion)
   [class*=" ulicon"] {
    position: relative; 
}

.elementor-element-wrapper:not(.elementor-element--promotion)
   [class^="ulicon"]:after, .elementor-element-wrapper:not(.elementor-element--promotion)
   [class*=" ulicon"]:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    right: -30px;          /* adjust to taste */
    top: 0px;            /* adjust to taste */
    background: url('./images/unlockaddons-fav.webp') no-repeat center center / contain;
    display: block;
}

/* Addon logo in search results - direct wrapper ::before (no :has()) so logo always shows */
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"]::before,
.elementor-panel-search-results .elementor-element-wrapper[data-widget*="unlockafe"]::before {
  content: "" !important;
  width: 35px !important;
  height: 35px !important;
  position: absolute !important;
  top: 8px !important;
  left: 5px !important;
  background: var(--unlockafe-icon-url, url('./images/unlockafe-editor.svg'))
      no-repeat center center / contain !important;
  display: block !important;
}




.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"],
.elementor-panel-search-results .elementor-element-wrapper[data-widget*="unlockafe"] {
  position: relative !important;
  padding-left: 45px !important;
}
/* Single logo only: hide .elementor-element::before in search so wrapper ::before is the only one */
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element::before,
.elementor-panel-search-results .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element::before {
  content: none !important;
  display: none !important;
}

/* Extended: same direct wrapper ::before under #elementor-panel-elements / elements-wrapper */
#elementor-panel-elements .elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"]::before,
.elementor-panel-elements-wrapper .elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"]::before {
  content: "" !important;
  width: 35px !important;
  height: 35px !important;
  position: absolute !important;
  top: 8px !important;
  left: 5px !important;
  background: var(--unlockafe-icon-url, url('./images/unlockafe-editor.svg'))
      no-repeat center center / contain !important;
  display: block !important;
}
#elementor-panel-elements .elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element::before,
.elementor-panel-elements-wrapper .elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element::before {
  content: none !important;
  display: none !important;
}
#elementor-panel-elements .elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"],
.elementor-panel-elements-wrapper .elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] {
  position: relative !important;
  padding-left: 45px !important;
}

/* Universal: addon logo for ANY unlockafe widget in panel that is NOT in category */
#elementor-panel-elements [data-widget*="unlockafe"]:not(#elementor-panel-category-unlockafe-addons [data-widget*="unlockafe"])::before {
  content: "" !important;
  width: 35px !important;
  height: 35px !important;
  position: absolute !important;
  top: 8px !important;
  left: 5px !important;
  background: var(--unlockafe-icon-url, url('./images/unlockafe-editor.svg')) no-repeat center center / contain !important;
  display: block !important;
}
#elementor-panel-elements [data-widget*="unlockafe"]:not(#elementor-panel-category-unlockafe-addons [data-widget*="unlockafe"]) {
  position: relative !important;
  padding-left: 45px !important;
}

/* JS-injected addon logo in search results (fallback when CSS ::before is not enough) */
.unlockafe-addon-logo {
  display: block !important;
  width: 35px !important;
  height: 35px !important;
  min-width: 35px !important;
  min-height: 35px !important;
  position: absolute !important;
  top: 8px !important;
  left: 5px !important;
  background: var(--unlockafe-icon-url, url('./images/unlockafe-editor.svg'))
    no-repeat center center / contain !important;
  pointer-events: none !important;
}

/* CSS Variable for logo URL - will be set via inline CSS */
:root {
  --unlockafe-icon-url: url('./images/unlockafe-editor.svg');
}

/* Replace icon for ALL unlockafe widgets - Comprehensive selectors for ALL variations */
.elementor-element-wrapper[data-widget*="unlockafe"] [class*="eicon"],
.elementor-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"],
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon,
.elementor-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"],
.elementor-element-wrapper[data-widget*="unlockafe"] i[class^="eicon-"],
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon-wrapper [class*="eicon"],
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon-wrapper [class^="eicon-"],
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon-wrapper i,
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-wrapper__icon [class*="eicon"],
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-wrapper__icon i,
.elementor-element-wrapper[data-widget*="unlockafe"] .eicon,
.elementor-element-wrapper[data-widget*="unlockafe"] i.eicon,
.elementor-element-wrapper[data-widget*="unlockafe"] i[class*="icon"],
.elementor-panel-element-wrapper[data-widget*="unlockafe"] [class*="eicon"],
.elementor-panel-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"],
.elementor-panel-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon,
.elementor-panel-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"],
[data-widget*="unlockafe"] [class*="eicon"],
[data-widget*="unlockafe"] [class^="eicon-"],
[data-widget*="unlockafe"] .elementor-element-icon,
[data-widget*="unlockafe"] i[class*="eicon"] {
  background-image: var(--unlockafe-icon-url, url('./images/unlockafe-editor.svg')) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  font-size: 0 !important;
  font-family: none !important;
  line-height: 0 !important;
  opacity: 1 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: inline-block !important;
  visibility: visible !important;
  position: relative !important;
}

/* Hide font icon pseudo-elements */
.elementor-element-wrapper[data-widget*="unlockafe"] [class*="eicon"]::before,
.elementor-element-wrapper[data-widget*="unlockafe"] [class*="eicon"]::after,
.elementor-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"]::before,
.elementor-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"]::after,
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon::before,
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon::after,
[data-widget*="unlockafe"] [class*="eicon"]::before,
[data-widget*="unlockafe"] [class*="eicon"]::after {
  display: none !important;
  content: '' !important;
  visibility: hidden !important;
  opacity: 0 !important;
  font-size: 0 !important;
}

/* Replace icon for ALL unlockafe widgets - Search Results - Comprehensive selectors */
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] [class*="eicon"],
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"],
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon,
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"],
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] i[class^="eicon-"],
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon-wrapper [class*="eicon"],
.elementor-panel-elements-search-results .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon-wrapper i,
.elementor-panel-elements-view .elementor-element-wrapper[data-widget*="unlockafe"] [class*="eicon"],
.elementor-panel-elements-view .elementor-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"],
.elementor-panel-elements-view .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon,
.elementor-panel-elements-view .elementor-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"],
.elementor-panel-elements-view .elementor-element-wrapper[data-widget*="unlockafe"] i[class^="eicon-"],
#elementor-panel-elements .elementor-element-wrapper[data-widget*="unlockafe"] [class*="eicon"],
#elementor-panel-elements .elementor-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"],
#elementor-panel-elements .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon,
#elementor-panel-elements .elementor-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"],
.elementor-panel .elementor-element-wrapper[data-widget*="unlockafe"] [class*="eicon"],
.elementor-panel .elementor-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"],
.elementor-panel .elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon,
.elementor-panel .elementor-element-wrapper[data-widget*="unlockafe"] i[class*="eicon"] {
  background-image: url('./images/unlockafe-editor.svg') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  font-size: 0 !important;
  opacity: 1 !important;
  color: transparent !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: inline-block !important;
  visibility: visible !important;
  position: relative !important;
}

/* Force custom icon replacement for unlockafe widgets - JavaScript applied class */
.elementor-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon,
.elementor-panel-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon,
[data-widget*="unlockafe"] .unlockafe-custom-icon {
  font-size: 0 !important;
  opacity: 1 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  background-image: url('./images/unlockafe-editor.svg') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: inline-block !important;
  visibility: visible !important;
  position: relative !important;
}

/* Hide inner icon elements and original icon content */
.elementor-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"]::before,
.elementor-element-wrapper[data-widget*="unlockafe"] [class^="eicon-"]::after,
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon::before,
.elementor-element-wrapper[data-widget*="unlockafe"] .elementor-element-icon::after,
.elementor-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon *,
.elementor-panel-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon *,
[data-widget*="unlockafe"] .unlockafe-custom-icon * {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  content: none !important;
}

/* Hide pseudo-elements */
.elementor-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon::before,
.elementor-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon::after,
.elementor-panel-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon::before,
.elementor-panel-element-wrapper[data-widget*="unlockafe"] .unlockafe-custom-icon::after,
[data-widget*="unlockafe"] .unlockafe-custom-icon::before,
[data-widget*="unlockafe"] .unlockafe-custom-icon::after {
  display: none !important;
  content: none !important;
}

/* UNIVERSAL RULE: Replace ANY icon element within unlockafe widgets - Most aggressive approach */
[data-widget*="unlockafe"] [class*="eicon"]:not([class*="unlockafe"]),
[data-widget*="unlockafe"] [class*="icon"]:not([class*="unlockafe"]),
[data-widget*="unlockafe"] i[class*="eicon"],
[data-widget*="unlockafe"] i[class*="icon"],
[data-widget*="unlockafe"] i.eicon,
.elementor-element-wrapper[data-widget*="unlockafe"] i,
.elementor-panel-element-wrapper[data-widget*="unlockafe"] i {
  background-image: var(--unlockafe-icon-url, url('./images/unlockafe-editor.svg')) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  font-size: 0 !important;
  font-family: none !important;
  line-height: 0 !important;
  opacity: 1 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  display: inline-block !important;
  visibility: visible !important;
  position: relative !important;
}

/* Hide font icon pseudo-elements for ALL unlockafe widgets */
[data-widget*="unlockafe"] [class*="eicon"]::before,
[data-widget*="unlockafe"] [class*="eicon"]::after,
[data-widget*="unlockafe"] i[class*="eicon"]::before,
[data-widget*="unlockafe"] i[class*="eicon"]::after,
.elementor-element-wrapper[data-widget*="unlockafe"] i::before,
.elementor-element-wrapper[data-widget*="unlockafe"] i::after {
  display: none !important;
  content: '' !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
}