/**
 * Stili Frontend per StudioSamo Sticky Bar
 */

.studiosamo-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
    
    /* Stato iniziale (nascosto, fuori schermo) */
    transform: translateY(100%);
    opacity: 0;
    
    /* Transizioni smooth per entrata e uscita */
    transition: transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1),
                opacity 0.5s cubic-bezier(0.4, 0.0, 0.2, 1),
                box-shadow 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
    
    /* Performance ottimizzata */
    will-change: transform, opacity;
}

/* Stato visibile (animazione di entrata dal basso) */
.studiosamo-sticky-bar.visible {
    transform: translateY(0);
    opacity: 1;
}

/* Stato nascosto (animazione di uscita verso il basso - SOLO SLIDE, senza fade) */
.studiosamo-sticky-bar.sticky-bar-hidden {
    transform: translateY(100%);
    /* opacity rimane 1 - NO FADE durante l'uscita! */
    pointer-events: none;
}

.sticky-bar-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    gap: 20px;
}

/* Override max-width per layout vertical-icons */
.studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .sticky-bar-container {
    max-width: none !important; /* Nessun limite */
}

/* Sezione Sinistra - Telefono */
.studiosamo-sticky-bar .left-section {
    flex: 1;
}

.studiosamo-sticky-bar .phone-link {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.studiosamo-sticky-bar .phone-link:hover {
    opacity: 0.85;
}

.studiosamo-sticky-bar .phone-link > i {
    font-size: 32px;
    min-width: 32px;
}

.studiosamo-sticky-bar .phone-text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

/* Sezione Destra - Appuntamento */
.studiosamo-sticky-bar .right-section {
    flex-shrink: 0;
}

/* ========================================
   LAYOUT VERTICALE + ICONE SEPARATE - DESKTOP
   Applica su desktop quando selezionato
   ======================================== */

@media (min-width: 1025px) {
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .sticky-bar-container {
        flex-direction: row; /* Affiancati su desktop */
        gap: 20px;
        max-width: none !important; /* Nessun limite - usa tutto */
        width: 95%;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .left-section,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .right-section {
        flex: 1; /* Stessa larghezza */
        min-width: 0;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 0;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        min-height: 64px;
        transition: all 0.3s ease;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link:hover,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-text,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .appointment-text {
        flex: 1;
        padding: 20px 22px;
        font-size: 18px;
        font-weight: 600;
        order: 1;
        min-width: 0;
        white-space: nowrap;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment {
        width: 100%;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment > i {
        padding: 20px 26px;
        background: rgba(0, 0, 0, 0.15);
        font-size: 24px;
        min-width: 76px;
        flex-shrink: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.2);
        transition: all 0.3s ease;
        order: 2;
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link:hover > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment:hover > i {
        background: rgba(0, 0, 0, 0.25);
        transform: scale(1.1);
    }
    
    /* Animazione pulse */
    @keyframes iconPulseDesktop {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.05); }
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment > i {
        animation: iconPulseDesktop 2s ease-in-out infinite;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link:hover > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment:hover > i {
        animation: none;
    }
    
    /* Applica tutte le icone anche su desktop */
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="calendar"] i::before {
        content: "\f073";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="calendar-check"] i::before {
        content: "\f274";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="clock"] i::before {
        content: "\f017";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="arrow-right"] i::before {
        content: "\f061";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="chevron-right"] i::before {
        content: "\f054";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="angle-right"] i::before {
        content: "\f105";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="arrow-circle-right"] i::before {
        content: "\f0a9";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="long-arrow-alt-right"] i::before {
        content: "\f30b";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="envelope"] i::before {
        content: "\f0e0";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="envelope-open"] i::before {
        content: "\f2b6";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="comment"] i::before {
        content: "\f075";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="comments"] i::before {
        content: "\f086";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="paper-plane"] i::before {
        content: "\f1d8";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="user"] i::before {
        content: "\f007";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="user-check"] i::before {
        content: "\f4fc";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="user-plus"] i::before {
        content: "\f234";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="edit"] i::before {
        content: "\f044";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="clipboard-list"] i::before {
        content: "\f46d";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="file-alt"] i::before {
        content: "\f15c";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="phone"] i::before {
        content: "\f095";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="mobile-alt"] i::before {
        content: "\f3cd";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="info-circle"] i::before {
        content: "\f05a";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="question-circle"] i::before {
        content: "\f059";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="map-marker-alt"] i::before {
        content: "\f3c5";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="check-circle"] i::before {
        content: "\f058";
    }
}

.studiosamo-sticky-bar .btn-appointment {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 28px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.studiosamo-sticky-bar .btn-appointment:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.studiosamo-sticky-bar .btn-appointment i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.studiosamo-sticky-bar .btn-appointment:hover i {
    transform: translateX(4px);
}

/* Icone dinamiche DESKTOP/TABLET - Applica icona scelta */
@media (min-width: 768px) {
    /* Calendario & Tempo */
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="calendar"] i::before {
        content: "\f073"; /* fa-calendar */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="calendar-check"] i::before {
        content: "\f274"; /* fa-calendar-check */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="clock"] i::before {
        content: "\f017"; /* fa-clock */
    }
    
    /* Frecce */
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="arrow-right"] i::before {
        content: "\f061"; /* fa-arrow-right */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="angle-right"] i::before {
        content: "\f105"; /* fa-angle-right */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="arrow-circle-right"] i::before {
        content: "\f0a9"; /* fa-arrow-circle-right */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="long-arrow-alt-right"] i::before {
        content: "\f30b"; /* fa-long-arrow-alt-right */
    }
    
    /* Email & Messaggi */
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="envelope"] i::before {
        content: "\f0e0"; /* fa-envelope */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="envelope-open"] i::before {
        content: "\f2b6"; /* fa-envelope-open */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="comment"] i::before {
        content: "\f075"; /* fa-comment */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="comments"] i::before {
        content: "\f086"; /* fa-comments */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="paper-plane"] i::before {
        content: "\f1d8"; /* fa-paper-plane */
    }
    
    /* Utenti */
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="user"] i::before {
        content: "\f007"; /* fa-user */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="user-check"] i::before {
        content: "\f4fc"; /* fa-user-check */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="user-plus"] i::before {
        content: "\f234"; /* fa-user-plus */
    }
    
    /* Documenti */
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="edit"] i::before {
        content: "\f044"; /* fa-edit */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="clipboard-list"] i::before {
        content: "\f46d"; /* fa-clipboard-list */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="file-alt"] i::before {
        content: "\f15c"; /* fa-file-alt */
    }
    
    /* Telefono */
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="phone"] i::before {
        content: "\f095"; /* fa-phone */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="mobile-alt"] i::before {
        content: "\f3cd"; /* fa-mobile-alt */
    }
    
    /* Info & Altro */
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="info-circle"] i::before {
        content: "\f05a"; /* fa-info-circle */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="question-circle"] i::before {
        content: "\f059"; /* fa-question-circle */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="map-marker-alt"] i::before {
        content: "\f3c5"; /* fa-map-marker-alt */
    }
    .studiosamo-sticky-bar .btn-appointment[data-mobile-icon="check-circle"] i::before {
        content: "\f058"; /* fa-check-circle */
    }
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .sticky-bar-container {
        padding: 12px 20px;
    }
    
    .studiosamo-sticky-bar .phone-link > i {
        font-size: 28px;
        min-width: 28px;
    }
    
    .studiosamo-sticky-bar .phone-text {
        font-size: 18px;
    }
    
    .studiosamo-sticky-bar .btn-appointment {
        padding: 12px 22px;
        font-size: 15px;
    }
    
    /* Layout Verticale + Icone su TABLET - AFFIANCATI */
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .sticky-bar-container {
        flex-direction: row; /* Affiancati su tablet */
        gap: 15px;
        max-width: none !important; /* Nessun limite! */
        padding: 12px 25px;
        width: 93%;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .left-section,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .right-section {
        flex: 1; /* Stessa larghezza */
        min-width: 0;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment {
        display: flex;
        align-items: center;
        padding: 0;
        border-radius: 6px;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
        min-height: 60px;
        width: 100%;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-text,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .appointment-text {
        flex: 1;
        padding: 18px 18px;
        font-size: 16px;
        font-weight: 600;
        order: 1;
        min-width: 0;
        white-space: nowrap;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment > i {
        padding: 18px 22px;
        background: rgba(0, 0, 0, 0.15);
        font-size: 22px;
        min-width: 68px;
        flex-shrink: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.2);
        order: 2;
        align-self: stretch;
    }
}

/* Responsive - Mobile */
@media (max-width: 767px) {
    
    /* ========================================
       LAYOUT VERTICALE CON ICONE SEPARATE (CRO Optimized)
       Icone a destra separate da linea verticale
       ======================================== */
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .sticky-bar-container {
        flex-direction: column;
        padding: 12px 15px;
        gap: 10px;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .left-section,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .right-section {
        width: 100%;
    }
    
    /* Trasforma links in bottoni split */
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        border-radius: 6px;
        text-decoration: none;
        transition: all 0.3s ease;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
        overflow: hidden;
        position: relative;
        min-height: 56px;
        /* Colori applicati tramite inline CSS dal PHP */
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link:hover,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
    }
    
    /* Area testo (parte sinistra) */
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-text,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .appointment-text {
        flex: 1;
        padding: 16px 15px;
        font-size: 15px;
        font-weight: 600;
        white-space: nowrap;
        order: 1; /* Testo PRIMA (sinistra) */
    }
    
    /* Icona (parte destra) - Box separato con linea */
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment > i {
        padding: 16px 20px;
        background: rgba(0, 0, 0, 0.15);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        min-width: 64px;
        flex-shrink: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.2);
        transition: all 0.3s ease;
        align-self: stretch;
        order: 2; /* Icona DOPO (destra) */
    }
    
    /* Hover sull'icona */
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link:hover > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment:hover > i {
        background: rgba(0, 0, 0, 0.25);
        transform: scale(1.1);
    }
    
    /* Effetto pulse sull'icona */
    @keyframes iconPulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.05); }
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment > i {
        animation: iconPulse 2s ease-in-out infinite;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .phone-link:hover > i,
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment:hover > i {
        animation: none;
    }
    
    /* Applica icone anche al layout vertical-icons */
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="calendar"] i::before {
        content: "\f073";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="calendar-check"] i::before {
        content: "\f274";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="clock"] i::before {
        content: "\f017";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="arrow-right"] i::before {
        content: "\f061";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="chevron-right"] i::before {
        content: "\f054";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="angle-right"] i::before {
        content: "\f105";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="arrow-circle-right"] i::before {
        content: "\f0a9";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="long-arrow-alt-right"] i::before {
        content: "\f30b";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="envelope"] i::before {
        content: "\f0e0";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="envelope-open"] i::before {
        content: "\f2b6";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="comment"] i::before {
        content: "\f075";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="comments"] i::before {
        content: "\f086";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="paper-plane"] i::before {
        content: "\f1d8";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="user"] i::before {
        content: "\f007";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="user-check"] i::before {
        content: "\f4fc";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="user-plus"] i::before {
        content: "\f234";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="edit"] i::before {
        content: "\f044";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="clipboard-list"] i::before {
        content: "\f46d";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="file-alt"] i::before {
        content: "\f15c";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="phone"] i::before {
        content: "\f095";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="mobile-alt"] i::before {
        content: "\f3cd";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="info-circle"] i::before {
        content: "\f05a";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="question-circle"] i::before {
        content: "\f059";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="map-marker-alt"] i::before {
        content: "\f3c5";
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical-icons"] .btn-appointment[data-mobile-icon="check-circle"] i::before {
        content: "\f058";
    }
    
    /* ========================================
       LAYOUT VERTICALE CLASSICO
       Due bottoni colorati uno sopra l'altro
       ======================================== */
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .sticky-bar-container {
        flex-direction: column;
        padding: 12px 15px;
        gap: 10px;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .left-section,
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .right-section {
        width: 100%;
    }
    
    /* Trasforma il link telefono in bottone colorato */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .phone-link {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 14px 20px;
        background-color: var(--button-bg-color, #2196F3);
        color: var(--button-text-color, #ffffff);
        border-radius: 4px;
        text-decoration: none;
        font-size: 15px;
        font-weight: 600;
        transition: all 0.3s ease;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
        white-space: nowrap; /* Mantieni tutto su una linea */
        overflow: visible; /* Permetti visibilità */
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .phone-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    }
    
    /* Icona a DESTRA del testo (come la freccia del bottone sotto) */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .phone-link > i {
        font-size: 18px;
        min-width: 18px;
        flex-shrink: 0;
        order: 2; /* Metti l'icona DOPO il testo */
    }
    
    /* Un unico span - tutto su una linea */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .phone-text {
        font-size: 15px;
        font-weight: 600;
        white-space: nowrap; /* Evita wrap del testo */
        display: inline-block; /* Inline block */
        order: 1; /* Testo PRIMA dell'icona */
    }
    
    /* Se lo spazio è molto limitato, riduci font */
    @media (max-width: 360px) {
        .studiosamo-sticky-bar[data-mobile-layout="vertical"] .phone-link {
            padding: 14px 15px;
            font-size: 13px;
            gap: 8px;
        }
        
        .studiosamo-sticky-bar[data-mobile-layout="vertical"] .phone-text {
            font-size: 13px;
        }
        
        .studiosamo-sticky-bar[data-mobile-layout="vertical"] .phone-link > i {
            font-size: 16px;
        }
    }
    
    /* Bottone appuntamento mantiene stile normale */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment {
        width: 100%;
        justify-content: center;
        padding: 14px 20px;
        font-size: 15px;
        font-weight: 600;
    }
    
    /* Icone dinamiche anche per layout verticale */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment i {
        order: 2; /* Icona a destra */
    }
    
    /* Calendario & Tempo */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="calendar"] i::before {
        content: "\f073"; /* fa-calendar */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="calendar-check"] i::before {
        content: "\f274"; /* fa-calendar-check */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="clock"] i::before {
        content: "\f017"; /* fa-clock */
    }
    
    /* Frecce */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="arrow-right"] i::before {
        content: "\f061"; /* fa-arrow-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="chevron-right"] i::before {
        content: "\f054"; /* fa-chevron-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="angle-right"] i::before {
        content: "\f105"; /* fa-angle-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="arrow-circle-right"] i::before {
        content: "\f0a9"; /* fa-arrow-circle-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="long-arrow-alt-right"] i::before {
        content: "\f30b"; /* fa-long-arrow-alt-right */
    }
    
    /* Email & Messaggi */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="envelope"] i::before {
        content: "\f0e0"; /* fa-envelope */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="envelope-open"] i::before {
        content: "\f2b6"; /* fa-envelope-open */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="comment"] i::before {
        content: "\f075"; /* fa-comment */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="comments"] i::before {
        content: "\f086"; /* fa-comments */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="paper-plane"] i::before {
        content: "\f1d8"; /* fa-paper-plane */
    }
    
    /* Utenti */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="user"] i::before {
        content: "\f007"; /* fa-user */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="user-check"] i::before {
        content: "\f4fc"; /* fa-user-check */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="user-plus"] i::before {
        content: "\f234"; /* fa-user-plus */
    }
    
    /* Documenti */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="edit"] i::before {
        content: "\f044"; /* fa-edit */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="clipboard-list"] i::before {
        content: "\f46d"; /* fa-clipboard-list */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="file-alt"] i::before {
        content: "\f15c"; /* fa-file-alt */
    }
    
    /* Telefono */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="phone"] i::before {
        content: "\f095"; /* fa-phone */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="mobile-alt"] i::before {
        content: "\f3cd"; /* fa-mobile-alt */
    }
    
    /* Info & Altro */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="info-circle"] i::before {
        content: "\f05a"; /* fa-info-circle */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="question-circle"] i::before {
        content: "\f059"; /* fa-question-circle */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="map-marker-alt"] i::before {
        content: "\f3c5"; /* fa-map-marker-alt */
    }
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon="check-circle"] i::before {
        content: "\f058"; /* fa-check-circle */
    }
    
    /* Default layout verticale */
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment:not([data-mobile-icon]) i::before,
    .studiosamo-sticky-bar[data-mobile-layout="vertical"] .btn-appointment[data-mobile-icon=""] i::before {
        content: "\f054"; /* fa-chevron-right default */
    }
    
    /* ========================================
       LAYOUT AFFIANCATO (Horizontal)
       Due sezioni con icone affiancate
       ======================================== */
    
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .sticky-bar-container {
        flex-direction: row;
        padding: 12px 15px;
        gap: 15px;
        justify-content: space-between;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .left-section {
        flex: 1;
        position: relative;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .phone-link {
        justify-content: center;
        gap: 12px;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .phone-link > i {
        font-size: 26px;
        min-width: 26px;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .phone-text {
        font-size: 12px;
        line-height: 1.3;
    }
    
    /* Modifica stile bottone appuntamento per layout affiancato */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .right-section {
        flex: 1;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment {
        /* Rimuovi stile bottone */
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0;
        padding: 0;
        
        /* Stile simile al link telefono */
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        text-decoration: none;
        font-weight: 400;
    }
    
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment:hover {
        background: transparent !important;
        transform: none;
        box-shadow: none !important;
        opacity: 0.85;
    }
    
    /* Icona freccia diventa icona appuntamento */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment i {
        font-size: 26px;
        order: -1; /* Metti l'icona prima del testo */
        transform: none !important;
    }
    
    /* Icone dinamiche basate su data attribute (solo layout horizontal) */
    
    /* Calendario & Tempo */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="calendar"] i::before {
        content: "\f073"; /* fa-calendar */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="calendar-check"] i::before {
        content: "\f274"; /* fa-calendar-check */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="clock"] i::before {
        content: "\f017"; /* fa-clock */
    }
    
    /* Frecce */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="arrow-right"] i::before {
        content: "\f061"; /* fa-arrow-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="chevron-right"] i::before {
        content: "\f054"; /* fa-chevron-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="angle-right"] i::before {
        content: "\f105"; /* fa-angle-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="arrow-circle-right"] i::before {
        content: "\f0a9"; /* fa-arrow-circle-right */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="long-arrow-alt-right"] i::before {
        content: "\f30b"; /* fa-long-arrow-alt-right */
    }
    
    /* Email & Messaggi */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="envelope"] i::before {
        content: "\f0e0"; /* fa-envelope */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="envelope-open"] i::before {
        content: "\f2b6"; /* fa-envelope-open */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="comment"] i::before {
        content: "\f075"; /* fa-comment */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="comments"] i::before {
        content: "\f086"; /* fa-comments */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="paper-plane"] i::before {
        content: "\f1d8"; /* fa-paper-plane */
    }
    
    /* Utenti */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="user"] i::before {
        content: "\f007"; /* fa-user */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="user-check"] i::before {
        content: "\f4fc"; /* fa-user-check */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="user-plus"] i::before {
        content: "\f234"; /* fa-user-plus */
    }
    
    /* Documenti */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="edit"] i::before {
        content: "\f044"; /* fa-edit */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="clipboard-list"] i::before {
        content: "\f46d"; /* fa-clipboard-list */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="file-alt"] i::before {
        content: "\f15c"; /* fa-file-alt */
    }
    
    /* Telefono */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="phone"] i::before {
        content: "\f095"; /* fa-phone */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="mobile-alt"] i::before {
        content: "\f3cd"; /* fa-mobile-alt */
    }
    
    /* Info & Altro */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="info-circle"] i::before {
        content: "\f05a"; /* fa-info-circle */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="question-circle"] i::before {
        content: "\f059"; /* fa-question-circle */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="map-marker-alt"] i::before {
        content: "\f3c5"; /* fa-map-marker-alt */
    }
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment[data-mobile-icon="check-circle"] i::before {
        content: "\f058"; /* fa-check-circle */
    }
    
    /* Default se non specificato */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment:not([data-mobile-icon]) i::before {
        content: "\f073"; /* fa-calendar default */
    }
    
    /* Testo bottone stile telefono */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .btn-appointment {
        font-size: 11px;
        line-height: 1.2;
    }
    
    /* Divider tra le due sezioni (solo layout horizontal) */
    .studiosamo-sticky-bar[data-mobile-layout="horizontal"] .left-section::after {
        content: '';
        position: absolute;
        right: -7.5px;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 40px;
        background: currentColor;
        opacity: 0.2;
    }
}

/* Animazioni */
@keyframes slideUp {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

.studiosamo-sticky-bar.animate-in {
    animation: slideUp 0.4s ease-out forwards;
}

/* Accessibilità */
.studiosamo-sticky-bar a:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* ===========================================
   SINGOLO BOTTONE — .ssb-single-btn
   HTML diverso, nessun conflitto con split-icons
   =========================================== */

.ssb-single-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}

.ssb-single-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    width: 100%;
    /* Colori applicati via inline CSS dal PHP */
}

.ssb-single-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

.ssb-single-btn i {
    font-size: 20px;
    flex-shrink: 0;
}

.ssb-single-btn span {
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .ssb-single-btn {
        padding: 14px 20px;
        font-size: 15px;
        border-radius: 6px;
    }
    .ssb-single-btn i {
        font-size: 18px;
    }
    .ssb-single-btn span {
        font-size: 15px;
    }
}

@media (max-width: 360px) {
    .ssb-single-btn {
        padding: 12px 15px;
        gap: 10px;
    }
    .ssb-single-btn span {
        font-size: 13px;
    }
}

/* Print */
@media print {
    .studiosamo-sticky-bar {
        display: none !important;
    }
}

