.kct-contact-wrap{
    position:fixed;
    right:0;
    right:env(safe-area-inset-right, 0);
    top:50%;
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    gap:10px;
    z-index:99990;
}
.kct-btn{
    display:flex;
    align-items:center;
    gap:8px;
    height:48px;
    padding:0 14px 0 12px;
    border-radius:30px 0 0 30px;
    color:#fff !important;
    text-decoration:none !important;
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    line-height:1;
    box-shadow:0 6px 18px rgba(0,0,0,.22);
    transition:transform .25s ease, box-shadow .25s ease, padding .25s ease;
    white-space:nowrap;
    overflow:hidden;
    -webkit-tap-highlight-color:transparent;
}
.kct-btn:focus-visible{
    outline:2px solid #fff;
    outline-offset:-4px;
    box-shadow:0 0 0 4px rgba(0,104,255,.85), 0 6px 18px rgba(0,0,0,.22);
}
@media (hover:hover) and (pointer:fine){
    .kct-btn:hover{
        transform:translateX(-4px);
        box-shadow:0 8px 24px rgba(0,0,0,.32);
    }
}
.kct-btn--zalo{ background:#0068ff; }
.kct-btn--fb{
    background:linear-gradient(135deg,#0099ff 0%,#0072ff 100%);
}
.kct-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.kct-label{
    display:inline-block;
}
@keyframes kctPulse{
    0%{ box-shadow:0 6px 18px rgba(0,0,0,.22), 0 0 0 0 rgba(0,104,255,.5); }
    70%{ box-shadow:0 6px 18px rgba(0,0,0,.22), 0 0 0 12px rgba(0,104,255,0); }
    100%{ box-shadow:0 6px 18px rgba(0,0,0,.22), 0 0 0 0 rgba(0,104,255,0); }
}
.kct-btn--zalo{ animation:kctPulse 2.4s infinite; }

@media (max-width:768px){
    .kct-contact-wrap{ gap:8px; }
    .kct-btn{
        width:46px;
        height:46px;
        padding:0;
        justify-content:center;
        border-radius:50% 0 0 50%;
    }
    .kct-label{ display:none; }
    @media (hover:hover) and (pointer:fine){
        .kct-btn:hover{ transform:translateX(-2px); }
    }
}

/* Tôn trọng người dùng tắt hiệu ứng chuyển động */
@media (prefers-reduced-motion:reduce){
    .kct-btn{ transition:none; }
    .kct-btn--zalo{ animation:none; }
}

/* Chế độ tương phản cao của Windows */
@media (forced-colors:active){
    .kct-btn{
        border:1px solid CanvasText;
        background:ButtonFace;
        color:ButtonText !important;
    }
}

/* Không in nút float */
@media print{
    .kct-contact-wrap{ display:none !important; }
}
