/* ============================================
   FAB — Botón volver arriba
   ============================================ */

.kd-fab-top {
    position: fixed !important;
    bottom: 24px !important;
    right: 20px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: var(--kd-primary) !important;
    color: var(--kd-white) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: var(--kd-shadow-lg) !important;
    z-index: 998 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transition: var(--kd-transition);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    -webkit-tap-highlight-color: transparent;
}

.kd-fab-top.kd-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.kd-fab-top:hover {
    background: var(--kd-primary-light) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.2) !important;
}

.kd-fab-top svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    flex-shrink: 0;
    stroke: currentColor;
}

/* Responsive — subir por encima de la barra inferior en mobile */
@media (max-width: 768px) {
    .kd-fab-top {
        bottom: 76px !important;
        width: 40px !important;
        height: 40px !important;
    }

    .kd-fab-top svg {
        width: 18px !important;
        height: 18px !important;
    }
}
