/* ==========================================================================
   🧼 RIMOZIONE DELLE SCROLLBAR E PULIZIA DI FABBRICA
   ========================================================================== */
.hide_scroll::-webkit-scrollbar {
    display: none;
}

:root::-webkit-scrollbar {
    display: none;
}
:root {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* ==========================================================================
   📐 LOGO AZIENDALE RESPONSIVO (CONVERSIONE DA PX A CQW)
   ========================================================================== */
.img-logo {
    width: 88.8cqw !important; /* 🎯 Convertito 320px (320 / 360 * 100) */
    max-width: 100% !important; /* Impedisce al logo di allungare l'iframe */
    height: auto !important;
    display: block;
    margin: 0 auto;
}

@media (max-width: 550px) {
    .img-logo {
        min-width: 41.6cqw !important; /* Convertito 150px */
        max-width: 55.5cqw !important; /* Convertito 200px */
        text-align: center !important;
        margin-top: 0.8cqw !important;  /* Convertito 3px */
        margin-bottom: 1.4cqw !important; /* Convertito 5px */
    }
    
}

/* ==========================================================================
   📸 IMMAGINE INTERNA DELL'AVATAR PROFILO
   ========================================================================== */
.circular--portrait img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ==========================================================================
   📝 INTESTAZIONI TEXT IDENTITÀ (NOME E RUOLO)
   ========================================================================== */
.main-name h1 {
    font-weight: normal !important; 
    font-size: 8cqw !important; /* 🎯 Convertito 8vw */
    font-family: 'Open Sans', sans-serif !important;
    color: #777777 !important;  
    margin-top: 2.7cqw !important;    /* Convertito 10px */
    margin-bottom: 2.7cqw !important; /* Convertito 10px */
    margin-left: 2.7cqw !important;
    margin-right: 2.7cqw !important;
    text-align: center !important;
}

.role {
    font-weight: normal !important; 
    font-size: 6cqw !important; /* 🎯 Convertito 6vw */
    font-family: 'Open Sans', sans-serif !important;
    color: #777777 !important;  
    margin-top: 4.8cqw !important; /* Convertito 0vw */
    margin-bottom: 0cqw !important; /* Convertito 0vw */
    margin-left: 2.7cqw !important;
    margin-right: 2.7cqw !important;
    text-align: center !important;
}

/* ==========================================================================
   🛸 PULSANTI DI AZIONE RAPIDA E CONDIVISIONE (SHARING CORE)
   ========================================================================== */
.div-share-button {
    text-align: center !important;
    margin-top: 0cqw !important;
    margin-bottom: 0cqw !important;
}

.fas.fa-share-alt {
    text-align: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    border: 0px solid #e8e8e8 !important;
    margin-top: 2cqw !important;    /* 🎯 Convertito 2vw */
    margin-bottom: 2cqw !important; /* 🎯 Convertito 2vw */
    border-radius: 2cqw !important; /* 🎯 Convertito 2vw */
    width: 10cqw !important;        /* 🎯 Convertito 10vw */
    height: 10cqw !important;       /* 🎯 Convertito 10vw */
    font-size: 5cqw !important;     /* 🎯 Convertito 5vw */
    line-height: 10cqw !important;   /* Centratura verticale ferrea */
    background: #547c8f !important;
    color: #ffffff !important;
    cursor: pointer !important;
}

.fas.fa-user-plus {
    text-align: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    border: 0px solid #e8e8e8 !important;
    border-radius: 2cqw !important; /* 🎯 Convertito 2vw */
    margin-right: 1cqw !important;   /* 🎯 Convertito 1vw */
    margin-left: 1cqw !important;    /* 🎯 Convertito 1vw */
    width: 10cqw !important;        /* 🎯 Convertito 10vw */
    height: 10cqw !important;       /* 🎯 Convertito 10vw */
    font-size: 5cqw !important;     /* 🎯 Convertito 5vw */
    line-height: 10cqw !important;   /* Centratura verticale ferrea */
    background: #547c8f !important;
    color: #ffffff !important;
    cursor: pointer !important;
}

/* ==========================================================================
   🛸 RAGGIO PULSANTI SOCIAL HORIZONTAL (FIRST BUTTON ROW)
   ========================================================================== */
.first-button-row {
    margin-top: 7cqw !important;    /* 🎯 Convertito 7vw */
    margin-bottom: 7cqw !important; /* 🎯 Convertito 9vw */
    text-align: center !important;
}

.fab, .fa-regular, .fa-solid {
    text-align: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    border-radius: 2cqw !important; /* 🎯 Convertito 2vw */
    margin-right: 2cqw !important;
    margin-left: 2cqw !important;
    margin-bottom: 5cqw !important;
    width: 10cqw !important;       /* 🎯 Convertito 10vw */
    height: 10cqw !important;      /* 🎯 Convertito 10vw */
    font-size: 5cqw !important;    /* 🎯 Convertito 5vw */
    line-height: 10cqw !important;  /* Centratura verticale ferrea */
    background: #547c8f !important;
    color: #ffffff !important;
}

.first-button-row a:hover {
    text-decoration: none !important;
}

.first-button-row h2 {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 4cqw !important; /* 🎯 Convertito 4vw */
    color: #5d8399 !important;
    text-align: center !important;
    margin-bottom: 4cqw !important; /* 🎯 Convertito 4vw */
}
    
.btn-rounded {
    border: 1px solid #e8e8e8 !important;
    border-radius: 2.2cqw !important; /* 🎯 Convertito 8px */
}


.div-row-link {
    
    margin-right: 2cqw !important; 
    margin-left: 2cqw !important; 
}

/* ==========================================================================
   📇 CARTE CONTATTI STILIZZATE ED ANCORATE (BORDERED DIV CORE)
   ========================================================================== */
.bordered-div {
    text-align: left !important;
    margin-top: 2.7cqw !important;  /* 🎯 Convertito 10px (10 / 360 * 100) */
    margin-left: 1.4cqw !important;  /* 🎯 Convertito 5px */
    margin-right: 1.4cqw !important; /* 🎯 Convertito 5px */
    border: 1px solid #e8e8e8 !important;
    border-radius: 2.2cqw !important; /* 🎯 Convertito 8px */
    padding-top: 4.1cqw !important;    /* 🎯 Convertito 15px */
    padding-bottom: 4.1cqw !important; /* 🎯 Convertito 15px */
    position: relative !important;     /* Consente il posizionamento assoluto stabile dell'icona i */
    box-sizing: border-box !important;
}

.bordered-div .title {  
    font-size: 3.8cqw !important;  /* 🎯 Convertito 3.8vw */
    text-decoration: none !important;
    margin-left: 15cqw !important; /* 🎯 RISOLTO: Convertito 10vw instabile in 15cqw fissi del guscio */
    margin-top: 1cqw !important;    /* 🎯 Convertito 1vw */
    opacity: 1 !important;
    display: block !important;
}

/* 🎯 BLOCCO ICONA: Rimane saldamente ancorata a sinistra senza scappare */
.bordered-div i {
    color: #547c8f !important;
    font-size: 5.5cqw !important; /* 🎯 Convertito 6.5vw */
    float: left !important;
    position: absolute !important;
    top: 50% !important;
    left: 7cqw !important;         /* 🎯 RISOLTO: Convertito 6vw instabile in 7cqw rigidi dall'angolo sinistro */
    transform: translate(-50%, -50%) !important; /* Centratura cartesiana millimetrica */
    margin: 0 !important;
}

.bordered-div .dato {
    font-weight: normal !important;
    color: #777777 !important;  
    font-size: 3.8cqw !important;   /* 🎯 Convertito 3.8vw */
    margin-top: 0.5cqw !important;  /* 🎯 Ridotto da 4.3vw per compensare l'allineamento orizzontale */
    margin-left: 15cqw !important;  /* 🎯 RISOLTO: Allineato a 15cqw a specchio del titolo sopra per non sovrapporsi */
    font-family: 'Open Sans', sans-serif !important;
    text-align: left !important;
}

.bordered-div .dato-elipsis {
    font-weight: normal !important;
    color: #777777 !important;  
    font-size: 3.8cqw !important;   /* 🎯 Convertito 3.8vw */
    margin-top: 0.5cqw !important;  
    margin-left: 15cqw !important;  /* 🎯 RISOLTO: Allineato a 15cqw per non accavallarsi */
    font-family: 'Open Sans', sans-serif !important;
    text-align: left !important;
    text-decoration: none !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

.phones-mail-address-link {
    margin-bottom: 1cqw !important; /* 🎯 Convertito 1vw */
}

/* ==========================================================================
   📇 RIALLINEAMENTO BLOCCHI CONTATTI INFERIORI (T3 SPECIFIC)
   ========================================================================== */


.phones-mail-address-link a {
    color: #777777 !important;
    text-decoration: none !important;
}
    

.scritta-social {
    margin-top: 10cqw !important; 
} 

/* ==========================================================================
   🧩 SEZIONE ACCORDION STRUTTURALE (SCHEDE DI DETTAGLIO)
   ========================================================================== */
.myaccordion {
    max-width: 100% !important;
    margin-left: 0cqw !important;
    margin-right: 0cqw !important;
    margin-top: 8.3cqw !important;    /* 🎯 Convertito 30px in cqw (30 / 360 * 100) */
    margin-bottom: 8.3cqw !important; /* 🎯 Convertito 30px in cqw */
}
 
.myaccordion .card {
    margin-top: 5.5cqw !important; /* 🎯 Convertito 20px in cqw */
} 

.myaccordion .card,
.myaccordion .card:last-child .card-header {
    border: 0px solid #e8e8e8 !important;
    margin-top: 0cqw !important;
}
 
.myaccordion .card-header {
    border-bottom-color: transparent !important;
    background: #fafafa !important;
}
 
.myaccordion .card-body {
    background: #ffffff !important;
    font-size: 6cqw !important; /* 🎯 Convertito 6vw in cqw */
    font-family: 'Open Sans', sans-serif !important;
    padding-top: 2.7cqw !important;    /* 🎯 Convertito 10px in cqw */
    padding-bottom: 4.1cqw !important; /* 🎯 Convertito 15px in cqw */
    border-radius: 0px !important;
}
 
.myaccordion .btn {
    width: 100% !important;
    font-weight: normal !important;
    color: #777777 !important;
    padding: 0 !important;
    font-size: 4cqw !important; /* 🎯 Convertito 4vw in cqw */
    font-family: 'Open Sans', sans-serif !important;
}

/* 🎯 ICONE INTERNE ACCORDION */
.myaccordion i {
    font-size: 5cqw !important; /* 🎯 Convertito 5vw in cqw */
    margin-right: 5.5cqw !important; /* 🎯 Convertito 20px in cqw (20 / 360 * 100) */
    width: 5cqw !important; /* 🎯 Convertito 5vw in cqw */
}

.myaccordion .btn-link:hover,
.myaccordion .btn-link:focus {
    text-decoration: none !important;
}

/* ==========================================================================
   🚫 BLOCCO DISATTIVAZIONE ALONI FOCUS BOOTSTRAP (SAFETY FIRST)
   ========================================================================== */
.myaccordion .btn:focus,
.myaccordion .btn:active,
.myaccordion .btn:focus-visible,
.myaccordion .btn-link:focus,
.myaccordion .btn-link:active {
    box-shadow: none !important;      
    outline: none !important;         
    text-decoration: none !important; 
    border-color: transparent !important;
}

.myaccordion .card-header:focus,
.myaccordion .card-header:focus-within {
    box-shadow: none !important;
    outline: none !important;
}
 
.myaccordion li + li {
    margin-top: 2.7cqw !important; /* 🎯 Convertito 10px in cqw */
}   

/* 🌍 Configurazione Internazionale Speculare per Lingua Araba (RTL) */
[dir="rtl"] .myaccordion .card-header button span i {
    margin-inline-end: 2.2cqw !important; /* 🎯 Convertito 8px in cqw */
    transform: scaleX(-1) !important;     /* Capovolge la freccia */
    display: inline-block !important; 
}

[dir="rtl"] .myaccordion .card-body {
    padding-right: 8.3cqw !important; /* 🎯 Convertito 30px in cqw */
    padding-left: 4.1cqw !important;  /* 🎯 Convertito 15px in cqw */
}

.myaccordion .card + .card {
    margin-top: 2.7cqw !important; /* 🎯 Convertito 10px in cqw */
}

.margintop10 {
    margin-top: 5.5cqw !important; /* 🎯 Convertito 20px in cqw */
    border-radius: 3.3cqw !important; /* 🎯 Convertito 12px in cqw */
}   
    
/* ==========================================================================
   🖼️ SEZIONE LIGHTBOX INTERNA GALLERY
   ========================================================================== */
#baguetteBox-overlay .full-image {
    position: relative !important;
    overflow: hidden !important;
    border: 0px solid #ffffff !important;
    border-radius: 0px !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
} 

#baguetteBox-overlay .full-image img {
    object-fit: contain !important;
    width: 100% !important;
}    

#qr_frame {
    width: 69.4cqw !important;  /* 🎯 Convertito 250px in cqw (250 / 360 * 100) */
    height: 69.4cqw !important; /* 🎯 Convertito 250px in cqw */
}
 
/* ==========================================================================
   ↕️ CLASSI DI MARGINE VERTICALE FISSO STANDARD
   ========================================================================== */
.margin10 { margin-top: 2.7cqw !important; } /* 10px */
.margin20 { margin-top: 5.5cqw !important; } /* 20px */
.margin30 { margin-top: 8.3cqw !important; } /* 30px */
.margin40 { margin-top: 11.1cqw !important; } /* 40px */
.margin50 { margin-top: 13.8cqw !important; } /* 50px */

/* ==========================================================================
   ↕️ CLASSI CUSCINETTO RESPONSIVE EXTRA (SECTION SPACERS TO CQW)
   ========================================================================== */
.section-spacer-little {
    height: 0.8cqw !important; /* 🎯 Convertito 3px in cqw (3 / 360 * 100) */
    width: 100% !important;
    display: block !important;
    clear: both !important;
}

.section-spacer {
    height: 9.7cqw !important; /* 🎯 Convertito 35px in cqw (35 / 360 * 100) */
    width: 100% !important;
    display: block !important;
    clear: both !important;
}

.section-spacer-large {
    height: 25cqw !important; /* 🎯 Convertito 90px in cqw (90 / 360 * 100) per perfetto isolamento prima del QR */
    width: 100% !important;
    display: block !important;
    clear: both !important;
}



/* Gestione dell'immagine interna a pieno contenitore */
.profile-avatar-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   📸 CORNICE FOTO BENZINA ZOOM E FORME AVATAR (MASTER BOX)
   ========================================================================== */
.zoom-in-out-box {
    position: relative !important;
    margin-top: 0 !important; 
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* --- REGOLA TONDA ORIGINALE --- */
.zoom-in-out-box.circular--portrait {
    border: 1.0cqw solid #fafafa !important; /* 🎯 Convertito 5px in cqw (5 / 360 * 100) */
    border-radius: 50% !important; 
    overflow: hidden !important;
}
.zoom-in-out-box.circular--portrait img {
    border-radius: 50% !important;
}

/* --- NUOVA REGOLA QUADRATA --- */
.zoom-in-out-box.shape-square {
    border: 1.0cqw solid #fafafa !important; /* 🎯 Convertito 5px in cqw */
    border-radius: 3.3cqw !important;        /* 🎯 Convertito 12px in cqw */
    overflow: hidden !important;
}
.zoom-in-out-box.shape-square img {
    border-radius: 3.3cqw !important;
}

/* Regola standard per le foto normali */
.zoom-in-out-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; 
}

/* 🎯 CORREZIONE ELASTICA SVG */
.zoom-in-out-box img[src*=".svg"] {
    object-fit: contain !important;
    padding: 0.8cqw !important; /* 🎯 Convertito 3px in cqw */
    box-sizing: border-box !important;
}

/* ==========================================================================
   📡 STRUTTURA E CENTRAGGIO DEL QR CODE PUBBLICO (T3)
   ========================================================================== */
.public-qrcode-container {
    text-align: center !important;
    margin-top: 6.6cqw !important;    /* 🎯 Convertito 1.5rem in cqw proporzionato */
    margin-bottom: 6.6cqw !important; /* 🎯 Convertito 1.5rem in cqw proporzionato */
    width: 100% !important;
}

.public-qrcode-container .scan-me {
    margin-bottom: 0.8cqw !important; /* Convertito 3px in cqw */
    letter-spacing: 0.2cqw !important; /* Convertito 1px in cqw */
}

/* La cornice bianca/dinamica che racchiude il QR Code */
.public-qrcode-container .qrcode-wrapper {
    display: inline-block !important;
    padding: 0.8cqw !important; /* Convertito 3px in cqw */
    border-radius: 0px !important; 
    box-shadow: 0 1.1cqw 2.7cqw rgba(0,0,0,0.05) !important;
    background-color: transparent !important; 
}

/* Allineamento millimetrico del Canvas generato da JavaScript */
#qrcode-public {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
}

#qrcode-public canvas,
#qrcode-public img {
    max-width: 66.6cqw !important; /* 🎯 Impedisce sgranature bloccando il tetto a 240px (240 / 360 * 100) */
    width: 66.6cqw !important;     /* 🎯 Sostituito il vecchio 75vw instabile con i cqw elastici */
    height: auto !important;
}


/*  Per rimpicciolire le frecce detra e sinistra nella gallery di baguettebox */

/* 1. Fa trasparente il cerchio/blocco esterno delle frecce laterali */
#baguetteBox-overlay button#next-button,
#baguetteBox-overlay button#previous-button {
     
    background-color: transparent !important; 
}

/* 🎯 RIMPICCIOLISCE LA FRECCIA GRAFICA EFFETTIVA */
#baguetteBox-overlay .baguetteBox-button svg {
    /* Rimpicciolisce la freccia al 60% della sua dimensione originale */
    transform: scale(0.6) !important; 
    
    /* Assicura che la freccia rimanga centrata durante il rimpicciolimento */
    transform-origin: center !important; 
}

/* 🎯 AVVICINA LE FRECCE AI BORDI DELLA SCOCCA DELLO SMARTPHONE */

/* Spinge la freccia sinistra (Previous) verso il bordo sinistro */
#baguetteBox-overlay button#previous-button {
    left: -8px !important; /* Regola questo valore: 0px è il limite massimo attaccato al bordo */
}

/* Spinge la freccia destra (Next) verso il bordo destro */
#baguetteBox-overlay button#next-button {
    right: -8px !important; /* Regola questo valore: 0px è il limite massimo attaccato al bordo */
}
