/* ========== globe-controls.css ========== */

#globeViz {
    position: relative;
    overflow: hidden;
}

/* --- CONTENEDOR PRINCIPAL (Configuración Base - Escritorio) --- */
#globeViz .globe-controls {
    position: absolute !important;
    
    /* Posición: Centrado vertical */
    top: 50% !important;
    transform: translateY(-50%) !important;
    bottom: auto !important;
    
    /* Escritorio: Margen cómodo, no pegado al borde */
    right: 20px !important; 
    left: auto !important;
    
    /* Reset de caja */
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    
    /* Escritorio: Ancho automático para que quepa el texto "ZOOM +" */
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important; /* Importante: No restringir ancho en PC */
    
    /* Flexbox Vertical */
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important; /* Alineados a la derecha */
    gap: 10px !important;
    
    z-index: 1000 !important;
    pointer-events: none;
}

/* --- ESTILO BOTONES (Escritorio) --- */
#globeViz .globe-controls .animated-button {
    pointer-events: auto;
    box-sizing: border-box;
    
    /* Altura cómoda para mouse */
    height: 36px;
    padding: 0 15px; /* Espacio para el texto */
    border-radius: 50px;
    
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    
    background: rgba(15, 15, 20, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e0e0e0;
    
    font-family: 'Chakra Petch', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.2s ease;
    
    /* Escritorio: Ancho flexible según el texto */
    width: auto;
    min-width: auto;
}

#globeViz .globe-controls .animated-button i {
    font-size: 1rem;
    color: #00F0FF;
}

/* Hover */
#globeViz .globe-controls .animated-button:hover {
    background: rgba(0, 240, 255, 0.15);
    border-color: #00F0FF;
    color: #fff;
    transform: translateX(-3px);
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.3);
}

/* Escritorio: Mostrar texto */
#globeViz .globe-controls .animated-button .label { display: block; }
#globeViz .globe-controls .animated-button .symbol { display: none; }


/* --- MÓVIL (Sobrescritura Ergonómica) --- */
@media (max-width: 768px) {
    
    #globeViz .globe-controls {
        /* MÓVIL: Pegado al borde derecho (zona del pulgar) */
        right: 8px !important;
        
        /* Mantenemos centrado vertical */
        top: 50% !important;
        transform: translateY(-50%) !important;
        
        align-items: center !important;
        gap: 15px !important;
    }

    #globeViz .globe-controls .animated-button {
        /* MÓVIL: Círculos fijos */
        width: 42px !important;  
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        
        padding: 0 !important;
        border-radius: 50% !important;
        
        /* Fondo un poco más sólido para toque */
        background: rgba(20, 20, 30, 0.8) !important; 
        backdrop-filter: blur(3px);
        
        /* Centrado perfecto del icono */
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    #globeViz .globe-controls .animated-button i {
        font-size: 1.3rem !important; 
        margin: 0 !important;
        display: block !important;
        line-height: 1 !important;
    }

    /* MÓVIL: Ocultar texto, mostrar solo símbolo */
    #globeViz .globe-controls .animated-button .label { 
        display: none !important; 
    }
    
    #globeViz .globe-controls .animated-button .symbol { 
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%; 
        margin: 0 !important;
    }
}

/* Soporte para clase JS si se dispara */
.mobile-symbols .animated-button {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border-radius: 50% !important;
}
.mobile-symbols .label { display: none !important; }
.mobile-symbols .symbol { display: flex !important; justify-content: center; width: 100%; }