
.sch-floating-contact{
    position:fixed;
    top:var(--sch-desktop-top);
    z-index:var(--sch-z);
    display:flex;
    flex-direction:column;
    gap:0;
}

.sch-floating-contact > a{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--sch-primary);
    color:#fff !important;
    text-decoration:none !important;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.12);
    border-radius:25px;
    box-shadow:none;
    transition:background-color .2s ease,color .2s ease;
}

.sch-floating-contact > a:visited,
.sch-floating-contact > a:focus,
.sch-floating-contact > a:active{
    color:#fff !important;
    text-decoration:none !important;
}

.sch-floating-contact > a:hover{
    background:var(--sch-accent);
    color:#fff !important;
}

.sch-floating-contact > a svg{
    width:19px;
    height:19px;
    display:block;
    flex-shrink:0;
    fill:#fff !important;
    color:#fff !important;
    pointer-events:none;
}

.sch-floating-contact > .sch-whatsapp-link{
    background:var(--sch-whatsapp);
}

.sch-floating-contact > .sch-whatsapp-link:hover{
    background:var(--sch-whatsapp-hover) !important;
}

.sch-floating-image-wrap{
    position:relative;
    width:38px;
    height:38px;
}

.sch-floating-contact .sch-floating-image{
    width:38px;
    height:38px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    border:0;
    border-radius:50%;
    overflow:hidden;
    cursor:pointer;
    box-shadow:none;
    appearance:none;
    -webkit-appearance:none;
}

.sch-floating-contact .sch-floating-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:50%;
    pointer-events:none;
}

.sch-image-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--sch-primary);
    color:#fff;
    font-weight:700;
}

.sch-mobile-contact-card{
    display:none;
}

@media (max-width:767px){
    .sch-floating-contact{
        top:auto;
        bottom:var(--sch-mobile-bottom);
        flex-direction:row;
        align-items:center;
        gap:8px;
    }

    .sch-floating-contact > .sch-floating-email,
    .sch-floating-contact > .sch-floating-phone{
        display:none;
    }

    .sch-floating-contact > .sch-whatsapp-link{
        width:44px;
        height:44px;
        display:flex;
        border-radius:50%;
        background:var(--sch-whatsapp);
        border:1px solid rgba(255,255,255,.55);
        box-shadow:0 4px 14px rgba(0,0,0,.20);
    }

    .sch-floating-contact > .sch-whatsapp-link svg{
        width:22px;
        height:22px;
    }

    .sch-floating-image-wrap{
        width:50px;
        height:50px;
    }

    .sch-floating-contact .sch-floating-image{
        width:50px;
        height:50px;
        padding:2px;
        display:flex;
        background:#fff;
        border:2px solid var(--sch-accent);
        border-radius:50%;
        overflow:hidden;
        box-shadow:0 4px 14px rgba(0,0,0,.22);
        position:relative;
        z-index:2;
    }

    .sch-mobile-contact-card{
        position:absolute;
        bottom:calc(100% + 12px);
        width:255px;
        display:block;
        background:var(--sch-primary);
        color:#fff;
        border:1px solid var(--sch-accent);
        border-radius:16px;
        overflow:hidden;
        box-shadow:0 10px 30px rgba(0,0,0,.28);
        opacity:0;
        visibility:hidden;
        transform:translateY(8px) scale(.97);
        pointer-events:none;
        transition:opacity .2s ease,visibility .2s ease,transform .2s ease;
        z-index:calc(var(--sch-z) + 1);
    }

    .sch-floating-image-wrap.sch-show-contact-card .sch-mobile-contact-card{
        opacity:1;
        visibility:visible;
        transform:translateY(0) scale(1);
        pointer-events:auto;
    }

    .sch-mobile-card-title{
        padding:11px 12px 9px;
        color:var(--sch-accent);
        text-align:center;
        font-size:14px;
        font-weight:700;
        line-height:1.25;
    }

    .sch-mobile-card-person{
        margin:0 10px 8px;
        padding:8px 10px;
        display:flex;
        align-items:center;
        gap:10px;
        background:rgba(255,255,255,.07);
        border-radius:11px;
    }

    .sch-mobile-card-person img{
        width:42px;
        height:42px;
        flex:0 0 42px;
        object-fit:cover;
        border-radius:50%;
        border:1px solid var(--sch-accent);
    }

    .sch-mobile-card-person-text{
        min-width:0;
    }

    .sch-mobile-card-person strong{
        display:block;
        margin:0;
        color:#fff;
        font-size:13px;
        font-weight:700;
        line-height:1.3;
    }

    .sch-mobile-card-person span{
        display:block;
        margin-top:2px;
        color:rgba(255,255,255,.78);
        font-size:11px;
        line-height:1.3;
    }

    .sch-floating-contact .sch-mobile-contact-card .sch-mobile-card-row{
        width:100%;
        min-height:41px;
        height:auto;
        box-sizing:border-box;
        padding:8px 13px;
        display:flex !important;
        flex-direction:row;
        align-items:center;
        justify-content:flex-start;
        gap:10px;
        background:transparent !important;
        color:#fff !important;
        border:0;
        border-top:1px solid rgba(255,255,255,.10);
        border-radius:0;
        box-shadow:none;
        text-decoration:none !important;
        transition:background-color .2s ease;
    }

    .sch-floating-contact .sch-mobile-contact-card .sch-mobile-card-row:hover,
    .sch-floating-contact .sch-mobile-contact-card .sch-mobile-card-row:focus,
    .sch-floating-contact .sch-mobile-contact-card .sch-mobile-card-row:active{
        background:color-mix(in srgb, var(--sch-accent) 16%, transparent) !important;
        color:#fff !important;
    }

    .sch-floating-contact .sch-mobile-contact-card .sch-mobile-card-row svg{
        width:17px;
        height:17px;
        flex:0 0 17px;
        display:block;
        fill:var(--sch-accent) !important;
        color:var(--sch-accent) !important;
        pointer-events:none;
    }

    .sch-floating-contact .sch-mobile-contact-card .sch-mobile-card-row span{
        display:block;
        color:#fff;
        font-size:12px;
        font-weight:500;
        line-height:1.3;
        text-align:left;
    }
}
