/* ICONE SVG - Gerardi & Associati */
/* Base class per icone locali con mask */
.icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Dimensioni standardizzate */
.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.xl { width: 32px !important; height: 32px !important; }
.icon.xxl { width: 40px !important; height: 40px !important; }
.icon.xxxl { width: 48px !important; height: 48px !important; }

/* =========================================
   ICONE SEZIONE HERO
   ========================================= */
.icon-arrow_forward {
    -webkit-mask: url('/assets/icons/arrow_forward.svg') no-repeat center;
    mask: url('/assets/icons/arrow_forward.svg') no-repeat center;
}

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

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

.icon-security {
    -webkit-mask: url('/assets/icons/security.svg') no-repeat center;
    mask: url('/assets/icons/security.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;
}

/* =========================================
   ICONE SEZIONE SERVIZI
   ========================================= */
.icon-business_center {
    -webkit-mask: url('/assets/icons/business_center.svg') no-repeat center;
    mask: url('/assets/icons/business_center.svg') no-repeat center;
}

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

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

.icon-deployed_code {
    -webkit-mask: url('/assets/icons/deployed_code.svg') no-repeat center;
    mask: url('/assets/icons/deployed_code.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-check_small {
    -webkit-mask: url('/assets/icons/check_small.svg') no-repeat center;
    mask: url('/assets/icons/check_small.svg') no-repeat center;
}

/* =========================================
   ICONE SEZIONE TEAM
   ========================================= */
.icon-face {
    -webkit-mask: url('/assets/icons/face.svg') no-repeat center;
    mask: url('/assets/icons/face.svg') no-repeat center;
}

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

/* =========================================
   ICONE SEZIONE CONTATTI
   ========================================= */
.icon-location_on {
    -webkit-mask: url('/assets/icons/location_on.svg') no-repeat center;
    mask: url('/assets/icons/location_on.svg') no-repeat center;
}

.icon-call {
    -webkit-mask: url('/assets/icons/call.svg') no-repeat center;
    mask: url('/assets/icons/call.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-phone_in_talk {
    -webkit-mask: url('/assets/icons/phone_in_talk.svg') no-repeat center;
    mask: url('/assets/icons/phone_in_talk.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-schedule {
    -webkit-mask: url('/assets/icons/schedule.svg') no-repeat center;
    mask: url('/assets/icons/schedule.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-check_box {
    -webkit-mask: url('/assets/icons/check_box.svg') no-repeat center;
    mask: url('/assets/icons/check_box.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;
}

/* =========================================
   ICONE FOOTER
   ========================================= */
.icon-cookie {
    -webkit-mask: url('/assets/icons/cookie.svg') no-repeat center;
    mask: url('/assets/icons/cookie.svg') no-repeat center;
}

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

/* =========================================
   ICONE NAVBAR / UTILITY
   ========================================= */
.icon-menu {
    -webkit-mask: url('/assets/icons/menu.svg') no-repeat center;
    mask: url('/assets/icons/menu.svg') no-repeat center;
}

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

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

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

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

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

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

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

/* =========================================
   COLORI BRAND - Gerardi & Associati
   ========================================= */
.icon.text-orange { background-color: #c85c2e; }
.icon.text-orange-hover { background-color: #a8461e; }
.icon.text-dark { background-color: #121417; }
.icon.text-gray { background-color: #aab0b5; }
.icon.text-secondary { background-color: #6c757d; }
.icon.text-muted { background-color: #94a3b8; }
.icon.text-light { background-color: #f8f9fa; }
.icon.text-white { background-color: #ffffff; }
.icon.text-black { background-color: #000000; }
.icon.text-success { background-color: #22c55e; }
.icon.text-danger { background-color: #c50000; }
.icon.text-primary { background-color: #0d6efd; }

/* =========================================
   STATI INTERATTIVI
   ========================================= */
.icon-hover-orange:hover { background-color: #c85c2e; }
.icon-hover-white:hover { background-color: #ffffff; }

/* =========================================
   ICONE CON MASK COVER (per icone Material Symbols)
   ========================================= */
.icon-business_center,
.icon-gavel,
.icon-calculate,
.icon-deployed_code,
.icon-check_circle,
.icon-check_small,
.icon-face,
.icon-face_2,
.icon-location_on,
.icon-call,
.icon-mail,
.icon-arrow_forward,
.icon-arrow_right_alt,
.icon-send,
.icon-security,
.icon-assignment,
.icon-diversity_3,
.icon-alternate_email,
.icon-phone_in_talk,
.icon-schedule,
.icon-check_box,
.icon-check_box_outline_blank,
.icon-cookie,
.icon-copyright,
.icon-menu,
.icon-close,
.icon-language,
.icon-account_balance,
.icon-groups,
.icon-contact_page,
.icon-search,
.icon-badge {
    -webkit-mask-size: cover !important;
    mask-size: cover !important;
}