    .contact-fab {
        position: fixed;
        z-index: 9000;

        /* ── Desktop: abajo a la derecha ── */
        bottom: 2rem;
        right: auto;

        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        text-decoration: none;

        /* background: #1a1a1a; */
        background: #cfc3b9;
        color: #000;
        border: 1.5px solid rgba(255, 255, 255, 0.08);
        border-radius: 50px;
        padding: 0.75rem 1.4rem;

        font-family: system-ui, sans-serif;
        font-size: 0.875rem;
        font-weight: 500;
        letter-spacing: 0.02em;
        white-space: nowrap;

        box-shadow:
            0 4px 16px rgba(0, 0, 0, 0.25),
            0 1px 3px rgba(0, 0, 0, 0.15);

        transition:
            transform 0.2s ease,
            box-shadow 0.2s ease,
            background 0.2s ease;
    }

    .elche-fab {
        left: 12rem;
    }

    .almoradi-fab {
        left: 2rem;
    }

    .contact-fab:hover {
        background: #c7a991;
        transform: translateY(-3px);
        box-shadow:
            0 10px 28px rgba(0, 0, 0, 0.3),
            0 2px 6px rgba(0, 0, 0, 0.15);
        color: #fff;
        text-decoration: none;
    }

    .contact-fab:active {
        transform: translateY(0);
    }

    /* Icono de sobre */
    .contact-fab__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        background: #fff;
        border-radius: 50%;
        flex-shrink: 0;
    }

    .contact-fab__icon svg {
        width: 12px;
        height: 12px;
        fill: #1a1a1a;
    }

    /* Punto de notificación animado */
    .contact-fab__dot {
        width: 8px;
        height: 8px;
        background: #4ade80;
        border-radius: 50%;
        flex-shrink: 0;
        animation: fab-pulse 2s ease-in-out infinite;
    }

    @keyframes fab-pulse {

        0%,
        100% {
            opacity: 1;
            transform: scale(1.15);
        }

        50% {
            opacity: 0.6;
            transform: scale(0.85);
        }
    }

    /* ── Móvil: abajo a la izquierda, más compacto ── */
    @media (max-width: 640px) {
        .contact-fab {
            bottom: 0.75rem;
            right: auto;
            padding: 0.7rem 1.1rem;
            font-size: 0.82rem;
        }

        .elche-fab {
            left: 10rem;
        }

        .almoradi-fab {
            left: 1rem;
        }
    }

    /* Ocultar el label en pantallas muy pequeñas (< 360px),
       dejar solo el icono */
    @media (max-width: 360px) {
        .contact-fab__label {
            display: none;
        }

        .contact-fab {
            padding: 0.75rem;
            border-radius: 50%;
        }

        .contact-fab__dot {
            display: none;
        }
    }