/*
 * P2 — Lucide line icons (stroke 1.5, 24→display box via CSS).
 * Replaces PNG clipart and ThemeREX icon-font glyphs without Elementor edits.
 */

.ms2-icon,
.sc_price_item_image,
.sc_icons_icon {
  --ms2-icon-size: 2rem; /* 32px display box */
  --ms2-icon-stroke: 1.5;
}

/* --- Services price cards: hide PNG clipart, paint Lucide via mask --- */
.sc_price_item_image {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 4rem;
}

.sc_price_item_image img {
  opacity: 0 !important; /* hide clipart PNG; keep for layout/alt */
  width: var(--ms2-icon-size) !important;
  height: var(--ms2-icon-size) !important;
}

.sc_price_item_image::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 2.75rem;
  height: 2.75rem;
  background-color: var(--c-blue);
  -webkit-mask: var(--ms2-icon) center / contain no-repeat;
  mask: var(--ms2-icon) center / contain no-repeat;
  pointer-events: none;
}

.sc_price_item_image:has(img[src*="kickoff"]) {
  --ms2-icon: url("../icons/rocket.svg");
}
.sc_price_item_image:has(img[src*="CustomConfig"]) {
  --ms2-icon: url("../icons/settings-2.svg");
}
.sc_price_item_image:has(img[src*="QAT"]) {
  --ms2-icon: url("../icons/scan-search.svg");
}
.sc_price_item_image:has(img[src*="training"]) {
  --ms2-icon: url("../icons/presentation.svg");
}
.sc_price_item_image:has(img[src*="Assistance"]) {
  --ms2-icon: url("../icons/headphones.svg");
}
.sc_price_item_image:has(img[src*="Improvements"]) {
  --ms2-icon: url("../icons/chart-column-increasing.svg");
}

/* --- ThemeREX icon-font items → Lucide masks --- */
.sc_icons_icon::before,
.sc_icons_icon > span::before,
.sc_icon_type_::before {
  content: none !important; /* kill icon-font glyph */
}

.sc_icons_icon {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2.75rem !important;
  height: 2.75rem !important;
  font-size: 0 !important;
  color: transparent !important;
  background: transparent !important;
}

.sc_icons_icon::after {
  content: "";
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  background-color: var(--c-blue) !important; /* never lime for meaning-bearing icons */
  -webkit-mask: var(--ms2-icon) center / contain no-repeat;
  mask: var(--ms2-icon) center / contain no-repeat;
}

.sc_icons_icon.icon-cloud-light,
.sc_icons_icon:has(.icon-cloud-light) {
  --ms2-icon: url("../icons/cloud.svg");
}
.sc_icons_icon.icon-checkbox-2,
.sc_icons_icon:has(.icon-checkbox-2) {
  --ms2-icon: url("../icons/square-check-big.svg");
}
.sc_icons_icon.icon-call,
.sc_icons_icon:has(.icon-call) {
  --ms2-icon: url("../icons/phone.svg");
}
.sc_icons_icon.icon-refresh,
.sc_icons_icon:has(.icon-refresh) {
  --ms2-icon: url("../icons/refresh-cw.svg");
}
.sc_icons_icon.icon-marker,
.sc_icons_icon:has(.icon-marker) {
  --ms2-icon: url("../icons/map-pin.svg");
}
.sc_icons_icon.icon-envelope-2,
.sc_icons_icon:has(.icon-envelope-2) {
  --ms2-icon: url("../icons/mail.svg");
}
.sc_icons_icon.icon-open-hours,
.sc_icons_icon:has(.icon-open-hours) {
  --ms2-icon: url("../icons/clock.svg");
}
.sc_icons_icon.icon-adress,
.sc_icons_icon:has(.icon-adress) {
  --ms2-icon: url("../icons/map-pin.svg");
}
.sc_icons_icon.icon-get-in-touch,
.sc_icons_icon:has(.icon-get-in-touch) {
  --ms2-icon: url("../icons/headset.svg");
}

/* Contact form field icons (ThemeREX style-line) */
.style-line[class*="icon-"]::before {
  content: none !important;
}
.style-line.icon-name,
.style-line.icon-email,
.style-line.icon-phone,
.style-line.icon-subject,
.style-line.icon-textarea {
  position: relative;
}
.style-line.icon-name::after,
.style-line.icon-email::after,
.style-line.icon-phone::after,
.style-line.icon-subject::after,
.style-line.icon-textarea::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.125rem;
  height: 1.125rem;
  background-color: var(--c-ink-muted);
  -webkit-mask: var(--ms2-icon) center / contain no-repeat;
  mask: var(--ms2-icon) center / contain no-repeat;
  pointer-events: none;
}
.style-line.icon-name {
  --ms2-icon: url("../icons/circle-user.svg");
}
.style-line.icon-email {
  --ms2-icon: url("../icons/mail.svg");
}
.style-line.icon-phone {
  --ms2-icon: url("../icons/phone.svg");
}
.style-line.icon-subject {
  --ms2-icon: url("../icons/info.svg");
}
.style-line.icon-textarea {
  --ms2-icon: url("../icons/pencil.svg");
}
