/* Aviso flotante de actualización visual (Ctrl+F5) — panel y Mapa */
.mudi-visual-update {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 10060;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    pointer-events: none;
}
.mudi-visual-update[hidden] {
    display: none !important;
}
.mudi-visual-update__fab {
    pointer-events: auto;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: var(--mudi-primary, var(--primary-color, #3b82f6));
    color: #fff;
    font-size: 1.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 30px rgba(37, 99, 235, .4);
    transition: transform .15s ease, box-shadow .15s ease;
    animation: mudi-visual-pulse 2s ease-in-out infinite;
}
.mudi-visual-update__fab:hover {
    transform: scale(1.06);
    box-shadow: 0 14px 34px rgba(37, 99, 235, .5);
}
.mudi-visual-update__bubble {
    pointer-events: auto;
    max-width: 260px;
    background: #0f172a;
    color: #f8fafc;
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .35);
    animation: mudi-visual-in .35s ease;
}
.mudi-visual-update__bubble strong {
    display: block;
    font-size: .95rem;
    margin-bottom: 6px;
}
.mudi-visual-update__bubble p {
    margin: 0 0 12px;
    font-size: .82rem;
    line-height: 1.4;
    color: #cbd5e1;
}
.mudi-visual-update__action {
    width: 100%;
    border: none;
    border-radius: 8px;
    padding: 9px 12px;
    background: var(--mudi-primary, var(--primary-color, #3b82f6));
    color: #fff;
    font-weight: 600;
    font-size: .85rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background .15s ease, transform .15s ease;
}
.mudi-visual-update__action:hover {
    background: var(--mudi-primary-dark, var(--primary-dark, #2563eb));
    transform: translateY(-1px);
}
@keyframes mudi-visual-in {
    from { opacity: 0; transform: translateY(10px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes mudi-visual-pulse {
    0%, 100% { box-shadow: 0 12px 30px rgba(37, 99, 235, .4); }
    50% { box-shadow: 0 12px 30px rgba(37, 99, 235, .4), 0 0 0 10px rgba(59, 130, 246, .18); }
}
@media (max-width: 640px) {
    .mudi-visual-update {
        right: 14px;
        bottom: 14px;
    }
    .mudi-visual-update__fab {
        width: 52px;
        height: 52px;
        font-size: 1.2rem;
    }
    .mudi-visual-update__bubble {
        max-width: min(260px, calc(100vw - 88px));
    }
}

/* Sobre botón WhatsApp / redes / FAB Agenda (+ turno) */
.mudi-visual-update--above-fab {
    bottom: 86px;
}
.mudi-visual-update--above-fab.mudi-visual-update--above-socials {
    bottom: 150px;
}
@media (max-width: 992px) {
    body:has(.ag-fab-turno) .mudi-visual-update {
        bottom: 86px;
    }
}
@media (max-width: 640px) {
    .mudi-visual-update--above-fab,
    body:has(.ag-fab-turno) .mudi-visual-update {
        bottom: 78px;
        right: 14px;
    }
    .mudi-visual-update--above-fab.mudi-visual-update--above-socials {
        bottom: 140px;
    }
}
