/* ============================================
   ICONE PUBBLICHE per SDOM (solo home e menu)
   ============================================ */

.icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: cover !important;
    mask-size: cover !important;
}

/* ===== ICONE ESISTENTI ===== */
.icon-close {
    -webkit-mask: url('/assets/icons/close.svg') no-repeat center;
    mask: url('/assets/icons/close.svg') no-repeat center;
}
.icon-menu {
    -webkit-mask: url('/assets/icons/menu.svg') no-repeat center;
    mask: url('/assets/icons/menu.svg') no-repeat center;
}
.icon-alternate_email {
    -webkit-mask: url('/assets/icons/alternate_email.svg') no-repeat center;
    mask: url('/assets/icons/alternate_email.svg') no-repeat center;
}
.icon-home_iot_device {
    -webkit-mask: url('/assets/icons/home_iot_device.svg') no-repeat center;
    mask: url('/assets/icons/home_iot_device.svg') no-repeat center;
}
.icon-shield_locked {
    -webkit-mask: url('/assets/icons/shield_locked.svg') no-repeat center;
    mask: url('/assets/icons/shield_locked.svg') no-repeat center;
}
.icon-videocam {
    -webkit-mask: url('/assets/icons/videocam.svg') no-repeat center;
    mask: url('/assets/icons/videocam.svg') no-repeat center;
}
.icon-charger {
    -webkit-mask: url('/assets/icons/charger.svg') no-repeat center;
    mask: url('/assets/icons/charger.svg') no-repeat center;
}
.icon-lock {
    -webkit-mask: url('/assets/icons/lock.svg') no-repeat center;
    mask: url('/assets/icons/lock.svg') no-repeat center;
}
.icon-factory {
    -webkit-mask: url('/assets/icons/factory.svg') no-repeat center;
    mask: url('/assets/icons/factory.svg') no-repeat center;
}
.icon-lightbulb {
    -webkit-mask: url('/assets/icons/lightbulb.svg') no-repeat center;
    mask: url('/assets/icons/lightbulb.svg') no-repeat center;
}
.icon-radar {
    -webkit-mask: url('/assets/icons/radar.svg') no-repeat center;
    mask: url('/assets/icons/radar.svg') no-repeat center;
}
.icon-send {
    -webkit-mask: url('/assets/icons/send.svg') no-repeat center;
    mask: url('/assets/icons/send.svg') no-repeat center;
}
.icon-mail {
    -webkit-mask: url('/assets/icons/mail.svg') no-repeat center;
    mask: url('/assets/icons/mail.svg') no-repeat center;
}
.icon-home {
    -webkit-mask: url('/assets/icons/home.svg') no-repeat center;
    mask: url('/assets/icons/home.svg') no-repeat center;
}
.icon-video {
    -webkit-mask: url('/assets/icons/video.svg') no-repeat center;
    mask: url('/assets/icons/video.svg') no-repeat center;
}

/* ===== NUOVE ICONE SCARICATE ===== */
.icon-arrow-right {
    -webkit-mask: url('/assets/icons/arrow-right.svg') no-repeat center;
    mask: url('/assets/icons/arrow-right.svg') no-repeat center;
}
.icon-badge-percent {
    -webkit-mask: url('/assets/icons/badge-percent.svg') no-repeat center;
    mask: url('/assets/icons/badge-percent.svg') no-repeat center;
}
.icon-building-2 {
    -webkit-mask: url('/assets/icons/building-2.svg') no-repeat center;
    mask: url('/assets/icons/building-2.svg') no-repeat center;
}
.icon-check {
    -webkit-mask: url('/assets/icons/check.svg') no-repeat center;
    mask: url('/assets/icons/check.svg') no-repeat center;
}
.icon-clock {
    -webkit-mask: url('/assets/icons/clock.svg') no-repeat center;
    mask: url('/assets/icons/clock.svg') no-repeat center;
}
.icon-droplets {
    -webkit-mask: url('/assets/icons/droplets.svg') no-repeat center;
    mask: url('/assets/icons/droplets.svg') no-repeat center;
}
.icon-facebook {
    -webkit-mask: url('/assets/icons/facebook.svg') no-repeat center;
    mask: url('/assets/icons/facebook.svg') no-repeat center;
}
.icon-flame {
    -webkit-mask: url('/assets/icons/flame.svg') no-repeat center;
    mask: url('/assets/icons/flame.svg') no-repeat center;
}
.icon-headphones {
    -webkit-mask: url('/assets/icons/headphones.svg') no-repeat center;
    mask: url('/assets/icons/headphones.svg') no-repeat center;
}
.icon-instagram {
    -webkit-mask: url('/assets/icons/instagram.svg') no-repeat center;
    mask: url('/assets/icons/instagram.svg') no-repeat center;
}
.icon-linkedin {
    -webkit-mask: url('/assets/icons/linkedin.svg') no-repeat center;
    mask: url('/assets/icons/linkedin.svg') no-repeat center;
}
.icon-map-pin {
    -webkit-mask: url('/assets/icons/map-pin.svg') no-repeat center;
    mask: url('/assets/icons/map-pin.svg') no-repeat center;
}
.icon-phone {
    -webkit-mask: url('/assets/icons/phone.svg') no-repeat center;
    mask: url('/assets/icons/phone.svg') no-repeat center;
}
.icon-refresh-cw {
    -webkit-mask: url('/assets/icons/refresh-cw.svg') no-repeat center;
    mask: url('/assets/icons/refresh-cw.svg') no-repeat center;
}
.icon-shield-check {
    -webkit-mask: url('/assets/icons/shield-check.svg') no-repeat center;
    mask: url('/assets/icons/shield-check.svg') no-repeat center;
}
.icon-smartphone {
    -webkit-mask: url('/assets/icons/smartphone.svg') no-repeat center;
    mask: url('/assets/icons/smartphone.svg') no-repeat center;
}
.icon-star {
    -webkit-mask: url('/assets/icons/star.svg') no-repeat center;
    mask: url('/assets/icons/star.svg') no-repeat center;
    background-color: #FF6900 !important;
}

.icon-star-outline {
    -webkit-mask: url('/assets/icons/star-outline.svg') no-repeat center;
    mask: url('/assets/icons/star-outline.svg') no-repeat center;
}

.icon-thermometer {
    -webkit-mask: url('/assets/icons/thermometer.svg') no-repeat center;
    mask: url('/assets/icons/thermometer.svg') no-repeat center;
}
.icon-truck {
    -webkit-mask: url('/assets/icons/truck.svg') no-repeat center;
    mask: url('/assets/icons/truck.svg') no-repeat center;
}
.icon-twitter {
    -webkit-mask: url('/assets/icons/twitter.svg') no-repeat center;
    mask: url('/assets/icons/twitter.svg') no-repeat center;
}
.icon-users {
    -webkit-mask: url('/assets/icons/users.svg') no-repeat center;
    mask: url('/assets/icons/users.svg') no-repeat center;
}
.icon-wrench {
    -webkit-mask: url('/assets/icons/wrench.svg') no-repeat center;
    mask: url('/assets/icons/wrench.svg') no-repeat center;
}
.icon-youtube {
    -webkit-mask: url('/assets/icons/youtube.svg') no-repeat center;
    mask: url('/assets/icons/youtube.svg') no-repeat center;
}
.icon-zap {
    -webkit-mask: url('/assets/icons/zap.svg') no-repeat center;
    mask: url('/assets/icons/zap.svg') no-repeat center;
}

.icon-x {
    -webkit-mask: url('/assets/icons/x.svg') no-repeat center;
    mask: url('/assets/icons/x.svg') no-repeat center;
}

.icon-circle-chevron-right {
    -webkit-mask: url('/assets/icons/circle-chevron-right.svg') no-repeat center;
    mask: url('/assets/icons/circle-chevron-right.svg') no-repeat center;
}


.icon-door-closed-locked {
    -webkit-mask: url('/assets/icons/door-closed-locked.svg') no-repeat center;
    mask: url('/assets/icons/door-closed-locked.svg') no-repeat center;
}

.icon-solar-panel {
    -webkit-mask: url('/assets/icons/solar-panel.svg') no-repeat center;
    mask: url('/assets/icons/solar-panel.svg') no-repeat center;
}

.icon-verified { -webkit-mask: url('/assets/icons/verified.svg') no-repeat center; mask: url('/assets/icons/verified.svg') no-repeat center; }
.icon-check_box_outline_blank { -webkit-mask: url('/assets/icons/check_box_outline_blank.svg') no-repeat center; mask: url('/assets/icons/check_box_outline_blank.svg') no-repeat center; }
.icon-check_box { -webkit-mask: url('/assets/icons/check_box.svg') no-repeat center; mask: url('/assets/icons/check_box.svg') no-repeat center; }


/* ===== NUOVE ICONE PER IL WIZARD ===== */
.icon-wallet {
    -webkit-mask: url('/assets/icons/wallet.svg') no-repeat center;
    mask: url('/assets/icons/wallet.svg') no-repeat center;
}
.icon-calendar-check {
    -webkit-mask: url('/assets/icons/calendar-check.svg') no-repeat center;
    mask: url('/assets/icons/calendar-check.svg') no-repeat center;
}
.icon-check-circle {
    -webkit-mask: url('/assets/icons/check-circle.svg') no-repeat center;
    mask: url('/assets/icons/check-circle.svg') no-repeat center;
}
.icon-help-circle {
    -webkit-mask: url('/assets/icons/help-circle.svg') no-repeat center;
    mask: url('/assets/icons/help-circle.svg') no-repeat center;
}
.icon-list {
    -webkit-mask: url('/assets/icons/list.svg') no-repeat center;
    mask: url('/assets/icons/list.svg') no-repeat center;
}
.icon-expand {
    -webkit-mask: url('/assets/icons/expand.svg') no-repeat center;
    mask: url('/assets/icons/expand.svg') no-repeat center;
}
.icon-grid-3x3 {
    -webkit-mask: url('/assets/icons/grid-3x3.svg') no-repeat center;
    mask: url('/assets/icons/grid-3x3.svg') no-repeat center;
}
.icon-briefcase {
    -webkit-mask: url('/assets/icons/briefcase.svg') no-repeat center;
    mask: url('/assets/icons/briefcase.svg') no-repeat center;
}
.icon-store {
    -webkit-mask: url('/assets/icons/store.svg') no-repeat center;
    mask: url('/assets/icons/store.svg') no-repeat center;
}
.icon-shield-lock {
    -webkit-mask: url('/assets/icons/shield-lock.svg') no-repeat center;
    mask: url('/assets/icons/shield-lock.svg') no-repeat center;
}
.icon-home-iot {
    -webkit-mask: url('/assets/icons/home-iot.svg') no-repeat center;
    mask: url('/assets/icons/home-iot.svg') no-repeat center;
}
.icon-shield-half {
    -webkit-mask: url('/assets/icons/shield-half.svg') no-repeat center;
    mask: url('/assets/icons/shield-half.svg') no-repeat center;
}
.icon-shield-full {
    -webkit-mask: url('/assets/icons/shield-full.svg') no-repeat center;
    mask: url('/assets/icons/shield-full.svg') no-repeat center;
}
.icon-coin {
    -webkit-mask: url('/assets/icons/coin.svg') no-repeat center;
    mask: url('/assets/icons/coin.svg') no-repeat center;
}
.icon-coins {
    -webkit-mask: url('/assets/icons/coins.svg') no-repeat center;
    mask: url('/assets/icons/coins.svg') no-repeat center;
}
.icon-gem {
    -webkit-mask: url('/assets/icons/gem.svg') no-repeat center;
    mask: url('/assets/icons/gem.svg') no-repeat center;
}
.icon-trophy {
    -webkit-mask: url('/assets/icons/trophy.svg') no-repeat center;
    mask: url('/assets/icons/trophy.svg') no-repeat center;
}
.icon-zap {
    -webkit-mask: url('/assets/icons/zap.svg') no-repeat center;
    mask: url('/assets/icons/zap.svg') no-repeat center;
}
.icon-calendar {
    -webkit-mask: url('/assets/icons/calendar.svg') no-repeat center;
    mask: url('/assets/icons/calendar.svg') no-repeat center;
}
.icon-calendar-range {
    -webkit-mask: url('/assets/icons/calendar-range.svg') no-repeat center;
    mask: url('/assets/icons/calendar-range.svg') no-repeat center;
}
.icon-info {
    -webkit-mask: url('/assets/icons/info.svg') no-repeat center;
    mask: url('/assets/icons/info.svg') no-repeat center;
}
.icon-arrow-left {
    -webkit-mask: url('/assets/icons/arrow-left.svg') no-repeat center;
    mask: url('/assets/icons/arrow-left.svg') no-repeat center;
}
.icon-refresh-cw {
    -webkit-mask: url('/assets/icons/refresh-cw.svg') no-repeat center;
    mask: url('/assets/icons/refresh-cw.svg') no-repeat center;
}

.icon-visibility_off { -webkit-mask: url('/assets/icons/visibility_off.svg') no-repeat center; mask: url('/assets/icons/visibility_off.svg') no-repeat center; }
.icon-visibility { -webkit-mask: url('/assets/icons/visibility.svg') no-repeat center; mask: url('/assets/icons/visibility.svg') no-repeat center; }

.icon-arrow_downward { -webkit-mask: url('/assets/icons/arrow_downward.svg') no-repeat center; mask: url('/assets/icons/arrow_downward.svg') no-repeat center; }
.icon-arrow_left_alt { -webkit-mask: url('/assets/icons/arrow_left_alt.svg') no-repeat center; mask: url('/assets/icons/arrow_left_alt.svg') no-repeat center; }
.icon-arrow_right_alt { -webkit-mask: url('/assets/icons/arrow_right_alt.svg') no-repeat center; mask: url('/assets/icons/arrow_right_alt.svg') no-repeat center; }
.icon-arrow_left { -webkit-mask: url('/assets/icons/arrow_left.svg') no-repeat center; mask: url('/assets/icons/arrow_left.svg') no-repeat center; }
.icon-arrow_right { -webkit-mask: url('/assets/icons/arrow_right.svg') no-repeat center; mask: url('/assets/icons/arrow_right.svg') no-repeat center; }

.icon-briefcase { -webkit-mask: url('/assets/icons/briefcase.svg') no-repeat center; mask: url('/assets/icons/briefcase.svg') no-repeat center; }
.icon-store { -webkit-mask: url('/assets/icons/store.svg') no-repeat center; mask: url('/assets/icons/store.svg') no-repeat center; }



/* ===== ICONE AGGIUNTIVE FILESYSTEM ===== */
.icon-banknote-arrow-down {
    -webkit-mask: url('/assets/icons/banknote-arrow-down.svg') no-repeat center;
    mask: url('/assets/icons/banknote-arrow-down.svg') no-repeat center;
}
.icon-banknote-arrow-up {
    -webkit-mask: url('/assets/icons/banknote-arrow-up.svg') no-repeat center;
    mask: url('/assets/icons/banknote-arrow-up.svg') no-repeat center;
}
.icon-briefcase-business {
    -webkit-mask: url('/assets/icons/briefcase-business.svg') no-repeat center;
    mask: url('/assets/icons/briefcase-business.svg') no-repeat center;
}
.icon-calendar-1 {
    -webkit-mask: url('/assets/icons/calendar-1.svg') no-repeat center;
    mask: url('/assets/icons/calendar-1.svg') no-repeat center;
}
.icon-calendar-check-2 {
    -webkit-mask: url('/assets/icons/calendar-check-2.svg') no-repeat center;
    mask: url('/assets/icons/calendar-check-2.svg') no-repeat center;
}
.icon-circle-euro {
    -webkit-mask: url('/assets/icons/circle-euro.svg') no-repeat center;
    mask: url('/assets/icons/circle-euro.svg') no-repeat center;
}
.icon-circle-question-mark {
    -webkit-mask: url('/assets/icons/circle-question-mark.svg') no-repeat center;
    mask: url('/assets/icons/circle-question-mark.svg') no-repeat center;
}
.icon-list-checks {
    -webkit-mask: url('/assets/icons/list-checks.svg') no-repeat center;
    mask: url('/assets/icons/list-checks.svg') no-repeat center;
}
.icon-list-check {
    -webkit-mask: url('/assets/icons/list-check.svg') no-repeat center;
    mask: url('/assets/icons/list-check.svg') no-repeat center;
}
.icon-maximize-2 {
    -webkit-mask: url('/assets/icons/maximize-2.svg') no-repeat center;
    mask: url('/assets/icons/maximize-2.svg') no-repeat center;
}
.icon-piggy-bank {
    -webkit-mask: url('/assets/icons/piggy-bank.svg') no-repeat center;
    mask: url('/assets/icons/piggy-bank.svg') no-repeat center;
}
.icon-shield-alert {
    -webkit-mask: url('/assets/icons/shield-alert.svg') no-repeat center;
    mask: url('/assets/icons/shield-alert.svg') no-repeat center;
}
.icon-shield-question-mark {
    -webkit-mask: url('/assets/icons/shield-question-mark.svg') no-repeat center;
    mask: url('/assets/icons/shield-question-mark.svg') no-repeat center;
}
.icon-shield {
    -webkit-mask: url('/assets/icons/shield.svg') no-repeat center;
    mask: url('/assets/icons/shield.svg') no-repeat center;
}

.icon-wallet-minimal {
    -webkit-mask: url('/assets/icons/wallet-minimal.svg') no-repeat center;
    mask: url('/assets/icons/wallet-minimal.svg') no-repeat center;
}

/* ===== CLASSI DIMENSIONE ===== */
.icon.small { width: 14px !important; height: 14px !important; }
.icon.medium { width: 32px !important; height: 32px !important; }
.icon.large { width: 48px !important; height: 48px !important; }
.icon.xs { width: 10px !important; height: 10px !important; }
.icon.sm { width: 14px !important; height: 14px !important; }
.icon.md { width: 18px !important; height: 18px !important; }
.icon.lg { width: 24px !important; height: 24px !important; }
.icon.s { width: 14px !important; height: 14px !important; }
.icon.m { width: 18px !important; height: 18px !important; }
.icon.l { width: 24px !important; height: 24px !important; }
.icon.xl { width: 32px !important; height: 32px !important; }
.icon.xxl { width: 48px !important; height: 48px !important; }

/* Taglie aggiuntive usate nella home SECURDOM (al posto di style="width:...height:..." inline) */
.icon.px16 { width: 16px !important; height: 16px !important; }
.icon.px22 { width: 22px !important; height: 22px !important; }
.icon.px26 { width: 26px !important; height: 26px !important; }
.icon.px28 { width: 28px !important; height: 28px !important; }
.icon.px30 { width: 30px !important; height: 30px !important; }
.icon.px70 { width: 70px !important; height: 70px !important; }

/* ===== COLORI DI UTILITY ===== */
.icon.text-orange { background-color: #FF6900; }
.icon.text-warning { background-color: #FF9F2E; }
.icon.text-secondary { background-color: #94A3B8; }
.icon.text-light { background-color: #F8FAFC; }
.icon.text-white { background-color: #ffffff; }
.icon.text-danger { background-color: #c50000; }
.icon.text-success { background-color: #22c55e; }
